ci: add Jenkinsfile for GitHub pages builds
Resolves: https://github.com/waku-org/js-waku-examples/issues/94 Signed-off-by: Jakub Sokołowski <jakub@status.im>
This commit is contained in:
parent
6b5a5dbde0
commit
80efc5ad7c
|
@ -1,2 +1,3 @@
|
||||||
dist
|
dist
|
||||||
node_modules
|
node_modules
|
||||||
|
yarn.lock
|
||||||
|
|
|
@ -16,3 +16,10 @@ Here is the list of the examples using [`js-waku`](https://www.npmjs.com/package
|
||||||
- [Using Waku Relay in JavaScript](relay-js): Receive and send text messages with Waku Relay, Use minified bundle from Unpkg.com, JavaScript.
|
- [Using Waku Relay in JavaScript](relay-js): Receive and send text messages with Waku Relay, Use minified bundle from Unpkg.com, JavaScript.
|
||||||
|
|
||||||
See https://docs.wakuconnect.dev/docs/examples/ for more examples.
|
See https://docs.wakuconnect.dev/docs/examples/ for more examples.
|
||||||
|
|
||||||
|
# Continuous Integration
|
||||||
|
|
||||||
|
The `master` branch is being built by Jenkins CI:
|
||||||
|
https://ci.infra.status.im/job/website/job/examples.waku.org/
|
||||||
|
|
||||||
|
Based on the [`ci/Jenkinsfile`](./ci/Jenkinsfile).
|
||||||
|
|
|
@ -0,0 +1,74 @@
|
||||||
|
pipeline {
|
||||||
|
agent { label 'linux' }
|
||||||
|
|
||||||
|
options {
|
||||||
|
disableConcurrentBuilds()
|
||||||
|
/* manage how many builds we keep */
|
||||||
|
buildDiscarder(logRotator(
|
||||||
|
numToKeepStr: '20',
|
||||||
|
daysToKeepStr: '30',
|
||||||
|
))
|
||||||
|
}
|
||||||
|
|
||||||
|
environment {
|
||||||
|
SITE_DOMAIN = 'examples.waku.org'
|
||||||
|
GIT_AUTHOR_NAME = 'status-im-auto'
|
||||||
|
GIT_AUTHOR_EMAIL = 'auto@status.im'
|
||||||
|
PUPPETEER_SKIP_DOWNLOAD = 'true'
|
||||||
|
}
|
||||||
|
|
||||||
|
stages {
|
||||||
|
stage('Pre') {
|
||||||
|
steps {
|
||||||
|
sh 'yarn install --no-lockfile'
|
||||||
|
/* TODO: Build the main page. */
|
||||||
|
sh 'mkdir -p build/docs'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage('Examples') {
|
||||||
|
parallel {
|
||||||
|
stage('eth-pm') { steps { script { buildExample() } } }
|
||||||
|
stage('relay-angular-chat') { steps { script { buildExample() } } }
|
||||||
|
stage('relay-reactjs-chat') { steps { script { buildExample() } } }
|
||||||
|
stage('store-reactjs-chat') { steps { script { buildExample() } } }
|
||||||
|
stage('web-chat') { steps { script { buildExample() } } }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage('HTML Examples') {
|
||||||
|
parallel {
|
||||||
|
stage('relay-js') { steps { script { copyExample() } } }
|
||||||
|
stage('store-js') { steps { script { copyExample() } } }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage('Publish') {
|
||||||
|
//when { expression { GIT_BRANCH.endsWith('master') } }
|
||||||
|
steps { script {
|
||||||
|
sh "echo ${SITE_DOMAIN} > build/docs/CNAME"
|
||||||
|
sshagent(credentials: ['status-im-auto-ssh']) {
|
||||||
|
sh 'node ci/deploy.js'
|
||||||
|
}
|
||||||
|
} }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
post {
|
||||||
|
always { cleanWs() }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
def buildExample(example=STAGE_NAME) {
|
||||||
|
def dest = "${WORKSPACE}/build/docs/${example}"
|
||||||
|
dir("${example}") {
|
||||||
|
sh 'yarn install --network-concurrency 1 --no-lockfile'
|
||||||
|
sh 'yarn run build'
|
||||||
|
sh "mkdir -p ${dest}"
|
||||||
|
sh "cp -r build/. ${dest}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
def copyExample(example=STAGE_NAME) {
|
||||||
|
sh "mkdir -p build/docs/${example}"
|
||||||
|
sh "cp ${example}/index.html build/docs/${example}/"
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
# Description
|
||||||
|
|
||||||
|
Configuration of CI builds executed under a Jenkins instance at https://ci.status.im/.
|
||||||
|
|
||||||
|
# Website
|
||||||
|
|
||||||
|
The `Jenkinsfile.gh-pages` file builds the documentation site with this job:
|
||||||
|
https://ci.infra.status.im/job/website/job/examples.waku.org/
|
||||||
|
|
||||||
|
And deploys it via `gh-pages` branch and [GitHub Pages](https://pages.github.com/) to:
|
||||||
|
https://examples.waku.org/
|
|
@ -0,0 +1,39 @@
|
||||||
|
const { promisify } = require('util')
|
||||||
|
const { publish } = require('gh-pages')
|
||||||
|
const ghpublish = promisify(publish)
|
||||||
|
|
||||||
|
/* fix for "Unhandled promise rejections" */
|
||||||
|
process.on('unhandledRejection', err => { throw err })
|
||||||
|
|
||||||
|
const Args = process.argv.slice(2)
|
||||||
|
const USE_HTTPS = Args[0] && Args[0].toUpperCase() === 'HTTPS'
|
||||||
|
|
||||||
|
const branch = 'gh-pages'
|
||||||
|
const org = 'waku-org'
|
||||||
|
const repo = 'js-waku-examples'
|
||||||
|
/* use SSH auth by default */
|
||||||
|
let repoUrl = USE_HTTPS
|
||||||
|
? `https://github.com/${org}/${repo}.git`
|
||||||
|
: `git@github.com:${org}/${repo}.git`
|
||||||
|
|
||||||
|
/* alternative auth using GitHub user and API token */
|
||||||
|
if (process.env.GH_USER != undefined) {
|
||||||
|
repoUrl = (
|
||||||
|
'https://' + process.env.GH_USER +
|
||||||
|
':' + process.env.GH_TOKEN +
|
||||||
|
'@' + `github.com/${org}/${repo}.git`
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
const main = async (url, branch)=> {
|
||||||
|
console.log(`Pushing to: ${url}`)
|
||||||
|
console.log(`On branch: ${branch}`)
|
||||||
|
await ghpublish('build/docs', {
|
||||||
|
repo: url,
|
||||||
|
branch: branch,
|
||||||
|
dotfiles: true,
|
||||||
|
silent: false
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
main(repoUrl, branch)
|
|
@ -59,6 +59,6 @@
|
||||||
"npm-run-all": "^4.1.5",
|
"npm-run-all": "^4.1.5",
|
||||||
"prettier": "^2.5.1",
|
"prettier": "^2.5.1",
|
||||||
"react-scripts": "5.0.1",
|
"react-scripts": "5.0.1",
|
||||||
"typescript": "^4.5.5"
|
"typescript": "^4.8.2"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,7 +21,7 @@ specifiers:
|
||||||
react: ^18.2.0
|
react: ^18.2.0
|
||||||
react-dom: ^18.2.0
|
react-dom: ^18.2.0
|
||||||
react-scripts: 5.0.1
|
react-scripts: 5.0.1
|
||||||
typescript: ^4.5.5
|
typescript: ^4.8.2
|
||||||
uint8arrays: ^3.1.0
|
uint8arrays: ^3.1.0
|
||||||
|
|
||||||
dependencies:
|
dependencies:
|
||||||
|
@ -47,8 +47,8 @@ devDependencies:
|
||||||
eslint: 8.21.0
|
eslint: 8.21.0
|
||||||
npm-run-all: 4.1.5
|
npm-run-all: 4.1.5
|
||||||
prettier: 2.7.1
|
prettier: 2.7.1
|
||||||
react-scripts: 5.0.1_hh7noc25gsrzvp6vxmzwopgyr4
|
react-scripts: 5.0.1_e23e7evf6537qu7ubpbcii2cdu
|
||||||
typescript: 4.7.4
|
typescript: 4.8.2
|
||||||
|
|
||||||
packages:
|
packages:
|
||||||
|
|
||||||
|
@ -3923,7 +3923,7 @@ packages:
|
||||||
'@types/yargs-parser': 21.0.0
|
'@types/yargs-parser': 21.0.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@typescript-eslint/eslint-plugin/5.32.0_iosr3hrei2tubxveewluhu5lhy:
|
/@typescript-eslint/eslint-plugin/5.32.0_kdwbl65lia4yzlecy2enednvse:
|
||||||
resolution: {integrity: sha512-CHLuz5Uz7bHP2WgVlvoZGhf0BvFakBJKAD/43Ty0emn4wXWv5k01ND0C0fHcl/Im8Td2y/7h44E9pca9qAu2ew==}
|
resolution: {integrity: sha512-CHLuz5Uz7bHP2WgVlvoZGhf0BvFakBJKAD/43Ty0emn4wXWv5k01ND0C0fHcl/Im8Td2y/7h44E9pca9qAu2ew==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
|
@ -3934,36 +3934,36 @@ packages:
|
||||||
typescript:
|
typescript:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/parser': 5.32.0_qugx7qdu5zevzvxaiqyxfiwquq
|
'@typescript-eslint/parser': 5.32.0_ou2kolaoagz2etaj4kmzu6fily
|
||||||
'@typescript-eslint/scope-manager': 5.32.0
|
'@typescript-eslint/scope-manager': 5.32.0
|
||||||
'@typescript-eslint/type-utils': 5.32.0_qugx7qdu5zevzvxaiqyxfiwquq
|
'@typescript-eslint/type-utils': 5.32.0_ou2kolaoagz2etaj4kmzu6fily
|
||||||
'@typescript-eslint/utils': 5.32.0_qugx7qdu5zevzvxaiqyxfiwquq
|
'@typescript-eslint/utils': 5.32.0_ou2kolaoagz2etaj4kmzu6fily
|
||||||
debug: 4.3.4
|
debug: 4.3.4
|
||||||
eslint: 8.21.0
|
eslint: 8.21.0
|
||||||
functional-red-black-tree: 1.0.1
|
functional-red-black-tree: 1.0.1
|
||||||
ignore: 5.2.0
|
ignore: 5.2.0
|
||||||
regexpp: 3.2.0
|
regexpp: 3.2.0
|
||||||
semver: 7.3.7
|
semver: 7.3.7
|
||||||
tsutils: 3.21.0_typescript@4.7.4
|
tsutils: 3.21.0_typescript@4.8.2
|
||||||
typescript: 4.7.4
|
typescript: 4.8.2
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@typescript-eslint/experimental-utils/5.32.0_qugx7qdu5zevzvxaiqyxfiwquq:
|
/@typescript-eslint/experimental-utils/5.32.0_ou2kolaoagz2etaj4kmzu6fily:
|
||||||
resolution: {integrity: sha512-/x72MkqLAoOQSOHFxdm17irJ1PNDWtdrMmfacaYniGT26nibak8vxEf9xmoVE+yTYL8N77I2icPtw89Yx6HvNg==}
|
resolution: {integrity: sha512-/x72MkqLAoOQSOHFxdm17irJ1PNDWtdrMmfacaYniGT26nibak8vxEf9xmoVE+yTYL8N77I2icPtw89Yx6HvNg==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
|
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/utils': 5.32.0_qugx7qdu5zevzvxaiqyxfiwquq
|
'@typescript-eslint/utils': 5.32.0_ou2kolaoagz2etaj4kmzu6fily
|
||||||
eslint: 8.21.0
|
eslint: 8.21.0
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
- typescript
|
- typescript
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@typescript-eslint/parser/5.32.0_qugx7qdu5zevzvxaiqyxfiwquq:
|
/@typescript-eslint/parser/5.32.0_ou2kolaoagz2etaj4kmzu6fily:
|
||||||
resolution: {integrity: sha512-IxRtsehdGV9GFQ35IGm5oKKR2OGcazUoiNBxhRV160iF9FoyuXxjY+rIqs1gfnd+4eL98OjeGnMpE7RF/NBb3A==}
|
resolution: {integrity: sha512-IxRtsehdGV9GFQ35IGm5oKKR2OGcazUoiNBxhRV160iF9FoyuXxjY+rIqs1gfnd+4eL98OjeGnMpE7RF/NBb3A==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
|
@ -3975,10 +3975,10 @@ packages:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/scope-manager': 5.32.0
|
'@typescript-eslint/scope-manager': 5.32.0
|
||||||
'@typescript-eslint/types': 5.32.0
|
'@typescript-eslint/types': 5.32.0
|
||||||
'@typescript-eslint/typescript-estree': 5.32.0_typescript@4.7.4
|
'@typescript-eslint/typescript-estree': 5.32.0_typescript@4.8.2
|
||||||
debug: 4.3.4
|
debug: 4.3.4
|
||||||
eslint: 8.21.0
|
eslint: 8.21.0
|
||||||
typescript: 4.7.4
|
typescript: 4.8.2
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
@ -3991,7 +3991,7 @@ packages:
|
||||||
'@typescript-eslint/visitor-keys': 5.32.0
|
'@typescript-eslint/visitor-keys': 5.32.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@typescript-eslint/type-utils/5.32.0_qugx7qdu5zevzvxaiqyxfiwquq:
|
/@typescript-eslint/type-utils/5.32.0_ou2kolaoagz2etaj4kmzu6fily:
|
||||||
resolution: {integrity: sha512-0gSsIhFDduBz3QcHJIp3qRCvVYbqzHg8D6bHFsDMrm0rURYDj+skBK2zmYebdCp+4nrd9VWd13egvhYFJj/wZg==}
|
resolution: {integrity: sha512-0gSsIhFDduBz3QcHJIp3qRCvVYbqzHg8D6bHFsDMrm0rURYDj+skBK2zmYebdCp+4nrd9VWd13egvhYFJj/wZg==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
|
@ -4001,11 +4001,11 @@ packages:
|
||||||
typescript:
|
typescript:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/utils': 5.32.0_qugx7qdu5zevzvxaiqyxfiwquq
|
'@typescript-eslint/utils': 5.32.0_ou2kolaoagz2etaj4kmzu6fily
|
||||||
debug: 4.3.4
|
debug: 4.3.4
|
||||||
eslint: 8.21.0
|
eslint: 8.21.0
|
||||||
tsutils: 3.21.0_typescript@4.7.4
|
tsutils: 3.21.0_typescript@4.8.2
|
||||||
typescript: 4.7.4
|
typescript: 4.8.2
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
@ -4015,7 +4015,7 @@ packages:
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@typescript-eslint/typescript-estree/5.32.0_typescript@4.7.4:
|
/@typescript-eslint/typescript-estree/5.32.0_typescript@4.8.2:
|
||||||
resolution: {integrity: sha512-ZVAUkvPk3ITGtCLU5J4atCw9RTxK+SRc6hXqLtllC2sGSeMFWN+YwbiJR9CFrSFJ3w4SJfcWtDwNb/DmUIHdhg==}
|
resolution: {integrity: sha512-ZVAUkvPk3ITGtCLU5J4atCw9RTxK+SRc6hXqLtllC2sGSeMFWN+YwbiJR9CFrSFJ3w4SJfcWtDwNb/DmUIHdhg==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
|
@ -4030,13 +4030,13 @@ packages:
|
||||||
globby: 11.1.0
|
globby: 11.1.0
|
||||||
is-glob: 4.0.3
|
is-glob: 4.0.3
|
||||||
semver: 7.3.7
|
semver: 7.3.7
|
||||||
tsutils: 3.21.0_typescript@4.7.4
|
tsutils: 3.21.0_typescript@4.8.2
|
||||||
typescript: 4.7.4
|
typescript: 4.8.2
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@typescript-eslint/utils/5.32.0_qugx7qdu5zevzvxaiqyxfiwquq:
|
/@typescript-eslint/utils/5.32.0_ou2kolaoagz2etaj4kmzu6fily:
|
||||||
resolution: {integrity: sha512-W7lYIAI5Zlc5K082dGR27Fczjb3Q57ECcXefKU/f0ajM5ToM0P+N9NmJWip8GmGu/g6QISNT+K6KYB+iSHjXCQ==}
|
resolution: {integrity: sha512-W7lYIAI5Zlc5K082dGR27Fczjb3Q57ECcXefKU/f0ajM5ToM0P+N9NmJWip8GmGu/g6QISNT+K6KYB+iSHjXCQ==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
|
@ -4045,7 +4045,7 @@ packages:
|
||||||
'@types/json-schema': 7.0.11
|
'@types/json-schema': 7.0.11
|
||||||
'@typescript-eslint/scope-manager': 5.32.0
|
'@typescript-eslint/scope-manager': 5.32.0
|
||||||
'@typescript-eslint/types': 5.32.0
|
'@typescript-eslint/types': 5.32.0
|
||||||
'@typescript-eslint/typescript-estree': 5.32.0_typescript@4.7.4
|
'@typescript-eslint/typescript-estree': 5.32.0_typescript@4.8.2
|
||||||
eslint: 8.21.0
|
eslint: 8.21.0
|
||||||
eslint-scope: 5.1.1
|
eslint-scope: 5.1.1
|
||||||
eslint-utils: 3.0.0_eslint@8.21.0
|
eslint-utils: 3.0.0_eslint@8.21.0
|
||||||
|
@ -6042,7 +6042,7 @@ packages:
|
||||||
source-map: 0.6.1
|
source-map: 0.6.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/eslint-config-react-app/7.0.1_x3alemznk2vpfvvnowlkwitfze:
|
/eslint-config-react-app/7.0.1_4xxghbdbtpkpzboxb63ap6m5cq:
|
||||||
resolution: {integrity: sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==}
|
resolution: {integrity: sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==}
|
||||||
engines: {node: '>=14.0.0'}
|
engines: {node: '>=14.0.0'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
|
@ -6055,19 +6055,19 @@ packages:
|
||||||
'@babel/core': 7.18.10
|
'@babel/core': 7.18.10
|
||||||
'@babel/eslint-parser': 7.18.9_xqt7ek4fk233nrovqiamjvck4u
|
'@babel/eslint-parser': 7.18.9_xqt7ek4fk233nrovqiamjvck4u
|
||||||
'@rushstack/eslint-patch': 1.1.4
|
'@rushstack/eslint-patch': 1.1.4
|
||||||
'@typescript-eslint/eslint-plugin': 5.32.0_iosr3hrei2tubxveewluhu5lhy
|
'@typescript-eslint/eslint-plugin': 5.32.0_kdwbl65lia4yzlecy2enednvse
|
||||||
'@typescript-eslint/parser': 5.32.0_qugx7qdu5zevzvxaiqyxfiwquq
|
'@typescript-eslint/parser': 5.32.0_ou2kolaoagz2etaj4kmzu6fily
|
||||||
babel-preset-react-app: 10.0.1
|
babel-preset-react-app: 10.0.1
|
||||||
confusing-browser-globals: 1.0.11
|
confusing-browser-globals: 1.0.11
|
||||||
eslint: 8.21.0
|
eslint: 8.21.0
|
||||||
eslint-plugin-flowtype: 8.0.3_bfhyaeqlroxospgntnspvajiaq
|
eslint-plugin-flowtype: 8.0.3_bfhyaeqlroxospgntnspvajiaq
|
||||||
eslint-plugin-import: 2.26.0_wuikv5nqgdfyng42xxm7lklfmi
|
eslint-plugin-import: 2.26.0_wuikv5nqgdfyng42xxm7lklfmi
|
||||||
eslint-plugin-jest: 25.7.0_rgnm43ao3zb6h53qs7rzyfjfmm
|
eslint-plugin-jest: 25.7.0_es3s5ega56ydzpv3u2fqyh4w34
|
||||||
eslint-plugin-jsx-a11y: 6.6.1_eslint@8.21.0
|
eslint-plugin-jsx-a11y: 6.6.1_eslint@8.21.0
|
||||||
eslint-plugin-react: 7.30.1_eslint@8.21.0
|
eslint-plugin-react: 7.30.1_eslint@8.21.0
|
||||||
eslint-plugin-react-hooks: 4.6.0_eslint@8.21.0
|
eslint-plugin-react-hooks: 4.6.0_eslint@8.21.0
|
||||||
eslint-plugin-testing-library: 5.6.0_qugx7qdu5zevzvxaiqyxfiwquq
|
eslint-plugin-testing-library: 5.6.0_ou2kolaoagz2etaj4kmzu6fily
|
||||||
typescript: 4.7.4
|
typescript: 4.8.2
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- '@babel/plugin-syntax-flow'
|
- '@babel/plugin-syntax-flow'
|
||||||
- '@babel/plugin-transform-react-jsx'
|
- '@babel/plugin-transform-react-jsx'
|
||||||
|
@ -6104,7 +6104,7 @@ packages:
|
||||||
eslint-import-resolver-webpack:
|
eslint-import-resolver-webpack:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/parser': 5.32.0_qugx7qdu5zevzvxaiqyxfiwquq
|
'@typescript-eslint/parser': 5.32.0_ou2kolaoagz2etaj4kmzu6fily
|
||||||
debug: 3.2.7
|
debug: 3.2.7
|
||||||
eslint-import-resolver-node: 0.3.6
|
eslint-import-resolver-node: 0.3.6
|
||||||
find-up: 2.1.0
|
find-up: 2.1.0
|
||||||
|
@ -6137,7 +6137,7 @@ packages:
|
||||||
'@typescript-eslint/parser':
|
'@typescript-eslint/parser':
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/parser': 5.32.0_qugx7qdu5zevzvxaiqyxfiwquq
|
'@typescript-eslint/parser': 5.32.0_ou2kolaoagz2etaj4kmzu6fily
|
||||||
array-includes: 3.1.5
|
array-includes: 3.1.5
|
||||||
array.prototype.flat: 1.3.0
|
array.prototype.flat: 1.3.0
|
||||||
debug: 2.6.9
|
debug: 2.6.9
|
||||||
|
@ -6158,7 +6158,7 @@ packages:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/eslint-plugin-jest/25.7.0_rgnm43ao3zb6h53qs7rzyfjfmm:
|
/eslint-plugin-jest/25.7.0_es3s5ega56ydzpv3u2fqyh4w34:
|
||||||
resolution: {integrity: sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==}
|
resolution: {integrity: sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==}
|
||||||
engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
|
engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
|
@ -6171,8 +6171,8 @@ packages:
|
||||||
jest:
|
jest:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/eslint-plugin': 5.32.0_iosr3hrei2tubxveewluhu5lhy
|
'@typescript-eslint/eslint-plugin': 5.32.0_kdwbl65lia4yzlecy2enednvse
|
||||||
'@typescript-eslint/experimental-utils': 5.32.0_qugx7qdu5zevzvxaiqyxfiwquq
|
'@typescript-eslint/experimental-utils': 5.32.0_ou2kolaoagz2etaj4kmzu6fily
|
||||||
eslint: 8.21.0
|
eslint: 8.21.0
|
||||||
jest: 27.5.1
|
jest: 27.5.1
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
|
@ -6234,13 +6234,13 @@ packages:
|
||||||
string.prototype.matchall: 4.0.7
|
string.prototype.matchall: 4.0.7
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/eslint-plugin-testing-library/5.6.0_qugx7qdu5zevzvxaiqyxfiwquq:
|
/eslint-plugin-testing-library/5.6.0_ou2kolaoagz2etaj4kmzu6fily:
|
||||||
resolution: {integrity: sha512-y63TRzPhGCMNsnUwMGJU1MFWc/3GvYw+nzobp9QiyNTTKsgAt5RKAOT1I34+XqVBpX1lC8bScoOjCkP7iRv0Mw==}
|
resolution: {integrity: sha512-y63TRzPhGCMNsnUwMGJU1MFWc/3GvYw+nzobp9QiyNTTKsgAt5RKAOT1I34+XqVBpX1lC8bScoOjCkP7iRv0Mw==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0, npm: '>=6'}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0, npm: '>=6'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
eslint: ^7.5.0 || ^8.0.0
|
eslint: ^7.5.0 || ^8.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/utils': 5.32.0_qugx7qdu5zevzvxaiqyxfiwquq
|
'@typescript-eslint/utils': 5.32.0_ou2kolaoagz2etaj4kmzu6fily
|
||||||
eslint: 8.21.0
|
eslint: 8.21.0
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
@ -6684,7 +6684,7 @@ packages:
|
||||||
deprecated: Package relocated. Please install and migrate to @fontsource/roboto.
|
deprecated: Package relocated. Please install and migrate to @fontsource/roboto.
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/fork-ts-checker-webpack-plugin/6.5.2_o76vzsp5j2es3tw47tgtdagf3m:
|
/fork-ts-checker-webpack-plugin/6.5.2_6powqha3uet7brcqpdvamgrsxu:
|
||||||
resolution: {integrity: sha512-m5cUmF30xkZ7h4tWUgTAcEaKmUW7tfyUyTqNNOz7OxWJ0v1VWKTcOvH8FWHUwSjlW/356Ijc9vi3XfcPstpQKA==}
|
resolution: {integrity: sha512-m5cUmF30xkZ7h4tWUgTAcEaKmUW7tfyUyTqNNOz7OxWJ0v1VWKTcOvH8FWHUwSjlW/356Ijc9vi3XfcPstpQKA==}
|
||||||
engines: {node: '>=10', yarn: '>=1.0.0'}
|
engines: {node: '>=10', yarn: '>=1.0.0'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
|
@ -6712,7 +6712,7 @@ packages:
|
||||||
schema-utils: 2.7.0
|
schema-utils: 2.7.0
|
||||||
semver: 7.3.7
|
semver: 7.3.7
|
||||||
tapable: 1.1.3
|
tapable: 1.1.3
|
||||||
typescript: 4.7.4
|
typescript: 4.8.2
|
||||||
webpack: 5.74.0
|
webpack: 5.74.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
@ -10489,7 +10489,7 @@ packages:
|
||||||
whatwg-fetch: 3.6.2
|
whatwg-fetch: 3.6.2
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/react-dev-utils/12.0.1_o76vzsp5j2es3tw47tgtdagf3m:
|
/react-dev-utils/12.0.1_6powqha3uet7brcqpdvamgrsxu:
|
||||||
resolution: {integrity: sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==}
|
resolution: {integrity: sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==}
|
||||||
engines: {node: '>=14'}
|
engines: {node: '>=14'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
|
@ -10508,7 +10508,7 @@ packages:
|
||||||
escape-string-regexp: 4.0.0
|
escape-string-regexp: 4.0.0
|
||||||
filesize: 8.0.7
|
filesize: 8.0.7
|
||||||
find-up: 5.0.0
|
find-up: 5.0.0
|
||||||
fork-ts-checker-webpack-plugin: 6.5.2_o76vzsp5j2es3tw47tgtdagf3m
|
fork-ts-checker-webpack-plugin: 6.5.2_6powqha3uet7brcqpdvamgrsxu
|
||||||
global-modules: 2.0.0
|
global-modules: 2.0.0
|
||||||
globby: 11.1.0
|
globby: 11.1.0
|
||||||
gzip-size: 6.0.0
|
gzip-size: 6.0.0
|
||||||
|
@ -10523,7 +10523,7 @@ packages:
|
||||||
shell-quote: 1.7.3
|
shell-quote: 1.7.3
|
||||||
strip-ansi: 6.0.1
|
strip-ansi: 6.0.1
|
||||||
text-table: 0.2.0
|
text-table: 0.2.0
|
||||||
typescript: 4.7.4
|
typescript: 4.8.2
|
||||||
webpack: 5.74.0
|
webpack: 5.74.0
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- eslint
|
- eslint
|
||||||
|
@ -10560,7 +10560,7 @@ packages:
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/react-scripts/5.0.1_hh7noc25gsrzvp6vxmzwopgyr4:
|
/react-scripts/5.0.1_e23e7evf6537qu7ubpbcii2cdu:
|
||||||
resolution: {integrity: sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==}
|
resolution: {integrity: sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==}
|
||||||
engines: {node: '>=14.0.0'}
|
engines: {node: '>=14.0.0'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
@ -10588,7 +10588,7 @@ packages:
|
||||||
dotenv: 10.0.0
|
dotenv: 10.0.0
|
||||||
dotenv-expand: 5.1.0
|
dotenv-expand: 5.1.0
|
||||||
eslint: 8.21.0
|
eslint: 8.21.0
|
||||||
eslint-config-react-app: 7.0.1_x3alemznk2vpfvvnowlkwitfze
|
eslint-config-react-app: 7.0.1_4xxghbdbtpkpzboxb63ap6m5cq
|
||||||
eslint-webpack-plugin: 3.2.0_u2suxbtqimpjcabkd5w2ufy4qm
|
eslint-webpack-plugin: 3.2.0_u2suxbtqimpjcabkd5w2ufy4qm
|
||||||
file-loader: 6.2.0_webpack@5.74.0
|
file-loader: 6.2.0_webpack@5.74.0
|
||||||
fs-extra: 10.1.0
|
fs-extra: 10.1.0
|
||||||
|
@ -10606,7 +10606,7 @@ packages:
|
||||||
prompts: 2.4.2
|
prompts: 2.4.2
|
||||||
react: 18.2.0
|
react: 18.2.0
|
||||||
react-app-polyfill: 3.0.0
|
react-app-polyfill: 3.0.0
|
||||||
react-dev-utils: 12.0.1_o76vzsp5j2es3tw47tgtdagf3m
|
react-dev-utils: 12.0.1_6powqha3uet7brcqpdvamgrsxu
|
||||||
react-refresh: 0.11.0
|
react-refresh: 0.11.0
|
||||||
resolve: 1.22.1
|
resolve: 1.22.1
|
||||||
resolve-url-loader: 4.0.0
|
resolve-url-loader: 4.0.0
|
||||||
|
@ -10616,7 +10616,7 @@ packages:
|
||||||
style-loader: 3.3.1_webpack@5.74.0
|
style-loader: 3.3.1_webpack@5.74.0
|
||||||
tailwindcss: 3.1.8_postcss@8.4.16
|
tailwindcss: 3.1.8_postcss@8.4.16
|
||||||
terser-webpack-plugin: 5.3.3_webpack@5.74.0
|
terser-webpack-plugin: 5.3.3_webpack@5.74.0
|
||||||
typescript: 4.7.4
|
typescript: 4.8.2
|
||||||
webpack: 5.74.0
|
webpack: 5.74.0
|
||||||
webpack-dev-server: 4.9.3_webpack@5.74.0
|
webpack-dev-server: 4.9.3_webpack@5.74.0
|
||||||
webpack-manifest-plugin: 4.1.1_webpack@5.74.0
|
webpack-manifest-plugin: 4.1.1_webpack@5.74.0
|
||||||
|
@ -11784,14 +11784,14 @@ packages:
|
||||||
resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==}
|
resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/tsutils/3.21.0_typescript@4.7.4:
|
/tsutils/3.21.0_typescript@4.8.2:
|
||||||
resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
|
resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
|
||||||
engines: {node: '>= 6'}
|
engines: {node: '>= 6'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta'
|
typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta'
|
||||||
dependencies:
|
dependencies:
|
||||||
tslib: 1.14.1
|
tslib: 1.14.1
|
||||||
typescript: 4.7.4
|
typescript: 4.8.2
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/type-check/0.3.2:
|
/type-check/0.3.2:
|
||||||
|
@ -11842,8 +11842,8 @@ packages:
|
||||||
is-typedarray: 1.0.0
|
is-typedarray: 1.0.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/typescript/4.7.4:
|
/typescript/4.8.2:
|
||||||
resolution: {integrity: sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==}
|
resolution: {integrity: sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw==}
|
||||||
engines: {node: '>=4.2.0'}
|
engines: {node: '>=4.2.0'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
dev: true
|
dev: true
|
||||||
|
|
|
@ -13,7 +13,7 @@ export async function saveKeyPairToStorage(
|
||||||
const data = {
|
const data = {
|
||||||
salt: utils.bytesToHex(salt),
|
salt: utils.bytesToHex(salt),
|
||||||
iv: utils.bytesToHex(iv),
|
iv: utils.bytesToHex(iv),
|
||||||
cipher: utils.bytesToHex(cipher),
|
cipher: utils.bytesToHex(new Uint8Array(cipher)),
|
||||||
};
|
};
|
||||||
|
|
||||||
localStorage.setItem("cipherEncryptionKeyPair", JSON.stringify(data));
|
localStorage.setItem("cipherEncryptionKeyPair", JSON.stringify(data));
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
{
|
||||||
|
"dependencies": {
|
||||||
|
"gh-pages": "^4.0.0"
|
||||||
|
}
|
||||||
|
}
|
|
@ -17,7 +17,7 @@
|
||||||
"build": {
|
"build": {
|
||||||
"builder": "@angular-devkit/build-angular:browser",
|
"builder": "@angular-devkit/build-angular:browser",
|
||||||
"options": {
|
"options": {
|
||||||
"outputPath": "dist/relay-angular-chat",
|
"outputPath": "build",
|
||||||
"index": "src/index.html",
|
"index": "src/index.html",
|
||||||
"main": "src/main.ts",
|
"main": "src/main.ts",
|
||||||
"tsConfig": "tsconfig.app.json",
|
"tsConfig": "tsconfig.app.json",
|
||||||
|
|
Loading…
Reference in New Issue