mirror of
https://github.com/JosunLP/BrowserExtensionTemplate.git
synced 2025-06-21 18:11:08 +00:00
Version 1.4.0 (#10)
* Feature/webpack integration (#9) * working webpack into template * removing package-lock.json * implementing source * style update
This commit is contained in:
parent
241d3d02c6
commit
2319a1fd9b
15 changed files with 217 additions and 766 deletions
4
.gitignore
vendored
4
.gitignore
vendored
|
@ -689,4 +689,6 @@ dist
|
||||||
|
|
||||||
tools/syncConfig.js
|
tools/syncConfig.js
|
||||||
tools/deploy.js
|
tools/deploy.js
|
||||||
tools/v2.js
|
tools/v2.js
|
||||||
|
tools/clean.js
|
||||||
|
package-lock.json
|
||||||
|
|
418
package-lock.json
generated
418
package-lock.json
generated
|
@ -1,418 +0,0 @@
|
||||||
{
|
|
||||||
"name": "browser_extension_template",
|
|
||||||
"version": "0.0.1",
|
|
||||||
"lockfileVersion": 2,
|
|
||||||
"requires": true,
|
|
||||||
"packages": {
|
|
||||||
"": {
|
|
||||||
"name": "browser_extension_template",
|
|
||||||
"version": "0.0.1",
|
|
||||||
"license": "MIT",
|
|
||||||
"devDependencies": {
|
|
||||||
"@types/node": "^18.7.4",
|
|
||||||
"sass": "^1.39.0",
|
|
||||||
"typescript": "^4.2.4"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@types/node": {
|
|
||||||
"version": "18.7.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.4.tgz",
|
|
||||||
"integrity": "sha512-RzRcw8c0B8LzryWOR4Wj7YOTFXvdYKwvrb6xQQyuDfnlTxwYXGCV5RZ/TEbq5L5kn+w3rliHAUyRcG1RtbmTFg==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"node_modules/anymatch": {
|
|
||||||
"version": "3.1.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
|
|
||||||
"integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"normalize-path": "^3.0.0",
|
|
||||||
"picomatch": "^2.0.4"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">= 8"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/binary-extensions": {
|
|
||||||
"version": "2.2.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
|
|
||||||
"integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
|
|
||||||
"dev": true,
|
|
||||||
"engines": {
|
|
||||||
"node": ">=8"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/braces": {
|
|
||||||
"version": "3.0.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
|
|
||||||
"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"fill-range": "^7.0.1"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=8"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/chokidar": {
|
|
||||||
"version": "3.5.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
|
|
||||||
"integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
|
|
||||||
"dev": true,
|
|
||||||
"funding": [
|
|
||||||
{
|
|
||||||
"type": "individual",
|
|
||||||
"url": "https://paulmillr.com/funding/"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"dependencies": {
|
|
||||||
"anymatch": "~3.1.2",
|
|
||||||
"braces": "~3.0.2",
|
|
||||||
"glob-parent": "~5.1.2",
|
|
||||||
"is-binary-path": "~2.1.0",
|
|
||||||
"is-glob": "~4.0.1",
|
|
||||||
"normalize-path": "~3.0.0",
|
|
||||||
"readdirp": "~3.6.0"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">= 8.10.0"
|
|
||||||
},
|
|
||||||
"optionalDependencies": {
|
|
||||||
"fsevents": "~2.3.2"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/fill-range": {
|
|
||||||
"version": "7.0.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
|
|
||||||
"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"to-regex-range": "^5.0.1"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=8"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/fsevents": {
|
|
||||||
"version": "2.3.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
|
|
||||||
"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
|
|
||||||
"dev": true,
|
|
||||||
"hasInstallScript": true,
|
|
||||||
"optional": true,
|
|
||||||
"os": [
|
|
||||||
"darwin"
|
|
||||||
],
|
|
||||||
"engines": {
|
|
||||||
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/glob-parent": {
|
|
||||||
"version": "5.1.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
|
|
||||||
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"is-glob": "^4.0.1"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">= 6"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/immutable": {
|
|
||||||
"version": "4.1.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz",
|
|
||||||
"integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"node_modules/is-binary-path": {
|
|
||||||
"version": "2.1.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
|
|
||||||
"integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"binary-extensions": "^2.0.0"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=8"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/is-extglob": {
|
|
||||||
"version": "2.1.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
|
|
||||||
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
|
|
||||||
"dev": true,
|
|
||||||
"engines": {
|
|
||||||
"node": ">=0.10.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/is-glob": {
|
|
||||||
"version": "4.0.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
|
|
||||||
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"is-extglob": "^2.1.1"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=0.10.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/is-number": {
|
|
||||||
"version": "7.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
|
|
||||||
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
|
|
||||||
"dev": true,
|
|
||||||
"engines": {
|
|
||||||
"node": ">=0.12.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/normalize-path": {
|
|
||||||
"version": "3.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
|
|
||||||
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
|
|
||||||
"dev": true,
|
|
||||||
"engines": {
|
|
||||||
"node": ">=0.10.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/picomatch": {
|
|
||||||
"version": "2.3.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
|
|
||||||
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
|
|
||||||
"dev": true,
|
|
||||||
"engines": {
|
|
||||||
"node": ">=8.6"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"url": "https://github.com/sponsors/jonschlinkert"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/readdirp": {
|
|
||||||
"version": "3.6.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
|
|
||||||
"integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"picomatch": "^2.2.1"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=8.10.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/sass": {
|
|
||||||
"version": "1.54.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/sass/-/sass-1.54.4.tgz",
|
|
||||||
"integrity": "sha512-3tmF16yvnBwtlPrNBHw/H907j8MlOX8aTBnlNX1yrKx24RKcJGPyLhFUwkoKBKesR3unP93/2z14Ll8NicwQUA==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"chokidar": ">=3.0.0 <4.0.0",
|
|
||||||
"immutable": "^4.0.0",
|
|
||||||
"source-map-js": ">=0.6.2 <2.0.0"
|
|
||||||
},
|
|
||||||
"bin": {
|
|
||||||
"sass": "sass.js"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=12.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/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,
|
|
||||||
"engines": {
|
|
||||||
"node": ">=0.10.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/to-regex-range": {
|
|
||||||
"version": "5.0.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
|
|
||||||
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"is-number": "^7.0.0"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=8.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/typescript": {
|
|
||||||
"version": "4.7.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz",
|
|
||||||
"integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==",
|
|
||||||
"dev": true,
|
|
||||||
"bin": {
|
|
||||||
"tsc": "bin/tsc",
|
|
||||||
"tsserver": "bin/tsserver"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=4.2.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"@types/node": {
|
|
||||||
"version": "18.7.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.4.tgz",
|
|
||||||
"integrity": "sha512-RzRcw8c0B8LzryWOR4Wj7YOTFXvdYKwvrb6xQQyuDfnlTxwYXGCV5RZ/TEbq5L5kn+w3rliHAUyRcG1RtbmTFg==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"anymatch": {
|
|
||||||
"version": "3.1.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
|
|
||||||
"integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"normalize-path": "^3.0.0",
|
|
||||||
"picomatch": "^2.0.4"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"binary-extensions": {
|
|
||||||
"version": "2.2.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
|
|
||||||
"integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"braces": {
|
|
||||||
"version": "3.0.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
|
|
||||||
"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"fill-range": "^7.0.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"chokidar": {
|
|
||||||
"version": "3.5.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
|
|
||||||
"integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"anymatch": "~3.1.2",
|
|
||||||
"braces": "~3.0.2",
|
|
||||||
"fsevents": "~2.3.2",
|
|
||||||
"glob-parent": "~5.1.2",
|
|
||||||
"is-binary-path": "~2.1.0",
|
|
||||||
"is-glob": "~4.0.1",
|
|
||||||
"normalize-path": "~3.0.0",
|
|
||||||
"readdirp": "~3.6.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"fill-range": {
|
|
||||||
"version": "7.0.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
|
|
||||||
"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"to-regex-range": "^5.0.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"fsevents": {
|
|
||||||
"version": "2.3.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
|
|
||||||
"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
|
|
||||||
"dev": true,
|
|
||||||
"optional": true
|
|
||||||
},
|
|
||||||
"glob-parent": {
|
|
||||||
"version": "5.1.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
|
|
||||||
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"is-glob": "^4.0.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"immutable": {
|
|
||||||
"version": "4.1.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz",
|
|
||||||
"integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"is-binary-path": {
|
|
||||||
"version": "2.1.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
|
|
||||||
"integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"binary-extensions": "^2.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"is-extglob": {
|
|
||||||
"version": "2.1.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
|
|
||||||
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"is-glob": {
|
|
||||||
"version": "4.0.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
|
|
||||||
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"is-extglob": "^2.1.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"is-number": {
|
|
||||||
"version": "7.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
|
|
||||||
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"normalize-path": {
|
|
||||||
"version": "3.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
|
|
||||||
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"picomatch": {
|
|
||||||
"version": "2.3.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
|
|
||||||
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"readdirp": {
|
|
||||||
"version": "3.6.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
|
|
||||||
"integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"picomatch": "^2.2.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"sass": {
|
|
||||||
"version": "1.54.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/sass/-/sass-1.54.4.tgz",
|
|
||||||
"integrity": "sha512-3tmF16yvnBwtlPrNBHw/H907j8MlOX8aTBnlNX1yrKx24RKcJGPyLhFUwkoKBKesR3unP93/2z14Ll8NicwQUA==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"chokidar": ">=3.0.0 <4.0.0",
|
|
||||||
"immutable": "^4.0.0",
|
|
||||||
"source-map-js": ">=0.6.2 <2.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"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
|
|
||||||
},
|
|
||||||
"to-regex-range": {
|
|
||||||
"version": "5.0.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
|
|
||||||
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"is-number": "^7.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"typescript": {
|
|
||||||
"version": "4.7.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz",
|
|
||||||
"integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==",
|
|
||||||
"dev": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
19
package.json
19
package.json
|
@ -4,19 +4,24 @@
|
||||||
"private": true,
|
"private": true,
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"deploy-v3": "npm run build-tooling && npm run sync && node ./tools/deploy.js && npm run build-js && npm run build-css",
|
"deploy-v3": "npm run build-tooling && node ./tools/deploy.js && npm run sync && npm run build-js && npm run build-css && node ./tools/clean.js",
|
||||||
"deploy-v2": "npm run deploy-v3 && node ./tools/v2.js",
|
"deploy-v2": "npm run deploy-v3 && node ./tools/v2.js",
|
||||||
"build-js": "tsc -p tsconfig.json",
|
"build-js": "webpack --config ./webpack.config.cjs && webpack --config ./webpack.config.settings.cjs && webpack --config ./webpack.config.background.cjs",
|
||||||
"build-css": "sass ./src/sass/:./dist/css/",
|
"build-css": "sass ./src/sass/:./dist/css/",
|
||||||
"build-tooling": "tsc ./tools/v2.ts --target esnext --module esnext --lib ESNext && tsc ./tools/syncConfig.ts --target esnext --module esnext --lib ESNext && tsc ./tools/deploy.ts --target esnext --module esnext --lib ESNext",
|
"build-tooling": "tsc --project ./tooling.tsconfig.json",
|
||||||
"watch-ts": "tsc -w -p tsconfig.json",
|
"watch-ts": "tsc -w -p tsconfig.json",
|
||||||
"watch-sass": "sass --watch ./src/sass/:./dist/css/",
|
"watch-sass": "sass --watch ./src/sass/:./dist/css/",
|
||||||
"sync": "npm run build-tooling && node ./tools/syncConfig.js"
|
"sync": "npm run build-tooling && node ./tools/syncConfig.js"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/node": "^18.7.4",
|
"@types/chrome": "^0.0.206",
|
||||||
|
"@types/node": "^18.11.18",
|
||||||
|
"@webcomponents/webcomponentsjs": "^2.7.0",
|
||||||
"sass": "^1.39.0",
|
"sass": "^1.39.0",
|
||||||
"typescript": "^4.2.4"
|
"ts-loader": "^9.4.2",
|
||||||
|
"typescript": "^4.2.4",
|
||||||
|
"webpack": "^5.75.0",
|
||||||
|
"webpack-cli": "^5.0.1"
|
||||||
},
|
},
|
||||||
"browserslist": [
|
"browserslist": [
|
||||||
"> 1%",
|
"> 1%",
|
||||||
|
@ -38,5 +43,9 @@
|
||||||
},
|
},
|
||||||
"bugs": {
|
"bugs": {
|
||||||
"url": "https://github.com/JosunLP/BrowserExtensionTemplate/issues"
|
"url": "https://github.com/JosunLP/BrowserExtensionTemplate/issues"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@webcomponents/custom-elements": "^1.5.1",
|
||||||
|
"bootstrap": "^5.2.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
import { Session } from "./classes/session.js"
|
import { Session } from "./classes/session"
|
||||||
|
|
||||||
class App {
|
class App {
|
||||||
|
|
||||||
|
@ -27,4 +27,4 @@ class App {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
new App();
|
new App();
|
||||||
|
|
|
@ -1,226 +0,0 @@
|
||||||
@import 'mixin'
|
|
||||||
|
|
||||||
.btn-neutral
|
|
||||||
color: #fff
|
|
||||||
background-color: #000
|
|
||||||
border-color: #000
|
|
||||||
@include partialButton
|
|
||||||
|
|
||||||
.btn-neutral:hover
|
|
||||||
color: #000
|
|
||||||
background-color: #fff
|
|
||||||
border-color: #fff
|
|
||||||
|
|
||||||
.btn-neutral:focus, .btn-neutral.focus
|
|
||||||
box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5)
|
|
||||||
|
|
||||||
.btn-neutral.disabled, .btn-neutral:disabled
|
|
||||||
color: #fff
|
|
||||||
background-color: #000
|
|
||||||
border-color: #000
|
|
||||||
|
|
||||||
.btn-neutral:not(:disabled):not(.disabled):active, .btn-neutral:not(:disabled):not(.disabled).active,
|
|
||||||
.show > .btn-neutral.dropdown-toggle
|
|
||||||
color: #000
|
|
||||||
background-color: #fff
|
|
||||||
border-color: #fff
|
|
||||||
|
|
||||||
.btn-primary
|
|
||||||
color: #fff
|
|
||||||
background-color: #007bff
|
|
||||||
border-color: #007bff
|
|
||||||
@include partialButton
|
|
||||||
|
|
||||||
.btn-primary:hover
|
|
||||||
color: #fff
|
|
||||||
background-color: #0069d9
|
|
||||||
border-color: #0062cc
|
|
||||||
|
|
||||||
.btn-primary:focus, .btn-primary.focus
|
|
||||||
box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5)
|
|
||||||
|
|
||||||
.btn-primary.disabled, .btn-primary:disabled
|
|
||||||
color: #fff
|
|
||||||
background-color: #007bff
|
|
||||||
border-color: #007bff
|
|
||||||
|
|
||||||
.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,
|
|
||||||
.show > .btn-primary.dropdown-toggle
|
|
||||||
color: #fff
|
|
||||||
background-color: #0062cc
|
|
||||||
border-color: #005cbf
|
|
||||||
|
|
||||||
.btn-secondary
|
|
||||||
color: #fff
|
|
||||||
background-color: #6c757d
|
|
||||||
border-color: #6c757d
|
|
||||||
@include partialButton
|
|
||||||
|
|
||||||
.btn-secondary:hover
|
|
||||||
color: #fff
|
|
||||||
background-color: #5a6268
|
|
||||||
border-color: #545b62
|
|
||||||
|
|
||||||
.btn-secondary:focus, .btn-secondary.focus
|
|
||||||
box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5)
|
|
||||||
|
|
||||||
.btn-secondary.disabled, .btn-secondary:disabled
|
|
||||||
color: #fff
|
|
||||||
background-color: #6c757d
|
|
||||||
border-color: #6c757d
|
|
||||||
|
|
||||||
.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,
|
|
||||||
.show > .btn-secondary.dropdown-toggle
|
|
||||||
color: #fff
|
|
||||||
background-color: #545b62
|
|
||||||
border-color: #4e555b
|
|
||||||
|
|
||||||
.btn-success
|
|
||||||
color: #fff
|
|
||||||
background-color: #28a745
|
|
||||||
border-color: #28a745
|
|
||||||
@include partialButton
|
|
||||||
|
|
||||||
.btn-success:hover
|
|
||||||
color: #fff
|
|
||||||
background-color: #218838
|
|
||||||
border-color: #1e7e34
|
|
||||||
|
|
||||||
.btn-success:focus, .btn-success.focus
|
|
||||||
box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5)
|
|
||||||
|
|
||||||
.btn-success.disabled, .btn-success:disabled
|
|
||||||
color: #fff
|
|
||||||
background-color: #28a745
|
|
||||||
border-color: #28a745
|
|
||||||
|
|
||||||
.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,
|
|
||||||
.show > .btn-success.dropdown-toggle
|
|
||||||
color: #fff
|
|
||||||
background-color: #1e7e34
|
|
||||||
border-color: #1c7430
|
|
||||||
|
|
||||||
.btn-info
|
|
||||||
color: #fff
|
|
||||||
background-color: #17a2b8
|
|
||||||
border-color: #17a2b8
|
|
||||||
@include partialButton
|
|
||||||
|
|
||||||
.btn-info:hover
|
|
||||||
color: #fff
|
|
||||||
background-color: #138496
|
|
||||||
border-color: #117a8b
|
|
||||||
|
|
||||||
.btn-info:focus, .btn-info.focus
|
|
||||||
box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5)
|
|
||||||
|
|
||||||
.btn-info.disabled, .btn-info:disabled
|
|
||||||
color: #fff
|
|
||||||
background-color: #17a2b8
|
|
||||||
border-color: #17a2b8
|
|
||||||
|
|
||||||
.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,
|
|
||||||
.show > .btn-info.dropdown-toggle
|
|
||||||
color: #fff
|
|
||||||
background-color: #117a8b
|
|
||||||
border-color: #10707f
|
|
||||||
|
|
||||||
.btn-warning
|
|
||||||
color: #212529
|
|
||||||
background-color: #ffc107
|
|
||||||
border-color: #ffc107
|
|
||||||
@include partialButton
|
|
||||||
|
|
||||||
.btn-warning:hover
|
|
||||||
color: #212529
|
|
||||||
background-color: #e0a800
|
|
||||||
border-color: #d39e00
|
|
||||||
|
|
||||||
.btn-warning:focus, .btn-warning.focus
|
|
||||||
box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5)
|
|
||||||
|
|
||||||
.btn-warning.disabled, .btn-warning:disabled
|
|
||||||
color: #212529
|
|
||||||
background-color: #ffc107
|
|
||||||
border-color: #ffc107
|
|
||||||
|
|
||||||
.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,
|
|
||||||
.show > .btn-warning.dropdown-toggle
|
|
||||||
color: #212529
|
|
||||||
background-color: #d39e00
|
|
||||||
border-color: #c69500
|
|
||||||
|
|
||||||
.btn-danger
|
|
||||||
color: #fff
|
|
||||||
background-color: #dc3545
|
|
||||||
border-color: #dc3545
|
|
||||||
@include partialButton
|
|
||||||
|
|
||||||
.btn-danger:hover
|
|
||||||
color: #fff
|
|
||||||
background-color: #c82333
|
|
||||||
border-color: #bd2130
|
|
||||||
|
|
||||||
.btn-danger:focus, .btn-danger.focus
|
|
||||||
box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5)
|
|
||||||
|
|
||||||
.btn-danger.disabled, .btn-danger:disabled
|
|
||||||
color: #fff
|
|
||||||
background-color: #dc3545
|
|
||||||
border-color: #dc3545
|
|
||||||
|
|
||||||
.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,
|
|
||||||
.show > .btn-danger.dropdown-toggle
|
|
||||||
color: #fff
|
|
||||||
background-color: #bd2130
|
|
||||||
border-color: #b21f2d
|
|
||||||
|
|
||||||
.btn-light
|
|
||||||
color: #212529
|
|
||||||
background-color: #f8f9fa
|
|
||||||
border-color: #f8f9fa
|
|
||||||
@include partialButton
|
|
||||||
|
|
||||||
.btn-light:hover
|
|
||||||
color: #212529
|
|
||||||
background-color: #e2e6ea
|
|
||||||
border-color: #dae0e5
|
|
||||||
|
|
||||||
.btn-light:focus, .btn-light.focus
|
|
||||||
box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5)
|
|
||||||
|
|
||||||
.btn-light.disabled, .btn-light:disabled
|
|
||||||
color: #212529
|
|
||||||
background-color: #f8f9fa
|
|
||||||
border-color: #f8f9fa
|
|
||||||
|
|
||||||
.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,
|
|
||||||
.show > .btn-light.dropdown-toggle
|
|
||||||
color: #212529
|
|
||||||
background-color: #dae0e5
|
|
||||||
border-color: #d3d9df
|
|
||||||
|
|
||||||
.btn-dark
|
|
||||||
color: #fff
|
|
||||||
background-color: #343a40
|
|
||||||
border-color: #343a40
|
|
||||||
@include partialButton
|
|
||||||
|
|
||||||
.btn-dark:hover
|
|
||||||
color: #fff
|
|
||||||
background-color: #23272b
|
|
||||||
border-color: #1d2124
|
|
||||||
|
|
||||||
.btn-dark:focus, .btn-dark.focus
|
|
||||||
box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5)
|
|
||||||
|
|
||||||
.btn-dark.disabled, .btn-dark:disabled
|
|
||||||
color: #fff
|
|
||||||
background-color: #343a40
|
|
||||||
border-color: #343a40
|
|
||||||
|
|
||||||
.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,
|
|
||||||
.show > .btn-dark.dropdown-toggle
|
|
||||||
color: #fff
|
|
||||||
background-color: #1d2124
|
|
||||||
border-color: #171a1d
|
|
|
@ -1,36 +0,0 @@
|
||||||
@import 'root'
|
|
||||||
|
|
||||||
.text-input
|
|
||||||
width: 80%
|
|
||||||
height: 2rem
|
|
||||||
border: none
|
|
||||||
border-radius: 0.5rem
|
|
||||||
padding: 0.5rem
|
|
||||||
margin-bottom: 0.5rem
|
|
||||||
font-size: 1rem
|
|
||||||
font-family: 'Roboto', sans-serif
|
|
||||||
color: $seccondary-color
|
|
||||||
background-color: $background-color-content
|
|
||||||
&:focus
|
|
||||||
outline: none
|
|
||||||
background-color: $background-color-content-focus
|
|
||||||
color: $seccondary-color
|
|
||||||
box-shadow: 0px 0px 30px silver
|
|
||||||
&:disabled
|
|
||||||
background-color: $background-color-content-disabled
|
|
||||||
color: $seccondary-color-disabled
|
|
||||||
box-shadow: none
|
|
||||||
&:hover
|
|
||||||
background-color: $background-color-content-hover
|
|
||||||
color: $seccondary-color-hover
|
|
||||||
box-shadow: 0px 0px 30px silver
|
|
||||||
&:active
|
|
||||||
background-color: $background-color-content-active
|
|
||||||
color: $seccondary-color-active
|
|
||||||
box-shadow: 0px 0px 30px silver
|
|
||||||
|
|
||||||
label
|
|
||||||
font-size: 1rem
|
|
||||||
font-family: 'Roboto', sans-serif
|
|
||||||
color: $main-font-color
|
|
||||||
margin-bottom: 0.5rem
|
|
|
@ -5,6 +5,12 @@ $main-font-color-focus: lightgrey
|
||||||
$main-font-color-disabled: lightgrey
|
$main-font-color-disabled: lightgrey
|
||||||
$main-font-color-active: lightgrey
|
$main-font-color-active: lightgrey
|
||||||
$main-uschrift-font: 'Ubuntu', Arial
|
$main-uschrift-font: 'Ubuntu', Arial
|
||||||
|
$primary-color: #007bff
|
||||||
|
$primary-color-hover: #0069d9
|
||||||
|
$primary-color-focus: #0062cc
|
||||||
|
$primary-color-disabled: #0069d9
|
||||||
|
$primary-color-active: #0062cc
|
||||||
|
$background-color-content-shadow: #0069d9
|
||||||
$seccond-color: #6c757d
|
$seccond-color: #6c757d
|
||||||
$seccondary-color: darkgrey
|
$seccondary-color: darkgrey
|
||||||
$seccondary-color-hover: black
|
$seccondary-color-hover: black
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
@import 'root'
|
@import 'root'
|
||||||
@import 'mixin'
|
@import 'mixin'
|
||||||
@import 'content'
|
@import 'content'
|
||||||
@import 'button'
|
@import "../../node_modules/bootstrap/scss/bootstrap"
|
||||||
@import 'input'
|
|
||||||
|
|
||||||
body
|
body
|
||||||
height: 30rem
|
height: 30rem
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import { Session } from "./classes/session.js";
|
import { Session } from "./classes/session";
|
||||||
import { BasicButton } from "./components/button.js";
|
import { BasicButton } from "./components/button";
|
||||||
|
|
||||||
class Settings {
|
class Settings {
|
||||||
|
|
||||||
|
@ -14,8 +14,8 @@ class Settings {
|
||||||
const saveButton = new BasicButton('success', 'Save', 'saveSettings').render();
|
const saveButton = new BasicButton('success', 'Save', 'saveSettings').render();
|
||||||
settings.innerHTML = `
|
settings.innerHTML = `
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<input type="text" class="form-control text-input" id="contentTest" placeholder="Enter content test" value="${this.session.contentTest}">
|
|
||||||
<label for="contentTest">Content Test</label>
|
<label for="contentTest">Content Test</label>
|
||||||
|
<input type="text" class="form-control text-input" id="contentTest" placeholder="Enter content test" value="${this.session.contentTest}">
|
||||||
</div>
|
</div>
|
||||||
`;
|
`;
|
||||||
settings.innerHTML += saveButton;
|
settings.innerHTML += saveButton;
|
||||||
|
|
28
tooling.tsconfig.json
Normal file
28
tooling.tsconfig.json
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"compilerOptions": {
|
||||||
|
"target": "ESNext",
|
||||||
|
"module": "ESNext",
|
||||||
|
"outDir": "./tools/",
|
||||||
|
"rootDir": "./tools/",
|
||||||
|
"removeComments": true,
|
||||||
|
"moduleResolution": "node",
|
||||||
|
"strict": true,
|
||||||
|
"esModuleInterop": true,
|
||||||
|
"skipLibCheck": true,
|
||||||
|
"forceConsistentCasingInFileNames": true,
|
||||||
|
"types": [
|
||||||
|
"node",
|
||||||
|
"chrome"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"include": [
|
||||||
|
"./tools/*.ts"
|
||||||
|
],
|
||||||
|
"exclude": [
|
||||||
|
"node_modules",
|
||||||
|
"./src/*.ts",
|
||||||
|
"./src/**/*.ts",
|
||||||
|
"./dist/*.ts",
|
||||||
|
"./dist/*.js"
|
||||||
|
]
|
||||||
|
}
|
9
tools/clean.ts
Normal file
9
tools/clean.ts
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
import * as fs from "fs";
|
||||||
|
|
||||||
|
function removeExport(file: string) {
|
||||||
|
let content = fs.readFileSync(file, "utf8");
|
||||||
|
content = content.replace("export {};", "");
|
||||||
|
fs.writeFileSync(file, content);
|
||||||
|
}
|
||||||
|
|
||||||
|
removeExport("./dist/js/background.js");
|
140
tsconfig.json
140
tsconfig.json
|
@ -1,81 +1,75 @@
|
||||||
{
|
{
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
/* Visit https://aka.ms/tsconfig.json to read more about this file */
|
/* Visit https://aka.ms/tsconfig.json to read more about this file */
|
||||||
|
|
||||||
/* Basic Options */
|
/* Basic Options */
|
||||||
// "incremental": true, /* Enable incremental compilation */
|
// "incremental": true, /* Enable incremental compilation */
|
||||||
"target": "ESNext", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', 'ES2021', or 'ESNEXT'. */
|
"target": "ESNext" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', 'ES2021', or 'ESNEXT'. */,
|
||||||
"module": "ESNext", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */
|
"module": "ESNext" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */,
|
||||||
// "lib": ["ESNext"], /* Specify library files to be included in the compilation. */
|
// "lib": ["ESNext"], /* Specify library files to be included in the compilation. */
|
||||||
// "allowJs": true, /* Allow javascript files to be compiled. */
|
// "allowJs": true, /* Allow javascript files to be compiled. */
|
||||||
// "checkJs": true, /* Report errors in .js files. */
|
// "checkJs": true, /* Report errors in .js files. */
|
||||||
// "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', 'react', 'react-jsx' or 'react-jsxdev'. */
|
// "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', 'react', 'react-jsx' or 'react-jsxdev'. */
|
||||||
// "declaration": true, /* Generates corresponding '.d.ts' file. */
|
"declaration": true, /* Generates corresponding '.d.ts' file. */
|
||||||
// "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */
|
"declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */
|
||||||
// "sourceMap": true, /* Generates corresponding '.map' file. */
|
"sourceMap": true /* Generates corresponding '.map' file. */,
|
||||||
// "outFile": "./public/js/app.js", /* Concatenate and emit output to single file. */
|
// "outFile": "./public/js/app.js", /* Concatenate and emit output to single file. */
|
||||||
"outDir": "./dist/js/", /* Redirect output structure to the directory. */
|
"outDir": "./dist/js/" /* Redirect output structure to the directory. */,
|
||||||
// "rootDir": "./", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */
|
// "rootDir": "./", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */
|
||||||
// "composite": true, /* Enable project compilation */
|
// "composite": true, /* Enable project compilation */
|
||||||
// "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */
|
// "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */
|
||||||
// "removeComments": true, /* Do not emit comments to output. */
|
"removeComments": true /* Do not emit comments to output. */,
|
||||||
// "noEmit": true, /* Do not emit outputs. */
|
// "noEmit": true, /* Do not emit outputs. */
|
||||||
// "importHelpers": true, /* Import emit helpers from 'tslib'. */
|
// "importHelpers": true, /* Import emit helpers from 'tslib'. */
|
||||||
// "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */
|
// "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */
|
||||||
// "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */
|
// "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */
|
||||||
"moduleResolution": "node",
|
"moduleResolution": "node",
|
||||||
/* Strict Type-Checking Options */
|
/* Strict Type-Checking Options */
|
||||||
"strict": true, /* Enable all strict type-checking options. */
|
"strict": true /* Enable all strict type-checking options. */,
|
||||||
// "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */
|
"noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */
|
||||||
// "strictNullChecks": true, /* Enable strict null checks. */
|
// "strictNullChecks": true, /* Enable strict null checks. */
|
||||||
// "strictFunctionTypes": true, /* Enable strict checking of function types. */
|
// "strictFunctionTypes": true, /* Enable strict checking of function types. */
|
||||||
// "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */
|
// "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */
|
||||||
// "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */
|
// "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */
|
||||||
// "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */
|
// "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */
|
||||||
// "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */
|
// "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */
|
||||||
|
|
||||||
/* Additional Checks */
|
/* Additional Checks */
|
||||||
// "noUnusedLocals": true, /* Report errors on unused locals. */
|
// "noUnusedLocals": true, /* Report errors on unused locals. */
|
||||||
// "noUnusedParameters": true, /* Report errors on unused parameters. */
|
// "noUnusedParameters": true, /* Report errors on unused parameters. */
|
||||||
// "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */
|
// "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */
|
||||||
// "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */
|
// "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */
|
||||||
// "noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */
|
// "noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */
|
||||||
// "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an 'override' modifier. */
|
// "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an 'override' modifier. */
|
||||||
// "noPropertyAccessFromIndexSignature": true, /* Require undeclared properties from index signatures to use element accesses. */
|
// "noPropertyAccessFromIndexSignature": true, /* Require undeclared properties from index signatures to use element accesses. */
|
||||||
|
|
||||||
/* Module Resolution Options */
|
/* Module Resolution Options */
|
||||||
// "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
|
// "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
|
||||||
// "baseUrl": "./", /* Base directory to resolve non-absolute module names. */
|
// "baseUrl": "./", /* Base directory to resolve non-absolute module names. */
|
||||||
// "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */
|
// "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */
|
||||||
// "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */
|
// "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */
|
||||||
// "typeRoots": [], /* List of folders to include type definitions from. */
|
// "typeRoots": [], /* List of folders to include type definitions from. */
|
||||||
// "types": [], /* Type declaration files to be included in compilation. */
|
// "types": [], /* Type declaration files to be included in compilation. */
|
||||||
// "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */
|
// "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */
|
||||||
"esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
|
"esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */,
|
||||||
// "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */
|
// "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */
|
||||||
// "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */
|
// "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */
|
||||||
|
|
||||||
/* Source Map Options */
|
/* Source Map Options */
|
||||||
// "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */
|
// "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */
|
||||||
// "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */
|
// "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */
|
||||||
// "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */
|
// "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */
|
||||||
// "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */
|
// "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */
|
||||||
|
|
||||||
/* Experimental Options */
|
/* Experimental Options */
|
||||||
// "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */
|
// "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */
|
||||||
// "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */
|
// "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */
|
||||||
|
|
||||||
/* Advanced Options */
|
/* Advanced Options */
|
||||||
"skipLibCheck": true, /* Skip type checking of declaration files. */
|
"skipLibCheck": true /* Skip type checking of declaration files. */,
|
||||||
"forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */
|
"forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */
|
||||||
},
|
},
|
||||||
"include": [
|
"include": ["./src/**/*.ts", "./src/*.ts"],
|
||||||
"./src/**/*.ts",
|
"exclude": ["node_modules", "./tools/*.ts", "./dist/*.ts", "./dist/*.js"],
|
||||||
"./src/*.ts"
|
"types": ["node", "chrome"]
|
||||||
],
|
|
||||||
"exclude": [
|
|
||||||
"./tools/*.ts",
|
|
||||||
"./dist/*.ts",
|
|
||||||
"./dist/*.js"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
|
28
webpack.config.background.cjs
Normal file
28
webpack.config.background.cjs
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
const path = require('path');
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
entry: './src/background.ts',
|
||||||
|
mode: 'production',
|
||||||
|
devtool: 'source-map',
|
||||||
|
module: {
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
test: /\.tsx?$/,
|
||||||
|
use: 'ts-loader',
|
||||||
|
exclude: [
|
||||||
|
"/node_modules/",
|
||||||
|
"/dist/",
|
||||||
|
"/src/app.ts",
|
||||||
|
"/src/settings.ts"
|
||||||
|
],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
resolve: {
|
||||||
|
extensions: ['.tsx', '.ts'],
|
||||||
|
},
|
||||||
|
output: {
|
||||||
|
filename: 'background.js',
|
||||||
|
path: path.resolve(__dirname, 'dist/js'),
|
||||||
|
},
|
||||||
|
};
|
28
webpack.config.cjs
Normal file
28
webpack.config.cjs
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
const path = require('path');
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
entry: './src/app.ts',
|
||||||
|
mode: 'production',
|
||||||
|
devtool: 'source-map',
|
||||||
|
module: {
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
test: /\.tsx?$/,
|
||||||
|
use: 'ts-loader',
|
||||||
|
exclude: [
|
||||||
|
"/node_modules/",
|
||||||
|
"/dist/",
|
||||||
|
"/src/background.ts",
|
||||||
|
"/src/settings.ts"
|
||||||
|
],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
resolve: {
|
||||||
|
extensions: ['.tsx', '.ts'],
|
||||||
|
},
|
||||||
|
output: {
|
||||||
|
filename: 'app.js',
|
||||||
|
path: path.resolve(__dirname, 'dist/js'),
|
||||||
|
},
|
||||||
|
};
|
28
webpack.config.settings.cjs
Normal file
28
webpack.config.settings.cjs
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
const path = require('path');
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
entry: './src/settings.ts',
|
||||||
|
mode: 'production',
|
||||||
|
devtool: 'source-map',
|
||||||
|
module: {
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
test: /\.tsx?$/,
|
||||||
|
use: 'ts-loader',
|
||||||
|
exclude: [
|
||||||
|
"/node_modules/",
|
||||||
|
"/dist/",
|
||||||
|
"/src/background.ts",
|
||||||
|
"/src/app.ts"
|
||||||
|
],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
resolve: {
|
||||||
|
extensions: ['.tsx', '.ts'],
|
||||||
|
},
|
||||||
|
output: {
|
||||||
|
filename: 'settings.js',
|
||||||
|
path: path.resolve(__dirname, 'dist/js'),
|
||||||
|
},
|
||||||
|
};
|
Loading…
Add table
Reference in a new issue