From 93d47d2ee3479da4449b7e3c72c639017c7b112b Mon Sep 17 00:00:00 2001 From: msramalho <19508417+msramalho@users.noreply.github.com> Date: Tue, 21 Feb 2023 13:58:10 +0000 Subject: [PATCH] first MVP --- .github/funding.yml | 4 +- .github/workflows/template-cleanup.yml | 26 - LICENSE | 21 + readme.md => README.md | 0 media/extension_options_chrome.png | Bin 50611 -> 0 bytes media/extension_options_firefox.png | Bin 49139 -> 0 bytes media/previewer.png | Bin 8507 -> 0 bytes package-lock.json | 689 +++++++++++++++++++++---- package.json | 14 +- privacy-policy.md | 2 +- source/background.js | 2 - source/content.css | 8 - source/content.js | 16 - source/{ => css}/options.css | 0 source/css/popup.css | 33 ++ source/{ => html}/options.html | 2 +- source/html/popup.html | 19 + source/{ => img}/icon.png | Bin source/js/background.js | 98 ++++ source/{ => js}/options-storage.js | 5 +- source/{ => js}/options.js | 2 +- source/js/popup.js | 22 + source/manifest.json | 72 ++- source/vue/Popup.vue | 86 +++ source/vue/TaskItem.vue | 78 +++ 25 files changed, 984 insertions(+), 215 deletions(-) delete mode 100644 .github/workflows/template-cleanup.yml create mode 100644 LICENSE rename readme.md => README.md (100%) delete mode 100644 media/extension_options_chrome.png delete mode 100644 media/extension_options_firefox.png delete mode 100644 media/previewer.png delete mode 100644 source/background.js delete mode 100644 source/content.css delete mode 100644 source/content.js rename source/{ => css}/options.css (100%) create mode 100644 source/css/popup.css rename source/{ => html}/options.html (94%) create mode 100644 source/html/popup.html rename source/{ => img}/icon.png (100%) create mode 100644 source/js/background.js rename source/{ => js}/options-storage.js (70%) rename source/{ => js}/options.js (96%) create mode 100644 source/js/popup.js create mode 100644 source/vue/Popup.vue create mode 100644 source/vue/TaskItem.vue diff --git a/.github/funding.yml b/.github/funding.yml index 94d5446..cb9f753 100644 --- a/.github/funding.yml +++ b/.github/funding.yml @@ -1,2 +1,2 @@ -github: fregante -custom: https://paypal.me/bytemode +github: bellingcat +custom: https://www.patreon.com/bellingcat diff --git a/.github/workflows/template-cleanup.yml b/.github/workflows/template-cleanup.yml deleted file mode 100644 index f228d4d..0000000 --- a/.github/workflows/template-cleanup.yml +++ /dev/null @@ -1,26 +0,0 @@ -# This is a GitHub Actions workflow for cleaning up resources in the original template. When users create -# a new repository from the template, the workflow deletes and edits files and push a commit. -# -# There is no straightforward way to exclude files when a template is used, so this is a workaround for it. -# https://github.community/t/can-you-ignore-files-folders-when-making-a-repo-from-a-template/3279 - -name: Template cleanup -on: - push: - branches: - - main - -jobs: - cleanup: - runs-on: ubuntu-latest - if: github.event.repository.name != 'browser-extension-template' - steps: - - uses: actions/checkout@v2 - - name: Cleanup - run: | - rm -f \ - .github/funding.yml \ - .github/workflows/template-cleanup.yml - - uses: stefanzweifel/git-auto-commit-action@v4 - with: - commit_message: Template cleanup diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..f593c11 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 Stichting Bellingcat + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/readme.md b/README.md similarity index 100% rename from readme.md rename to README.md diff --git a/media/extension_options_chrome.png b/media/extension_options_chrome.png deleted file mode 100644 index adac748017ca2f68a2e6cc17a6dd5af0a09e5583..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50611 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 diff --git a/media/extension_options_firefox.png b/media/extension_options_firefox.png deleted file mode 100644 index 15b384f4635bfe78a534e2ddf4852b6a419c0e5e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49139 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 diff --git a/package-lock.json b/package-lock.json index 423735c..868729e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,15 +1,19 @@ { - "name": "browser-extension-template", + "name": "auto-archiver-extension", "lockfileVersion": 2, "requires": true, "packages": { "": { "dependencies": { + "material-design-icons": "^3.0.1", + "materialize-css": "^1.0.0-rc.2", + "vue": "^3.2.45", "webext-base-css": "^1.4.1", "webext-options-sync": "^3.1.0" }, "devDependencies": { "@parcel/config-webextension": "^2.6.2", + "@parcel/transformer-vue": "^2.6.2", "npm-run-all": "^4.1.5", "parcel": "^2.6.2", "stylelint": "^14.9.1", @@ -123,6 +127,17 @@ "node": ">=4" } }, + "node_modules/@babel/parser": { + "version": "7.20.13", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.13.tgz", + "integrity": "sha512-gFDLKMfpiXCsjt4za2JA9oTMn70CeseCehb11kRZgvd7+F67Hih3OHOK24cRrWECJ/ljfPGac6ygXAs/C8kIvw==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/@csstools/selector-specificity": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz", @@ -202,6 +217,64 @@ "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", "dev": true }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", + "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, "node_modules/@lezer/common": { "version": "0.15.12", "resolved": "https://registry.npmjs.org/@lezer/common/-/common-0.15.12.tgz", @@ -1560,6 +1633,30 @@ "url": "https://opencollective.com/parcel" } }, + "node_modules/@parcel/transformer-vue": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@parcel/transformer-vue/-/transformer-vue-2.6.2.tgz", + "integrity": "sha512-EP8FgCwcmk1VQtOqsK++a4Fl7UXeTLeZJjmlUr0WDR6zwN6avqFRLbiCCrKXcggxyiFeMsU5UOZG+MNXp+Ro8A==", + "dev": true, + "dependencies": { + "@parcel/diagnostic": "2.6.2", + "@parcel/plugin": "2.6.2", + "@parcel/source-map": "^2.0.0", + "@parcel/utils": "2.6.2", + "@vue/compiler-sfc": "^3.2.27", + "consolidate": "^0.16.0", + "nullthrows": "^1.1.1", + "semver": "^5.7.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.6.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, "node_modules/@parcel/transformer-webextension": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/@parcel/transformer-webextension/-/transformer-webextension-2.6.2.tgz", @@ -1688,9 +1785,9 @@ } }, "node_modules/@types/eslint-scope": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz", - "integrity": "sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==", + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", "dev": true, "peer": true, "dependencies": { @@ -1723,9 +1820,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "17.0.24", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.24.tgz", - "integrity": "sha512-aveCYRQbgTH9Pssp1voEP7HiuWlD2jW2BO56w+bVrJn04i61yh6mRfoKO6hEYQD9vF+W8Chkwc6j1M36uPkx4g==", + "version": "18.11.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz", + "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==", "dev": true, "peer": true }, @@ -1741,6 +1838,108 @@ "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", "dev": true }, + "node_modules/@vue/compiler-core": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.45.tgz", + "integrity": "sha512-rcMj7H+PYe5wBV3iYeUgbCglC+pbpN8hBLTJvRiK2eKQiWqu+fG9F+8sW99JdL4LQi7Re178UOxn09puSXvn4A==", + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/shared": "3.2.45", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.45.tgz", + "integrity": "sha512-tyYeUEuKqqZO137WrZkpwfPCdiiIeXYCcJ8L4gWz9vqaxzIQRccTSwSWZ/Axx5YR2z+LvpUbmPNXxuBU45lyRw==", + "dependencies": { + "@vue/compiler-core": "3.2.45", + "@vue/shared": "3.2.45" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.45.tgz", + "integrity": "sha512-1jXDuWah1ggsnSAOGsec8cFjT/K6TMZ0sPL3o3d84Ft2AYZi2jWJgRMjw4iaK0rBfA89L5gw427H4n1RZQBu6Q==", + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.45", + "@vue/compiler-dom": "3.2.45", + "@vue/compiler-ssr": "3.2.45", + "@vue/reactivity-transform": "3.2.45", + "@vue/shared": "3.2.45", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7", + "postcss": "^8.1.10", + "source-map": "^0.6.1" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.45.tgz", + "integrity": "sha512-6BRaggEGqhWht3lt24CrIbQSRD5O07MTmd+LjAn5fJj568+R9eUD2F7wMQJjX859seSlrYog7sUtrZSd7feqrQ==", + "dependencies": { + "@vue/compiler-dom": "3.2.45", + "@vue/shared": "3.2.45" + } + }, + "node_modules/@vue/reactivity": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.45.tgz", + "integrity": "sha512-PRvhCcQcyEVohW0P8iQ7HDcIOXRjZfAsOds3N99X/Dzewy8TVhTCT4uXpAHfoKjVTJRA0O0K+6QNkDIZAxNi3A==", + "dependencies": { + "@vue/shared": "3.2.45" + } + }, + "node_modules/@vue/reactivity-transform": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.45.tgz", + "integrity": "sha512-BHVmzYAvM7vcU5WmuYqXpwaBHjsS8T63jlKGWVtHxAHIoMIlmaMyurUSEs1Zcg46M4AYT5MtB1U274/2aNzjJQ==", + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.45", + "@vue/shared": "3.2.45", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.45.tgz", + "integrity": "sha512-gzJiTA3f74cgARptqzYswmoQx0fIA+gGYBfokYVhF8YSXjWTUA2SngRzZRku2HbGbjzB6LBYSbKGIaK8IW+s0A==", + "dependencies": { + "@vue/reactivity": "3.2.45", + "@vue/shared": "3.2.45" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.45.tgz", + "integrity": "sha512-cy88YpfP5Ue2bDBbj75Cb4bIEZUMM/mAkDMfqDTpUYVgTf/kuQ2VQ8LebuZ8k6EudgH8pYhsGWHlY0lcxlvTwA==", + "dependencies": { + "@vue/runtime-core": "3.2.45", + "@vue/shared": "3.2.45", + "csstype": "^2.6.8" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.45.tgz", + "integrity": "sha512-ebiMq7q24WBU1D6uhPK//2OTR1iRIyxjF5iVq/1a5I1SDMDyDu4Ts6fJaMnjrvD3MqnaiFkKQj+LKAgz5WIK3g==", + "dependencies": { + "@vue/compiler-ssr": "3.2.45", + "@vue/shared": "3.2.45" + }, + "peerDependencies": { + "vue": "3.2.45" + } + }, + "node_modules/@vue/shared": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.45.tgz", + "integrity": "sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg==" + }, "node_modules/@webassemblyjs/ast": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", @@ -2111,6 +2310,12 @@ "safe-buffer": "^5.0.1" } }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, "node_modules/boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", @@ -2259,9 +2464,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001332", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001332.tgz", - "integrity": "sha512-10T30NYOEQtN6C11YGg411yebhvpnC6Z102+B95eAsN0oB6KUs01ivE8u+G6FMIRtIrVlYXhL+LUwQ3/hXwDWw==", + "version": "1.0.30001446", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001446.tgz", + "integrity": "sha512-fEoga4PrImGcwUUGEol/PoFCSBnSkA9drgdkxXkJLsUBOnJ8rs3zDv6ApqYXGQFOyMPsjh79naWhF4DAxbF8rw==", "dev": true, "funding": [ { @@ -2398,6 +2603,18 @@ "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", "dev": true }, + "node_modules/consolidate": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.16.0.tgz", + "integrity": "sha512-Nhl1wzCslqXYTJVDyJCu3ODohy9OfBMB5uD2BiBTzd7w+QY0lBzafkR8y8755yMYHAaMD4NuzbAw03/xzfw+eQ==", + "dev": true, + "dependencies": { + "bluebird": "^3.7.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, "node_modules/content-security-policy-parser": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/content-security-policy-parser/-/content-security-policy-parser-0.3.0.tgz", @@ -2513,6 +2730,11 @@ "node": ">=8.0.0" } }, + "node_modules/csstype": { + "version": "2.6.21", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz", + "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==" + }, "node_modules/debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", @@ -3604,6 +3826,11 @@ "node": ">=4.0" } }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", @@ -4867,9 +5094,9 @@ "dev": true }, "node_modules/json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, "bin": { "json5": "lib/cli.js" @@ -5089,6 +5316,14 @@ "node": ">=10" } }, + "node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, "node_modules/make-dir": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", @@ -5125,6 +5360,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/material-design-icons": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/material-design-icons/-/material-design-icons-3.0.1.tgz", + "integrity": "sha512-t19Z+QZBwSZulxptEu05kIm+UyfIdJY1JDwI+nx02j269m6W414whiQz9qfvQIiLrdx71RQv+T48nHhuQXOCIQ==" + }, + "node_modules/materialize-css": { + "version": "1.0.0-rc.2", + "resolved": "https://registry.npmjs.org/materialize-css/-/materialize-css-1.0.0-rc.2.tgz", + "integrity": "sha512-FuQmSyq4Qv0ov7A2qXw0E6/jbQzSWx2P1pg2/XQDYTkkSc/GyiFAxu3fw9zgShwuTvyumEiw5jkxQWT9siqMBQ==" + }, "node_modules/mathml-tag-names": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", @@ -5459,7 +5704,6 @@ "version": "3.3.4", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", - "dev": true, "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -5973,8 +6217,7 @@ "node_modules/picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" }, "node_modules/picomatch": { "version": "2.3.1", @@ -6110,7 +6353,6 @@ "version": "8.4.14", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", - "dev": true, "funding": [ { "type": "opencollective", @@ -6634,9 +6876,9 @@ } }, "node_modules/serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", "dev": true, "peer": true, "dependencies": { @@ -6720,7 +6962,6 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -6729,7 +6970,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -6744,6 +6984,12 @@ "source-map": "^0.6.0" } }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "deprecated": "Please use @jridgewell/sourcemap-codec instead" + }, "node_modules/spdx-correct": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", @@ -7119,14 +7365,14 @@ } }, "node_modules/terser": { - "version": "5.12.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.12.1.tgz", - "integrity": "sha512-NXbs+7nisos5E+yXwAD+y7zrcTkMqb0dEJxIGtSKPdCBzopf7ni4odPul2aechpV7EXNvOudYOX2bb5tln1jbQ==", + "version": "5.16.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.1.tgz", + "integrity": "sha512-xvQfyfA1ayT0qdK47zskQgRZeWLoOQ8JQ6mIgRGVNwZKdQMU+5FkCBjmv4QjcrTzyZquRw2FVtlJSRUmMKQslw==", "dev": true, "dependencies": { + "@jridgewell/source-map": "^0.3.2", "acorn": "^8.5.0", "commander": "^2.20.0", - "source-map": "~0.7.2", "source-map-support": "~0.5.20" }, "bin": { @@ -7137,17 +7383,17 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.1.tgz", - "integrity": "sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g==", + "version": "5.3.6", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz", + "integrity": "sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==", "dev": true, "peer": true, "dependencies": { + "@jridgewell/trace-mapping": "^0.3.14", "jest-worker": "^27.4.5", "schema-utils": "^3.1.1", "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1", - "terser": "^5.7.2" + "terser": "^5.14.1" }, "engines": { "node": ">= 10.13.0" @@ -7177,15 +7423,6 @@ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, - "node_modules/terser/node_modules/source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -7245,9 +7482,9 @@ } }, "node_modules/tsconfig-paths/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, "dependencies": { "minimist": "^1.2.0" @@ -7372,10 +7609,22 @@ "spdx-expression-parse": "^3.0.0" } }, + "node_modules/vue": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.45.tgz", + "integrity": "sha512-9Nx/Mg2b2xWlXykmCwiTUCWHbWIj53bnkizBxKai1g61f2Xit700A1ljowpTIM11e3uipOeiPcSqnmBg6gyiaA==", + "dependencies": { + "@vue/compiler-dom": "3.2.45", + "@vue/compiler-sfc": "3.2.45", + "@vue/runtime-dom": "3.2.45", + "@vue/server-renderer": "3.2.45", + "@vue/shared": "3.2.45" + } + }, "node_modules/watchpack": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz", - "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", "dev": true, "peer": true, "dependencies": { @@ -7414,9 +7663,9 @@ } }, "node_modules/webpack": { - "version": "5.72.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.72.0.tgz", - "integrity": "sha512-qmSmbspI0Qo5ld49htys8GY9XhS9CGqFoHTsOVAnjBdg0Zn79y135R+k4IR4rKK6+eKaabMhJwiVB7xw0SJu5w==", + "version": "5.75.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.75.0.tgz", + "integrity": "sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ==", "dev": true, "peer": true, "dependencies": { @@ -7425,24 +7674,24 @@ "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/wasm-edit": "1.11.1", "@webassemblyjs/wasm-parser": "1.11.1", - "acorn": "^8.4.1", + "acorn": "^8.7.1", "acorn-import-assertions": "^1.7.6", "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.9.2", + "enhanced-resolve": "^5.10.0", "es-module-lexer": "^0.9.0", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.2.9", - "json-parse-better-errors": "^1.0.2", + "json-parse-even-better-errors": "^2.3.1", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", "schema-utils": "^3.1.0", "tapable": "^2.1.1", "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.3.1", + "watchpack": "^2.4.0", "webpack-sources": "^3.2.3" }, "bin": { @@ -7472,9 +7721,9 @@ } }, "node_modules/webpack/node_modules/enhanced-resolve": { - "version": "5.9.3", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.3.tgz", - "integrity": "sha512-Bq9VSor+kjvW3f9/MiiR4eE3XYgOl7/rS8lnSxbRbF3kS0B2r+Y9w5krBWxZgDxASVZbdYrn5wT4j/Wb0J9qow==", + "version": "5.12.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz", + "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==", "dev": true, "peer": true, "dependencies": { @@ -8863,6 +9112,11 @@ } } }, + "@babel/parser": { + "version": "7.20.13", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.13.tgz", + "integrity": "sha512-gFDLKMfpiXCsjt4za2JA9oTMn70CeseCehb11kRZgvd7+F67Hih3OHOK24cRrWECJ/ljfPGac6ygXAs/C8kIvw==" + }, "@csstools/selector-specificity": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz", @@ -8924,6 +9178,55 @@ "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", "dev": true }, + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true + }, + "@jridgewell/source-map": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", + "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, "@lezer/common": { "version": "0.15.12", "resolved": "https://registry.npmjs.org/@lezer/common/-/common-0.15.12.tgz", @@ -9731,6 +10034,22 @@ "semver": "^5.7.1" } }, + "@parcel/transformer-vue": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@parcel/transformer-vue/-/transformer-vue-2.6.2.tgz", + "integrity": "sha512-EP8FgCwcmk1VQtOqsK++a4Fl7UXeTLeZJjmlUr0WDR6zwN6avqFRLbiCCrKXcggxyiFeMsU5UOZG+MNXp+Ro8A==", + "dev": true, + "requires": { + "@parcel/diagnostic": "2.6.2", + "@parcel/plugin": "2.6.2", + "@parcel/source-map": "^2.0.0", + "@parcel/utils": "2.6.2", + "@vue/compiler-sfc": "^3.2.27", + "consolidate": "^0.16.0", + "nullthrows": "^1.1.1", + "semver": "^5.7.1" + } + }, "@parcel/transformer-webextension": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/@parcel/transformer-webextension/-/transformer-webextension-2.6.2.tgz", @@ -9824,9 +10143,9 @@ } }, "@types/eslint-scope": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz", - "integrity": "sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==", + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", "dev": true, "peer": true, "requires": { @@ -9859,9 +10178,9 @@ "dev": true }, "@types/node": { - "version": "17.0.24", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.24.tgz", - "integrity": "sha512-aveCYRQbgTH9Pssp1voEP7HiuWlD2jW2BO56w+bVrJn04i61yh6mRfoKO6hEYQD9vF+W8Chkwc6j1M36uPkx4g==", + "version": "18.11.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz", + "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==", "dev": true, "peer": true }, @@ -9877,6 +10196,105 @@ "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", "dev": true }, + "@vue/compiler-core": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.45.tgz", + "integrity": "sha512-rcMj7H+PYe5wBV3iYeUgbCglC+pbpN8hBLTJvRiK2eKQiWqu+fG9F+8sW99JdL4LQi7Re178UOxn09puSXvn4A==", + "requires": { + "@babel/parser": "^7.16.4", + "@vue/shared": "3.2.45", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, + "@vue/compiler-dom": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.45.tgz", + "integrity": "sha512-tyYeUEuKqqZO137WrZkpwfPCdiiIeXYCcJ8L4gWz9vqaxzIQRccTSwSWZ/Axx5YR2z+LvpUbmPNXxuBU45lyRw==", + "requires": { + "@vue/compiler-core": "3.2.45", + "@vue/shared": "3.2.45" + } + }, + "@vue/compiler-sfc": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.45.tgz", + "integrity": "sha512-1jXDuWah1ggsnSAOGsec8cFjT/K6TMZ0sPL3o3d84Ft2AYZi2jWJgRMjw4iaK0rBfA89L5gw427H4n1RZQBu6Q==", + "requires": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.45", + "@vue/compiler-dom": "3.2.45", + "@vue/compiler-ssr": "3.2.45", + "@vue/reactivity-transform": "3.2.45", + "@vue/shared": "3.2.45", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7", + "postcss": "^8.1.10", + "source-map": "^0.6.1" + } + }, + "@vue/compiler-ssr": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.45.tgz", + "integrity": "sha512-6BRaggEGqhWht3lt24CrIbQSRD5O07MTmd+LjAn5fJj568+R9eUD2F7wMQJjX859seSlrYog7sUtrZSd7feqrQ==", + "requires": { + "@vue/compiler-dom": "3.2.45", + "@vue/shared": "3.2.45" + } + }, + "@vue/reactivity": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.45.tgz", + "integrity": "sha512-PRvhCcQcyEVohW0P8iQ7HDcIOXRjZfAsOds3N99X/Dzewy8TVhTCT4uXpAHfoKjVTJRA0O0K+6QNkDIZAxNi3A==", + "requires": { + "@vue/shared": "3.2.45" + } + }, + "@vue/reactivity-transform": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.45.tgz", + "integrity": "sha512-BHVmzYAvM7vcU5WmuYqXpwaBHjsS8T63jlKGWVtHxAHIoMIlmaMyurUSEs1Zcg46M4AYT5MtB1U274/2aNzjJQ==", + "requires": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.45", + "@vue/shared": "3.2.45", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7" + } + }, + "@vue/runtime-core": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.45.tgz", + "integrity": "sha512-gzJiTA3f74cgARptqzYswmoQx0fIA+gGYBfokYVhF8YSXjWTUA2SngRzZRku2HbGbjzB6LBYSbKGIaK8IW+s0A==", + "requires": { + "@vue/reactivity": "3.2.45", + "@vue/shared": "3.2.45" + } + }, + "@vue/runtime-dom": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.45.tgz", + "integrity": "sha512-cy88YpfP5Ue2bDBbj75Cb4bIEZUMM/mAkDMfqDTpUYVgTf/kuQ2VQ8LebuZ8k6EudgH8pYhsGWHlY0lcxlvTwA==", + "requires": { + "@vue/runtime-core": "3.2.45", + "@vue/shared": "3.2.45", + "csstype": "^2.6.8" + } + }, + "@vue/server-renderer": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.45.tgz", + "integrity": "sha512-ebiMq7q24WBU1D6uhPK//2OTR1iRIyxjF5iVq/1a5I1SDMDyDu4Ts6fJaMnjrvD3MqnaiFkKQj+LKAgz5WIK3g==", + "requires": { + "@vue/compiler-ssr": "3.2.45", + "@vue/shared": "3.2.45" + } + }, + "@vue/shared": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.45.tgz", + "integrity": "sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg==" + }, "@webassemblyjs/ast": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", @@ -10193,6 +10611,12 @@ "safe-buffer": "^5.0.1" } }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, "boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", @@ -10297,9 +10721,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001332", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001332.tgz", - "integrity": "sha512-10T30NYOEQtN6C11YGg411yebhvpnC6Z102+B95eAsN0oB6KUs01ivE8u+G6FMIRtIrVlYXhL+LUwQ3/hXwDWw==", + "version": "1.0.30001446", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001446.tgz", + "integrity": "sha512-fEoga4PrImGcwUUGEol/PoFCSBnSkA9drgdkxXkJLsUBOnJ8rs3zDv6ApqYXGQFOyMPsjh79naWhF4DAxbF8rw==", "dev": true }, "chalk": { @@ -10401,6 +10825,15 @@ "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", "dev": true }, + "consolidate": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.16.0.tgz", + "integrity": "sha512-Nhl1wzCslqXYTJVDyJCu3ODohy9OfBMB5uD2BiBTzd7w+QY0lBzafkR8y8755yMYHAaMD4NuzbAw03/xzfw+eQ==", + "dev": true, + "requires": { + "bluebird": "^3.7.2" + } + }, "content-security-policy-parser": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/content-security-policy-parser/-/content-security-policy-parser-0.3.0.tgz", @@ -10483,6 +10916,11 @@ "css-tree": "^1.1.2" } }, + "csstype": { + "version": "2.6.21", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz", + "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==" + }, "debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", @@ -11291,6 +11729,11 @@ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true }, + "estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, "esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", @@ -12194,9 +12637,9 @@ "dev": true }, "json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true }, "kind-of": { @@ -12366,6 +12809,14 @@ "yallist": "^4.0.0" } }, + "magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "requires": { + "sourcemap-codec": "^1.4.8" + } + }, "make-dir": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", @@ -12389,6 +12840,16 @@ "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", "dev": true }, + "material-design-icons": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/material-design-icons/-/material-design-icons-3.0.1.tgz", + "integrity": "sha512-t19Z+QZBwSZulxptEu05kIm+UyfIdJY1JDwI+nx02j269m6W414whiQz9qfvQIiLrdx71RQv+T48nHhuQXOCIQ==" + }, + "materialize-css": { + "version": "1.0.0-rc.2", + "resolved": "https://registry.npmjs.org/materialize-css/-/materialize-css-1.0.0-rc.2.tgz", + "integrity": "sha512-FuQmSyq4Qv0ov7A2qXw0E6/jbQzSWx2P1pg2/XQDYTkkSc/GyiFAxu3fw9zgShwuTvyumEiw5jkxQWT9siqMBQ==" + }, "mathml-tag-names": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", @@ -12630,8 +13091,7 @@ "nanoid": { "version": "3.3.4", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", - "dev": true + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==" }, "natural-compare": { "version": "1.4.0", @@ -13012,8 +13472,7 @@ "picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" }, "picomatch": { "version": "2.3.1", @@ -13100,7 +13559,6 @@ "version": "8.4.14", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", - "dev": true, "requires": { "nanoid": "^3.3.4", "picocolors": "^1.0.0", @@ -13455,9 +13913,9 @@ "dev": true }, "serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", "dev": true, "peer": true, "requires": { @@ -13522,14 +13980,12 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "source-map-js": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "dev": true + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" }, "source-map-support": { "version": "0.5.21", @@ -13541,6 +13997,11 @@ "source-map": "^0.6.0" } }, + "sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" + }, "spdx-correct": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", @@ -13824,14 +14285,14 @@ "dev": true }, "terser": { - "version": "5.12.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.12.1.tgz", - "integrity": "sha512-NXbs+7nisos5E+yXwAD+y7zrcTkMqb0dEJxIGtSKPdCBzopf7ni4odPul2aechpV7EXNvOudYOX2bb5tln1jbQ==", + "version": "5.16.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.1.tgz", + "integrity": "sha512-xvQfyfA1ayT0qdK47zskQgRZeWLoOQ8JQ6mIgRGVNwZKdQMU+5FkCBjmv4QjcrTzyZquRw2FVtlJSRUmMKQslw==", "dev": true, "requires": { + "@jridgewell/source-map": "^0.3.2", "acorn": "^8.5.0", "commander": "^2.20.0", - "source-map": "~0.7.2", "source-map-support": "~0.5.20" }, "dependencies": { @@ -13840,27 +14301,21 @@ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true - }, - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true } } }, "terser-webpack-plugin": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.1.tgz", - "integrity": "sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g==", + "version": "5.3.6", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz", + "integrity": "sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==", "dev": true, "peer": true, "requires": { + "@jridgewell/trace-mapping": "^0.3.14", "jest-worker": "^27.4.5", "schema-utils": "^3.1.1", "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1", - "terser": "^5.7.2" + "terser": "^5.14.1" } }, "text-table": { @@ -13913,9 +14368,9 @@ }, "dependencies": { "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, "requires": { "minimist": "^1.2.0" @@ -14011,10 +14466,22 @@ "spdx-expression-parse": "^3.0.0" } }, + "vue": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.45.tgz", + "integrity": "sha512-9Nx/Mg2b2xWlXykmCwiTUCWHbWIj53bnkizBxKai1g61f2Xit700A1ljowpTIM11e3uipOeiPcSqnmBg6gyiaA==", + "requires": { + "@vue/compiler-dom": "3.2.45", + "@vue/compiler-sfc": "3.2.45", + "@vue/runtime-dom": "3.2.45", + "@vue/server-renderer": "3.2.45", + "@vue/shared": "3.2.45" + } + }, "watchpack": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz", - "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", "dev": true, "peer": true, "requires": { @@ -14047,9 +14514,9 @@ } }, "webpack": { - "version": "5.72.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.72.0.tgz", - "integrity": "sha512-qmSmbspI0Qo5ld49htys8GY9XhS9CGqFoHTsOVAnjBdg0Zn79y135R+k4IR4rKK6+eKaabMhJwiVB7xw0SJu5w==", + "version": "5.75.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.75.0.tgz", + "integrity": "sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ==", "dev": true, "peer": true, "requires": { @@ -14058,31 +14525,31 @@ "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/wasm-edit": "1.11.1", "@webassemblyjs/wasm-parser": "1.11.1", - "acorn": "^8.4.1", + "acorn": "^8.7.1", "acorn-import-assertions": "^1.7.6", "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.9.2", + "enhanced-resolve": "^5.10.0", "es-module-lexer": "^0.9.0", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.2.9", - "json-parse-better-errors": "^1.0.2", + "json-parse-even-better-errors": "^2.3.1", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", "schema-utils": "^3.1.0", "tapable": "^2.1.1", "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.3.1", + "watchpack": "^2.4.0", "webpack-sources": "^3.2.3" }, "dependencies": { "enhanced-resolve": { - "version": "5.9.3", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.3.tgz", - "integrity": "sha512-Bq9VSor+kjvW3f9/MiiR4eE3XYgOl7/rS8lnSxbRbF3kS0B2r+Y9w5krBWxZgDxASVZbdYrn5wT4j/Wb0J9qow==", + "version": "5.12.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz", + "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==", "dev": true, "peer": true, "requires": { diff --git a/package.json b/package.json index f5c7600..1ec83b1 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "private": true, "scripts": { - "build": "parcel build source/manifest.json --no-content-hash --no-source-maps --dist-dir distribution --no-cache --detailed-report 0", + "build": "rm -rf distribution && parcel build source/manifest.json --no-content-hash --no-source-maps --dist-dir distribution --no-cache --detailed-report 0", "lint": "run-p lint:*", "lint-fix": "run-p 'lint:* -- --fix'", "lint:css": "stylelint source/**/*.css", @@ -23,11 +23,15 @@ "extends": "stylelint-config-xo" }, "dependencies": { + "material-design-icons": "^3.0.1", + "materialize-css": "^1.0.0-rc.2", + "vue": "^3.2.45", "webext-base-css": "^1.4.1", "webext-options-sync": "^3.1.0" }, "devDependencies": { "@parcel/config-webextension": "^2.6.2", + "@parcel/transformer-vue": "^2.6.2", "npm-run-all": "^4.1.5", "parcel": "^2.6.2", "stylelint": "^14.9.1", @@ -42,8 +46,8 @@ ] } }, - "@parcel/bundler-default-bug": "https://github.com/parcel-bundler/parcel/issues/8071", - "@parcel/bundler-default": { - "minBundles": 10000000 - } + "@parcel/bundler-default-bug": "https://github.com/parcel-bundler/parcel/issues/8071", + "@parcel/bundler-default": { + "minBundles": 10000000 + } } diff --git a/privacy-policy.md b/privacy-policy.md index 12bd079..eb3a4d6 100644 --- a/privacy-policy.md +++ b/privacy-policy.md @@ -4,4 +4,4 @@ No data or personal information is collected by browser-extension-template. ##### Contact -If you have any questions or suggestions regarding this privacy policy, do not hesitate to [contact us](https://github.com/fregante/browser-extension-template/issues/new). +If you have any questions or suggestions regarding this privacy policy, do not hesitate to [contact us](https://github.com/bellingcat/auto-archiver-extension/issues/new). diff --git a/source/background.js b/source/background.js deleted file mode 100644 index 31d85f1..0000000 --- a/source/background.js +++ /dev/null @@ -1,2 +0,0 @@ -// eslint-disable-next-line import/no-unassigned-import -import './options-storage.js'; diff --git a/source/content.css b/source/content.css deleted file mode 100644 index 0404c67..0000000 --- a/source/content.css +++ /dev/null @@ -1,8 +0,0 @@ -#text-notice { - position: fixed; - top: 10px; - left: 10px; - padding: 10px; - background: #fff; - z-index: 999999; -} diff --git a/source/content.js b/source/content.js deleted file mode 100644 index 478a69a..0000000 --- a/source/content.js +++ /dev/null @@ -1,16 +0,0 @@ -import optionsStorage from './options-storage.js'; - -console.log('💈 Content script loaded for', chrome.runtime.getManifest().name); -async function init() { - const options = await optionsStorage.getAll(); - const color = 'rgb(' + options.colorRed + ', ' + options.colorGreen + ',' + options.colorBlue + ')'; - const text = options.text; - const notice = document.createElement('div'); - notice.innerHTML = text; - document.body.prepend(notice); - notice.id = 'text-notice'; - notice.style.border = '2px solid ' + color; - notice.style.color = color; -} - -init(); diff --git a/source/options.css b/source/css/options.css similarity index 100% rename from source/options.css rename to source/css/options.css diff --git a/source/css/popup.css b/source/css/popup.css new file mode 100644 index 0000000..9779273 --- /dev/null +++ b/source/css/popup.css @@ -0,0 +1,33 @@ +body { + font-size: 100%; +} + +#app { + min-width: 40em; + margin: 15px; +} + +#icon { + max-height: 26px; + vertical-align: middle; +} + +#archiveResults .row{ + /* table-layout: fixed; */ + width:90%; + max-width:100px; +} + +/* #archiveResults td { + width: auto; +} + +#archiveResults td:nth-child(2) { + width: 150px; +} */ + +table td { + word-wrap: break-word; + overflow-wrap: break-word; + padding: 5px; +} \ No newline at end of file diff --git a/source/options.html b/source/html/options.html similarity index 94% rename from source/options.html rename to source/html/options.html index 68654f4..5d3616e 100644 --- a/source/options.html +++ b/source/html/options.html @@ -33,4 +33,4 @@ - + diff --git a/source/html/popup.html b/source/html/popup.html new file mode 100644 index 0000000..f6742a8 --- /dev/null +++ b/source/html/popup.html @@ -0,0 +1,19 @@ + + + + + + + + + + + + +
+ + + + + + \ No newline at end of file diff --git a/source/icon.png b/source/img/icon.png similarity index 100% rename from source/icon.png rename to source/img/icon.png diff --git a/source/js/background.js b/source/js/background.js new file mode 100644 index 0000000..f441ac3 --- /dev/null +++ b/source/js/background.js @@ -0,0 +1,98 @@ +// eslint-disable-next-line import/no-unassigned-import +// import './options-storage.js'; +import optionsStorage from './options-storage.js'; + +const API_ENDPOINT = 'http://localhost:8000/tasks' + +chrome.runtime.onMessage.addListener(((r, s, sR) => { + processMessages(r, s, sR) + return true; // needed for sendResponse to be async +})); + +async function processMessages(request, sender, sendResponse) { + console.info(`action {${request.action}} from ${sender.tab ? 'content-script (' + sender.tab.url + ')' : 'the extension'}`) + if (request.action === "archive") { + archiveUrl(sendResponse); + } else if (request.action === "status") { + const task_db = await getTaskById(request.task.task_id); + if (task_db?.status == "SUCCESS" || task_db?.status == 'FAILURE') { + console.log("ALREADY FINSIHED, NO REQS") + sendResponse(task_db) + } + const task_fresh = await checkTaskStatus(request.task) + sendResponse(task_fresh) + } else if (request.action === "getTasks") { + sendResponse(await getAllTasks()); + } +} + +function archiveUrl(sendResponse) { + chrome.tabs.query({ + active: true, + lastFocusedWindow: true + }, async (tabs) => { + let url = tabs[0].url; + console.log(`url=${url}`); + const response = await submitUrlTask(url) + const new_archive = { url, task_id: response.task_id, status: 'PENDING', result: {} }; + await upsertTask(new_archive); + sendResponse(new_archive); + }); +} + +function submitUrlTask(url) { + console.log(`API: SUBMIT`) + return new Promise((resolve, reject) => { + fetch(API_ENDPOINT, { + method: 'POST', + headers: { 'Content-Type': 'application/json' },//, 'X-API-KEY': 'TODO' }, + body: JSON.stringify({ url }), + }).then( + response => response.json(), + ).then(response => resolve(response) + ).catch(err => { + console.log(`There was an error: ${err}`) + reject(err) + }); + }) +} + +function checkTaskStatus(task) { + console.log(`API: STATUS`) + return new Promise((resolve, reject) => { + fetch(`${API_ENDPOINT}/${task.task_id}`, { + method: 'GET', + headers: { 'Content-Type': 'application/json' }, + }).then( + response => response.json(), + ).then(response => { + const new_task = { + url: task.url, + task_id: response.task_id, + status: response.task_status, + result: JSON.parse(response.task_result), + } + console.log(new_task); + upsertTask(new_task); + resolve(new_task) + } + ).catch(err => reject(err)); + }) +} + +async function getAllTasks() { + const storage = await optionsStorage.getAll(); + return storage.archived_urls; +} + +//TODO: improve with less reads from storage +async function upsertTask(task) { + const storage = await optionsStorage.getAll(); + storage.archived_urls[task.task_id] = task; + await optionsStorage.set(storage); +} + +async function getTaskById(task) { + const storage = await optionsStorage.getAll(); + return storage.archived_urls[task.task_id]; +} \ No newline at end of file diff --git a/source/options-storage.js b/source/js/options-storage.js similarity index 70% rename from source/options-storage.js rename to source/js/options-storage.js index 7a75db6..5452186 100644 --- a/source/options-storage.js +++ b/source/js/options-storage.js @@ -2,10 +2,7 @@ import OptionsSync from 'webext-options-sync'; export default new OptionsSync({ defaults: { - colorRed: 244, - colorGreen: 67, - colorBlue: 54, - text: 'Set a text!', + archived_urls: {}, }, migrations: [ OptionsSync.migrations.removeUnused, diff --git a/source/options.js b/source/js/options.js similarity index 96% rename from source/options.js rename to source/js/options.js index 6a02c87..b1ac851 100644 --- a/source/options.js +++ b/source/js/options.js @@ -1,6 +1,6 @@ // eslint-disable-next-line import/no-unassigned-import import 'webext-base-css'; -import './options.css'; +import '../css/options.css'; import optionsStorage from './options-storage.js'; diff --git a/source/js/popup.js b/source/js/popup.js new file mode 100644 index 0000000..364cc3a --- /dev/null +++ b/source/js/popup.js @@ -0,0 +1,22 @@ +import { createApp } from "vue"; +import Popup from "../vue/Popup.vue"; +import 'materialize-css/dist/css/materialize.min.css' +import 'material-design-icons/iconfont/material-icons.css' + + +const app = createApp(Popup); +app.mount("#app"); + +// Import browser from 'webextension-polyfill'; +// import optionsStorage from './options-storage.js'; + +document.addEventListener('DOMContentLoaded', async () => { + // TODO: uncomment if using options + // listenForOptionsClick(); +}); + +// Function listenForOptionsClick() { +// document.querySelector('#optionsBtn').addEventListener('click', () => { +// browser.runtime.openOptionsPage(); +// }); +// } \ No newline at end of file diff --git a/source/manifest.json b/source/manifest.json index 3b26c4c..9281c48 100644 --- a/source/manifest.json +++ b/source/manifest.json @@ -1,39 +1,35 @@ { - "name": "Awesome Extension", - "version": "0.0.0", - "description": "An awesome new browser extension", - "homepage_url": "https://github.com/fregante/browser-extension-template", - "manifest_version": 3, - "minimum_chrome_version": "100", - "browser_specific_settings": { - "gecko": { - "id": "awesome-extension@notlmn.github.io", - "strict_min_version": "100.0" - } - }, - "icons": { - "128": "icon.png" - }, - "permissions": [ - "storage" - ], - "host_permissions": [ - "https://github.com/*" - ], - "content_scripts": [ - { - "matches": [ "https://github.com/fregante/browser-extension-template/*" ], - "js": [ "content.js" ], - "css": [ "content.css" ], - "run_at": "document_end" - } - ], - "options_ui": { - "browser_style": true, - "page": "options.html" - }, - "background": { - "service_worker": "background.js", - "type": "module" - } -} + "name": "Auto-archiver extension", + "version": "0.0.1", + "description": "A gateway to effective archiving of online content, including behind private platforms. ", + "homepage_url": "https://github.com/bellingcat/auto-archiver-extension", + "manifest_version": 3, + "minimum_chrome_version": "100", + "browser_specific_settings": { + "gecko": { + "id": "todo@github.io", + "strict_min_version": "100.0" + } + }, + "icons": { + "128": "img/icon.png" + }, + "permissions": [ + "storage", "tabs" + ], + "host_permissions": [ + "*://*/*" + ], + "background": { + "service_worker": "js/background.js", + "type": "module" + }, + "action": { + "default_popup": "html/popup.html" + }, + "content_scripts": [], + "options_ui": { + "browser_style": true, + "page": "html/options.html" + } +} \ No newline at end of file diff --git a/source/vue/Popup.vue b/source/vue/Popup.vue new file mode 100644 index 0000000..8e6e86d --- /dev/null +++ b/source/vue/Popup.vue @@ -0,0 +1,86 @@ + + + + \ No newline at end of file diff --git a/source/vue/TaskItem.vue b/source/vue/TaskItem.vue new file mode 100644 index 0000000..77509d9 --- /dev/null +++ b/source/vue/TaskItem.vue @@ -0,0 +1,78 @@ + + + \ No newline at end of file