@@ -78,7 +78,7 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
max-parallel: 4
|
max-parallel: 4
|
||||||
matrix:
|
matrix:
|
||||||
variant: ['full', 'lite', 'mac']
|
variant: ['full', 'lite', 'mac', 'beta', 'beta-firefox']
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Build info
|
- name: Build info
|
||||||
@@ -128,7 +128,31 @@ jobs:
|
|||||||
npm run build:lite
|
npm run build:lite
|
||||||
SUFFIX=lite npm run build-zip
|
SUFFIX=lite npm run build-zip
|
||||||
|
|
||||||
- name: Build full version
|
- name: Build beta version for Chromium
|
||||||
|
if: matrix.variant == 'beta'
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
npm install
|
||||||
|
cross-env NODE_ENV=production BETA=1 webpack
|
||||||
|
SUFFIX=beta npm run build-zip
|
||||||
|
|
||||||
|
- name: Build beta version for Firefox
|
||||||
|
if: matrix.variant == 'beta-firefox'
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
npm install
|
||||||
|
cross-env NODE_ENV=production BETA=1 FIREFOX=1 webpack
|
||||||
|
SUFFIX=beta-firefox npm run build-zip
|
||||||
|
|
||||||
|
- name: Build production version for Firefox
|
||||||
|
if: matrix.variant == 'beta-firefox'
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
npm install
|
||||||
|
cross-env NODE_ENV=production FIREFOX=1 webpack
|
||||||
|
SUFFIX=firefox npm run build-zip
|
||||||
|
|
||||||
|
- name: Build production version for Chromium
|
||||||
if: matrix.variant == 'full'
|
if: matrix.variant == 'full'
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
@@ -213,4 +237,4 @@ jobs:
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
env:
|
env:
|
||||||
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
|
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
|
||||||
@@ -39,10 +39,12 @@ All work on SimpleLogin Chrome/Firefox extension happens directly on GitHub.
|
|||||||
|
|
||||||
This project has been tested with Node v20.2.0 and NPM 9.6.6
|
This project has been tested with Node v20.2.0 and NPM 9.6.6
|
||||||
|
|
||||||
To run the extension locally, please follow these steps:
|
|
||||||
|
|
||||||
- install all dependencies with `npm install`.
|
To run the extension locally, please first install all dependencies with `npm install`.
|
||||||
- run `npm start` to generate the `/dist` folder that can be installed into Chrome.
|
|
||||||
|
## Chrome
|
||||||
|
|
||||||
|
Run `npm start` to generate the `/dist` folder that can be installed into Chrome.
|
||||||
|
|
||||||
In case of `Error: error:0308010C:digital envelope routines::unsupported` error, the workaround is to accept OPEN SSL by running this command before running `npm start`
|
In case of `Error: error:0308010C:digital envelope routines::unsupported` error, the workaround is to accept OPEN SSL by running this command before running `npm start`
|
||||||
|
|
||||||
@@ -50,11 +52,11 @@ In case of `Error: error:0308010C:digital envelope routines::unsupported` error,
|
|||||||
export NODE_OPTIONS=--openssl-legacy-provider
|
export NODE_OPTIONS=--openssl-legacy-provider
|
||||||
````
|
````
|
||||||
|
|
||||||
On Firefox, it can be done via `web-ext` tool from within the `/dist` folder:
|
## Firefox
|
||||||
|
|
||||||
```bash
|
Run `npm run start:firefox` to generate the `/dist` folder which can then be installed on Firefox, more info on https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Your_first_WebExtension#installing
|
||||||
( cd dist/ ; web-ext run )
|
|
||||||
```
|
## Code formatting
|
||||||
|
|
||||||
The code is formatted using `prettier`, make sure to run it before creating the commit, otherwise the GitHub lint workflow will mark the check as not passing:
|
The code is formatted using `prettier`, make sure to run it before creating the commit, otherwise the GitHub lint workflow will mark the check as not passing:
|
||||||
|
|
||||||
|
|||||||
Generated
+3
-435
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "simplelogin-extension",
|
"name": "simplelogin-extension",
|
||||||
"version": "2.10.0",
|
"version": "2.11.1",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "simplelogin-extension",
|
"name": "simplelogin-extension",
|
||||||
"version": "2.10.0",
|
"version": "2.11.1",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@fortawesome/fontawesome-svg-core": "^1.2.36",
|
"@fortawesome/fontawesome-svg-core": "^1.2.36",
|
||||||
@@ -14,7 +14,6 @@
|
|||||||
"@fortawesome/vue-fontawesome": "^0.1.10",
|
"@fortawesome/vue-fontawesome": "^0.1.10",
|
||||||
"@sentry/browser": "^5.25.0",
|
"@sentry/browser": "^5.25.0",
|
||||||
"@sentry/integrations": "^5.30.0",
|
"@sentry/integrations": "^5.30.0",
|
||||||
"axios": "^0.27.2",
|
|
||||||
"bootstrap": "^4.6.1",
|
"bootstrap": "^4.6.1",
|
||||||
"bootstrap-vue": "^2.21.2",
|
"bootstrap-vue": "^2.21.2",
|
||||||
"tippy.js": "^6.3.7",
|
"tippy.js": "^6.3.7",
|
||||||
@@ -48,8 +47,7 @@
|
|||||||
"vue-template-compiler": "^2.6.14",
|
"vue-template-compiler": "^2.6.14",
|
||||||
"web-ext-types": "^2.1.0",
|
"web-ext-types": "^2.1.0",
|
||||||
"webpack": "^4.46.0",
|
"webpack": "^4.46.0",
|
||||||
"webpack-cli": "^4.9.2",
|
"webpack-cli": "^4.9.2"
|
||||||
"webpack-extension-reloader": "^1.1.4"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@ampproject/remapping": {
|
"node_modules/@ampproject/remapping": {
|
||||||
@@ -2012,58 +2010,6 @@
|
|||||||
"integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==",
|
"integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/@types/node": {
|
|
||||||
"version": "17.0.35",
|
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.35.tgz",
|
|
||||||
"integrity": "sha512-vu1SrqBjbbZ3J6vwY17jBs8Sr/BKA+/a/WtjRG+whKg1iuLFOosq872EXS0eXWILdO36DHQQeku/ZcL6hz2fpg==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"node_modules/@types/source-list-map": {
|
|
||||||
"version": "0.1.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz",
|
|
||||||
"integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"node_modules/@types/tapable": {
|
|
||||||
"version": "1.0.8",
|
|
||||||
"resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.8.tgz",
|
|
||||||
"integrity": "sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"node_modules/@types/uglify-js": {
|
|
||||||
"version": "3.13.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.13.2.tgz",
|
|
||||||
"integrity": "sha512-/xFrPIo+4zOeNGtVMbf9rUm0N+i4pDf1ynExomqtokIJmVzR3962lJ1UE+MmexMkA0cmN9oTzg5Xcbwge0Ij2Q==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"source-map": "^0.6.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@types/webpack": {
|
|
||||||
"version": "4.41.32",
|
|
||||||
"resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.32.tgz",
|
|
||||||
"integrity": "sha512-cb+0ioil/7oz5//7tZUSwbrSAN/NWHrQylz5cW8G0dWTcF/g+/dSdMlKVZspBYuMAN1+WnwHrkxiRrLcwd0Heg==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"@types/node": "*",
|
|
||||||
"@types/tapable": "^1",
|
|
||||||
"@types/uglify-js": "*",
|
|
||||||
"@types/webpack-sources": "*",
|
|
||||||
"anymatch": "^3.0.0",
|
|
||||||
"source-map": "^0.6.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@types/webpack-sources": {
|
|
||||||
"version": "0.1.9",
|
|
||||||
"resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-0.1.9.tgz",
|
|
||||||
"integrity": "sha512-bvzMnzqoK16PQIC8AYHNdW45eREJQMd6WG/msQWX5V2+vZmODCOPb4TJcbgRljTZZTwTM4wUMcsI8FftNA7new==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"@types/node": "*",
|
|
||||||
"@types/source-list-map": "*",
|
|
||||||
"source-map": "^0.6.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@vue/component-compiler-utils": {
|
"node_modules/@vue/component-compiler-utils": {
|
||||||
"version": "3.3.0",
|
"version": "3.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.3.0.tgz",
|
||||||
@@ -2588,11 +2534,6 @@
|
|||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"node_modules/asynckit": {
|
|
||||||
"version": "0.4.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
|
|
||||||
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
|
|
||||||
},
|
|
||||||
"node_modules/atob": {
|
"node_modules/atob": {
|
||||||
"version": "2.1.2",
|
"version": "2.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
|
||||||
@@ -2605,15 +2546,6 @@
|
|||||||
"node": ">= 4.5.0"
|
"node": ">= 4.5.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/axios": {
|
|
||||||
"version": "0.27.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz",
|
|
||||||
"integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==",
|
|
||||||
"dependencies": {
|
|
||||||
"follow-redirects": "^1.14.9",
|
|
||||||
"form-data": "^4.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/babel-loader": {
|
"node_modules/babel-loader": {
|
||||||
"version": "8.2.5",
|
"version": "8.2.5",
|
||||||
"resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz",
|
"resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz",
|
||||||
@@ -3281,26 +3213,6 @@
|
|||||||
"integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==",
|
"integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/colors": {
|
|
||||||
"version": "1.4.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
|
|
||||||
"integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
|
|
||||||
"dev": true,
|
|
||||||
"engines": {
|
|
||||||
"node": ">=0.1.90"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/combined-stream": {
|
|
||||||
"version": "1.0.8",
|
|
||||||
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
|
|
||||||
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
|
|
||||||
"dependencies": {
|
|
||||||
"delayed-stream": "~1.0.0"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">= 0.8"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/commander": {
|
"node_modules/commander": {
|
||||||
"version": "2.20.3",
|
"version": "2.20.3",
|
||||||
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
|
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
|
||||||
@@ -3857,14 +3769,6 @@
|
|||||||
"node": ">=0.10.0"
|
"node": ">=0.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/delayed-stream": {
|
|
||||||
"version": "1.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
|
|
||||||
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
|
|
||||||
"engines": {
|
|
||||||
"node": ">=0.4.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/des.js": {
|
"node_modules/des.js": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz",
|
||||||
@@ -4570,25 +4474,6 @@
|
|||||||
"safe-buffer": "~5.1.0"
|
"safe-buffer": "~5.1.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/follow-redirects": {
|
|
||||||
"version": "1.15.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz",
|
|
||||||
"integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==",
|
|
||||||
"funding": [
|
|
||||||
{
|
|
||||||
"type": "individual",
|
|
||||||
"url": "https://github.com/sponsors/RubenVerborgh"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"engines": {
|
|
||||||
"node": ">=4.0"
|
|
||||||
},
|
|
||||||
"peerDependenciesMeta": {
|
|
||||||
"debug": {
|
|
||||||
"optional": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/for-in": {
|
"node_modules/for-in": {
|
||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
|
||||||
@@ -4598,19 +4483,6 @@
|
|||||||
"node": ">=0.10.0"
|
"node": ">=0.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/form-data": {
|
|
||||||
"version": "4.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
|
|
||||||
"integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
|
|
||||||
"dependencies": {
|
|
||||||
"asynckit": "^0.4.0",
|
|
||||||
"combined-stream": "^1.0.8",
|
|
||||||
"mime-types": "^2.1.12"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">= 6"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/fragment-cache": {
|
"node_modules/fragment-cache": {
|
||||||
"version": "0.2.1",
|
"version": "0.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
|
||||||
@@ -5814,25 +5686,6 @@
|
|||||||
"integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
|
"integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/mime-db": {
|
|
||||||
"version": "1.52.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
|
|
||||||
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
|
|
||||||
"engines": {
|
|
||||||
"node": ">= 0.6"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/mime-types": {
|
|
||||||
"version": "2.1.35",
|
|
||||||
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
|
|
||||||
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
|
|
||||||
"dependencies": {
|
|
||||||
"mime-db": "1.52.0"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">= 0.6"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/mimic-fn": {
|
"node_modules/mimic-fn": {
|
||||||
"version": "2.1.0",
|
"version": "2.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
|
||||||
@@ -6452,15 +6305,6 @@
|
|||||||
"integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=",
|
"integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/os-tmpdir": {
|
|
||||||
"version": "1.0.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
|
|
||||||
"integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
|
|
||||||
"dev": true,
|
|
||||||
"engines": {
|
|
||||||
"node": ">=0.10.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/p-limit": {
|
"node_modules/p-limit": {
|
||||||
"version": "3.1.0",
|
"version": "3.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
|
||||||
@@ -8251,18 +8095,6 @@
|
|||||||
"@popperjs/core": "^2.9.0"
|
"@popperjs/core": "^2.9.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/tmp": {
|
|
||||||
"version": "0.0.33",
|
|
||||||
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
|
|
||||||
"integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"os-tmpdir": "~1.0.2"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=0.6.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/to-arraybuffer": {
|
"node_modules/to-arraybuffer": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
|
||||||
@@ -8600,32 +8432,6 @@
|
|||||||
"node": ">=0.10.0"
|
"node": ">=0.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/useragent": {
|
|
||||||
"version": "2.3.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/useragent/-/useragent-2.3.0.tgz",
|
|
||||||
"integrity": "sha512-4AoH4pxuSvHCjqLO04sU6U/uE65BYza8l/KKBS0b0hnUPWi+cQ2BpeTEwejCSx9SPV5/U03nniDTrWx5NrmKdw==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"lru-cache": "4.1.x",
|
|
||||||
"tmp": "0.0.x"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/useragent/node_modules/lru-cache": {
|
|
||||||
"version": "4.1.5",
|
|
||||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
|
|
||||||
"integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"pseudomap": "^1.0.2",
|
|
||||||
"yallist": "^2.1.2"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/useragent/node_modules/yallist": {
|
|
||||||
"version": "2.1.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
|
|
||||||
"integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"node_modules/util": {
|
"node_modules/util": {
|
||||||
"version": "0.11.1",
|
"version": "0.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz",
|
"resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz",
|
||||||
@@ -9284,35 +9090,6 @@
|
|||||||
"node": ">= 10"
|
"node": ">= 10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/webpack-extension-reloader": {
|
|
||||||
"version": "1.1.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/webpack-extension-reloader/-/webpack-extension-reloader-1.1.4.tgz",
|
|
||||||
"integrity": "sha512-PyssJvAiKhztc//QmhpU8yfg7LBR7Bn/cjSM7jadfQJPIDNN1Djxc+SJQRk8uHQ3GQbyWhsWu2DLCMBRcWHIPA==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"@types/webpack": "^4.39.8",
|
|
||||||
"@types/webpack-sources": "^0.1.5",
|
|
||||||
"colors": "^1.4.0",
|
|
||||||
"lodash": "^4.17.15",
|
|
||||||
"minimist": "^1.2.0",
|
|
||||||
"useragent": "^2.3.0",
|
|
||||||
"webextension-polyfill": "^0.5.0",
|
|
||||||
"webpack-sources": "^1.4.3",
|
|
||||||
"ws": "^7.2.0"
|
|
||||||
},
|
|
||||||
"bin": {
|
|
||||||
"webpack-extension-reloader": "dist/webpack-extension-reloader-cli.js"
|
|
||||||
},
|
|
||||||
"peerDependencies": {
|
|
||||||
"webpack": "^4"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/webpack-extension-reloader/node_modules/webextension-polyfill": {
|
|
||||||
"version": "0.5.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/webextension-polyfill/-/webextension-polyfill-0.5.0.tgz",
|
|
||||||
"integrity": "sha512-aFrl38x43t1bTboX/paCT8I97+idzX/TY0+fuM52hrIkCpYfROEF9kSn0BXuEIi3J9LTYt2ZZKkhx9NB1qF3nA==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"node_modules/webpack-merge": {
|
"node_modules/webpack-merge": {
|
||||||
"version": "5.8.0",
|
"version": "5.8.0",
|
||||||
"resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz",
|
"resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz",
|
||||||
@@ -9603,27 +9380,6 @@
|
|||||||
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
|
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/ws": {
|
|
||||||
"version": "7.5.8",
|
|
||||||
"resolved": "https://registry.npmjs.org/ws/-/ws-7.5.8.tgz",
|
|
||||||
"integrity": "sha512-ri1Id1WinAX5Jqn9HejiGb8crfRio0Qgu8+MtL36rlTA6RLsMdWt1Az/19A2Qij6uSHUMphEFaTKa4WG+UNHNw==",
|
|
||||||
"dev": true,
|
|
||||||
"engines": {
|
|
||||||
"node": ">=8.3.0"
|
|
||||||
},
|
|
||||||
"peerDependencies": {
|
|
||||||
"bufferutil": "^4.0.1",
|
|
||||||
"utf-8-validate": "^5.0.2"
|
|
||||||
},
|
|
||||||
"peerDependenciesMeta": {
|
|
||||||
"bufferutil": {
|
|
||||||
"optional": true
|
|
||||||
},
|
|
||||||
"utf-8-validate": {
|
|
||||||
"optional": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/xtend": {
|
"node_modules/xtend": {
|
||||||
"version": "4.0.2",
|
"version": "4.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
|
||||||
@@ -11054,58 +10810,6 @@
|
|||||||
"integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==",
|
"integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@types/node": {
|
|
||||||
"version": "17.0.35",
|
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.35.tgz",
|
|
||||||
"integrity": "sha512-vu1SrqBjbbZ3J6vwY17jBs8Sr/BKA+/a/WtjRG+whKg1iuLFOosq872EXS0eXWILdO36DHQQeku/ZcL6hz2fpg==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"@types/source-list-map": {
|
|
||||||
"version": "0.1.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz",
|
|
||||||
"integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"@types/tapable": {
|
|
||||||
"version": "1.0.8",
|
|
||||||
"resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.8.tgz",
|
|
||||||
"integrity": "sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"@types/uglify-js": {
|
|
||||||
"version": "3.13.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.13.2.tgz",
|
|
||||||
"integrity": "sha512-/xFrPIo+4zOeNGtVMbf9rUm0N+i4pDf1ynExomqtokIJmVzR3962lJ1UE+MmexMkA0cmN9oTzg5Xcbwge0Ij2Q==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"source-map": "^0.6.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"@types/webpack": {
|
|
||||||
"version": "4.41.32",
|
|
||||||
"resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.32.tgz",
|
|
||||||
"integrity": "sha512-cb+0ioil/7oz5//7tZUSwbrSAN/NWHrQylz5cW8G0dWTcF/g+/dSdMlKVZspBYuMAN1+WnwHrkxiRrLcwd0Heg==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"@types/node": "*",
|
|
||||||
"@types/tapable": "^1",
|
|
||||||
"@types/uglify-js": "*",
|
|
||||||
"@types/webpack-sources": "*",
|
|
||||||
"anymatch": "^3.0.0",
|
|
||||||
"source-map": "^0.6.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"@types/webpack-sources": {
|
|
||||||
"version": "0.1.9",
|
|
||||||
"resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-0.1.9.tgz",
|
|
||||||
"integrity": "sha512-bvzMnzqoK16PQIC8AYHNdW45eREJQMd6WG/msQWX5V2+vZmODCOPb4TJcbgRljTZZTwTM4wUMcsI8FftNA7new==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"@types/node": "*",
|
|
||||||
"@types/source-list-map": "*",
|
|
||||||
"source-map": "^0.6.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"@vue/component-compiler-utils": {
|
"@vue/component-compiler-utils": {
|
||||||
"version": "3.3.0",
|
"version": "3.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.3.0.tgz",
|
||||||
@@ -11576,26 +11280,12 @@
|
|||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"asynckit": {
|
|
||||||
"version": "0.4.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
|
|
||||||
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
|
|
||||||
},
|
|
||||||
"atob": {
|
"atob": {
|
||||||
"version": "2.1.2",
|
"version": "2.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
|
||||||
"integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
|
"integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"axios": {
|
|
||||||
"version": "0.27.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz",
|
|
||||||
"integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==",
|
|
||||||
"requires": {
|
|
||||||
"follow-redirects": "^1.14.9",
|
|
||||||
"form-data": "^4.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"babel-loader": {
|
"babel-loader": {
|
||||||
"version": "8.2.5",
|
"version": "8.2.5",
|
||||||
"resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz",
|
"resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz",
|
||||||
@@ -12104,20 +11794,6 @@
|
|||||||
"integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==",
|
"integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"colors": {
|
|
||||||
"version": "1.4.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
|
|
||||||
"integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"combined-stream": {
|
|
||||||
"version": "1.0.8",
|
|
||||||
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
|
|
||||||
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
|
|
||||||
"requires": {
|
|
||||||
"delayed-stream": "~1.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"commander": {
|
"commander": {
|
||||||
"version": "2.20.3",
|
"version": "2.20.3",
|
||||||
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
|
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
|
||||||
@@ -12578,11 +12254,6 @@
|
|||||||
"is-descriptor": "^0.1.0"
|
"is-descriptor": "^0.1.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"delayed-stream": {
|
|
||||||
"version": "1.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
|
|
||||||
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
|
|
||||||
},
|
|
||||||
"des.js": {
|
"des.js": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz",
|
||||||
@@ -13175,27 +12846,12 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"follow-redirects": {
|
|
||||||
"version": "1.15.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz",
|
|
||||||
"integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA=="
|
|
||||||
},
|
|
||||||
"for-in": {
|
"for-in": {
|
||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
|
||||||
"integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
|
"integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"form-data": {
|
|
||||||
"version": "4.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
|
|
||||||
"integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
|
|
||||||
"requires": {
|
|
||||||
"asynckit": "^0.4.0",
|
|
||||||
"combined-stream": "^1.0.8",
|
|
||||||
"mime-types": "^2.1.12"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"fragment-cache": {
|
"fragment-cache": {
|
||||||
"version": "0.2.1",
|
"version": "0.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
|
||||||
@@ -14151,19 +13807,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"mime-db": {
|
|
||||||
"version": "1.52.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
|
|
||||||
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="
|
|
||||||
},
|
|
||||||
"mime-types": {
|
|
||||||
"version": "2.1.35",
|
|
||||||
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
|
|
||||||
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
|
|
||||||
"requires": {
|
|
||||||
"mime-db": "1.52.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"mimic-fn": {
|
"mimic-fn": {
|
||||||
"version": "2.1.0",
|
"version": "2.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
|
||||||
@@ -14669,12 +14312,6 @@
|
|||||||
"integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=",
|
"integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"os-tmpdir": {
|
|
||||||
"version": "1.0.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
|
|
||||||
"integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"p-limit": {
|
"p-limit": {
|
||||||
"version": "3.1.0",
|
"version": "3.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
|
||||||
@@ -16094,15 +15731,6 @@
|
|||||||
"@popperjs/core": "^2.9.0"
|
"@popperjs/core": "^2.9.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tmp": {
|
|
||||||
"version": "0.0.33",
|
|
||||||
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
|
|
||||||
"integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"os-tmpdir": "~1.0.2"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"to-arraybuffer": {
|
"to-arraybuffer": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
|
||||||
@@ -16382,34 +16010,6 @@
|
|||||||
"integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
|
"integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"useragent": {
|
|
||||||
"version": "2.3.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/useragent/-/useragent-2.3.0.tgz",
|
|
||||||
"integrity": "sha512-4AoH4pxuSvHCjqLO04sU6U/uE65BYza8l/KKBS0b0hnUPWi+cQ2BpeTEwejCSx9SPV5/U03nniDTrWx5NrmKdw==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"lru-cache": "4.1.x",
|
|
||||||
"tmp": "0.0.x"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"lru-cache": {
|
|
||||||
"version": "4.1.5",
|
|
||||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
|
|
||||||
"integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"pseudomap": "^1.0.2",
|
|
||||||
"yallist": "^2.1.2"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"yallist": {
|
|
||||||
"version": "2.1.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
|
|
||||||
"integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
|
|
||||||
"dev": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"util": {
|
"util": {
|
||||||
"version": "0.11.1",
|
"version": "0.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz",
|
"resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz",
|
||||||
@@ -17133,31 +16733,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"webpack-extension-reloader": {
|
|
||||||
"version": "1.1.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/webpack-extension-reloader/-/webpack-extension-reloader-1.1.4.tgz",
|
|
||||||
"integrity": "sha512-PyssJvAiKhztc//QmhpU8yfg7LBR7Bn/cjSM7jadfQJPIDNN1Djxc+SJQRk8uHQ3GQbyWhsWu2DLCMBRcWHIPA==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"@types/webpack": "^4.39.8",
|
|
||||||
"@types/webpack-sources": "^0.1.5",
|
|
||||||
"colors": "^1.4.0",
|
|
||||||
"lodash": "^4.17.15",
|
|
||||||
"minimist": "^1.2.0",
|
|
||||||
"useragent": "^2.3.0",
|
|
||||||
"webextension-polyfill": "^0.5.0",
|
|
||||||
"webpack-sources": "^1.4.3",
|
|
||||||
"ws": "^7.2.0"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"webextension-polyfill": {
|
|
||||||
"version": "0.5.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/webextension-polyfill/-/webextension-polyfill-0.5.0.tgz",
|
|
||||||
"integrity": "sha512-aFrl38x43t1bTboX/paCT8I97+idzX/TY0+fuM52hrIkCpYfROEF9kSn0BXuEIi3J9LTYt2ZZKkhx9NB1qF3nA==",
|
|
||||||
"dev": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"webpack-merge": {
|
"webpack-merge": {
|
||||||
"version": "5.8.0",
|
"version": "5.8.0",
|
||||||
"resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz",
|
"resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz",
|
||||||
@@ -17217,13 +16792,6 @@
|
|||||||
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
|
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"ws": {
|
|
||||||
"version": "7.5.8",
|
|
||||||
"resolved": "https://registry.npmjs.org/ws/-/ws-7.5.8.tgz",
|
|
||||||
"integrity": "sha512-ri1Id1WinAX5Jqn9HejiGb8crfRio0Qgu8+MtL36rlTA6RLsMdWt1Az/19A2Qij6uSHUMphEFaTKa4WG+UNHNw==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {}
|
|
||||||
},
|
|
||||||
"xtend": {
|
"xtend": {
|
||||||
"version": "4.0.2",
|
"version": "4.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
|
||||||
|
|||||||
+5
-9
@@ -12,14 +12,12 @@
|
|||||||
"build": "cross-env NODE_ENV=production webpack",
|
"build": "cross-env NODE_ENV=production webpack",
|
||||||
"build:lite": "cross-env NODE_ENV=production LITE=1 webpack",
|
"build:lite": "cross-env NODE_ENV=production LITE=1 webpack",
|
||||||
"build:beta": "cross-env NODE_ENV=production BETA=1 webpack",
|
"build:beta": "cross-env NODE_ENV=production BETA=1 webpack",
|
||||||
"build:dev": "cross-env NODE_ENV=development BETA=1 webpack",
|
|
||||||
"build:mac": "cross-env NODE_ENV=production MAC=1 webpack",
|
"build:mac": "cross-env NODE_ENV=production MAC=1 webpack",
|
||||||
"build-zip": "node scripts/build-zip.js",
|
"build-zip": "node scripts/build-zip.js",
|
||||||
"generate:buildconfig": "node scripts/generateBuildConfig.js",
|
"generate:buildconfig": "node scripts/generateBuildConfig.js",
|
||||||
"watch": "npm run build -- --watch",
|
"start": "cross-env HMR=true NODE_ENV=development BETA=1 webpack -- --watch",
|
||||||
"watch:dev": "cross-env HMR=true npm run build:dev -- --watch",
|
"start:mac": "cross-env HMR=true NODE_ENV=development BETA=1 MAC=1 webpack -- --watch",
|
||||||
"start": "cross-env HMR=true npm run build:dev -- --watch",
|
"start:firefox": "cross-env HMR=true NODE_ENV=development BETA=1 FIREFOX=1 webpack -- --watch"
|
||||||
"start:mac": "cross-env HMR=true MAC=1 npm run build:dev -- --watch"
|
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@fortawesome/fontawesome-svg-core": "^1.2.36",
|
"@fortawesome/fontawesome-svg-core": "^1.2.36",
|
||||||
@@ -27,7 +25,6 @@
|
|||||||
"@fortawesome/vue-fontawesome": "^0.1.10",
|
"@fortawesome/vue-fontawesome": "^0.1.10",
|
||||||
"@sentry/browser": "^5.25.0",
|
"@sentry/browser": "^5.25.0",
|
||||||
"@sentry/integrations": "^5.30.0",
|
"@sentry/integrations": "^5.30.0",
|
||||||
"axios": "^0.27.2",
|
|
||||||
"bootstrap": "^4.6.1",
|
"bootstrap": "^4.6.1",
|
||||||
"bootstrap-vue": "^2.21.2",
|
"bootstrap-vue": "^2.21.2",
|
||||||
"tippy.js": "^6.3.7",
|
"tippy.js": "^6.3.7",
|
||||||
@@ -61,7 +58,6 @@
|
|||||||
"vue-template-compiler": "^2.6.14",
|
"vue-template-compiler": "^2.6.14",
|
||||||
"web-ext-types": "^2.1.0",
|
"web-ext-types": "^2.1.0",
|
||||||
"webpack": "^4.46.0",
|
"webpack": "^4.46.0",
|
||||||
"webpack-cli": "^4.9.2",
|
"webpack-cli": "^4.9.2"
|
||||||
"webpack-extension-reloader": "^1.1.4"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -14,14 +14,19 @@ async function setupContentScript() {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
browser.tabs.executeScript(tabId, {
|
browser.scripting
|
||||||
file: "content_script/input_tools.js",
|
.registerContentScripts([
|
||||||
runAt: "document_idle",
|
{
|
||||||
});
|
id: "input-tools",
|
||||||
|
js: ["content_script/input_tools.js"],
|
||||||
browser.tabs.insertCSS(tabId, {
|
css: ["content_script/input_tools.css"],
|
||||||
file: "content_script/input_tools.css",
|
persistAcrossSessions: false,
|
||||||
});
|
matches: ["*://*/*"],
|
||||||
|
runAt: "document_idle",
|
||||||
|
},
|
||||||
|
])
|
||||||
|
.then(() => console.log("registration input tools complete"))
|
||||||
|
.catch((err) => console.warn("unexpected error", err));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,67 +1,62 @@
|
|||||||
import { handleNewRandomAlias } from "./create-alias";
|
import { handleNewRandomAlias } from "./create-alias";
|
||||||
import browser from "webextension-polyfill";
|
import browser from "webextension-polyfill";
|
||||||
|
|
||||||
function generateDialogJS(message) {
|
function displayAndCopy(alias, error) {
|
||||||
return `
|
function copyTextToClipboard(text) {
|
||||||
function showSLDialog() {
|
if (!text) return;
|
||||||
let slDialog = document.createElement("div");
|
var textArea = document.createElement("textarea");
|
||||||
slDialog.style.position = "fixed";
|
textArea.value = text;
|
||||||
slDialog.style.bottom = "0";
|
|
||||||
slDialog.style.right = "0";
|
|
||||||
slDialog.style.margin = "0.7em";
|
|
||||||
slDialog.style.padding = "0.7em";
|
|
||||||
slDialog.style.fontFamily = "Verdana, Arial, Helvetica, sans-serif";
|
|
||||||
slDialog.style.fontSize = "1em";
|
|
||||||
slDialog.style.pointerEvents = "none";
|
|
||||||
slDialog.style.zIndex = "999999";
|
|
||||||
slDialog.style.background = "white";
|
|
||||||
slDialog.style.border = "2px solid #777";
|
|
||||||
slDialog.style.borderRadius = "5px";
|
|
||||||
slDialog.innerText = ${JSON.stringify(message)};
|
|
||||||
|
|
||||||
document.body.appendChild(slDialog);
|
textArea.style.top = "0";
|
||||||
|
textArea.style.left = "0";
|
||||||
|
textArea.style.position = "fixed";
|
||||||
|
|
||||||
setTimeout(function () {
|
document.body.appendChild(textArea);
|
||||||
document.body.removeChild(slDialog);
|
textArea.focus();
|
||||||
}, 3000);
|
textArea.select();
|
||||||
}
|
|
||||||
|
|
||||||
showSLDialog();
|
try {
|
||||||
`;
|
document.execCommand("copy");
|
||||||
|
} catch (err) {}
|
||||||
|
|
||||||
|
document.body.removeChild(textArea);
|
||||||
|
}
|
||||||
|
|
||||||
|
function showSLDialog(message) {
|
||||||
|
let slDialog = document.createElement("div");
|
||||||
|
slDialog.style.position = "fixed";
|
||||||
|
slDialog.style.bottom = "0";
|
||||||
|
slDialog.style.right = "0";
|
||||||
|
slDialog.style.margin = "0.7em";
|
||||||
|
slDialog.style.padding = "0.7em";
|
||||||
|
slDialog.style.fontFamily = "Verdana, Arial, Helvetica, sans-serif";
|
||||||
|
slDialog.style.fontSize = "1em";
|
||||||
|
slDialog.style.pointerEvents = "none";
|
||||||
|
slDialog.style.zIndex = "999999";
|
||||||
|
slDialog.style.background = "white";
|
||||||
|
slDialog.style.border = "2px solid #777";
|
||||||
|
slDialog.style.borderRadius = "5px";
|
||||||
|
slDialog.innerText = JSON.stringify(message);
|
||||||
|
|
||||||
|
document.body.appendChild(slDialog);
|
||||||
|
|
||||||
|
setTimeout(function () {
|
||||||
|
document.body.removeChild(slDialog);
|
||||||
|
}, 3000);
|
||||||
|
}
|
||||||
|
|
||||||
|
showSLDialog(alias ? alias + " copied to clipboard" : "ERROR: " + error);
|
||||||
|
copyTextToClipboard(alias);
|
||||||
}
|
}
|
||||||
|
|
||||||
function generateAliasHandlerJS(tab, res) {
|
function generateAliasHandlerJS(tab, res) {
|
||||||
const dialogJS = generateDialogJS(
|
chrome.scripting
|
||||||
res.alias ? res.alias + " copied to clipboard" : "ERROR: " + res.error
|
.executeScript({
|
||||||
);
|
target: { tabId: tab.id },
|
||||||
const js = `
|
func: displayAndCopy,
|
||||||
function copyTextToClipboard(text) {
|
args: [res.alias || null, res.error || null],
|
||||||
if (!text) return;
|
})
|
||||||
var textArea = document.createElement("textarea");
|
.then(() => console.log("injected a function"));
|
||||||
textArea.value = text;
|
|
||||||
|
|
||||||
textArea.style.top = "0";
|
|
||||||
textArea.style.left = "0";
|
|
||||||
textArea.style.position = "fixed";
|
|
||||||
|
|
||||||
document.body.appendChild(textArea);
|
|
||||||
textArea.focus();
|
|
||||||
textArea.select();
|
|
||||||
|
|
||||||
try {
|
|
||||||
document.execCommand("copy");
|
|
||||||
} catch (err) {}
|
|
||||||
|
|
||||||
document.body.removeChild(textArea);
|
|
||||||
}
|
|
||||||
|
|
||||||
${dialogJS}
|
|
||||||
|
|
||||||
copyTextToClipboard(${JSON.stringify(res.alias)});
|
|
||||||
`;
|
|
||||||
browser.tabs.executeScript(tab.id, {
|
|
||||||
code: js,
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async function handleOnClickContextMenu(info, tab) {
|
async function handleOnClickContextMenu(info, tab) {
|
||||||
|
|||||||
+19
-13
@@ -9,11 +9,8 @@ import {
|
|||||||
handleOnClickContextMenu,
|
handleOnClickContextMenu,
|
||||||
generateAliasHandlerJS,
|
generateAliasHandlerJS,
|
||||||
} from "./context-menu";
|
} from "./context-menu";
|
||||||
import axios from "axios";
|
|
||||||
import Utils from "../popup/Utils";
|
import Utils from "../popup/Utils";
|
||||||
|
|
||||||
global.isBackgroundJS = true;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get app settings
|
* Get app settings
|
||||||
*/
|
*/
|
||||||
@@ -30,13 +27,21 @@ async function handleGetAppSettings() {
|
|||||||
|
|
||||||
async function handleExtensionSetup() {
|
async function handleExtensionSetup() {
|
||||||
const apiUrl = await SLStorage.get(SLStorage.SETTINGS.API_URL);
|
const apiUrl = await SLStorage.get(SLStorage.SETTINGS.API_URL);
|
||||||
try {
|
|
||||||
const url = apiUrl + API_ROUTE.GET_API_KEY_FROM_COOKIE.path;
|
|
||||||
const res = await axios.post(url, {
|
|
||||||
device: Utils.getDeviceName(),
|
|
||||||
});
|
|
||||||
|
|
||||||
const apiKey = res.data.api_key;
|
const url = apiUrl + API_ROUTE.GET_API_KEY_FROM_COOKIE.path;
|
||||||
|
const res = await fetch(url, {
|
||||||
|
method: "POST",
|
||||||
|
headers: {
|
||||||
|
"Content-Type": "application/json",
|
||||||
|
},
|
||||||
|
body: JSON.stringify({
|
||||||
|
device: Utils.getDeviceName(),
|
||||||
|
}),
|
||||||
|
});
|
||||||
|
|
||||||
|
if (res.ok) {
|
||||||
|
const apiRes = await res.json();
|
||||||
|
const apiKey = apiRes.api_key;
|
||||||
if (apiKey) {
|
if (apiKey) {
|
||||||
await SLStorage.set(SLStorage.SETTINGS.API_KEY, apiKey);
|
await SLStorage.set(SLStorage.SETTINGS.API_KEY, apiKey);
|
||||||
|
|
||||||
@@ -52,9 +57,8 @@ async function handleExtensionSetup() {
|
|||||||
} else {
|
} else {
|
||||||
console.error("Received null API Key");
|
console.error("Received null API Key");
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} else {
|
||||||
// Probably the user is not logged in
|
console.error("api error");
|
||||||
console.error(e);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -127,11 +131,13 @@ browser.runtime.onMessage.addListener(async function (request, sender) {
|
|||||||
* Register context menu
|
* Register context menu
|
||||||
*/
|
*/
|
||||||
browser.contextMenus.create({
|
browser.contextMenus.create({
|
||||||
|
id: "sl-random",
|
||||||
title: "Create random email alias (copied)",
|
title: "Create random email alias (copied)",
|
||||||
contexts: ["all"],
|
contexts: ["all"],
|
||||||
onclick: handleOnClickContextMenu,
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
browser.contextMenus.onClicked.addListener(handleOnClickContextMenu);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Shortcuts and hotkeys listener
|
* Shortcuts and hotkeys listener
|
||||||
*/
|
*/
|
||||||
|
|||||||
+15
-8
@@ -3,7 +3,7 @@
|
|||||||
"short_name": "SimpleLogin",
|
"short_name": "SimpleLogin",
|
||||||
"description": "Easily create a different email for each website to hide your real email. Protect your inbox against spams, phishing, data breaches",
|
"description": "Easily create a different email for each website to hide your real email. Protect your inbox against spams, phishing, data breaches",
|
||||||
"version": null,
|
"version": null,
|
||||||
"manifest_version": 2,
|
"manifest_version": 3,
|
||||||
"icons": {
|
"icons": {
|
||||||
"16": "icons/icon_16.png",
|
"16": "icons/icon_16.png",
|
||||||
"32": "icons/icon_32.png",
|
"32": "icons/icon_32.png",
|
||||||
@@ -15,24 +15,31 @@
|
|||||||
"activeTab",
|
"activeTab",
|
||||||
"storage",
|
"storage",
|
||||||
"contextMenus",
|
"contextMenus",
|
||||||
|
"scripting",
|
||||||
|
"tabs"
|
||||||
|
],
|
||||||
|
"host_permissions": [
|
||||||
"https://*.simplelogin.io/*",
|
"https://*.simplelogin.io/*",
|
||||||
"http://*/*",
|
"http://*/*",
|
||||||
"https://*/*"
|
"https://*/*"
|
||||||
],
|
],
|
||||||
"browser_action": {
|
"action": {
|
||||||
"default_title": "SimpleLogin",
|
"default_title": "SimpleLogin",
|
||||||
"default_popup": "popup/popup.html"
|
"default_popup": "popup/popup.html",
|
||||||
|
"default_icon": {
|
||||||
|
"16": "icons/icon_16.png",
|
||||||
|
"32": "icons/icon_32.png",
|
||||||
|
"48": "icons/icon_48.png",
|
||||||
|
"96": "icons/icon_96.png",
|
||||||
|
"128": "icons/icon_128.png"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"browser_specific_settings": {
|
"browser_specific_settings": {
|
||||||
"gecko": {
|
"gecko": {
|
||||||
"id": "addon@simplelogin"
|
"id": "addon@simplelogin"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"background": {
|
|
||||||
"scripts": [
|
|
||||||
"background.js"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"commands": {
|
"commands": {
|
||||||
"generate-random-alias": {
|
"generate-random-alias": {
|
||||||
"suggested_key": {
|
"suggested_key": {
|
||||||
|
|||||||
+28
-15
@@ -2,7 +2,6 @@ import EventManager from "./EventManager";
|
|||||||
import Navigation from "./Navigation";
|
import Navigation from "./Navigation";
|
||||||
import SLStorage from "./SLStorage";
|
import SLStorage from "./SLStorage";
|
||||||
import Utils from "./Utils";
|
import Utils from "./Utils";
|
||||||
import axios from "axios";
|
|
||||||
|
|
||||||
const API_ROUTE = {
|
const API_ROUTE = {
|
||||||
GET_USER_INFO: { method: "GET", path: "/api/user_info" },
|
GET_USER_INFO: { method: "GET", path: "/api/user_info" },
|
||||||
@@ -72,28 +71,37 @@ const callAPI = async function (
|
|||||||
headers["Authentication"] = SETTINGS.apiKey;
|
headers["Authentication"] = SETTINGS.apiKey;
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
let fetchParam = {
|
||||||
const res = await axios({
|
method: method,
|
||||||
method,
|
headers: headers,
|
||||||
url,
|
};
|
||||||
headers,
|
if (method === "POST" || method === "PUT") {
|
||||||
data,
|
fetchParam.body = JSON.stringify(data);
|
||||||
});
|
headers["Content-Type"] = "application/json";
|
||||||
|
}
|
||||||
|
|
||||||
return res;
|
let res = await fetch(url, fetchParam);
|
||||||
} catch (err) {
|
if (res.ok) {
|
||||||
|
const apiRes = await res.json();
|
||||||
|
// wrap apiRes in data to look like axios which was used before
|
||||||
|
return {
|
||||||
|
status: res.status,
|
||||||
|
data: apiRes,
|
||||||
|
};
|
||||||
|
} else {
|
||||||
if (errHandlerMethod !== API_ON_ERR.IGNORE) {
|
if (errHandlerMethod !== API_ON_ERR.IGNORE) {
|
||||||
console.error(err);
|
console.error(res);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (err.response.status === 401 && !global.isBackgroundJS) {
|
if (res.status === 401) {
|
||||||
await handle401Error();
|
await handle401Error();
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (errHandlerMethod === API_ON_ERR.TOAST) {
|
if (errHandlerMethod === API_ON_ERR.TOAST) {
|
||||||
if (err.response.data && err.response.data.error) {
|
let apiRes = await res.json();
|
||||||
Utils.showError(err.response.data.error);
|
if (apiRes.error) {
|
||||||
|
Utils.showError(apiRes.error);
|
||||||
} else {
|
} else {
|
||||||
Utils.showError("Unknown error");
|
Utils.showError("Unknown error");
|
||||||
}
|
}
|
||||||
@@ -101,7 +109,12 @@ const callAPI = async function (
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (errHandlerMethod === API_ON_ERR.THROW) {
|
if (errHandlerMethod === API_ON_ERR.THROW) {
|
||||||
throw err;
|
throw {
|
||||||
|
response: {
|
||||||
|
status: res.status,
|
||||||
|
data: await res.json(),
|
||||||
|
},
|
||||||
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -39,7 +39,6 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import axios from "axios";
|
|
||||||
import SLStorage from "../SLStorage";
|
import SLStorage from "../SLStorage";
|
||||||
import EventManager from "../EventManager";
|
import EventManager from "../EventManager";
|
||||||
import Navigation from "../Navigation";
|
import Navigation from "../Navigation";
|
||||||
@@ -64,21 +63,20 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// check api key
|
// check api key
|
||||||
axios
|
const res = await fetch(this.apiUrl + API_ROUTE.GET_USER_INFO.path, {
|
||||||
.get(this.apiUrl + API_ROUTE.GET_USER_INFO.path, {
|
headers: { Authentication: this.apiKey },
|
||||||
headers: { Authentication: this.apiKey },
|
});
|
||||||
})
|
if (res.ok) {
|
||||||
.then(async (res) => {
|
const apiRes = await res.json();
|
||||||
const userName = res.data.name || res.data.email;
|
const userName = apiRes.name || apiRes.email;
|
||||||
await SLStorage.set(SLStorage.SETTINGS.API_KEY, this.apiKey);
|
await SLStorage.set(SLStorage.SETTINGS.API_KEY, this.apiKey);
|
||||||
EventManager.broadcast(EventManager.EVENT.SETTINGS_CHANGED);
|
EventManager.broadcast(EventManager.EVENT.SETTINGS_CHANGED);
|
||||||
|
|
||||||
Utils.showSuccess(`Hi ${userName}!`);
|
Utils.showSuccess(`Hi ${userName}!`);
|
||||||
Navigation.clearHistoryAndNavigateTo(Navigation.PATH.MAIN);
|
Navigation.clearHistoryAndNavigateTo(Navigation.PATH.MAIN);
|
||||||
})
|
} else {
|
||||||
.catch((err) => {
|
Utils.showError("Incorrect API Key.");
|
||||||
Utils.showError("Incorrect API Key.");
|
}
|
||||||
});
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
computed: {},
|
computed: {},
|
||||||
|
|||||||
@@ -14,7 +14,6 @@ import SLStorage from "../SLStorage";
|
|||||||
import EventManager from "../EventManager";
|
import EventManager from "../EventManager";
|
||||||
import Navigation from "../Navigation";
|
import Navigation from "../Navigation";
|
||||||
import Utils from "../Utils";
|
import Utils from "../Utils";
|
||||||
import axios from "axios";
|
|
||||||
import { API_ROUTE } from "../APIService";
|
import { API_ROUTE } from "../APIService";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@@ -38,25 +37,29 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
// try to get api key when user is already logged in
|
// try to get api key when user is already logged in
|
||||||
const apiUrl = await SLStorage.get(SLStorage.SETTINGS.API_URL);
|
const apiUrl = await SLStorage.get(SLStorage.SETTINGS.API_URL);
|
||||||
axios
|
|
||||||
.post(apiUrl + API_ROUTE.GET_API_KEY_FROM_COOKIE.path, {
|
|
||||||
device: Utils.getDeviceName(),
|
|
||||||
})
|
|
||||||
.then(async (res) => {
|
|
||||||
this.apiKey = res.data.api_key || "";
|
|
||||||
if (this.apiKey) {
|
|
||||||
await SLStorage.set(SLStorage.SETTINGS.API_KEY, this.apiKey);
|
|
||||||
EventManager.broadcast(EventManager.EVENT.SETTINGS_CHANGED);
|
|
||||||
|
|
||||||
Navigation.navigateTo(Navigation.PATH.MAIN, true);
|
const res = await fetch(apiUrl + API_ROUTE.GET_API_KEY_FROM_COOKIE.path, {
|
||||||
} else {
|
method: "POST",
|
||||||
Navigation.navigateTo(Navigation.PATH.LOGIN, true);
|
body: JSON.stringify({
|
||||||
}
|
device: Utils.getDeviceName(),
|
||||||
})
|
}),
|
||||||
.catch((err) => {
|
});
|
||||||
// user is probably not logged in
|
|
||||||
|
if (res.ok) {
|
||||||
|
let apiRes = await res.json();
|
||||||
|
this.apiKey = apiRes.api_key || "";
|
||||||
|
if (this.apiKey) {
|
||||||
|
await SLStorage.set(SLStorage.SETTINGS.API_KEY, this.apiKey);
|
||||||
|
EventManager.broadcast(EventManager.EVENT.SETTINGS_CHANGED);
|
||||||
|
|
||||||
|
Navigation.navigateTo(Navigation.PATH.MAIN, true);
|
||||||
|
} else {
|
||||||
Navigation.navigateTo(Navigation.PATH.LOGIN, true);
|
Navigation.navigateTo(Navigation.PATH.LOGIN, true);
|
||||||
});
|
}
|
||||||
|
} else {
|
||||||
|
// user is probably not logged in
|
||||||
|
Navigation.navigateTo(Navigation.PATH.LOGIN, true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
|
|||||||
+19
-13
@@ -2,7 +2,6 @@ const webpack = require('webpack');
|
|||||||
const ejs = require('ejs');
|
const ejs = require('ejs');
|
||||||
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
|
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
|
||||||
const CopyWebpackPlugin = require('copy-webpack-plugin');
|
const CopyWebpackPlugin = require('copy-webpack-plugin');
|
||||||
const ExtensionReloader = require('webpack-extension-reloader');
|
|
||||||
const { VueLoaderPlugin } = require('vue-loader');
|
const { VueLoaderPlugin } = require('vue-loader');
|
||||||
const { version, betaRev } = require('./package.json');
|
const { version, betaRev } = require('./package.json');
|
||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
@@ -102,8 +101,7 @@ const config = {
|
|||||||
const jsonContent = JSON.parse(content);
|
const jsonContent = JSON.parse(content);
|
||||||
jsonContent.version = version;
|
jsonContent.version = version;
|
||||||
|
|
||||||
if (config.mode === 'development') {
|
if (config.mode === 'development') {
|
||||||
jsonContent.content_security_policy = "script-src 'self' 'unsafe-eval'; object-src 'self'";
|
|
||||||
jsonContent.permissions = jsonContent.permissions.concat(devConfig.permissions);
|
jsonContent.permissions = jsonContent.permissions.concat(devConfig.permissions);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -118,6 +116,17 @@ const config = {
|
|||||||
jsonContent.browser_specific_settings.gecko.id = geckoId.replace('@', '-beta@');
|
jsonContent.browser_specific_settings.gecko.id = geckoId.replace('@', '-beta@');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (process.env.FIREFOX) {
|
||||||
|
jsonContent.background = {
|
||||||
|
"scripts": ["background.js"]
|
||||||
|
}
|
||||||
|
} else { // CHROME
|
||||||
|
jsonContent.background = {
|
||||||
|
"service_worker": "background.js",
|
||||||
|
"type": "module"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (process.env.LITE) {
|
if (process.env.LITE) {
|
||||||
// Remove "All sites" permissions
|
// Remove "All sites" permissions
|
||||||
const PERMISSIONS_TO_REMOVE = [
|
const PERMISSIONS_TO_REMOVE = [
|
||||||
@@ -179,15 +188,6 @@ if (config.mode === 'production') {
|
|||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (process.env.HMR === 'true') {
|
|
||||||
config.plugins = (config.plugins || []).concat([
|
|
||||||
new ExtensionReloader({
|
|
||||||
manifest: __dirname + '/src/manifest.json',
|
|
||||||
port: 19090
|
|
||||||
}),
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
function transformHtml(content) {
|
function transformHtml(content) {
|
||||||
return ejs.render(content.toString(), {
|
return ejs.render(content.toString(), {
|
||||||
...process.env,
|
...process.env,
|
||||||
@@ -195,4 +195,10 @@ function transformHtml(content) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = config;
|
if (config.mode === 'production') {
|
||||||
|
config.devtool="source-map";
|
||||||
|
} else {
|
||||||
|
config.devtool="cheap-source-map";
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = config;
|
||||||
Reference in New Issue
Block a user