diff --git a/package.json b/package.json index 17c893c..c88c786 100644 --- a/package.json +++ b/package.json @@ -1,25 +1,29 @@ { "name": "javascript-boilerplate", "version": "1.0.0", - "description": "Chrome Extension boilerplate with JS and Rollup", + "private": true, + "description": "This Chrome Extension boilerplate supports modern, modular JavaScript and automatic reloading during development.", "license": "MIT", "author": { "name": "Jack Steam", "email": "jacksteamdev@gmail.com" }, "scripts": { - "build": "rollup -c", - "watch": "rollup -w -c" + "build": "cross-env NODE_ENV=production rollup -c", + "watch": "cross-env NODE_ENV=development rollup -w -c" }, "dependencies": { "@types/chrome": "0.0.122" }, "devDependencies": { + "@rollup/plugin-commonjs": "^15.1.0", + "@rollup/plugin-node-resolve": "^9.0.0", + "cross-env": "^7.0.2", "eslint": "^7.7.0", "prettier": "^2.1.1", "rollup": "^2.26.8", "rollup-plugin-chrome-extension": "^3.3.0", - "rollup-plugin-commonjs": "^10.1.0", - "rollup-plugin-node-resolve": "^5.2.0" + "rollup-plugin-empty-dir": "^1.0.4", + "rollup-plugin-zip": "^1.0.1" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0d0ad4b..f8bff0f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,12 +1,15 @@ dependencies: '@types/chrome': 0.0.122 devDependencies: + '@rollup/plugin-commonjs': 15.1.0_rollup@2.26.8 + '@rollup/plugin-node-resolve': 9.0.0_rollup@2.26.8 + cross-env: 7.0.2 eslint: 7.7.0 prettier: 2.1.1 rollup: 2.26.8 rollup-plugin-chrome-extension: 3.3.0 - rollup-plugin-commonjs: 10.1.0_rollup@2.26.8 - rollup-plugin-node-resolve: 5.2.0_rollup@2.26.8 + rollup-plugin-empty-dir: 1.0.4_rollup@2.26.8 + rollup-plugin-zip: 1.0.1_rollup@2.26.8 lockfileVersion: 5.1 packages: /@babel/code-frame/7.10.4: @@ -27,6 +30,52 @@ packages: dev: true resolution: integrity: sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== + /@rollup/plugin-commonjs/15.1.0_rollup@2.26.8: + dependencies: + '@rollup/pluginutils': 3.1.0_rollup@2.26.8 + commondir: 1.0.1 + estree-walker: 2.0.1 + glob: 7.1.6 + is-reference: 1.2.1 + magic-string: 0.25.7 + resolve: 1.18.1 + rollup: 2.26.8 + dev: true + engines: + node: '>= 8.0.0' + peerDependencies: + rollup: ^2.22.0 + resolution: + integrity: sha512-xCQqz4z/o0h2syQ7d9LskIMvBSH4PX5PjYdpSSvgS+pQik3WahkQVNWg3D8XJeYjZoVWnIUQYDghuEMRGrmQYQ== + /@rollup/plugin-node-resolve/9.0.0_rollup@2.26.8: + dependencies: + '@rollup/pluginutils': 3.1.0_rollup@2.26.8 + '@types/resolve': 1.17.1 + builtin-modules: 3.1.0 + deepmerge: 4.2.2 + is-module: 1.0.0 + resolve: 1.18.1 + rollup: 2.26.8 + dev: true + engines: + node: '>= 10.0.0' + peerDependencies: + rollup: ^1.20.0||^2.0.0 + resolution: + integrity: sha512-gPz+utFHLRrd41WMP13Jq5mqqzHL3OXrfj3/MkSyB6UBIcuNt9j60GCbarzMzdf1VHFpOxfQh/ez7wyadLMqkg== + /@rollup/pluginutils/3.1.0_rollup@2.26.8: + dependencies: + '@types/estree': 0.0.39 + estree-walker: 1.0.1 + picomatch: 2.2.2 + rollup: 2.26.8 + dev: true + engines: + node: '>= 8.0.0' + peerDependencies: + rollup: ^1.20.0||^2.0.0 + resolution: + integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== /@types/chrome/0.0.122: dependencies: '@types/filesystem': 0.0.29 @@ -34,10 +83,10 @@ packages: dev: false resolution: integrity: sha512-xHmT1AlBwKAVpQmv+/5gUsB1FXLUiizIZI6bIM52DJDtEhv97FkryHkohjw2HZqAGLOxuJ3kae7YfgWIZ+hMrg== - /@types/color-name/1.1.1: + /@types/estree/0.0.39: dev: true resolution: - integrity: sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== + integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== /@types/estree/0.0.45: dev: true resolution: @@ -56,6 +105,10 @@ packages: dev: false resolution: integrity: sha512-iUxzm1meBm3stxUMzRqgOVHjj4Kgpgu5w9fm4X7kPRfSgVRzythsucEN7/jtOo8SQzm+HfcxWWzJS0mJDH/3DQ== + /@types/node/14.11.10: + dev: true + resolution: + integrity: sha512-yV1nWZPlMFpoXyoknm4S56y2nlTAuFYaJuQtYRAOU7xA/FJ9RY0Xm7QOkaYMMmr8ESdHIuUb6oQgR/0+2NqlyA== /@types/node/14.6.2: dev: true resolution: @@ -64,12 +117,12 @@ packages: dev: true resolution: integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== - /@types/resolve/0.0.8: + /@types/resolve/1.17.1: dependencies: - '@types/node': 14.6.2 + '@types/node': 14.11.10 dev: true resolution: - integrity: sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ== + integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw== /acorn-jsx/5.2.0_acorn@7.4.0: dependencies: acorn: 7.4.0 @@ -120,15 +173,14 @@ packages: node: '>=4' resolution: integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - /ansi-styles/4.2.1: + /ansi-styles/4.3.0: dependencies: - '@types/color-name': 1.1.1 color-convert: 2.0.1 dev: true engines: node: '>=8' resolution: - integrity: sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA== + integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== /argparse/1.0.10: dependencies: sprintf-js: 1.0.3 @@ -162,6 +214,10 @@ packages: dev: true resolution: integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + /buffer-crc32/0.2.13: + dev: true + resolution: + integrity: sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= /builtin-modules/3.1.0: dev: true engines: @@ -186,7 +242,7 @@ packages: integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== /chalk/4.1.0: dependencies: - ansi-styles: 4.2.1 + ansi-styles: 4.3.0 supports-color: 7.2.0 dev: true engines: @@ -228,6 +284,10 @@ packages: dev: true resolution: integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + /commondir/1.0.1: + dev: true + resolution: + integrity: sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= /concat-map/0.0.1: dev: true resolution: @@ -244,6 +304,17 @@ packages: node: '>=8' resolution: integrity: sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== + /cross-env/7.0.2: + dependencies: + cross-spawn: 7.0.3 + dev: true + engines: + node: '>=10.14' + npm: '>=6' + yarn: '>=1' + hasBin: true + resolution: + integrity: sha512-KZP/bMEOJEDCkDQAyRhu3RL2ZO/SUVrxQVI0G3YEQ+OLbRA3c6zgixe8Mq8a/z7+HKlNEjo8oiLUs8iRijY2Rw== /cross-spawn/7.0.3: dependencies: path-key: 3.1.1 @@ -277,6 +348,12 @@ packages: dev: true resolution: integrity: sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + /deepmerge/4.2.2: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== /doctrine/3.0.0: dependencies: esutils: 2.0.3 @@ -292,10 +369,21 @@ packages: dev: true resolution: integrity: sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA== + /dom-serializer/0.2.2: + dependencies: + domelementtype: 2.0.2 + entities: 2.1.0 + dev: true + resolution: + integrity: sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== /domelementtype/1.3.1: dev: true resolution: integrity: sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== + /domelementtype/2.0.2: + dev: true + resolution: + integrity: sha512-wFwTwCVebUrMgGeAwRL/NhZtHAUyT9n9yg4IMDwf10+6iCMxSkVq9MGCVEH+QZWo1nNidy8kNvwmv4zWHDTqvA== /domhandler/2.4.2: dependencies: domelementtype: 1.3.1 @@ -311,7 +399,7 @@ packages: integrity: sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8= /domutils/1.7.0: dependencies: - dom-serializer: 0.1.1 + dom-serializer: 0.2.2 domelementtype: 1.3.1 dev: true resolution: @@ -332,6 +420,10 @@ packages: dev: true resolution: integrity: sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== + /entities/2.1.0: + dev: true + resolution: + integrity: sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w== /error-ex/1.3.2: dependencies: is-arrayish: 0.2.1 @@ -456,10 +548,14 @@ packages: node: '>=4.0' resolution: integrity: sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== - /estree-walker/0.6.1: + /estree-walker/1.0.1: dev: true resolution: - integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== + integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== + /estree-walker/2.0.1: + dev: true + resolution: + integrity: sha512-tF0hv+Yi2Ot1cwj9eYHtxC0jB9bmjacjQs6ZBTj82H8JwUywFuc+7E83NWfNMwHXZc11mjfFcVXPe9gEP4B8dg== /esutils/2.0.3: dev: true engines: @@ -500,6 +596,16 @@ packages: dev: true resolution: integrity: sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== + /fs-extra/7.0.1: + dependencies: + graceful-fs: 4.2.4 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: true + engines: + node: '>=6 <7 || >=8' + resolution: + integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== /fs-extra/8.1.0: dependencies: graceful-fs: 4.2.4 @@ -523,6 +629,10 @@ packages: - darwin resolution: integrity: sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== + /function-bind/1.1.1: + dev: true + resolution: + integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== /functional-red-black-tree/1.0.1: dev: true resolution: @@ -570,6 +680,14 @@ packages: node: '>=8' resolution: integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + /has/1.0.3: + dependencies: + function-bind: 1.1.1 + dev: true + engines: + node: '>= 0.4.0' + resolution: + integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== /htmlparser2/3.10.1: dependencies: domelementtype: 1.3.1 @@ -617,6 +735,12 @@ packages: dev: true resolution: integrity: sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + /is-core-module/2.0.0: + dependencies: + has: 1.0.3 + dev: true + resolution: + integrity: sha512-jq1AH6C8MuteOoBPwkxHafmByhL9j5q4OaPGdbuD+ZtQJVzH+i6E3BJDQcBA09k57i2Hh2yQbEG8yObZ0jdlWw== /is-extglob/2.1.1: dev: true engines: @@ -842,6 +966,12 @@ packages: node: '>=8' resolution: integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + /picomatch/2.2.2: + dev: true + engines: + node: '>=8.6' + resolution: + integrity: sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== /prelude-ls/1.2.1: dev: true engines: @@ -896,12 +1026,13 @@ packages: node: '>=4' resolution: integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - /resolve/1.17.0: + /resolve/1.18.1: dependencies: + is-core-module: 2.0.0 path-parse: 1.0.6 dev: true resolution: - integrity: sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== + integrity: sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA== /rimraf/2.6.3: dependencies: glob: 7.1.6 @@ -928,40 +1059,24 @@ packages: node: '>=8.16.0' resolution: integrity: sha512-lsjHyPWJWHrdfTovNgZId4Rh07APTOBX7Y0wW5hL8Kw8vuFyw2vXnyedT4sHHnmF3+Qp6GRwDVcKgapfdsch6w== - /rollup-plugin-commonjs/10.1.0_rollup@2.26.8: + /rollup-plugin-empty-dir/1.0.4_rollup@2.26.8: dependencies: - estree-walker: 0.6.1 - is-reference: 1.2.1 - magic-string: 0.25.7 - resolve: 1.17.0 + fs-extra: 7.0.1 rollup: 2.26.8 - rollup-pluginutils: 2.8.2 - deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-commonjs. dev: true peerDependencies: - rollup: '>=1.12.0' + rollup: ^1.6.0 resolution: - integrity: sha512-jlXbjZSQg8EIeAAvepNwhJj++qJWNJw1Cl0YnOqKtP5Djx+fFGkp3WRh+W0ASCaFG5w1jhmzDxgu3SJuVxPF4Q== - /rollup-plugin-node-resolve/5.2.0_rollup@2.26.8: + integrity: sha512-aFtZmca23Y9n6Bl/q9GC+qPvnz5NUH0uoliIqAJvTaOyDOHvEsa1xFKb457hHSnc7Ks+Q+kIjpOOwrKAe50bUw== + /rollup-plugin-zip/1.0.1_rollup@2.26.8: dependencies: - '@types/resolve': 0.0.8 - builtin-modules: 3.1.0 - is-module: 1.0.0 - resolve: 1.17.0 rollup: 2.26.8 - rollup-pluginutils: 2.8.2 - deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-node-resolve. + yazl: 2.5.1 dev: true peerDependencies: - rollup: '>=1.11.0' - resolution: - integrity: sha512-jUlyaDXts7TW2CqQ4GaO5VJ4PwwaV8VUGA7+km3n6k6xtOEacf61u0VXwN80phY/evMcaS+9eIeJ9MOyDxt5Zw== - /rollup-pluginutils/2.8.2: - dependencies: - estree-walker: 0.6.1 - dev: true + rollup: '>=2.0.2' resolution: - integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== + integrity: sha512-8FCEtN0sBYtItRX1Zlo6+NcezCRHKkf6w0hTNsHDCkN+LDzwQdLPE2pl28SvquTcMNA9KiTVL71i08lR0K9vgw== /rollup/2.26.8: dev: true engines: @@ -1156,11 +1271,20 @@ packages: node: '>= 6' resolution: integrity: sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg== + /yazl/2.5.1: + dependencies: + buffer-crc32: 0.2.13 + dev: true + resolution: + integrity: sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw== specifiers: + '@rollup/plugin-commonjs': ^15.1.0 + '@rollup/plugin-node-resolve': ^9.0.0 '@types/chrome': 0.0.122 + cross-env: ^7.0.2 eslint: ^7.7.0 prettier: ^2.1.1 rollup: ^2.26.8 rollup-plugin-chrome-extension: ^3.3.0 - rollup-plugin-commonjs: ^10.1.0 - rollup-plugin-node-resolve: ^5.2.0 + rollup-plugin-empty-dir: ^1.0.4 + rollup-plugin-zip: ^1.0.1