diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..dd1a382 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,13 @@ +name: Build +on: [push] +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Use Node.js + uses: actions/setup-node@v3 + with: + node-version: '12.x' + - run: npm ci + - run: npm run build diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 0000000..dccf5a1 --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,13 @@ +name: Lint +on: [push] +jobs: + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Use Node.js + uses: actions/setup-node@v3 + with: + node-version: '12.x' + - run: npm ci + - run: npm run lint diff --git a/.github/workflows/prettier.yml b/.github/workflows/prettier.yml new file mode 100644 index 0000000..c9d9706 --- /dev/null +++ b/.github/workflows/prettier.yml @@ -0,0 +1,13 @@ +name: Prettier +on: [push] +jobs: + prettier: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Use Node.js + uses: actions/setup-node@v3 + with: + node-version: '12.x' + - run: npm ci + - run: npm run prettier diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..e247e37 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,12 @@ +.github/** +demos/** +dist/** +lib/types/** +lib/wasm_exec.js +package-lock.json +package.json +README.md +test/** +tsconfig.json +tslint.json +webpack.config.js diff --git a/demos/connect-demo/package-lock.json b/demos/connect-demo/package-lock.json index 222cffd..119ab39 100644 --- a/demos/connect-demo/package-lock.json +++ b/demos/connect-demo/package-lock.json @@ -8,7 +8,7 @@ "name": "connect-demo", "version": "0.1.0", "dependencies": { - "@lightninglabs/lnc-web": "^0.0.1-alpha.rc2", + "@lightninglabs/lnc-web": "0.1.11-alpha", "@testing-library/jest-dom": "^5.16.4", "@testing-library/react": "^13.3.0", "@testing-library/user-event": "^13.5.0", @@ -2913,9 +2913,9 @@ "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==" }, "node_modules/@lightninglabs/lnc-web": { - "version": "0.0.1-alpha.rc2", - "resolved": "https://registry.npmjs.org/@lightninglabs/lnc-web/-/lnc-web-0.0.1-alpha.rc2.tgz", - "integrity": "sha512-S6+ivjvOo62UcTB/82yTWCvwmufKVez8KHKJUaawCMhDDT5P9dNWkQmSzbTJ3kF9EMqxO7ZsH01iEEgTj0MfIQ==", + "version": "0.1.11-alpha", + "resolved": "https://registry.npmjs.org/@lightninglabs/lnc-web/-/lnc-web-0.1.11-alpha.tgz", + "integrity": "sha512-ynDCcF+vCxCw4HAY+jul+cvGe7lFs2bnJXctxqzuPrrorAwtyk6dkbmk2TRIjK5wH96jTfzoCLii26fwbzgmaQ==", "dependencies": { "crypto-js": "4.1.1", "node-polyfill-webpack-plugin": "1.1.4" @@ -19390,9 +19390,9 @@ "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==" }, "@lightninglabs/lnc-web": { - "version": "0.0.1-alpha.rc2", - "resolved": "https://registry.npmjs.org/@lightninglabs/lnc-web/-/lnc-web-0.0.1-alpha.rc2.tgz", - "integrity": "sha512-S6+ivjvOo62UcTB/82yTWCvwmufKVez8KHKJUaawCMhDDT5P9dNWkQmSzbTJ3kF9EMqxO7ZsH01iEEgTj0MfIQ==", + "version": "0.1.11-alpha", + "resolved": "https://registry.npmjs.org/@lightninglabs/lnc-web/-/lnc-web-0.1.11-alpha.tgz", + "integrity": "sha512-ynDCcF+vCxCw4HAY+jul+cvGe7lFs2bnJXctxqzuPrrorAwtyk6dkbmk2TRIjK5wH96jTfzoCLii26fwbzgmaQ==", "requires": { "crypto-js": "4.1.1", "node-polyfill-webpack-plugin": "1.1.4" diff --git a/demos/connect-demo/package.json b/demos/connect-demo/package.json index 8bafe3d..2d074aa 100644 --- a/demos/connect-demo/package.json +++ b/demos/connect-demo/package.json @@ -3,7 +3,7 @@ "version": "0.1.0", "private": true, "dependencies": { - "@lightninglabs/lnc-web": "^0.0.1-alpha.rc2", + "@lightninglabs/lnc-web": "0.1.11-alpha", "@testing-library/jest-dom": "^5.16.4", "@testing-library/react": "^13.3.0", "@testing-library/user-event": "^13.5.0", diff --git a/demos/kitchen-sink/package-lock.json b/demos/kitchen-sink/package-lock.json index e25fccd..14aa9e7 100644 --- a/demos/kitchen-sink/package-lock.json +++ b/demos/kitchen-sink/package-lock.json @@ -8,7 +8,7 @@ "name": "kitchen-sink", "version": "0.0.1", "dependencies": { - "@lightninglabs/lnc-web": "^0.0.1-alpha.rc2", + "@lightninglabs/lnc-web": "0.1.11-alpha", "@testing-library/jest-dom": "5.16.2", "@testing-library/react": "12.1.3", "@testing-library/user-event": "13.5.0", @@ -2732,9 +2732,9 @@ } }, "node_modules/@lightninglabs/lnc-web": { - "version": "0.0.1-alpha.rc2", - "resolved": "https://registry.npmjs.org/@lightninglabs/lnc-web/-/lnc-web-0.0.1-alpha.rc2.tgz", - "integrity": "sha512-S6+ivjvOo62UcTB/82yTWCvwmufKVez8KHKJUaawCMhDDT5P9dNWkQmSzbTJ3kF9EMqxO7ZsH01iEEgTj0MfIQ==", + "version": "0.1.11-alpha", + "resolved": "https://registry.npmjs.org/@lightninglabs/lnc-web/-/lnc-web-0.1.11-alpha.tgz", + "integrity": "sha512-ynDCcF+vCxCw4HAY+jul+cvGe7lFs2bnJXctxqzuPrrorAwtyk6dkbmk2TRIjK5wH96jTfzoCLii26fwbzgmaQ==", "dependencies": { "crypto-js": "4.1.1", "node-polyfill-webpack-plugin": "1.1.4" @@ -18733,9 +18733,9 @@ } }, "@lightninglabs/lnc-web": { - "version": "0.0.1-alpha.rc2", - "resolved": "https://registry.npmjs.org/@lightninglabs/lnc-web/-/lnc-web-0.0.1-alpha.rc2.tgz", - "integrity": "sha512-S6+ivjvOo62UcTB/82yTWCvwmufKVez8KHKJUaawCMhDDT5P9dNWkQmSzbTJ3kF9EMqxO7ZsH01iEEgTj0MfIQ==", + "version": "0.1.11-alpha", + "resolved": "https://registry.npmjs.org/@lightninglabs/lnc-web/-/lnc-web-0.1.11-alpha.tgz", + "integrity": "sha512-ynDCcF+vCxCw4HAY+jul+cvGe7lFs2bnJXctxqzuPrrorAwtyk6dkbmk2TRIjK5wH96jTfzoCLii26fwbzgmaQ==", "requires": { "crypto-js": "4.1.1", "node-polyfill-webpack-plugin": "1.1.4" diff --git a/demos/kitchen-sink/package.json b/demos/kitchen-sink/package.json index 764fc3a..8799af8 100644 --- a/demos/kitchen-sink/package.json +++ b/demos/kitchen-sink/package.json @@ -3,7 +3,7 @@ "version": "0.0.1", "private": true, "dependencies": { - "@lightninglabs/lnc-web": "^0.0.1-alpha.rc2", + "@lightninglabs/lnc-web": "0.1.11-alpha", "@testing-library/jest-dom": "5.16.2", "@testing-library/react": "12.1.3", "@testing-library/user-event": "13.5.0", diff --git a/lib/lnc.ts b/lib/lnc.ts index 8e3c928..4b581eb 100644 --- a/lib/lnc.ts +++ b/lib/lnc.ts @@ -203,7 +203,9 @@ export default class LNC { } else if (counter > 20) { clearInterval(interval); reject( - 'Failed to connect the WASM client to the proxy server' + new Error( + 'Failed to connect the WASM client to the proxy server' + ) ); } }, 500); @@ -231,7 +233,7 @@ export default class LNC { log.info('The WASM client is ready'); } else if (counter > 20) { clearInterval(interval); - reject('Failed to load the WASM client'); + reject(new Error('Failed to load the WASM client')); } }, 500); }); diff --git a/package-lock.json b/package-lock.json index 683196a..f40aeae 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@lightninglabs/lnc-web", - "version": "0.1.11-alpha", + "version": "0.1.11-alpha.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@lightninglabs/lnc-web", - "version": "0.1.11-alpha", + "version": "0.1.11-alpha.1", "license": "MIT", "dependencies": { "crypto-js": "4.1.1", diff --git a/package.json b/package.json index eb2638d..ae243a9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@lightninglabs/lnc-web", - "version": "0.1.11-alpha", + "version": "0.1.11-alpha.1", "description": "Lightning Node Connect npm module for web", "main": "./dist/index.js", "types": "./dist/index.d.ts", @@ -12,12 +12,13 @@ "protoc_version": "3.15.8" }, "scripts": { - "build": "webpack", + "build": "NODE_ENV=production webpack", "dev": "webpack --watch --stats-error-details", "test": "mocha --reporter spec", "update-protos": "sh scripts/update_protos.sh ${npm_package_config_lnd_release_tag} ${npm_package_config_loop_release_tag} ${npm_package_config_pool_release_tag} ${npm_package_config_faraday_release_tag}", "generate": "sh scripts/generate_types.sh ${npm_package_config_lnd_release_tag} ${npm_package_config_loop_release_tag} ${npm_package_config_pool_release_tag} ${npm_package_config_faraday_release_tag} ${npm_package_config_protoc_version}", - "prettier": "prettier --check --write '**/*.ts*' '!dist/**' '!lib/types/**'", + "prettier": "prettier --check '**/*.ts*'", + "prettier-write": "prettier --check --write '**/*.ts*'", "lint": "tslint -p tsconfig.json", "prepare": "npm run build", "prepublishOnly": "npm run lint", diff --git a/tslint.json b/tslint.json index 76d458d..0ce6b39 100644 --- a/tslint.json +++ b/tslint.json @@ -1,5 +1,20 @@ { "extends": ["tslint:recommended", "tslint-config-prettier"], + "rules": { + "max-line-length": { + "options": [120] + }, + "new-parens": true, + "no-arg": true, + "no-bitwise": true, + "no-conditional-assignment": true, + "no-consecutive-blank-lines": true, + "no-console": { + "severity": "warning", + "options": ["debug", "info", "log", "time", "timeEnd", "trace"] + }, + "no-unused-variable": true + }, "linterOptions": { "exclude": [ "dist", @@ -8,3 +23,4 @@ ] } } +