{"_id":"@dumlj/crx-live-reload-webpack-plugin","_rev":"22-6666d8fa1a171585fc53a89a23e7c7a8","name":"@dumlj/crx-live-reload-webpack-plugin","dist-tags":{"latest":"2.5.26","alpha":"2.5.27-alpha.1713365667.0"},"versions":{"2.5.18":{"name":"@dumlj/crx-live-reload-webpack-plugin","version":"2.5.18","description":"Livereload over SSE for develop Chrome Extension.","repository":{"type":"git","url":"git+https://github.com/dumlj/dumlj-build.git","directory":"@webpack-plugin/crx-live-reload-webpack-plugin"},"license":"MIT","main":"./libs/index.js","types":"./libs/index.d.ts","dependencies":{"@dumlj/seed-webpack-plugin":"^2.5.18","tslib":"^2.5.0","@types/chrome":"^0.0.193"},"devDependencies":{"@jest/types":"^29.6.3","@types/webpack":"^5.28.4","@types/webpack-dev-server":"^4","ts-jest":"^29.1.1"},"peerDependencies":{"webpack":"5.x","webpack-dev-server":"4.x"},"optionalDependencies":{"@types/chrome":"^0.0.193"},"publishConfig":{"access":"public"},"gitHead":"c1a9e69158795f6bf39e0568d5172e2209591654","bugs":{"url":"https://github.com/dumlj/dumlj-build/issues"},"homepage":"https://github.com/dumlj/dumlj-build#readme","_id":"@dumlj/crx-live-reload-webpack-plugin@2.5.18","_nodeVersion":"19.9.0","_npmVersion":"lerna/7.4.2/node@v19.9.0+x64 (darwin)","dist":{"integrity":"sha512-r9aLxXbcVTp4Nr626koshP1cvVdE0FBIyVVp3V/Y1lyK3drNXry8Myq1Kkhk3kB0hbOug0tmMRIl28P5zA8GzQ==","shasum":"699887b1b071944b0e428c074792a293510cabd1","tarball":"https://registry.npmjs.org/@dumlj/crx-live-reload-webpack-plugin/-/crx-live-reload-webpack-plugin-2.5.18.tgz","fileCount":72,"unpackedSize":212529,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD9pem2cxVUU76l7IiQmg2TJt6KiTqf3NSbcMOg2G1z6wIgaOb7Blfe2/qFOaGDXc27LN5yZZM+rbw9sumXQrM+Z7I="}]},"_npmUser":{"name":"davidjones","email":"qowera@qq.com"},"directories":{},"maintainers":[{"name":"cjfff","email":"cjfff1996@gmail.com"},{"name":"sexymee","email":"sexy.is.353016313@gmail.com"},{"name":"davidjones","email":"qowera@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/crx-live-reload-webpack-plugin_2.5.18_1701083109210_0.41477613623174636"},"_hasShrinkwrap":false},"2.5.19":{"name":"@dumlj/crx-live-reload-webpack-plugin","version":"2.5.19","description":"Livereload over SSE for develop Chrome Extension.","repository":{"type":"git","url":"git+https://github.com/dumlj/dumlj-build.git","directory":"@webpack-plugin/crx-live-reload-webpack-plugin"},"license":"MIT","main":"./libs/index.js","types":"./libs/index.d.ts","dependencies":{"@dumlj/seed-webpack-plugin":"^2.5.19","tslib":"^2.5.0","@types/chrome":"^0.0.193"},"devDependencies":{"@jest/types":"^29.6.3","@types/webpack":"^5.28.4","@types/webpack-dev-server":"^4","ts-jest":"^29.1.1"},"peerDependencies":{"webpack":"5.x","webpack-dev-server":"4.x"},"optionalDependencies":{"@types/chrome":"^0.0.193"},"publishConfig":{"access":"public"},"gitHead":"9adac30fde84082ebc47d93bb7f09df06477a332","bugs":{"url":"https://github.com/dumlj/dumlj-build/issues"},"homepage":"https://github.com/dumlj/dumlj-build#readme","_id":"@dumlj/crx-live-reload-webpack-plugin@2.5.19","_nodeVersion":"20.9.0","_npmVersion":"lerna/7.4.2/node@v20.9.0+x64 (darwin)","dist":{"integrity":"sha512-4tr6ZgsPJ+9vQPLhXlf63SLuixvaXX3c/cQ3IH22rpcGlc5YTD7+q32BZ9DQWAM4MzExVm71RdGJUqeleIIOpg==","shasum":"3c60229912d80e40bb707f776af6443074c48ba9","tarball":"https://registry.npmjs.org/@dumlj/crx-live-reload-webpack-plugin/-/crx-live-reload-webpack-plugin-2.5.19.tgz","fileCount":72,"unpackedSize":212529,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIByBKaUd57kVS8gHZnVHIZFW7JOHhyHfF8bN4OQ4HXhuAiEAkTh4kBwe2TI3RrCX24oxGEeaqe+fqntdCDCFBF9cPOs="}]},"_npmUser":{"name":"davidjones","email":"qowera@qq.com"},"directories":{},"maintainers":[{"name":"cjfff","email":"cjfff1996@gmail.com"},{"name":"sexymee","email":"sexy.is.353016313@gmail.com"},{"name":"davidjones","email":"qowera@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/crx-live-reload-webpack-plugin_2.5.19_1701098537270_0.5866446415063231"},"_hasShrinkwrap":false},"2.5.20":{"name":"@dumlj/crx-live-reload-webpack-plugin","version":"2.5.20","description":"Livereload over SSE for develop Chrome Extension.","repository":{"type":"git","url":"git+https://github.com/dumlj/dumlj-build.git","directory":"@webpack-plugin/crx-live-reload-webpack-plugin"},"license":"MIT","main":"./libs/index.js","types":"./libs/index.d.ts","dependencies":{"@dumlj/seed-webpack-plugin":"^2.5.20","tslib":"^2.5.0","@types/chrome":"^0.0.193"},"devDependencies":{"@jest/types":"^29.6.3","@types/webpack":"^5.28.4","@types/webpack-dev-server":"^4","ts-jest":"^29.1.1"},"peerDependencies":{"webpack":"5.x","webpack-dev-server":"4.x"},"optionalDependencies":{"@types/chrome":"^0.0.193"},"publishConfig":{"access":"public"},"gitHead":"154a03398d03870b5ebc0503be02e74081edbf33","bugs":{"url":"https://github.com/dumlj/dumlj-build/issues"},"homepage":"https://github.com/dumlj/dumlj-build#readme","_id":"@dumlj/crx-live-reload-webpack-plugin@2.5.20","_nodeVersion":"20.9.0","_npmVersion":"lerna/7.4.2/node@v20.9.0+x64 (darwin)","dist":{"integrity":"sha512-3q9g5rsVhzTxpGl9OVx9sbeM95024LDzX96RUTzXqi1sjLcpuodM0Lk8s/J90GJX+R59jj2ggT6qbRRosGkxZQ==","shasum":"ff71d74d51f5a6bf38f818d726e30ee823e9b8ee","tarball":"https://registry.npmjs.org/@dumlj/crx-live-reload-webpack-plugin/-/crx-live-reload-webpack-plugin-2.5.20.tgz","fileCount":72,"unpackedSize":212550,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDD1dujXcEergBt6Xt7rDyGNI7SRokLSsQQboVOXq8TUAIgajUFsQ8XfAskhBS5XAroyDXeDQ2wC6v2IA+VtCf2eBQ="}]},"_npmUser":{"name":"davidjones","email":"qowera@qq.com"},"directories":{},"maintainers":[{"name":"cjfff","email":"cjfff1996@gmail.com"},{"name":"sexymee","email":"sexy.is.353016313@gmail.com"},{"name":"davidjones","email":"qowera@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/crx-live-reload-webpack-plugin_2.5.20_1701107492935_0.6144604050211964"},"_hasShrinkwrap":false},"2.5.21":{"name":"@dumlj/crx-live-reload-webpack-plugin","version":"2.5.21","description":"Livereload over SSE for develop Chrome Extension.","repository":{"type":"git","url":"git+https://github.com/dumlj/dumlj-build.git","directory":"@webpack-plugin/crx-live-reload-webpack-plugin"},"license":"MIT","main":"./libs/index.js","types":"./libs/index.d.ts","dependencies":{"@dumlj/seed-webpack-plugin":"^2.5.21","chrome":"^0.1.0","tslib":"^2.5.0"},"devDependencies":{"@jest/types":"^29.6.3","@types/chrome":"^0.0.193","@types/webpack":"^5.28.4","ts-jest":"^29.1.1"},"peerDependencies":{"@types/chrome":"*","webpack":"5.x","webpack-dev-server":"4.x"},"publishConfig":{"access":"public"},"gitHead":"c20b2c9d93af90e32df4d664a5a0beac8500c6fc","bugs":{"url":"https://github.com/dumlj/dumlj-build/issues"},"homepage":"https://github.com/dumlj/dumlj-build#readme","_id":"@dumlj/crx-live-reload-webpack-plugin@2.5.21","_nodeVersion":"20.10.0","_npmVersion":"lerna/7.4.2/node@v20.10.0+x64 (darwin)","dist":{"integrity":"sha512-yU6i3jbbI3SAK7TnoVi/QTjjFHIe3g423Xi4a8kUBWVJlBNLDXnjHh1vqynBYAzX08TTOhrF7XnRTCSSuYM5nA==","shasum":"fce3cde457ec4f2993693a519a20652dfcc83ba3","tarball":"https://registry.npmjs.org/@dumlj/crx-live-reload-webpack-plugin/-/crx-live-reload-webpack-plugin-2.5.21.tgz","fileCount":76,"unpackedSize":138580,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHny93MuZ+LFghpOmDLie79xOCTBgvKejrp0pzUHkW9EAiEAqVFaUxX0XBp/UMC2NQbQfVNbRmvu3VpvMt92MbAKxMQ="}]},"_npmUser":{"name":"davidjones","email":"qowera@qq.com"},"directories":{},"maintainers":[{"name":"cjfff","email":"cjfff1996@gmail.com"},{"name":"sexymee","email":"sexy.is.353016313@gmail.com"},{"name":"davidjones","email":"qowera@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/crx-live-reload-webpack-plugin_2.5.21_1703951262730_0.8644054194802913"},"_hasShrinkwrap":false},"2.5.22":{"name":"@dumlj/crx-live-reload-webpack-plugin","version":"2.5.22","description":"Livereload over SSE for develop Chrome Extension.","repository":{"type":"git","url":"git+https://github.com/dumlj/dumlj-build.git","directory":"@webpack-plugin/crx-live-reload-webpack-plugin"},"license":"MIT","main":"./libs/index.js","types":"./libs/index.d.ts","dependencies":{"@dumlj/seed-webpack-plugin":"^2.5.22","chrome":"^0.1.0","tslib":"^2.5.0"},"devDependencies":{"@jest/types":"^29.6.3","@types/chrome":"^0.0.193","@types/webpack":"^5.28.4","ts-jest":"^29.1.1"},"peerDependencies":{"@types/chrome":"*","webpack":"5.x","webpack-dev-server":"4.x"},"publishConfig":{"access":"public"},"gitHead":"fa2ca754471b403502517b87d9ea463710d7be8c","bugs":{"url":"https://github.com/dumlj/dumlj-build/issues"},"homepage":"https://github.com/dumlj/dumlj-build#readme","_id":"@dumlj/crx-live-reload-webpack-plugin@2.5.22","_nodeVersion":"20.10.0","_npmVersion":"lerna/7.4.2/node@v20.10.0+x64 (darwin)","dist":{"integrity":"sha512-LsarFdaYH5iWRi3NndaV1vCGgHvuKVvYcCpsqAq12IBqgIo96jX2N/Q57pFGWGJnGqk456LR1yLmXLnRa6slOw==","shasum":"70a2586f0e4ec3ead1edb9ba0f3ae57e77c4bb0c","tarball":"https://registry.npmjs.org/@dumlj/crx-live-reload-webpack-plugin/-/crx-live-reload-webpack-plugin-2.5.22.tgz","fileCount":72,"unpackedSize":212448,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEvnLiJ27NvaGdzZa/hNTvtEl/LKEsNdg/nCU5SOMzD/AiA2UINTUiXcTsl/ggzSNYSNoRuo9dFI/1i3Wsy76rEsrw=="}]},"_npmUser":{"name":"davidjones","email":"qowera@qq.com"},"directories":{},"maintainers":[{"name":"cjfff","email":"cjfff1996@gmail.com"},{"name":"sexymee","email":"sexy.is.353016313@gmail.com"},{"name":"davidjones","email":"qowera@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/crx-live-reload-webpack-plugin_2.5.22_1704161277495_0.04508579474395069"},"_hasShrinkwrap":false},"2.5.23-alpha.1707212485.0":{"name":"@dumlj/crx-live-reload-webpack-plugin","version":"2.5.23-alpha.1707212485.0","description":"Livereload over SSE for develop Chrome Extension.","repository":{"type":"git","url":"git+https://github.com/dumlj/dumlj-build.git","directory":"@webpack-plugin/crx-live-reload-webpack-plugin"},"license":"MIT","main":"./libs/index.js","types":"./libs/index.d.ts","dependencies":{"@dumlj/seed-webpack-plugin":"^2.5.23-alpha.1707212485.0+b7e1bb8","chrome":"^0.1.0","tslib":"^2.5.0"},"devDependencies":{"@jest/types":"^29.6.3","@types/chrome":"^0.0.193","@types/webpack":"^5.28.4","ts-jest":"^29.1.1"},"peerDependencies":{"@types/chrome":"*","webpack":"5.x","webpack-dev-server":"4.x"},"publishConfig":{"access":"public"},"gitHead":"b7e1bb8e680485d9780bc42ff9f2c8a37a6bd4be","readme":"<!-- This file is dynamically generated. please edit in __readme__ -->\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-4c1.svg)](https://opensource.org/licenses/MIT)&nbsp;\n[![Github Repo](https://img.shields.io/badge/GITHUB-REPO-0?logo=github)](https://github.com/dumlj/dumlj-build/tree/main/@webpack-plugin/crx-live-reload-webpack-plugin)&nbsp;\n[![NPM Version](https://badge.fury.io/js/@dumlj%2Fcrx-live-reload-webpack-plugin.svg)](https://www.npmjs.com/package/@dumlj/crx-live-reload-webpack-plugin)&nbsp;\n[![See Docs](https://img.shields.io/badge/see-docs-blue?logo=dumi&logoColor=green)](https://dumlj.github.io/dumlj-build/docs)&nbsp;\n[![codecov](https://codecov.io/gh/dumlj/dumlj-build/graph/badge.svg?token=ELV5W1H0C0)](https://codecov.io/gh/dumlj/dumlj-build)&nbsp;\n[![DeepSource](https://app.deepsource.com/gh/dumlj/dumlj-build.svg/?label=active+issues&show_trend=true&token=YtSFFZ702Q016pjWlBWT30Iy)](https://app.deepsource.com/gh/dumlj/dumlj-build/)&nbsp;\n\n# Crx Live Reload Webpack Plugin\n\nLivereload over SSE for develop Chrome Extension.\n\n## BACKGROUND\n\nSince Chrome extensions can only load local files, devServer hot reload does not work (only the browser can be reloaded or the scripts can be re-executed remotely). We need to use scripts to make it reload automatically, which contains the `background` and `content-script` modules.\n\n## FEATURE\n\n- Automatically inject reboot scripts.\n- Both `background` and `content-script` can use reboot capabilities.\n\n## INSTALL\n\n```bash\n# use npm\n$ npm install --dev @dumlj/crx-live-reload-webpack-plugin\n# use yarn\n$ yarn add --dev @dumlj/crx-live-reload-webpack-plugin\n# use pnpm\n$ pnpm add @dumlj/crx-live-reload-webpack-plugin -D\n```\n\n## USAGE\n\n```ts\nimport { CrxLiveReloadWebpackPlugin } from '@dumlj/crx-live-reload-webpack-plugin'\n\nexport default {\n  mode: 'development',\n  entry: {\n    background: path.join(__dirname, 'background.ts'),\n    contentScript: path.join(__dirname, 'contentScript.ts'),\n  },\n  plugins: [\n    ...new CrxLiveReloadWebpackPlugin({\n      // enter devServer host and port\n      // chrome extension can not mount files online.\n      host: '127.0.0.1',\n      port: 8080,\n    }),\n  ],\n  devServer: {\n    hot: true,\n    // livereload can not reboot background.js, close it.\n    liveReload: false,\n    devMiddleware: {\n      // as you know\n      writeToDisk: true,\n    },\n  },\n}\n```\n\n## LIVE DEMO\n\nSince I can't Mock Chrome, please open the console to view the logs.😅 And try to change `background.js` or `contentScript.js` files.\n\nWebpack DevServer port is `8080`, Static Server port is `3000`. In real environment, Chrome Extension will mount `./build` folder.\n\n<dumlj-stackblitz height=\"47vw\" src=\"@dumlj-example/crx-live-reload-webpack-plugin\"></dumlj-stackblitz>\n\n## INTERNAL DEPENDENCIES\n\n<pre>\n<b>@dumlj/crx-live-reload-webpack-plugin</b>\n└─┬ <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/seed-webpack-plugin%22,%22version%22:%222.5.22%22,%22description%22:%22Basic%20webpack%20plugins%22,%22isPrivate%22:false,%22location%22:%22@webpack-plugin/seed-webpack-plugin%22,%22dependencies%22:%5B%22@dumlj/feature-updater%22,%22chalk%22,%22tslib%22,%22utility-types%22,%22@dumlj/mock-lib%22,%22@jest/types%22,%22@types/webpack%22,%22ts-jest%22,%22webpack%22%5D,%22workspaceDependencies%22:%5B%22@dumlj/feature-updater%22,%22@dumlj/mock-lib%22%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@webpack-plugin/seed-webpack-plugin\">@dumlj/seed-webpack-plugin</a>\n  ├─┬─ <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/feature-updater%22,%22version%22:%222.5.22%22,%22description%22:%22updater%20for%20packages.%22,%22isPrivate%22:false,%22location%22:%22@feature/feature-updater%22,%22dependencies%22:%5B%22@dumlj/shell-lib%22,%22@dumlj/util-lib%22,%22fs-extra%22,%22semver%22,%22tslib%22,%22@dumlj/mock-lib%22,%22@jest/types%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%22@dumlj/shell-lib%22,%22@dumlj/util-lib%22,%22@dumlj/mock-lib%22%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@feature/feature-updater\">@dumlj/feature-updater</a>\n  │ ├─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/shell-lib%22,%22version%22:%222.5.22%22,%22description%22:%22shell%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:false,%22location%22:%22@lib/shell-lib%22,%22dependencies%22:%5B%22@jest/types%22,%22chokidar%22,%22command-exists%22,%22lodash%22,%22tslib%22,%22ts-jest%22,%22tsd-lite%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/shell-lib\">@dumlj/shell-lib</a>\n  │ ├─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/util-lib%22,%22version%22:%222.5.22%22,%22description%22:%22util%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:false,%22location%22:%22@lib/util-lib%22,%22dependencies%22:%5B%22fs-extra%22,%22glob%22,%22lodash%22,%22tslib%22,%22@jest/types%22,%22memfs%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/util-lib\">@dumlj/util-lib</a>\n  │ └─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/mock-lib%22,%22version%22:%222.5.22%22,%22description%22:%22mock%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:true,%22location%22:%22@lib/mock-lib%22,%22dependencies%22:%5B%22memfs%22,%22tslib%22,%22webpack%22,%22@jest/types%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/mock-lib\">@dumlj/mock-lib</a><sup><small><i>PRIVATE</i></small></sup>\n  └─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/mock-lib%22,%22version%22:%222.5.22%22,%22description%22:%22mock%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:true,%22location%22:%22@lib/mock-lib%22,%22dependencies%22:%5B%22memfs%22,%22tslib%22,%22webpack%22,%22@jest/types%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/mock-lib\">@dumlj/mock-lib</a><sup><small><i>PRIVATE</i></small></sup>\n</pre>\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/dumlj/dumlj-build/issues"},"homepage":"https://github.com/dumlj/dumlj-build#readme","_id":"@dumlj/crx-live-reload-webpack-plugin@2.5.23-alpha.1707212485.0","_nodeVersion":"20.11.0","_npmVersion":"lerna/7.4.2/node@v20.11.0+x64 (linux)","dist":{"integrity":"sha512-0bFBrGMH28mYM/wJze07Lyn7ZVgfy253ou+aT40FLrNCzyTGajdsFlBwEKIqnltFz3lgHzZQVtTvXiwCl3F5xw==","shasum":"491493e26d4066b6d1be34aa00ee559b035b7112","tarball":"https://registry.npmjs.org/@dumlj/crx-live-reload-webpack-plugin/-/crx-live-reload-webpack-plugin-2.5.23-alpha.1707212485.0.tgz","fileCount":72,"unpackedSize":130978,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE+bJNJgWn+q+rA6rswy0ffsXPFnb6tt6UVqWyzJLVV/AiEAwKLF0fLM2tn1d3lq4rLwT7q3zTaORcDKoisuat3Rmv0="}]},"_npmUser":{"name":"davidjones","email":"qowera@qq.com"},"directories":{},"maintainers":[{"name":"cjfff","email":"cjfff1996@gmail.com"},{"name":"sexymee","email":"sexy.is.353016313@gmail.com"},{"name":"davidjones","email":"qowera@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/crx-live-reload-webpack-plugin_2.5.23-alpha.1707212485.0_1707212492815_0.5066346305760947"},"_hasShrinkwrap":false},"2.5.23-alpha.1707244387.0":{"name":"@dumlj/crx-live-reload-webpack-plugin","version":"2.5.23-alpha.1707244387.0","description":"Livereload over SSE for develop Chrome Extension.","repository":{"type":"git","url":"git+https://github.com/dumlj/dumlj-build.git","directory":"@webpack-plugin/crx-live-reload-webpack-plugin"},"license":"MIT","main":"./libs/index.js","types":"./libs/index.d.ts","dependencies":{"@dumlj/seed-webpack-plugin":"^2.5.23-alpha.1707244387.0+ca48444","chrome":"^0.1.0","tslib":"^2.5.0"},"devDependencies":{"@jest/types":"^29.6.3","@types/chrome":"^0.0.193","@types/webpack":"^5.28.4","ts-jest":"^29.1.1"},"peerDependencies":{"@types/chrome":"*","webpack":"5.x","webpack-dev-server":"4.x"},"publishConfig":{"access":"public"},"gitHead":"ca484446e6a02af96822c21b0ea1238e06c39b64","readme":"<!-- This file is dynamically generated. please edit in __readme__ -->\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-4c1.svg)](https://opensource.org/licenses/MIT)&nbsp;\n[![Github Repo](https://img.shields.io/badge/GITHUB-REPO-0?logo=github)](https://github.com/dumlj/dumlj-build/tree/main/@webpack-plugin/crx-live-reload-webpack-plugin)&nbsp;\n[![NPM Version](https://badge.fury.io/js/@dumlj%2Fcrx-live-reload-webpack-plugin.svg)](https://www.npmjs.com/package/@dumlj/crx-live-reload-webpack-plugin)&nbsp;\n[![See Docs](https://img.shields.io/badge/see-docs-blue?logo=dumi&logoColor=green)](https://dumlj.github.io/dumlj-build/docs)&nbsp;\n[![codecov](https://codecov.io/gh/dumlj/dumlj-build/graph/badge.svg?token=ELV5W1H0C0)](https://codecov.io/gh/dumlj/dumlj-build)&nbsp;\n[![DeepSource](https://app.deepsource.com/gh/dumlj/dumlj-build.svg/?label=active+issues&show_trend=true&token=YtSFFZ702Q016pjWlBWT30Iy)](https://app.deepsource.com/gh/dumlj/dumlj-build/)&nbsp;\n\n# Crx Live Reload Webpack Plugin\n\nLivereload over SSE for develop Chrome Extension.\n\n## BACKGROUND\n\nSince Chrome extensions can only load local files, devServer hot reload does not work (only the browser can be reloaded or the scripts can be re-executed remotely). We need to use scripts to make it reload automatically, which contains the `background` and `content-script` modules.\n\n## FEATURE\n\n- Automatically inject reboot scripts.\n- Both `background` and `content-script` can use reboot capabilities.\n\n## INSTALL\n\n```bash\n# use npm\n$ npm install --dev @dumlj/crx-live-reload-webpack-plugin\n# use yarn\n$ yarn add --dev @dumlj/crx-live-reload-webpack-plugin\n# use pnpm\n$ pnpm add @dumlj/crx-live-reload-webpack-plugin -D\n```\n\n## USAGE\n\n```ts\nimport { CrxLiveReloadWebpackPlugin } from '@dumlj/crx-live-reload-webpack-plugin'\n\nexport default {\n  mode: 'development',\n  entry: {\n    background: path.join(__dirname, 'background.ts'),\n    contentScript: path.join(__dirname, 'contentScript.ts'),\n  },\n  plugins: [\n    ...new CrxLiveReloadWebpackPlugin({\n      // enter devServer host and port\n      // chrome extension can not mount files online.\n      host: '127.0.0.1',\n      port: 8080,\n    }),\n  ],\n  devServer: {\n    hot: true,\n    // livereload can not reboot background.js, close it.\n    liveReload: false,\n    devMiddleware: {\n      // as you know\n      writeToDisk: true,\n    },\n  },\n}\n```\n\n## LIVE DEMO\n\nSince I can't Mock Chrome, please open the console to view the logs.😅 And try to change `background.js` or `contentScript.js` files.\n\nWebpack DevServer port is `8080`, Static Server port is `3000`. In real environment, Chrome Extension will mount `./build` folder.\n\n<dumlj-stackblitz height=\"47vw\" src=\"@dumlj-example/crx-live-reload-webpack-plugin\"></dumlj-stackblitz>\n\n## INTERNAL DEPENDENCIES\n\n<pre>\n<b>@dumlj/crx-live-reload-webpack-plugin</b>\n└─┬ <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/seed-webpack-plugin%22,%22version%22:%222.5.22%22,%22description%22:%22Basic%20webpack%20plugins%22,%22isPrivate%22:false,%22location%22:%22@webpack-plugin/seed-webpack-plugin%22,%22dependencies%22:%5B%22@dumlj/feature-updater%22,%22chalk%22,%22tslib%22,%22utility-types%22,%22@dumlj/mock-lib%22,%22@jest/types%22,%22@types/webpack%22,%22ts-jest%22,%22webpack%22%5D,%22workspaceDependencies%22:%5B%22@dumlj/feature-updater%22,%22@dumlj/mock-lib%22%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@webpack-plugin/seed-webpack-plugin\">@dumlj/seed-webpack-plugin</a>\n  ├─┬─ <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/feature-updater%22,%22version%22:%222.5.22%22,%22description%22:%22updater%20for%20packages.%22,%22isPrivate%22:false,%22location%22:%22@feature/feature-updater%22,%22dependencies%22:%5B%22@dumlj/shell-lib%22,%22@dumlj/util-lib%22,%22fs-extra%22,%22semver%22,%22tslib%22,%22@dumlj/mock-lib%22,%22@jest/types%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%22@dumlj/shell-lib%22,%22@dumlj/util-lib%22,%22@dumlj/mock-lib%22%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@feature/feature-updater\">@dumlj/feature-updater</a>\n  │ ├─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/shell-lib%22,%22version%22:%222.5.22%22,%22description%22:%22shell%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:false,%22location%22:%22@lib/shell-lib%22,%22dependencies%22:%5B%22@jest/types%22,%22chokidar%22,%22command-exists%22,%22lodash%22,%22tslib%22,%22ts-jest%22,%22tsd-lite%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/shell-lib\">@dumlj/shell-lib</a>\n  │ ├─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/util-lib%22,%22version%22:%222.5.22%22,%22description%22:%22util%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:false,%22location%22:%22@lib/util-lib%22,%22dependencies%22:%5B%22fs-extra%22,%22glob%22,%22lodash%22,%22tslib%22,%22@jest/types%22,%22memfs%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/util-lib\">@dumlj/util-lib</a>\n  │ └─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/mock-lib%22,%22version%22:%222.5.22%22,%22description%22:%22mock%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:true,%22location%22:%22@lib/mock-lib%22,%22dependencies%22:%5B%22memfs%22,%22tslib%22,%22webpack%22,%22@jest/types%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/mock-lib\">@dumlj/mock-lib</a><sup><small><i>PRIVATE</i></small></sup>\n  └─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/mock-lib%22,%22version%22:%222.5.22%22,%22description%22:%22mock%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:true,%22location%22:%22@lib/mock-lib%22,%22dependencies%22:%5B%22memfs%22,%22tslib%22,%22webpack%22,%22@jest/types%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/mock-lib\">@dumlj/mock-lib</a><sup><small><i>PRIVATE</i></small></sup>\n</pre>\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/dumlj/dumlj-build/issues"},"homepage":"https://github.com/dumlj/dumlj-build#readme","_id":"@dumlj/crx-live-reload-webpack-plugin@2.5.23-alpha.1707244387.0","_nodeVersion":"20.11.0","_npmVersion":"lerna/7.4.2/node@v20.11.0+x64 (linux)","dist":{"integrity":"sha512-P/PnEvNyXYJ95Ub3Df/5jH6EQlzJOJcBZbC3jVy5SvJJk3vSBAvovDP0rOIrkxMflDLYKoC0/g0Q6hYhnZfbQA==","shasum":"07ba193ba97b12816867ae7c5f063de2770ebcff","tarball":"https://registry.npmjs.org/@dumlj/crx-live-reload-webpack-plugin/-/crx-live-reload-webpack-plugin-2.5.23-alpha.1707244387.0.tgz","fileCount":76,"unpackedSize":136568,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD2LpamFpK8LIFtlJlYm5x5/CjYcO+LMNGsiitnqO+8dAIgLZTCO5YbfOBuqFBR7//KlW88VXLoF8I0O/hEf5737s8="}]},"_npmUser":{"name":"davidjones","email":"qowera@qq.com"},"directories":{},"maintainers":[{"name":"cjfff","email":"cjfff1996@gmail.com"},{"name":"sexymee","email":"sexy.is.353016313@gmail.com"},{"name":"davidjones","email":"qowera@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/crx-live-reload-webpack-plugin_2.5.23-alpha.1707244387.0_1707244394910_0.09171235190274873"},"_hasShrinkwrap":false},"2.5.23-alpha.1707245597.0":{"name":"@dumlj/crx-live-reload-webpack-plugin","version":"2.5.23-alpha.1707245597.0","description":"Livereload over SSE for develop Chrome Extension.","repository":{"type":"git","url":"git+https://github.com/dumlj/dumlj-build.git","directory":"@webpack-plugin/crx-live-reload-webpack-plugin"},"license":"MIT","main":"./libs/index.js","types":"./libs/index.d.ts","dependencies":{"@dumlj/seed-webpack-plugin":"^2.5.23-alpha.1707245597.0+d35013b","chrome":"^0.1.0","tslib":"^2.5.0"},"devDependencies":{"@jest/types":"^29.6.3","@types/chrome":"^0.0.193","@types/webpack":"^5.28.4","ts-jest":"^29.1.1"},"peerDependencies":{"@types/chrome":"*","webpack":"5.x","webpack-dev-server":"4.x"},"publishConfig":{"access":"public"},"gitHead":"d35013b9cfc8ec96139b81a8a3935ffa8232753f","readme":"<!-- This file is dynamically generated. please edit in __readme__ -->\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-4c1.svg)](https://opensource.org/licenses/MIT)&nbsp;\n[![Github Repo](https://img.shields.io/badge/GITHUB-REPO-0?logo=github)](https://github.com/dumlj/dumlj-build/tree/main/@webpack-plugin/crx-live-reload-webpack-plugin)&nbsp;\n[![NPM Version](https://badge.fury.io/js/@dumlj%2Fcrx-live-reload-webpack-plugin.svg)](https://www.npmjs.com/package/@dumlj/crx-live-reload-webpack-plugin)&nbsp;\n[![See Docs](https://img.shields.io/badge/see-docs-blue?logo=dumi&logoColor=green)](https://dumlj.github.io/dumlj-build/docs)&nbsp;\n[![codecov](https://codecov.io/gh/dumlj/dumlj-build/graph/badge.svg?token=ELV5W1H0C0)](https://codecov.io/gh/dumlj/dumlj-build)&nbsp;\n[![DeepSource](https://app.deepsource.com/gh/dumlj/dumlj-build.svg/?label=active+issues&show_trend=true&token=YtSFFZ702Q016pjWlBWT30Iy)](https://app.deepsource.com/gh/dumlj/dumlj-build/)&nbsp;\n\n# Crx Live Reload Webpack Plugin\n\nLivereload over SSE for develop Chrome Extension.\n\n## BACKGROUND\n\nSince Chrome extensions can only load local files, devServer hot reload does not work (only the browser can be reloaded or the scripts can be re-executed remotely). We need to use scripts to make it reload automatically, which contains the `background` and `content-script` modules.\n\n## FEATURE\n\n- Automatically inject reboot scripts.\n- Both `background` and `content-script` can use reboot capabilities.\n\n## INSTALL\n\n```bash\n# use npm\n$ npm install --dev @dumlj/crx-live-reload-webpack-plugin\n# use yarn\n$ yarn add --dev @dumlj/crx-live-reload-webpack-plugin\n# use pnpm\n$ pnpm add @dumlj/crx-live-reload-webpack-plugin -D\n```\n\n## USAGE\n\n```ts\nimport { CrxLiveReloadWebpackPlugin } from '@dumlj/crx-live-reload-webpack-plugin'\n\nexport default {\n  mode: 'development',\n  entry: {\n    background: path.join(__dirname, 'background.ts'),\n    contentScript: path.join(__dirname, 'contentScript.ts'),\n  },\n  plugins: [\n    ...new CrxLiveReloadWebpackPlugin({\n      // enter devServer host and port\n      // chrome extension can not mount files online.\n      host: '127.0.0.1',\n      port: 8080,\n    }),\n  ],\n  devServer: {\n    hot: true,\n    // livereload can not reboot background.js, close it.\n    liveReload: false,\n    devMiddleware: {\n      // as you know\n      writeToDisk: true,\n    },\n  },\n}\n```\n\n## LIVE DEMO\n\nSince I can't Mock Chrome, please open the console to view the logs.😅 And try to change `background.js` or `contentScript.js` files.\n\nWebpack DevServer port is `8080`, Static Server port is `3000`. In real environment, Chrome Extension will mount `./build` folder.\n\n<dumlj-stackblitz height=\"47vw\" src=\"@dumlj-example/crx-live-reload-webpack-plugin\"></dumlj-stackblitz>\n\n## INTERNAL DEPENDENCIES\n\n<pre>\n<b>@dumlj/crx-live-reload-webpack-plugin</b>\n└─┬ <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/seed-webpack-plugin%22,%22version%22:%222.5.22%22,%22description%22:%22Basic%20webpack%20plugins%22,%22isPrivate%22:false,%22location%22:%22@webpack-plugin/seed-webpack-plugin%22,%22dependencies%22:%5B%22@dumlj/feature-updater%22,%22chalk%22,%22tslib%22,%22utility-types%22,%22@dumlj/mock-lib%22,%22@jest/types%22,%22@types/webpack%22,%22ts-jest%22,%22webpack%22%5D,%22workspaceDependencies%22:%5B%22@dumlj/feature-updater%22,%22@dumlj/mock-lib%22%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@webpack-plugin/seed-webpack-plugin\">@dumlj/seed-webpack-plugin</a>\n  ├─┬─ <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/feature-updater%22,%22version%22:%222.5.22%22,%22description%22:%22updater%20for%20packages.%22,%22isPrivate%22:false,%22location%22:%22@feature/feature-updater%22,%22dependencies%22:%5B%22@dumlj/shell-lib%22,%22@dumlj/util-lib%22,%22fs-extra%22,%22semver%22,%22tslib%22,%22@dumlj/mock-lib%22,%22@jest/types%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%22@dumlj/shell-lib%22,%22@dumlj/util-lib%22,%22@dumlj/mock-lib%22%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@feature/feature-updater\">@dumlj/feature-updater</a>\n  │ ├─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/shell-lib%22,%22version%22:%222.5.22%22,%22description%22:%22shell%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:false,%22location%22:%22@lib/shell-lib%22,%22dependencies%22:%5B%22@jest/types%22,%22chokidar%22,%22command-exists%22,%22lodash%22,%22tslib%22,%22ts-jest%22,%22tsd-lite%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/shell-lib\">@dumlj/shell-lib</a>\n  │ ├─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/util-lib%22,%22version%22:%222.5.22%22,%22description%22:%22util%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:false,%22location%22:%22@lib/util-lib%22,%22dependencies%22:%5B%22fs-extra%22,%22glob%22,%22lodash%22,%22tslib%22,%22@jest/types%22,%22memfs%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/util-lib\">@dumlj/util-lib</a>\n  │ └─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/mock-lib%22,%22version%22:%222.5.22%22,%22description%22:%22mock%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:true,%22location%22:%22@lib/mock-lib%22,%22dependencies%22:%5B%22memfs%22,%22tslib%22,%22webpack%22,%22@jest/types%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/mock-lib\">@dumlj/mock-lib</a><sup><small><i>PRIVATE</i></small></sup>\n  └─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/mock-lib%22,%22version%22:%222.5.22%22,%22description%22:%22mock%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:true,%22location%22:%22@lib/mock-lib%22,%22dependencies%22:%5B%22memfs%22,%22tslib%22,%22webpack%22,%22@jest/types%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/mock-lib\">@dumlj/mock-lib</a><sup><small><i>PRIVATE</i></small></sup>\n</pre>\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/dumlj/dumlj-build/issues"},"homepage":"https://github.com/dumlj/dumlj-build#readme","_id":"@dumlj/crx-live-reload-webpack-plugin@2.5.23-alpha.1707245597.0","_nodeVersion":"20.11.0","_npmVersion":"lerna/7.4.2/node@v20.11.0+x64 (linux)","dist":{"integrity":"sha512-KQKb2zTBCAaEZZrsGgX1TUesa71gSQU51PTdSgaIu1KMxIWkTcJDnE6axEm34cszfV5eYLC4hMvi/wkxp77cqA==","shasum":"30be5ff8ba27a19e9c1c326fd14af9cbf3f12922","tarball":"https://registry.npmjs.org/@dumlj/crx-live-reload-webpack-plugin/-/crx-live-reload-webpack-plugin-2.5.23-alpha.1707245597.0.tgz","fileCount":76,"unpackedSize":136568,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBjuGqRzAh/szq0SnrihiaJ1M2CDg/u8trdx3/T+H9ZIAiEA6rxG3qsY3sZfXCsAb+cDndKqI6zSBJUAFyhLdTIlTMo="}]},"_npmUser":{"name":"davidjones","email":"qowera@qq.com"},"directories":{},"maintainers":[{"name":"cjfff","email":"cjfff1996@gmail.com"},{"name":"sexymee","email":"sexy.is.353016313@gmail.com"},{"name":"davidjones","email":"qowera@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/crx-live-reload-webpack-plugin_2.5.23-alpha.1707245597.0_1707245603502_0.7025240683378438"},"_hasShrinkwrap":false},"2.5.23-alpha.1707248747.0":{"name":"@dumlj/crx-live-reload-webpack-plugin","version":"2.5.23-alpha.1707248747.0","description":"Livereload over SSE for develop Chrome Extension.","repository":{"type":"git","url":"git+https://github.com/dumlj/dumlj-build.git","directory":"@webpack-plugin/crx-live-reload-webpack-plugin"},"license":"MIT","main":"./libs/index.js","types":"./libs/index.d.ts","dependencies":{"@dumlj/seed-webpack-plugin":"^2.5.23-alpha.1707248747.0+450af64","chrome":"^0.1.0","tslib":"^2.5.0"},"devDependencies":{"@jest/types":"^29.6.3","@types/chrome":"^0.0.193","@types/webpack":"^5.28.4","ts-jest":"^29.1.1"},"peerDependencies":{"@types/chrome":"*","webpack":"5.x","webpack-dev-server":"4.x"},"publishConfig":{"access":"public"},"gitHead":"450af64d7f069d6b3d021a85c605debdea05d681","readme":"<!-- This file is dynamically generated. please edit in __readme__ -->\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-4c1.svg)](https://opensource.org/licenses/MIT)&nbsp;\n[![Github Repo](https://img.shields.io/badge/GITHUB-REPO-0?logo=github)](https://github.com/dumlj/dumlj-build/tree/main/@webpack-plugin/crx-live-reload-webpack-plugin)&nbsp;\n[![NPM Version](https://badge.fury.io/js/@dumlj%2Fcrx-live-reload-webpack-plugin.svg)](https://www.npmjs.com/package/@dumlj/crx-live-reload-webpack-plugin)&nbsp;\n[![See Docs](https://img.shields.io/badge/see-docs-blue?logo=dumi&logoColor=green)](https://dumlj.github.io/dumlj-build/docs)&nbsp;\n[![codecov](https://codecov.io/gh/dumlj/dumlj-build/graph/badge.svg?token=ELV5W1H0C0)](https://codecov.io/gh/dumlj/dumlj-build)&nbsp;\n[![DeepSource](https://app.deepsource.com/gh/dumlj/dumlj-build.svg/?label=active+issues&show_trend=true&token=YtSFFZ702Q016pjWlBWT30Iy)](https://app.deepsource.com/gh/dumlj/dumlj-build/)&nbsp;\n\n# Crx Live Reload Webpack Plugin\n\nLivereload over SSE for develop Chrome Extension.\n\n## BACKGROUND\n\nSince Chrome extensions can only load local files, devServer hot reload does not work (only the browser can be reloaded or the scripts can be re-executed remotely). We need to use scripts to make it reload automatically, which contains the `background` and `content-script` modules.\n\n## FEATURE\n\n- Automatically inject reboot scripts.\n- Both `background` and `content-script` can use reboot capabilities.\n\n## INSTALL\n\n```bash\n# use npm\n$ npm install --dev @dumlj/crx-live-reload-webpack-plugin\n# use yarn\n$ yarn add --dev @dumlj/crx-live-reload-webpack-plugin\n# use pnpm\n$ pnpm add @dumlj/crx-live-reload-webpack-plugin -D\n```\n\n## USAGE\n\n```ts\nimport { CrxLiveReloadWebpackPlugin } from '@dumlj/crx-live-reload-webpack-plugin'\n\nexport default {\n  mode: 'development',\n  entry: {\n    background: path.join(__dirname, 'background.ts'),\n    contentScript: path.join(__dirname, 'contentScript.ts'),\n  },\n  plugins: [\n    ...new CrxLiveReloadWebpackPlugin({\n      // enter devServer host and port\n      // chrome extension can not mount files online.\n      host: '127.0.0.1',\n      port: 8080,\n    }),\n  ],\n  devServer: {\n    hot: true,\n    // livereload can not reboot background.js, close it.\n    liveReload: false,\n    devMiddleware: {\n      // as you know\n      writeToDisk: true,\n    },\n  },\n}\n```\n\n## LIVE DEMO\n\nSince I can't Mock Chrome, please open the console to view the logs.😅 And try to change `background.js` or `contentScript.js` files.\n\nWebpack DevServer port is `8080`, Static Server port is `3000`. In real environment, Chrome Extension will mount `./build` folder.\n\n<dumlj-stackblitz height=\"47vw\" src=\"@dumlj-example/crx-live-reload-webpack-plugin\"></dumlj-stackblitz>\n\n## INTERNAL DEPENDENCIES\n\n<pre>\n<b>@dumlj/crx-live-reload-webpack-plugin</b>\n└─┬ <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/seed-webpack-plugin%22,%22version%22:%222.5.22%22,%22description%22:%22Basic%20webpack%20plugins%22,%22isPrivate%22:false,%22location%22:%22@webpack-plugin/seed-webpack-plugin%22,%22dependencies%22:%5B%22@dumlj/feature-updater%22,%22chalk%22,%22tslib%22,%22utility-types%22,%22@dumlj/mock-lib%22,%22@jest/types%22,%22@types/webpack%22,%22ts-jest%22,%22webpack%22%5D,%22workspaceDependencies%22:%5B%22@dumlj/feature-updater%22,%22@dumlj/mock-lib%22%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@webpack-plugin/seed-webpack-plugin\">@dumlj/seed-webpack-plugin</a>\n  ├─┬─ <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/feature-updater%22,%22version%22:%222.5.22%22,%22description%22:%22updater%20for%20packages.%22,%22isPrivate%22:false,%22location%22:%22@feature/feature-updater%22,%22dependencies%22:%5B%22@dumlj/shell-lib%22,%22@dumlj/util-lib%22,%22fs-extra%22,%22semver%22,%22tslib%22,%22@dumlj/mock-lib%22,%22@jest/types%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%22@dumlj/shell-lib%22,%22@dumlj/util-lib%22,%22@dumlj/mock-lib%22%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@feature/feature-updater\">@dumlj/feature-updater</a>\n  │ ├─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/shell-lib%22,%22version%22:%222.5.22%22,%22description%22:%22shell%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:false,%22location%22:%22@lib/shell-lib%22,%22dependencies%22:%5B%22@jest/types%22,%22chokidar%22,%22command-exists%22,%22lodash%22,%22tslib%22,%22ts-jest%22,%22tsd-lite%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/shell-lib\">@dumlj/shell-lib</a>\n  │ ├─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/util-lib%22,%22version%22:%222.5.22%22,%22description%22:%22util%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:false,%22location%22:%22@lib/util-lib%22,%22dependencies%22:%5B%22fs-extra%22,%22glob%22,%22lodash%22,%22tslib%22,%22@jest/types%22,%22memfs%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/util-lib\">@dumlj/util-lib</a>\n  │ └─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/mock-lib%22,%22version%22:%222.5.22%22,%22description%22:%22mock%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:true,%22location%22:%22@lib/mock-lib%22,%22dependencies%22:%5B%22memfs%22,%22tslib%22,%22webpack%22,%22@jest/types%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/mock-lib\">@dumlj/mock-lib</a><sup><small><i>PRIVATE</i></small></sup>\n  └─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/mock-lib%22,%22version%22:%222.5.22%22,%22description%22:%22mock%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:true,%22location%22:%22@lib/mock-lib%22,%22dependencies%22:%5B%22memfs%22,%22tslib%22,%22webpack%22,%22@jest/types%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/mock-lib\">@dumlj/mock-lib</a><sup><small><i>PRIVATE</i></small></sup>\n</pre>\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/dumlj/dumlj-build/issues"},"homepage":"https://github.com/dumlj/dumlj-build#readme","_id":"@dumlj/crx-live-reload-webpack-plugin@2.5.23-alpha.1707248747.0","_nodeVersion":"20.11.0","_npmVersion":"lerna/7.4.2/node@v20.11.0+x64 (linux)","dist":{"integrity":"sha512-0b+M/5BXdHWuC6zhpfbiApnC5C34ghPeYuGBcDYhroF4umCXalFRFpxE8n6ss+DgCcWtkXJpi39YRu58ZE87wA==","shasum":"40876461b6ad799d42afa876a926c9c284e695da","tarball":"https://registry.npmjs.org/@dumlj/crx-live-reload-webpack-plugin/-/crx-live-reload-webpack-plugin-2.5.23-alpha.1707248747.0.tgz","fileCount":76,"unpackedSize":136568,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGTef2XwexhEm2KIq460CHzHtJZBI/+abIuXcwIheu3VAiAapNF8ChG/O/jVIJPfo1MF3Aeo4lbBavqvpiofnJp3Zw=="}]},"_npmUser":{"name":"davidjones","email":"qowera@qq.com"},"directories":{},"maintainers":[{"name":"cjfff","email":"cjfff1996@gmail.com"},{"name":"sexymee","email":"sexy.is.353016313@gmail.com"},{"name":"davidjones","email":"qowera@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/crx-live-reload-webpack-plugin_2.5.23-alpha.1707248747.0_1707248755718_0.23330490919940838"},"_hasShrinkwrap":false},"2.5.23-alpha.1707282212.0":{"name":"@dumlj/crx-live-reload-webpack-plugin","version":"2.5.23-alpha.1707282212.0","description":"Livereload over SSE for develop Chrome Extension.","repository":{"type":"git","url":"git+https://github.com/dumlj/dumlj-build.git","directory":"@webpack-plugin/crx-live-reload-webpack-plugin"},"license":"MIT","main":"./libs/index.js","types":"./libs/index.d.ts","dependencies":{"@dumlj/seed-webpack-plugin":"^2.5.23-alpha.1707282212.0+a85496b","chrome":"^0.1.0","tslib":"^2.5.0"},"devDependencies":{"@jest/types":"^29.6.3","@types/chrome":"^0.0.193","@types/webpack":"^5.28.4","ts-jest":"^29.1.1"},"peerDependencies":{"@types/chrome":"*","webpack":"5.x","webpack-dev-server":"4.x"},"publishConfig":{"access":"public"},"gitHead":"a85496b71b47e3d2013d0fc005cfe20821f29fcf","readme":"<!-- This file is dynamically generated. please edit in __readme__ -->\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-4c1.svg)](https://opensource.org/licenses/MIT)&nbsp;\n[![Github Repo](https://img.shields.io/badge/GITHUB-REPO-0?logo=github)](https://github.com/dumlj/dumlj-build/tree/main/@webpack-plugin/crx-live-reload-webpack-plugin)&nbsp;\n[![NPM Version](https://badge.fury.io/js/@dumlj%2Fcrx-live-reload-webpack-plugin.svg)](https://www.npmjs.com/package/@dumlj/crx-live-reload-webpack-plugin)&nbsp;\n[![See Docs](https://img.shields.io/badge/see-docs-blue?logo=dumi&logoColor=green)](https://dumlj.github.io/dumlj-build/docs)&nbsp;\n[![codecov](https://codecov.io/gh/dumlj/dumlj-build/graph/badge.svg?token=ELV5W1H0C0)](https://codecov.io/gh/dumlj/dumlj-build)&nbsp;\n[![DeepSource](https://app.deepsource.com/gh/dumlj/dumlj-build.svg/?label=active+issues&show_trend=true&token=YtSFFZ702Q016pjWlBWT30Iy)](https://app.deepsource.com/gh/dumlj/dumlj-build/)&nbsp;\n\n# Crx Live Reload Webpack Plugin\n\nLivereload over SSE for develop Chrome Extension.\n\n## BACKGROUND\n\nSince Chrome extensions can only load local files, devServer hot reload does not work (only the browser can be reloaded or the scripts can be re-executed remotely). We need to use scripts to make it reload automatically, which contains the `background` and `content-script` modules.\n\n## FEATURE\n\n- Automatically inject reboot scripts.\n- Both `background` and `content-script` can use reboot capabilities.\n\n## INSTALL\n\n```bash\n# use npm\n$ npm install --dev @dumlj/crx-live-reload-webpack-plugin\n# use yarn\n$ yarn add --dev @dumlj/crx-live-reload-webpack-plugin\n# use pnpm\n$ pnpm add @dumlj/crx-live-reload-webpack-plugin -D\n```\n\n## USAGE\n\n```ts\nimport { CrxLiveReloadWebpackPlugin } from '@dumlj/crx-live-reload-webpack-plugin'\n\nexport default {\n  mode: 'development',\n  entry: {\n    background: path.join(__dirname, 'background.ts'),\n    contentScript: path.join(__dirname, 'contentScript.ts'),\n  },\n  plugins: [\n    ...new CrxLiveReloadWebpackPlugin({\n      // enter devServer host and port\n      // chrome extension can not mount files online.\n      host: '127.0.0.1',\n      port: 8080,\n    }),\n  ],\n  devServer: {\n    hot: true,\n    // livereload can not reboot background.js, close it.\n    liveReload: false,\n    devMiddleware: {\n      // as you know\n      writeToDisk: true,\n    },\n  },\n}\n```\n\n## LIVE DEMO\n\nSince I can't Mock Chrome, please open the console to view the logs.😅 And try to change `background.js` or `contentScript.js` files.\n\nWebpack DevServer port is `8080`, Static Server port is `3000`. In real environment, Chrome Extension will mount `./build` folder.\n\n<dumlj-stackblitz height=\"47vw\" src=\"@dumlj-example/crx-live-reload-webpack-plugin\"></dumlj-stackblitz>\n\n## INTERNAL DEPENDENCIES\n\n<pre>\n<b>@dumlj/crx-live-reload-webpack-plugin</b>\n└─┬ <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/seed-webpack-plugin%22,%22version%22:%222.5.22%22,%22description%22:%22Basic%20webpack%20plugins%22,%22isPrivate%22:false,%22location%22:%22@webpack-plugin/seed-webpack-plugin%22,%22dependencies%22:%5B%22@dumlj/feature-updater%22,%22chalk%22,%22tslib%22,%22utility-types%22,%22@dumlj/mock-lib%22,%22@jest/types%22,%22@types/webpack%22,%22ts-jest%22,%22webpack%22%5D,%22workspaceDependencies%22:%5B%22@dumlj/feature-updater%22,%22@dumlj/mock-lib%22%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@webpack-plugin/seed-webpack-plugin\">@dumlj/seed-webpack-plugin</a>\n  ├─┬─ <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/feature-updater%22,%22version%22:%222.5.22%22,%22description%22:%22updater%20for%20packages.%22,%22isPrivate%22:false,%22location%22:%22@feature/feature-updater%22,%22dependencies%22:%5B%22@dumlj/shell-lib%22,%22@dumlj/util-lib%22,%22fs-extra%22,%22semver%22,%22tslib%22,%22@dumlj/mock-lib%22,%22@jest/types%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%22@dumlj/shell-lib%22,%22@dumlj/util-lib%22,%22@dumlj/mock-lib%22%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@feature/feature-updater\">@dumlj/feature-updater</a>\n  │ ├─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/shell-lib%22,%22version%22:%222.5.22%22,%22description%22:%22shell%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:false,%22location%22:%22@lib/shell-lib%22,%22dependencies%22:%5B%22@jest/types%22,%22chokidar%22,%22command-exists%22,%22lodash%22,%22tslib%22,%22ts-jest%22,%22tsd-lite%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/shell-lib\">@dumlj/shell-lib</a>\n  │ ├─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/util-lib%22,%22version%22:%222.5.22%22,%22description%22:%22util%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:false,%22location%22:%22@lib/util-lib%22,%22dependencies%22:%5B%22fs-extra%22,%22glob%22,%22lodash%22,%22tslib%22,%22@jest/types%22,%22memfs%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/util-lib\">@dumlj/util-lib</a>\n  │ └─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/mock-lib%22,%22version%22:%222.5.22%22,%22description%22:%22mock%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:true,%22location%22:%22@lib/mock-lib%22,%22dependencies%22:%5B%22memfs%22,%22tslib%22,%22webpack%22,%22@jest/types%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/mock-lib\">@dumlj/mock-lib</a><sup><small><i>PRIVATE</i></small></sup>\n  └─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/mock-lib%22,%22version%22:%222.5.22%22,%22description%22:%22mock%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:true,%22location%22:%22@lib/mock-lib%22,%22dependencies%22:%5B%22memfs%22,%22tslib%22,%22webpack%22,%22@jest/types%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/mock-lib\">@dumlj/mock-lib</a><sup><small><i>PRIVATE</i></small></sup>\n</pre>\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/dumlj/dumlj-build/issues"},"homepage":"https://github.com/dumlj/dumlj-build#readme","_id":"@dumlj/crx-live-reload-webpack-plugin@2.5.23-alpha.1707282212.0","_nodeVersion":"20.11.0","_npmVersion":"lerna/7.4.2/node@v20.11.0+x64 (linux)","dist":{"integrity":"sha512-wTaWZ2UgVsSCnQFWzMW/lp9JN3ssLy3eMjse1iP5vAqFwCXOBGQgP87vWXopfaqmGAcBrhG+tkqRBNz9NRsdVQ==","shasum":"2b855100b0c3af92ac125390349f1cea2b2c4931","tarball":"https://registry.npmjs.org/@dumlj/crx-live-reload-webpack-plugin/-/crx-live-reload-webpack-plugin-2.5.23-alpha.1707282212.0.tgz","fileCount":76,"unpackedSize":136662,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCJfW9YNPOdCLF1XvEWOFbuBEpslw0bXgP7tkP7XPEmWgIhANZSoIaKgb+acJkuUltpW4sgqVD6La6nsPkbe161Hkyz"}]},"_npmUser":{"name":"davidjones","email":"qowera@qq.com"},"directories":{},"maintainers":[{"name":"cjfff","email":"cjfff1996@gmail.com"},{"name":"sexymee","email":"sexy.is.353016313@gmail.com"},{"name":"davidjones","email":"qowera@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/crx-live-reload-webpack-plugin_2.5.23-alpha.1707282212.0_1707282233677_0.21874457396774472"},"_hasShrinkwrap":false},"2.5.23-alpha.1707287569.0":{"name":"@dumlj/crx-live-reload-webpack-plugin","version":"2.5.23-alpha.1707287569.0","description":"Livereload over SSE for develop Chrome Extension.","repository":{"type":"git","url":"git+https://github.com/dumlj/dumlj-build.git","directory":"@webpack-plugin/crx-live-reload-webpack-plugin"},"license":"MIT","main":"./libs/index.js","types":"./libs/index.d.ts","dependencies":{"@dumlj/seed-webpack-plugin":"^2.5.23-alpha.1707287569.0+2ddb541","chrome":"^0.1.0","tslib":"^2.5.0"},"devDependencies":{"@jest/types":"^29.6.3","@types/chrome":"^0.0.193","@types/webpack":"^5.28.4","ts-jest":"^29.1.1"},"peerDependencies":{"@types/chrome":"*","webpack":"5.x","webpack-dev-server":"4.x"},"publishConfig":{"access":"public"},"gitHead":"2ddb541d35d17b1492f4d0e9d47f865967a410d7","readme":"<!-- This file is dynamically generated. please edit in __readme__ -->\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-4c1.svg)](https://opensource.org/licenses/MIT)&nbsp;\n[![Github Repo](https://img.shields.io/badge/GITHUB-REPO-0?logo=github)](https://github.com/dumlj/dumlj-build/tree/main/@webpack-plugin/crx-live-reload-webpack-plugin)&nbsp;\n[![NPM Version](https://badge.fury.io/js/@dumlj%2Fcrx-live-reload-webpack-plugin.svg)](https://www.npmjs.com/package/@dumlj/crx-live-reload-webpack-plugin)&nbsp;\n[![See Docs](https://img.shields.io/badge/see-docs-blue?logo=dumi&logoColor=green)](https://dumlj.github.io/dumlj-build/docs)&nbsp;\n[![codecov](https://codecov.io/gh/dumlj/dumlj-build/graph/badge.svg?token=ELV5W1H0C0)](https://codecov.io/gh/dumlj/dumlj-build)&nbsp;\n[![DeepSource](https://app.deepsource.com/gh/dumlj/dumlj-build.svg/?label=active+issues&show_trend=true&token=YtSFFZ702Q016pjWlBWT30Iy)](https://app.deepsource.com/gh/dumlj/dumlj-build/)&nbsp;\n\n# Crx Live Reload Webpack Plugin\n\nLivereload over SSE for develop Chrome Extension.\n\n## BACKGROUND\n\nSince Chrome extensions can only load local files, devServer hot reload does not work (only the browser can be reloaded or the scripts can be re-executed remotely). We need to use scripts to make it reload automatically, which contains the `background` and `content-script` modules.\n\n## FEATURE\n\n- Automatically inject reboot scripts.\n- Both `background` and `content-script` can use reboot capabilities.\n\n## INSTALL\n\n```bash\n# use npm\n$ npm install --dev @dumlj/crx-live-reload-webpack-plugin\n# use yarn\n$ yarn add --dev @dumlj/crx-live-reload-webpack-plugin\n# use pnpm\n$ pnpm add @dumlj/crx-live-reload-webpack-plugin -D\n```\n\n## USAGE\n\n```ts\nimport { CrxLiveReloadWebpackPlugin } from '@dumlj/crx-live-reload-webpack-plugin'\n\nexport default {\n  mode: 'development',\n  entry: {\n    background: path.join(__dirname, 'background.ts'),\n    contentScript: path.join(__dirname, 'contentScript.ts'),\n  },\n  plugins: [\n    ...new CrxLiveReloadWebpackPlugin({\n      // enter devServer host and port\n      // chrome extension can not mount files online.\n      host: '127.0.0.1',\n      port: 8080,\n    }),\n  ],\n  devServer: {\n    hot: true,\n    // livereload can not reboot background.js, close it.\n    liveReload: false,\n    devMiddleware: {\n      // as you know\n      writeToDisk: true,\n    },\n  },\n}\n```\n\n## LIVE DEMO\n\nSince I can't Mock Chrome, please open the console to view the logs.😅 And try to change `background.js` or `contentScript.js` files.\n\nWebpack DevServer port is `8080`, Static Server port is `3000`. In real environment, Chrome Extension will mount `./build` folder.\n\n<dumlj-stackblitz height=\"47vw\" src=\"@dumlj-example/crx-live-reload-webpack-plugin\"></dumlj-stackblitz>\n\n## INTERNAL DEPENDENCIES\n\n<pre>\n<b>@dumlj/crx-live-reload-webpack-plugin</b>\n└─┬ <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/seed-webpack-plugin%22,%22version%22:%222.5.22%22,%22description%22:%22Basic%20webpack%20plugins%22,%22isPrivate%22:false,%22location%22:%22@webpack-plugin/seed-webpack-plugin%22,%22dependencies%22:%5B%22@dumlj/feature-updater%22,%22chalk%22,%22tslib%22,%22utility-types%22,%22@dumlj/mock-lib%22,%22@jest/types%22,%22@types/webpack%22,%22ts-jest%22,%22webpack%22%5D,%22workspaceDependencies%22:%5B%22@dumlj/feature-updater%22,%22@dumlj/mock-lib%22%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@webpack-plugin/seed-webpack-plugin\">@dumlj/seed-webpack-plugin</a>\n  ├─┬─ <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/feature-updater%22,%22version%22:%222.5.22%22,%22description%22:%22updater%20for%20packages.%22,%22isPrivate%22:false,%22location%22:%22@feature/feature-updater%22,%22dependencies%22:%5B%22@dumlj/shell-lib%22,%22@dumlj/util-lib%22,%22fs-extra%22,%22semver%22,%22tslib%22,%22@dumlj/mock-lib%22,%22@jest/types%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%22@dumlj/shell-lib%22,%22@dumlj/util-lib%22,%22@dumlj/mock-lib%22%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@feature/feature-updater\">@dumlj/feature-updater</a>\n  │ ├─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/shell-lib%22,%22version%22:%222.5.22%22,%22description%22:%22shell%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:false,%22location%22:%22@lib/shell-lib%22,%22dependencies%22:%5B%22@jest/types%22,%22chokidar%22,%22command-exists%22,%22lodash%22,%22tslib%22,%22ts-jest%22,%22tsd-lite%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/shell-lib\">@dumlj/shell-lib</a>\n  │ ├─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/util-lib%22,%22version%22:%222.5.22%22,%22description%22:%22util%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:false,%22location%22:%22@lib/util-lib%22,%22dependencies%22:%5B%22fs-extra%22,%22glob%22,%22lodash%22,%22tslib%22,%22@jest/types%22,%22memfs%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/util-lib\">@dumlj/util-lib</a>\n  │ └─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/mock-lib%22,%22version%22:%222.5.22%22,%22description%22:%22mock%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:true,%22location%22:%22@lib/mock-lib%22,%22dependencies%22:%5B%22memfs%22,%22tslib%22,%22webpack%22,%22@jest/types%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/mock-lib\">@dumlj/mock-lib</a><sup><small><i>PRIVATE</i></small></sup>\n  └─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/mock-lib%22,%22version%22:%222.5.22%22,%22description%22:%22mock%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:true,%22location%22:%22@lib/mock-lib%22,%22dependencies%22:%5B%22memfs%22,%22tslib%22,%22webpack%22,%22@jest/types%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/mock-lib\">@dumlj/mock-lib</a><sup><small><i>PRIVATE</i></small></sup>\n</pre>\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/dumlj/dumlj-build/issues"},"homepage":"https://github.com/dumlj/dumlj-build#readme","_id":"@dumlj/crx-live-reload-webpack-plugin@2.5.23-alpha.1707287569.0","_nodeVersion":"20.11.0","_npmVersion":"lerna/7.4.2/node@v20.11.0+x64 (linux)","dist":{"integrity":"sha512-Z/924UWhdMsYjATt0B6uwUbb4kiV87/k3su2kW7Zx8vTSF6vJxooUPec+5b+25ML2hi1Ds1OqdkiZ3Vko7pJYg==","shasum":"3b93bf1918ec1a3af66d1bcd9f863cbd32366000","tarball":"https://registry.npmjs.org/@dumlj/crx-live-reload-webpack-plugin/-/crx-live-reload-webpack-plugin-2.5.23-alpha.1707287569.0.tgz","fileCount":76,"unpackedSize":136662,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE/bjbEpFX1umIqd5tpI9pb0ls/cDp6J6VDknro6NzFnAiAkm/zszgrwI/kVAyEj7nxwbhdAcLr80T7iEHPXCVZD7Q=="}]},"_npmUser":{"name":"davidjones","email":"qowera@qq.com"},"directories":{},"maintainers":[{"name":"cjfff","email":"cjfff1996@gmail.com"},{"name":"sexymee","email":"sexy.is.353016313@gmail.com"},{"name":"davidjones","email":"qowera@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/crx-live-reload-webpack-plugin_2.5.23-alpha.1707287569.0_1707287578490_0.2477189725360347"},"_hasShrinkwrap":false},"2.5.23-alpha.1707383866.0":{"name":"@dumlj/crx-live-reload-webpack-plugin","version":"2.5.23-alpha.1707383866.0","description":"Livereload over SSE for develop Chrome Extension.","repository":{"type":"git","url":"git+https://github.com/dumlj/dumlj-build.git","directory":"@webpack-plugin/crx-live-reload-webpack-plugin"},"license":"MIT","main":"./libs/index.js","types":"./libs/index.d.ts","dependencies":{"@dumlj/seed-webpack-plugin":"^2.5.23-alpha.1707383866.0+f1578f4","chrome":"^0.1.0","tslib":"^2.5.0"},"devDependencies":{"@jest/types":"^29.6.3","@types/chrome":"^0.0.193","@types/webpack":"^5.28.4","ts-jest":"^29.1.1"},"peerDependencies":{"@types/chrome":"*","webpack":"5.x","webpack-dev-server":"4.x"},"publishConfig":{"access":"public"},"gitHead":"f1578f4e16d53e28a109aedcc2f041961b3cb691","readme":"<!-- This file is dynamically generated. please edit in __readme__ -->\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-4c1.svg)](https://opensource.org/licenses/MIT)&nbsp;\n[![Github Repo](https://img.shields.io/badge/GITHUB-REPO-0?logo=github)](https://github.com/dumlj/dumlj-build/tree/main/@webpack-plugin/crx-live-reload-webpack-plugin)&nbsp;\n[![NPM Version](https://badge.fury.io/js/@dumlj%2Fcrx-live-reload-webpack-plugin.svg)](https://www.npmjs.com/package/@dumlj/crx-live-reload-webpack-plugin)&nbsp;\n[![See Docs](https://img.shields.io/badge/see-docs-blue?logo=dumi&logoColor=green)](https://dumlj.github.io/dumlj-build/docs)&nbsp;\n[![codecov](https://codecov.io/gh/dumlj/dumlj-build/graph/badge.svg?token=ELV5W1H0C0)](https://codecov.io/gh/dumlj/dumlj-build)&nbsp;\n[![DeepSource](https://app.deepsource.com/gh/dumlj/dumlj-build.svg/?label=active+issues&show_trend=true&token=YtSFFZ702Q016pjWlBWT30Iy)](https://app.deepsource.com/gh/dumlj/dumlj-build/)&nbsp;\n\n# Crx Live Reload Webpack Plugin\n\nLivereload over SSE for develop Chrome Extension.\n\n## BACKGROUND\n\nSince Chrome extensions can only load local files, devServer hot reload does not work (only the browser can be reloaded or the scripts can be re-executed remotely). We need to use scripts to make it reload automatically, which contains the `background` and `content-script` modules.\n\n## FEATURE\n\n- Automatically inject reboot scripts.\n- Both `background` and `content-script` can use reboot capabilities.\n\n## INSTALL\n\n```bash\n# use npm\n$ npm install --dev @dumlj/crx-live-reload-webpack-plugin\n# use yarn\n$ yarn add --dev @dumlj/crx-live-reload-webpack-plugin\n# use pnpm\n$ pnpm add @dumlj/crx-live-reload-webpack-plugin -D\n```\n\n## USAGE\n\n```ts\nimport { CrxLiveReloadWebpackPlugin } from '@dumlj/crx-live-reload-webpack-plugin'\n\nexport default {\n  mode: 'development',\n  entry: {\n    background: path.join(__dirname, 'background.ts'),\n    contentScript: path.join(__dirname, 'contentScript.ts'),\n  },\n  plugins: [\n    ...new CrxLiveReloadWebpackPlugin({\n      // enter devServer host and port\n      // chrome extension can not mount files online.\n      host: '127.0.0.1',\n      port: 8080,\n    }),\n  ],\n  devServer: {\n    hot: true,\n    // livereload can not reboot background.js, close it.\n    liveReload: false,\n    devMiddleware: {\n      // as you know\n      writeToDisk: true,\n    },\n  },\n}\n```\n\n## LIVE DEMO\n\nSince I can't Mock Chrome, please open the console to view the logs.😅 And try to change `background.js` or `contentScript.js` files.\n\nWebpack DevServer port is `8080`, Static Server port is `3000`. In real environment, Chrome Extension will mount `./build` folder.\n\n<dumlj-stackblitz height=\"47vw\" src=\"@dumlj-example/crx-live-reload-webpack-plugin\"></dumlj-stackblitz>\n\n## INTERNAL DEPENDENCIES\n\n<pre>\n<b>@dumlj/crx-live-reload-webpack-plugin</b>\n└─┬ <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/seed-webpack-plugin%22,%22version%22:%222.5.22%22,%22description%22:%22Basic%20webpack%20plugins%22,%22isPrivate%22:false,%22location%22:%22@webpack-plugin/seed-webpack-plugin%22,%22dependencies%22:%5B%22@dumlj/feature-updater%22,%22chalk%22,%22tslib%22,%22utility-types%22,%22@dumlj/mock-lib%22,%22@jest/types%22,%22@types/webpack%22,%22ts-jest%22,%22webpack%22%5D,%22workspaceDependencies%22:%5B%22@dumlj/feature-updater%22,%22@dumlj/mock-lib%22%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@webpack-plugin/seed-webpack-plugin\">@dumlj/seed-webpack-plugin</a>\n  ├─┬─ <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/feature-updater%22,%22version%22:%222.5.22%22,%22description%22:%22updater%20for%20packages.%22,%22isPrivate%22:false,%22location%22:%22@feature/feature-updater%22,%22dependencies%22:%5B%22@dumlj/shell-lib%22,%22@dumlj/util-lib%22,%22fs-extra%22,%22semver%22,%22tslib%22,%22@dumlj/mock-lib%22,%22@jest/types%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%22@dumlj/shell-lib%22,%22@dumlj/util-lib%22,%22@dumlj/mock-lib%22%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@feature/feature-updater\">@dumlj/feature-updater</a>\n  │ ├─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/shell-lib%22,%22version%22:%222.5.22%22,%22description%22:%22shell%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:false,%22location%22:%22@lib/shell-lib%22,%22dependencies%22:%5B%22@jest/types%22,%22chokidar%22,%22command-exists%22,%22lodash%22,%22tslib%22,%22ts-jest%22,%22tsd-lite%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/shell-lib\">@dumlj/shell-lib</a>\n  │ ├─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/util-lib%22,%22version%22:%222.5.22%22,%22description%22:%22util%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:false,%22location%22:%22@lib/util-lib%22,%22dependencies%22:%5B%22fs-extra%22,%22glob%22,%22tslib%22,%22@jest/types%22,%22memfs%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/util-lib\">@dumlj/util-lib</a>\n  │ └─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/mock-lib%22,%22version%22:%222.5.22%22,%22description%22:%22mock%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:true,%22location%22:%22@lib/mock-lib%22,%22dependencies%22:%5B%22memfs%22,%22tslib%22,%22webpack%22,%22@jest/types%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/mock-lib\">@dumlj/mock-lib</a><sup><small><i>PRIVATE</i></small></sup>\n  └─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/mock-lib%22,%22version%22:%222.5.22%22,%22description%22:%22mock%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:true,%22location%22:%22@lib/mock-lib%22,%22dependencies%22:%5B%22memfs%22,%22tslib%22,%22webpack%22,%22@jest/types%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/mock-lib\">@dumlj/mock-lib</a><sup><small><i>PRIVATE</i></small></sup>\n</pre>\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/dumlj/dumlj-build/issues"},"homepage":"https://github.com/dumlj/dumlj-build#readme","_id":"@dumlj/crx-live-reload-webpack-plugin@2.5.23-alpha.1707383866.0","_nodeVersion":"20.11.0","_npmVersion":"lerna/7.4.2/node@v20.11.0+x64 (linux)","dist":{"integrity":"sha512-tZxaA+KgzU/F8hfXu112eYunC9KyuoeQVR0NL3tzSyI8U1sdKIAFwbbhK1AXrhC2LLZ4ni6o/ZsTiIe3al/z3g==","shasum":"2f735587f61809ea263dcae01363c3e5ef530b4c","tarball":"https://registry.npmjs.org/@dumlj/crx-live-reload-webpack-plugin/-/crx-live-reload-webpack-plugin-2.5.23-alpha.1707383866.0.tgz","fileCount":76,"unpackedSize":136649,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBBAYTbmsA133TF2z5Iu02KY4rgXRtkCJI5Tn8ssQSiwAiBFWFS9icsnVNQKFHzR2g4PYVybiAr7c6YNUN57EYIo9w=="}]},"_npmUser":{"name":"davidjones","email":"qowera@qq.com"},"directories":{},"maintainers":[{"name":"cjfff","email":"cjfff1996@gmail.com"},{"name":"sexymee","email":"sexy.is.353016313@gmail.com"},{"name":"davidjones","email":"qowera@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/crx-live-reload-webpack-plugin_2.5.23-alpha.1707383866.0_1707383874257_0.525910128662062"},"_hasShrinkwrap":false},"2.5.23-alpha.1707390213.0":{"name":"@dumlj/crx-live-reload-webpack-plugin","version":"2.5.23-alpha.1707390213.0","description":"Livereload over SSE for develop Chrome Extension.","repository":{"type":"git","url":"git+https://github.com/dumlj/dumlj-build.git","directory":"@webpack-plugin/crx-live-reload-webpack-plugin"},"license":"MIT","main":"./libs/index.js","types":"./libs/index.d.ts","dependencies":{"@dumlj/seed-webpack-plugin":"^2.5.23-alpha.1707390213.0+56aceec","chrome":"^0.1.0","tslib":"^2.5.0"},"devDependencies":{"@jest/types":"^29.6.3","@types/chrome":"^0.0.193","@types/webpack":"^5.28.4","ts-jest":"^29.1.1"},"peerDependencies":{"@types/chrome":"*","webpack":"5.x","webpack-dev-server":"4.x"},"publishConfig":{"access":"public"},"gitHead":"56aceec67d41741dcc7560598967ff5728c873d5","readme":"<!-- This file is dynamically generated. please edit in __readme__ -->\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-4c1.svg)](https://opensource.org/licenses/MIT)&nbsp;\n[![Github Repo](https://img.shields.io/badge/GITHUB-REPO-0?logo=github)](https://github.com/dumlj/dumlj-build/tree/main/@webpack-plugin/crx-live-reload-webpack-plugin)&nbsp;\n[![NPM Version](https://badge.fury.io/js/@dumlj%2Fcrx-live-reload-webpack-plugin.svg)](https://www.npmjs.com/package/@dumlj/crx-live-reload-webpack-plugin)&nbsp;\n[![See Docs](https://img.shields.io/badge/see-docs-blue?logo=dumi&logoColor=green)](https://dumlj.github.io/dumlj-build/docs)&nbsp;\n[![codecov](https://codecov.io/gh/dumlj/dumlj-build/graph/badge.svg?token=ELV5W1H0C0)](https://codecov.io/gh/dumlj/dumlj-build)&nbsp;\n[![DeepSource](https://app.deepsource.com/gh/dumlj/dumlj-build.svg/?label=active+issues&show_trend=true&token=YtSFFZ702Q016pjWlBWT30Iy)](https://app.deepsource.com/gh/dumlj/dumlj-build/)&nbsp;\n\n# Crx Live Reload Webpack Plugin\n\nLivereload over SSE for develop Chrome Extension.\n\n## BACKGROUND\n\nSince Chrome extensions can only load local files, devServer hot reload does not work (only the browser can be reloaded or the scripts can be re-executed remotely). We need to use scripts to make it reload automatically, which contains the `background` and `content-script` modules.\n\n## FEATURE\n\n- Automatically inject reboot scripts.\n- Both `background` and `content-script` can use reboot capabilities.\n\n## INSTALL\n\n```bash\n# use npm\n$ npm install --dev @dumlj/crx-live-reload-webpack-plugin\n# use yarn\n$ yarn add --dev @dumlj/crx-live-reload-webpack-plugin\n# use pnpm\n$ pnpm add @dumlj/crx-live-reload-webpack-plugin -D\n```\n\n## USAGE\n\n```ts\nimport { CrxLiveReloadWebpackPlugin } from '@dumlj/crx-live-reload-webpack-plugin'\n\nexport default {\n  mode: 'development',\n  entry: {\n    background: path.join(__dirname, 'background.ts'),\n    contentScript: path.join(__dirname, 'contentScript.ts'),\n  },\n  plugins: [\n    ...new CrxLiveReloadWebpackPlugin({\n      // enter devServer host and port\n      // chrome extension can not mount files online.\n      host: '127.0.0.1',\n      port: 8080,\n    }),\n  ],\n  devServer: {\n    hot: true,\n    // livereload can not reboot background.js, close it.\n    liveReload: false,\n    devMiddleware: {\n      // as you know\n      writeToDisk: true,\n    },\n  },\n}\n```\n\n## LIVE DEMO\n\nSince I can't Mock Chrome, please open the console to view the logs.😅 And try to change `background.js` or `contentScript.js` files.\n\nWebpack DevServer port is `8080`, Static Server port is `3000`. In real environment, Chrome Extension will mount `./build` folder.\n\n<dumlj-stackblitz height=\"47vw\" src=\"@dumlj-example/crx-live-reload-webpack-plugin\"></dumlj-stackblitz>\n\n## INTERNAL DEPENDENCIES\n\n<pre>\n<b>@dumlj/crx-live-reload-webpack-plugin</b>\n└─┬ <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/seed-webpack-plugin%22,%22version%22:%222.5.22%22,%22description%22:%22Basic%20webpack%20plugins%22,%22isPrivate%22:false,%22location%22:%22@webpack-plugin/seed-webpack-plugin%22,%22dependencies%22:%5B%22@dumlj/feature-updater%22,%22chalk%22,%22tslib%22,%22utility-types%22,%22@dumlj/mock-lib%22,%22@jest/types%22,%22@types/webpack%22,%22ts-jest%22,%22webpack%22%5D,%22workspaceDependencies%22:%5B%22@dumlj/feature-updater%22,%22@dumlj/mock-lib%22%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@webpack-plugin/seed-webpack-plugin\">@dumlj/seed-webpack-plugin</a>\n  ├─┬─ <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/feature-updater%22,%22version%22:%222.5.22%22,%22description%22:%22updater%20for%20packages.%22,%22isPrivate%22:false,%22location%22:%22@feature/feature-updater%22,%22dependencies%22:%5B%22@dumlj/shell-lib%22,%22@dumlj/util-lib%22,%22fs-extra%22,%22semver%22,%22tslib%22,%22@dumlj/mock-lib%22,%22@jest/types%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%22@dumlj/shell-lib%22,%22@dumlj/util-lib%22,%22@dumlj/mock-lib%22%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@feature/feature-updater\">@dumlj/feature-updater</a>\n  │ ├─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/shell-lib%22,%22version%22:%222.5.22%22,%22description%22:%22shell%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:false,%22location%22:%22@lib/shell-lib%22,%22dependencies%22:%5B%22@jest/types%22,%22chokidar%22,%22command-exists%22,%22lodash%22,%22tslib%22,%22ts-jest%22,%22tsd-lite%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/shell-lib\">@dumlj/shell-lib</a>\n  │ ├─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/util-lib%22,%22version%22:%222.5.22%22,%22description%22:%22util%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:false,%22location%22:%22@lib/util-lib%22,%22dependencies%22:%5B%22fs-extra%22,%22glob%22,%22tslib%22,%22@jest/types%22,%22memfs%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/util-lib\">@dumlj/util-lib</a>\n  │ └─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/mock-lib%22,%22version%22:%222.5.22%22,%22description%22:%22mock%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:true,%22location%22:%22@lib/mock-lib%22,%22dependencies%22:%5B%22memfs%22,%22tslib%22,%22webpack%22,%22@jest/types%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/mock-lib\">@dumlj/mock-lib</a><sup><small><i>PRIVATE</i></small></sup>\n  └─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/mock-lib%22,%22version%22:%222.5.22%22,%22description%22:%22mock%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:true,%22location%22:%22@lib/mock-lib%22,%22dependencies%22:%5B%22memfs%22,%22tslib%22,%22webpack%22,%22@jest/types%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/mock-lib\">@dumlj/mock-lib</a><sup><small><i>PRIVATE</i></small></sup>\n</pre>\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/dumlj/dumlj-build/issues"},"homepage":"https://github.com/dumlj/dumlj-build#readme","_id":"@dumlj/crx-live-reload-webpack-plugin@2.5.23-alpha.1707390213.0","_nodeVersion":"20.11.0","_npmVersion":"lerna/7.4.2/node@v20.11.0+x64 (linux)","dist":{"integrity":"sha512-x3bGKHGOHtzkYZallSpf7rOp0XPx+RpesmsREUbv41Ndd5JCDSCdBN9R4+s8q81VTDDMup2M3awcJLczM8K3OA==","shasum":"d40622e8f2218237c9d491658cf92a800f47ce43","tarball":"https://registry.npmjs.org/@dumlj/crx-live-reload-webpack-plugin/-/crx-live-reload-webpack-plugin-2.5.23-alpha.1707390213.0.tgz","fileCount":76,"unpackedSize":136649,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBdKot+US1Hbck7dDHd1TfHYeBrB+jMTM4iMvL2OCAHhAiBjD9bTAlu7Y5OyKvnKBtEaTGtgL6eL8SVsqccaQT0U0Q=="}]},"_npmUser":{"name":"davidjones","email":"qowera@qq.com"},"directories":{},"maintainers":[{"name":"cjfff","email":"cjfff1996@gmail.com"},{"name":"sexymee","email":"sexy.is.353016313@gmail.com"},{"name":"davidjones","email":"qowera@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/crx-live-reload-webpack-plugin_2.5.23-alpha.1707390213.0_1707390220924_0.7910860444328891"},"_hasShrinkwrap":false},"2.5.23-alpha.1707401616.0":{"name":"@dumlj/crx-live-reload-webpack-plugin","version":"2.5.23-alpha.1707401616.0","description":"Livereload over SSE for develop Chrome Extension.","repository":{"type":"git","url":"git+https://github.com/dumlj/dumlj-build.git","directory":"@webpack-plugin/crx-live-reload-webpack-plugin"},"license":"MIT","main":"./libs/index.js","types":"./libs/index.d.ts","dependencies":{"@dumlj/seed-webpack-plugin":"^2.5.23-alpha.1707401616.0+4161b0b","chrome":"^0.1.0","tslib":"^2.5.0"},"devDependencies":{"@jest/types":"^29.6.3","@types/chrome":"^0.0.193","@types/webpack":"^5.28.4","ts-jest":"^29.1.1"},"peerDependencies":{"@types/chrome":"*","webpack":"5.x","webpack-dev-server":"4.x"},"publishConfig":{"access":"public"},"gitHead":"4161b0bc7ab014dc5e104d9d7d38707cfc215c6e","readme":"<!-- This file is dynamically generated. please edit in __readme__ -->\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-4c1.svg)](https://opensource.org/licenses/MIT)&nbsp;\n[![Github Repo](https://img.shields.io/badge/GITHUB-REPO-0?logo=github)](https://github.com/dumlj/dumlj-build/tree/main/@webpack-plugin/crx-live-reload-webpack-plugin)&nbsp;\n[![NPM Version](https://badge.fury.io/js/@dumlj%2Fcrx-live-reload-webpack-plugin.svg)](https://www.npmjs.com/package/@dumlj/crx-live-reload-webpack-plugin)&nbsp;\n[![See Docs](https://img.shields.io/badge/see-docs-blue?logo=dumi&logoColor=green)](https://dumlj.github.io/dumlj-build/docs)&nbsp;\n[![codecov](https://codecov.io/gh/dumlj/dumlj-build/graph/badge.svg?token=ELV5W1H0C0)](https://codecov.io/gh/dumlj/dumlj-build)&nbsp;\n[![DeepSource](https://app.deepsource.com/gh/dumlj/dumlj-build.svg/?label=active+issues&show_trend=true&token=YtSFFZ702Q016pjWlBWT30Iy)](https://app.deepsource.com/gh/dumlj/dumlj-build/)&nbsp;\n\n# Crx Live Reload Webpack Plugin\n\nLivereload over SSE for develop Chrome Extension.\n\n## BACKGROUND\n\nSince Chrome extensions can only load local files, devServer hot reload does not work (only the browser can be reloaded or the scripts can be re-executed remotely). We need to use scripts to make it reload automatically, which contains the `background` and `content-script` modules.\n\n## FEATURE\n\n- Automatically inject reboot scripts.\n- Both `background` and `content-script` can use reboot capabilities.\n\n## INSTALL\n\n```bash\n# use npm\n$ npm install --dev @dumlj/crx-live-reload-webpack-plugin\n# use yarn\n$ yarn add --dev @dumlj/crx-live-reload-webpack-plugin\n# use pnpm\n$ pnpm add @dumlj/crx-live-reload-webpack-plugin -D\n```\n\n## USAGE\n\n```ts\nimport { CrxLiveReloadWebpackPlugin } from '@dumlj/crx-live-reload-webpack-plugin'\n\nexport default {\n  mode: 'development',\n  entry: {\n    background: path.join(__dirname, 'background.ts'),\n    contentScript: path.join(__dirname, 'contentScript.ts'),\n  },\n  plugins: [\n    ...new CrxLiveReloadWebpackPlugin({\n      // enter devServer host and port\n      // chrome extension can not mount files online.\n      host: '127.0.0.1',\n      port: 8080,\n    }),\n  ],\n  devServer: {\n    hot: true,\n    // livereload can not reboot background.js, close it.\n    liveReload: false,\n    devMiddleware: {\n      // as you know\n      writeToDisk: true,\n    },\n  },\n}\n```\n\n## LIVE DEMO\n\nSince I can't Mock Chrome, please open the console to view the logs.😅 And try to change `background.js` or `contentScript.js` files.\n\nWebpack DevServer port is `8080`, Static Server port is `3000`. In real environment, Chrome Extension will mount `./build` folder.\n\n<dumlj-stackblitz height=\"47vw\" src=\"@dumlj-example/crx-live-reload-webpack-plugin\"></dumlj-stackblitz>\n\n## INTERNAL DEPENDENCIES\n\n<pre>\n<b>@dumlj/crx-live-reload-webpack-plugin</b>\n└─┬ <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/seed-webpack-plugin%22,%22version%22:%222.5.22%22,%22description%22:%22Basic%20webpack%20plugins%22,%22isPrivate%22:false,%22location%22:%22@webpack-plugin/seed-webpack-plugin%22,%22dependencies%22:%5B%22@dumlj/feature-updater%22,%22chalk%22,%22tslib%22,%22utility-types%22,%22@dumlj/mock-lib%22,%22@jest/types%22,%22@types/webpack%22,%22ts-jest%22,%22webpack%22%5D,%22workspaceDependencies%22:%5B%22@dumlj/feature-updater%22,%22@dumlj/mock-lib%22%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@webpack-plugin/seed-webpack-plugin\">@dumlj/seed-webpack-plugin</a>\n  ├─┬─ <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/feature-updater%22,%22version%22:%222.5.22%22,%22description%22:%22updater%20for%20packages.%22,%22isPrivate%22:false,%22location%22:%22@feature/feature-updater%22,%22dependencies%22:%5B%22@dumlj/shell-lib%22,%22@dumlj/util-lib%22,%22fs-extra%22,%22semver%22,%22tslib%22,%22@dumlj/mock-lib%22,%22@jest/types%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%22@dumlj/shell-lib%22,%22@dumlj/util-lib%22,%22@dumlj/mock-lib%22%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@feature/feature-updater\">@dumlj/feature-updater</a>\n  │ ├─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/shell-lib%22,%22version%22:%222.5.22%22,%22description%22:%22shell%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:false,%22location%22:%22@lib/shell-lib%22,%22dependencies%22:%5B%22@jest/types%22,%22chokidar%22,%22command-exists%22,%22lodash%22,%22tslib%22,%22ts-jest%22,%22tsd-lite%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/shell-lib\">@dumlj/shell-lib</a>\n  │ ├─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/util-lib%22,%22version%22:%222.5.22%22,%22description%22:%22util%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:false,%22location%22:%22@lib/util-lib%22,%22dependencies%22:%5B%22fs-extra%22,%22glob%22,%22tslib%22,%22@jest/types%22,%22memfs%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/util-lib\">@dumlj/util-lib</a>\n  │ └─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/mock-lib%22,%22version%22:%222.5.22%22,%22description%22:%22mock%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:true,%22location%22:%22@lib/mock-lib%22,%22dependencies%22:%5B%22memfs%22,%22tslib%22,%22webpack%22,%22@jest/types%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/mock-lib\">@dumlj/mock-lib</a><sup><small><i>PRIVATE</i></small></sup>\n  └─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/mock-lib%22,%22version%22:%222.5.22%22,%22description%22:%22mock%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:true,%22location%22:%22@lib/mock-lib%22,%22dependencies%22:%5B%22memfs%22,%22tslib%22,%22webpack%22,%22@jest/types%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/mock-lib\">@dumlj/mock-lib</a><sup><small><i>PRIVATE</i></small></sup>\n</pre>\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/dumlj/dumlj-build/issues"},"homepage":"https://github.com/dumlj/dumlj-build#readme","_id":"@dumlj/crx-live-reload-webpack-plugin@2.5.23-alpha.1707401616.0","_nodeVersion":"20.11.0","_npmVersion":"lerna/7.4.2/node@v20.11.0+x64 (linux)","dist":{"integrity":"sha512-VLX6gKCYaG82QfzcE2vN8MAgWgjJEsIYBzHNQnngZNMSWgeHKPbXPGmUaQahr+ErRv2taZlXSF+/ZGozWT87nw==","shasum":"bb72feb60d48f007074553ea7a363bc8738b299a","tarball":"https://registry.npmjs.org/@dumlj/crx-live-reload-webpack-plugin/-/crx-live-reload-webpack-plugin-2.5.23-alpha.1707401616.0.tgz","fileCount":76,"unpackedSize":136661,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAMozdeI209CLnqcYerqLgL78T2/eH1+U7PMe3xwIIBmAiEAhQEvg0qpv8kTfn5l48TKP8x5AbR41dS6gTFH/+kp6hw="}]},"_npmUser":{"name":"davidjones","email":"qowera@qq.com"},"directories":{},"maintainers":[{"name":"cjfff","email":"cjfff1996@gmail.com"},{"name":"sexymee","email":"sexy.is.353016313@gmail.com"},{"name":"davidjones","email":"qowera@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/crx-live-reload-webpack-plugin_2.5.23-alpha.1707401616.0_1707401625455_0.39265076931697473"},"_hasShrinkwrap":false},"2.5.23":{"name":"@dumlj/crx-live-reload-webpack-plugin","version":"2.5.23","description":"Livereload over SSE for develop Chrome Extension.","repository":{"type":"git","url":"git+https://github.com/dumlj/dumlj-build.git","directory":"@webpack-plugin/crx-live-reload-webpack-plugin"},"license":"MIT","main":"./libs/index.js","types":"./libs/index.d.ts","dependencies":{"@dumlj/seed-webpack-plugin":"^2.5.23","chrome":"^0.1.0","tslib":"^2.5.0"},"devDependencies":{"@jest/types":"^29.6.3","@types/chrome":"^0.0.193","@types/webpack":"^5.28.4","ts-jest":"^29.1.1"},"peerDependencies":{"@types/chrome":"*","webpack":"5.x","webpack-dev-server":"4.x"},"publishConfig":{"access":"public"},"gitHead":"af7572cfa6c1e5d6ce8c57588b581e881b1ca679","bugs":{"url":"https://github.com/dumlj/dumlj-build/issues"},"homepage":"https://github.com/dumlj/dumlj-build#readme","_id":"@dumlj/crx-live-reload-webpack-plugin@2.5.23","_nodeVersion":"20.11.1","_npmVersion":"lerna/7.4.2/node@v20.11.1+x64 (linux)","dist":{"integrity":"sha512-L4je8HiBYuIVBdHSfyKDcoMnvMHzSK4LYydkqc34BOrrqx8gjqiQAq543mpO1Bz8fpemB+W2FQiB/OOivaJbtg==","shasum":"09f8de7114330fff73498e269b677a79b0726781","tarball":"https://registry.npmjs.org/@dumlj/crx-live-reload-webpack-plugin/-/crx-live-reload-webpack-plugin-2.5.23.tgz","fileCount":76,"unpackedSize":136607,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDVsXt2Ov+Ro1fKm4qTIQ2w5Z3bS2W6TvRfsQmic/9LIAiEAqoqnL10e/3QNMhvq0pK7nzR4O4RYnzIQFsqwYqUCLTE="}]},"_npmUser":{"name":"davidjones","email":"qowera@qq.com"},"directories":{},"maintainers":[{"name":"cjfff","email":"cjfff1996@gmail.com"},{"name":"sexymee","email":"sexy.is.353016313@gmail.com"},{"name":"davidjones","email":"qowera@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/crx-live-reload-webpack-plugin_2.5.23_1708515506740_0.8848385384404418"},"_hasShrinkwrap":false},"2.5.24":{"name":"@dumlj/crx-live-reload-webpack-plugin","version":"2.5.24","description":"Livereload over SSE for develop Chrome Extension.","repository":{"type":"git","url":"git+https://github.com/dumlj/dumlj-build.git","directory":"@webpack-plugin/crx-live-reload-webpack-plugin"},"license":"MIT","main":"./libs/index.js","types":"./libs/index.d.ts","scripts":{"clear":"rimraf ./libs","compile":"tsc --project ./tsconfig.compile.json","dev":"jest --watch","test":"jest"},"dependencies":{"@dumlj/seed-webpack-plugin":"^2.5.24","chrome":"^0.1.0","tslib":"^2.5.0"},"devDependencies":{"@jest/types":"^29.6.3","@types/chrome":"^0.0.193","@types/webpack":"^5.28.4","ts-jest":"^29.1.1"},"peerDependencies":{"@types/chrome":"*","webpack":"5.x","webpack-dev-server":"4.x"},"publishConfig":{"access":"public"},"gitHead":"4a0c12e0d7d041313b742ec998b6959a03d91c47","bugs":{"url":"https://github.com/dumlj/dumlj-build/issues"},"homepage":"https://github.com/dumlj/dumlj-build#readme","_id":"@dumlj/crx-live-reload-webpack-plugin@2.5.24","_nodeVersion":"20.11.1","_npmVersion":"lerna/7.4.2/node@v20.11.1+x64 (linux)","dist":{"integrity":"sha512-9HJ+nX73UBaIhULXyR2UwPKIXH5LeoeH3GMWn/na5cEaH/Z9nqkf9HxMHG+4IhWmB8j4rBxi3p1mi1SxxYFibA==","shasum":"3a8cd039cae41772657de59f61781ad1c8e23dea","tarball":"https://registry.npmjs.org/@dumlj/crx-live-reload-webpack-plugin/-/crx-live-reload-webpack-plugin-2.5.24.tgz","fileCount":72,"unpackedSize":135772,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDZ2A8cnik/M7tfTo0gbReLfYVUmCUN/LgLsoP+b6oKnAiEAqd+6zHCCGEVC3IO8+MMnYnPTPQFJ5uZUIxTLzkuO+MY="}]},"_npmUser":{"name":"davidjones","email":"qowera@qq.com"},"directories":{},"maintainers":[{"name":"cjfff","email":"cjfff1996@gmail.com"},{"name":"sexymee","email":"sexy.is.353016313@gmail.com"},{"name":"davidjones","email":"qowera@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/crx-live-reload-webpack-plugin_2.5.24_1708529630461_0.7882216779833247"},"_hasShrinkwrap":false},"2.5.25":{"name":"@dumlj/crx-live-reload-webpack-plugin","version":"2.5.25","description":"Livereload over SSE for develop Chrome Extension.","repository":{"type":"git","url":"git+https://github.com/dumlj/dumlj-build.git","directory":"@webpack-plugin/crx-live-reload-webpack-plugin"},"license":"MIT","main":"./libs/index.js","types":"./libs/index.d.ts","scripts":{"clear":"rimraf ./libs","compile":"tsc --project ./tsconfig.compile.json","dev":"jest --watch","test":"jest"},"dependencies":{"@dumlj/seed-webpack-plugin":"^2.5.25","chrome":"^0.1.0","tslib":"^2.5.0"},"devDependencies":{"@jest/types":"^29.6.3","@types/chrome":"^0.0.193","@types/webpack":"^5.28.4","ts-jest":"^29.1.1"},"peerDependencies":{"@types/chrome":"*","webpack":"5.x","webpack-dev-server":"4.x"},"publishConfig":{"access":"public"},"gitHead":"a3154a2e8f7f6166bcb634f7342408514182c8da","bugs":{"url":"https://github.com/dumlj/dumlj-build/issues"},"homepage":"https://github.com/dumlj/dumlj-build#readme","_id":"@dumlj/crx-live-reload-webpack-plugin@2.5.25","_nodeVersion":"20.11.1","_npmVersion":"lerna/7.4.2/node@v20.11.1+x64 (linux)","dist":{"integrity":"sha512-KMktBXyV7bq7jb7aT3NMIoi0V83Azvn0qmdT7Z+mnrK56kCyEtKr/bZF16zB/3oIOdV2vUNnoRA5yzFbv9qqqQ==","shasum":"3a4d06d6454b8267e80ca757c39ed8f7c774bda6","tarball":"https://registry.npmjs.org/@dumlj/crx-live-reload-webpack-plugin/-/crx-live-reload-webpack-plugin-2.5.25.tgz","fileCount":72,"unpackedSize":135772,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFNv4bE2vpoPHJ8Mp2PTjZKfwj2BvoSmXc7ZJWwVwT3bAiEApfggIkU3CiH/PD7vjRwL3bpI+I+kvuzhuW6+jZq+91Y="}]},"_npmUser":{"name":"davidjones","email":"qowera@qq.com"},"directories":{},"maintainers":[{"name":"cjfff","email":"cjfff1996@gmail.com"},{"name":"sexymee","email":"sexy.is.353016313@gmail.com"},{"name":"davidjones","email":"qowera@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/crx-live-reload-webpack-plugin_2.5.25_1708542398496_0.9884186531029346"},"_hasShrinkwrap":false},"2.5.25-alpha.1709135426.0":{"name":"@dumlj/crx-live-reload-webpack-plugin","version":"2.5.25-alpha.1709135426.0","description":"Livereload over SSE for develop Chrome Extension.","repository":{"type":"git","url":"git+https://github.com/dumlj/dumlj-build.git","directory":"@webpack-plugin/crx-live-reload-webpack-plugin"},"license":"MIT","main":"./libs/index.js","types":"./libs/index.d.ts","scripts":{"clear":"rimraf ./libs","compile":"tsc --project ./tsconfig.compile.json","dev":"jest --watch","test":"jest"},"dependencies":{"@dumlj/seed-webpack-plugin":"^2.5.25-alpha.1709135426.0+cb7cb7c","chrome":"^0.1.0","tslib":"^2.5.0"},"devDependencies":{"@jest/types":"^29.6.3","@types/chrome":"^0.0.193","@types/webpack":"^5.28.4","ts-jest":"^29.1.1"},"peerDependencies":{"@types/chrome":"*","webpack":"5.x","webpack-dev-server":"4.x"},"publishConfig":{"access":"public"},"gitHead":"cb7cb7c4e0951fe2a529a30fe3cda12ec48e61bf","readme":"<!-- This file is dynamically generated. please edit in __readme__ -->\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-4c1.svg)](https://opensource.org/licenses/MIT)&nbsp;\n[![Github Repo](https://img.shields.io/badge/GITHUB-REPO-0?logo=github)](https://github.com/dumlj/dumlj-build/tree/main/@webpack-plugin/crx-live-reload-webpack-plugin)&nbsp;\n[![NPM Version](https://badge.fury.io/js/@dumlj%2Fcrx-live-reload-webpack-plugin.svg)](https://www.npmjs.com/package/@dumlj/crx-live-reload-webpack-plugin)&nbsp;\n[![See Docs](https://img.shields.io/badge/see-docs-blue?logo=dumi&logoColor=green)](https://dumlj.github.io/dumlj-build/docs)&nbsp;\n[![codecov](https://codecov.io/gh/dumlj/dumlj-build/graph/badge.svg?token=ELV5W1H0C0)](https://codecov.io/gh/dumlj/dumlj-build)&nbsp;\n\n# Crx Live Reload Webpack Plugin\n\nLivereload over SSE for develop Chrome Extension.\n\n## BACKGROUND\n\nSince Chrome extensions can only load local files, devServer hot reload does not work (only the browser can be reloaded or the scripts can be re-executed remotely). We need to use scripts to make it reload automatically, which contains the `background` and `content-script` modules.\n\n## FEATURE\n\n- Automatically inject reboot scripts.\n- Both `background` and `content-script` can use reboot capabilities.\n\n## INSTALL\n\n```bash\n# use npm\n$ npm install --dev @dumlj/crx-live-reload-webpack-plugin\n# use yarn\n$ yarn add --dev @dumlj/crx-live-reload-webpack-plugin\n# use pnpm\n$ pnpm add @dumlj/crx-live-reload-webpack-plugin -D\n```\n\n## USAGE\n\n```ts\nimport { CrxLiveReloadWebpackPlugin } from '@dumlj/crx-live-reload-webpack-plugin'\n\nexport default {\n  mode: 'development',\n  entry: {\n    background: path.join(__dirname, 'background.ts'),\n    contentScript: path.join(__dirname, 'contentScript.ts'),\n  },\n  plugins: [\n    ...new CrxLiveReloadWebpackPlugin({\n      // enter devServer host and port\n      // chrome extension can not mount files online.\n      host: '127.0.0.1',\n      port: 8080,\n    }),\n  ],\n  devServer: {\n    hot: true,\n    // livereload can not reboot background.js, close it.\n    liveReload: false,\n    devMiddleware: {\n      // as you know\n      writeToDisk: true,\n    },\n  },\n}\n```\n\n## LIVE DEMO\n\nSince I can't Mock Chrome, please open the console to view the logs.😅 And try to change `background.js` or `contentScript.js` files.\n\nWebpack DevServer port is `8080`, Static Server port is `3000`. In real environment, Chrome Extension will mount `./build` folder.\n\n<dumlj-stackblitz height=\"47vw\" src=\"@dumlj-example/crx-live-reload-webpack-plugin\"></dumlj-stackblitz>\n\n## INTERNAL DEPENDENCIES\n\n<pre>\n<b>@dumlj/crx-live-reload-webpack-plugin</b>\n└─┬ <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/seed-webpack-plugin%22,%22version%22:%222.5.24%22,%22description%22:%22Basic%20webpack%20plugins%22,%22isPrivate%22:false,%22location%22:%22@webpack-plugin/seed-webpack-plugin%22,%22dependencies%22:%5B%22@dumlj/feature-updater%22,%22chalk%22,%22tslib%22,%22utility-types%22,%22@dumlj/mock-lib%22,%22@jest/types%22,%22@types/webpack%22,%22ts-jest%22,%22webpack%22%5D,%22workspaceDependencies%22:%5B%22@dumlj/feature-updater%22,%22@dumlj/mock-lib%22%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@webpack-plugin/seed-webpack-plugin\">@dumlj/seed-webpack-plugin</a>\n  ├─┬─ <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/feature-updater%22,%22version%22:%222.5.24%22,%22description%22:%22updater%20for%20packages.%22,%22isPrivate%22:false,%22location%22:%22@feature/feature-updater%22,%22dependencies%22:%5B%22@dumlj/shell-lib%22,%22@dumlj/util-lib%22,%22fs-extra%22,%22semver%22,%22tslib%22,%22@dumlj/mock-lib%22,%22@jest/types%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%22@dumlj/shell-lib%22,%22@dumlj/util-lib%22,%22@dumlj/mock-lib%22%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@feature/feature-updater\">@dumlj/feature-updater</a>\n  │ ├─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/shell-lib%22,%22version%22:%222.5.24%22,%22description%22:%22shell%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:false,%22location%22:%22@lib/shell-lib%22,%22dependencies%22:%5B%22@jest/types%22,%22chokidar%22,%22command-exists%22,%22lodash%22,%22tslib%22,%22ts-jest%22,%22tsd-lite%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/shell-lib\">@dumlj/shell-lib</a>\n  │ ├─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/util-lib%22,%22version%22:%222.5.24%22,%22description%22:%22util%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:false,%22location%22:%22@lib/util-lib%22,%22dependencies%22:%5B%22fs-extra%22,%22glob%22,%22tslib%22,%22@jest/types%22,%22memfs%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/util-lib\">@dumlj/util-lib</a>\n  │ └─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/mock-lib%22,%22version%22:%222.5.24%22,%22description%22:%22mock%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:true,%22location%22:%22@lib/mock-lib%22,%22dependencies%22:%5B%22memfs%22,%22tslib%22,%22webpack%22,%22@jest/types%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/mock-lib\">@dumlj/mock-lib</a><sup><small><i>PRIVATE</i></small></sup>\n  └─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/mock-lib%22,%22version%22:%222.5.24%22,%22description%22:%22mock%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:true,%22location%22:%22@lib/mock-lib%22,%22dependencies%22:%5B%22memfs%22,%22tslib%22,%22webpack%22,%22@jest/types%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/mock-lib\">@dumlj/mock-lib</a><sup><small><i>PRIVATE</i></small></sup>\n</pre>\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/dumlj/dumlj-build/issues"},"homepage":"https://github.com/dumlj/dumlj-build#readme","_id":"@dumlj/crx-live-reload-webpack-plugin@2.5.25-alpha.1709135426.0","_nodeVersion":"20.11.1","_npmVersion":"lerna/7.4.2/node@v20.11.1+x64 (linux)","dist":{"integrity":"sha512-2HYkVpEXgYyrBD8hGVc/h1katVxH5S9/DOYsLk+KmJulF5wFh0ijNlvcc1HYPuy243j7Dt92kFQNtYYdhAymfw==","shasum":"b9adb39e69a44064ed9d269419f6f867a04c235f","tarball":"https://registry.npmjs.org/@dumlj/crx-live-reload-webpack-plugin/-/crx-live-reload-webpack-plugin-2.5.25-alpha.1709135426.0.tgz","fileCount":72,"unpackedSize":135826,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAxXuWB7tUSx2XD/DGvwbcXZYqpAKfZiwXnwbO6pF3zhAiA5tAkh8JOCHEDNbSJrRsge2cTUw9QxI5uR46Z3KpN3Ng=="}]},"_npmUser":{"name":"davidjones","email":"qowera@qq.com"},"directories":{},"maintainers":[{"name":"cjfff","email":"cjfff1996@gmail.com"},{"name":"sexymee","email":"sexy.is.353016313@gmail.com"},{"name":"davidjones","email":"qowera@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/crx-live-reload-webpack-plugin_2.5.25-alpha.1709135426.0_1709135436669_0.3651412846377349"},"_hasShrinkwrap":false},"2.5.26-alpha.1709136968.0":{"name":"@dumlj/crx-live-reload-webpack-plugin","version":"2.5.26-alpha.1709136968.0","description":"Livereload over SSE for develop Chrome Extension.","repository":{"type":"git","url":"git+https://github.com/dumlj/dumlj-build.git","directory":"@webpack-plugin/crx-live-reload-webpack-plugin"},"license":"MIT","main":"./libs/index.js","types":"./libs/index.d.ts","scripts":{"clear":"rimraf ./libs","compile":"tsc --project ./tsconfig.compile.json","dev":"jest --watch","test":"jest"},"dependencies":{"@dumlj/seed-webpack-plugin":"^2.5.26-alpha.1709136968.0+d899b28","chrome":"^0.1.0","tslib":"^2.5.0"},"devDependencies":{"@jest/types":"^29.6.3","@types/chrome":"^0.0.193","@types/webpack":"^5.28.4","ts-jest":"^29.1.1"},"peerDependencies":{"@types/chrome":"*","webpack":"5.x","webpack-dev-server":"4.x"},"publishConfig":{"access":"public"},"gitHead":"d899b28856e44b509a3673f0a451460da740a250","readme":"<!-- This file is dynamically generated. please edit in __readme__ -->\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-4c1.svg)](https://opensource.org/licenses/MIT)&nbsp;\n[![Github Repo](https://img.shields.io/badge/GITHUB-REPO-0?logo=github)](https://github.com/dumlj/dumlj-build/tree/main/@webpack-plugin/crx-live-reload-webpack-plugin)&nbsp;\n[![NPM Version](https://badge.fury.io/js/@dumlj%2Fcrx-live-reload-webpack-plugin.svg)](https://www.npmjs.com/package/@dumlj/crx-live-reload-webpack-plugin)&nbsp;\n[![See Docs](https://img.shields.io/badge/see-docs-blue?logo=dumi&logoColor=green)](https://dumlj.github.io/dumlj-build/docs)&nbsp;\n[![codecov](https://codecov.io/gh/dumlj/dumlj-build/graph/badge.svg?token=ELV5W1H0C0)](https://codecov.io/gh/dumlj/dumlj-build)&nbsp;\n\n# Crx Live Reload Webpack Plugin\n\nLivereload over SSE for develop Chrome Extension.\n\n## BACKGROUND\n\nSince Chrome extensions can only load local files, devServer hot reload does not work (only the browser can be reloaded or the scripts can be re-executed remotely). We need to use scripts to make it reload automatically, which contains the `background` and `content-script` modules.\n\n## FEATURE\n\n- Automatically inject reboot scripts.\n- Both `background` and `content-script` can use reboot capabilities.\n\n## INSTALL\n\n```bash\n# use npm\n$ npm install --dev @dumlj/crx-live-reload-webpack-plugin\n# use yarn\n$ yarn add --dev @dumlj/crx-live-reload-webpack-plugin\n# use pnpm\n$ pnpm add @dumlj/crx-live-reload-webpack-plugin -D\n```\n\n## USAGE\n\n```ts\nimport { CrxLiveReloadWebpackPlugin } from '@dumlj/crx-live-reload-webpack-plugin'\n\nexport default {\n  mode: 'development',\n  entry: {\n    background: path.join(__dirname, 'background.ts'),\n    contentScript: path.join(__dirname, 'contentScript.ts'),\n  },\n  plugins: [\n    ...new CrxLiveReloadWebpackPlugin({\n      // enter devServer host and port\n      // chrome extension can not mount files online.\n      host: '127.0.0.1',\n      port: 8080,\n    }),\n  ],\n  devServer: {\n    hot: true,\n    // livereload can not reboot background.js, close it.\n    liveReload: false,\n    devMiddleware: {\n      // as you know\n      writeToDisk: true,\n    },\n  },\n}\n```\n\n## LIVE DEMO\n\nSince I can't Mock Chrome, please open the console to view the logs.😅 And try to change `background.js` or `contentScript.js` files.\n\nWebpack DevServer port is `8080`, Static Server port is `3000`. In real environment, Chrome Extension will mount `./build` folder.\n\n<dumlj-stackblitz height=\"47vw\" src=\"@dumlj-example/crx-live-reload-webpack-plugin\"></dumlj-stackblitz>\n\n## INTERNAL DEPENDENCIES\n\n<pre>\n<b>@dumlj/crx-live-reload-webpack-plugin</b>\n└─┬ <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/seed-webpack-plugin%22,%22version%22:%222.5.25%22,%22description%22:%22Basic%20webpack%20plugins%22,%22isPrivate%22:false,%22location%22:%22@webpack-plugin/seed-webpack-plugin%22,%22dependencies%22:%5B%22@dumlj/feature-updater%22,%22chalk%22,%22tslib%22,%22utility-types%22,%22@dumlj/mock-lib%22,%22@jest/types%22,%22@types/webpack%22,%22ts-jest%22,%22webpack%22%5D,%22workspaceDependencies%22:%5B%22@dumlj/feature-updater%22,%22@dumlj/mock-lib%22%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@webpack-plugin/seed-webpack-plugin\">@dumlj/seed-webpack-plugin</a>\n  ├─┬─ <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/feature-updater%22,%22version%22:%222.5.25%22,%22description%22:%22updater%20for%20packages.%22,%22isPrivate%22:false,%22location%22:%22@feature/feature-updater%22,%22dependencies%22:%5B%22@dumlj/shell-lib%22,%22@dumlj/util-lib%22,%22fs-extra%22,%22semver%22,%22tslib%22,%22@dumlj/mock-lib%22,%22@jest/types%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%22@dumlj/shell-lib%22,%22@dumlj/util-lib%22,%22@dumlj/mock-lib%22%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@feature/feature-updater\">@dumlj/feature-updater</a>\n  │ ├─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/shell-lib%22,%22version%22:%222.5.25%22,%22description%22:%22shell%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:false,%22location%22:%22@lib/shell-lib%22,%22dependencies%22:%5B%22@jest/types%22,%22chokidar%22,%22command-exists%22,%22lodash%22,%22tslib%22,%22ts-jest%22,%22tsd-lite%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/shell-lib\">@dumlj/shell-lib</a>\n  │ ├─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/util-lib%22,%22version%22:%222.5.25%22,%22description%22:%22util%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:false,%22location%22:%22@lib/util-lib%22,%22dependencies%22:%5B%22fs-extra%22,%22glob%22,%22tslib%22,%22@jest/types%22,%22memfs%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/util-lib\">@dumlj/util-lib</a>\n  │ └─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/mock-lib%22,%22version%22:%222.5.25%22,%22description%22:%22mock%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:true,%22location%22:%22@lib/mock-lib%22,%22dependencies%22:%5B%22memfs%22,%22tslib%22,%22webpack%22,%22@jest/types%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/mock-lib\">@dumlj/mock-lib</a><sup><small><i>PRIVATE</i></small></sup>\n  └─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/mock-lib%22,%22version%22:%222.5.25%22,%22description%22:%22mock%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:true,%22location%22:%22@lib/mock-lib%22,%22dependencies%22:%5B%22memfs%22,%22tslib%22,%22webpack%22,%22@jest/types%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/mock-lib\">@dumlj/mock-lib</a><sup><small><i>PRIVATE</i></small></sup>\n</pre>\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/dumlj/dumlj-build/issues"},"homepage":"https://github.com/dumlj/dumlj-build#readme","_id":"@dumlj/crx-live-reload-webpack-plugin@2.5.26-alpha.1709136968.0","_nodeVersion":"20.11.1","_npmVersion":"lerna/7.4.2/node@v20.11.1+x64 (linux)","dist":{"integrity":"sha512-SkJsLmGjPYb405zcrafbl7M3H/a5/MeHRjh8wAD/LCUiOwt0qfruYZwcumIV5oivfQP9T8W1dPX2FnSJCmyGlg==","shasum":"613512ee1bd04504e241b2d4b0feb2b974dc7e01","tarball":"https://registry.npmjs.org/@dumlj/crx-live-reload-webpack-plugin/-/crx-live-reload-webpack-plugin-2.5.26-alpha.1709136968.0.tgz","fileCount":72,"unpackedSize":135826,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCfeICXZoSS1RbWi3LmglMgs+jWl9oDEayKLgLeHfknIQIhAPpSpChIwN5bw9v/SpLZS9/efodaNTcKJq+Wd/VXPrqe"}]},"_npmUser":{"name":"davidjones","email":"qowera@qq.com"},"directories":{},"maintainers":[{"name":"cjfff","email":"cjfff1996@gmail.com"},{"name":"sexymee","email":"sexy.is.353016313@gmail.com"},{"name":"davidjones","email":"qowera@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/crx-live-reload-webpack-plugin_2.5.26-alpha.1709136968.0_1709136978774_0.7788084581091446"},"_hasShrinkwrap":false},"2.5.26-alpha.1709143224.0":{"name":"@dumlj/crx-live-reload-webpack-plugin","version":"2.5.26-alpha.1709143224.0","description":"Livereload over SSE for develop Chrome Extension.","repository":{"type":"git","url":"git+https://github.com/dumlj/dumlj-build.git","directory":"@webpack-plugin/crx-live-reload-webpack-plugin"},"license":"MIT","main":"./libs/index.js","types":"./libs/index.d.ts","scripts":{"clear":"rimraf ./libs","compile":"tsc --project ./tsconfig.compile.json","dev":"jest --watch","test":"jest"},"dependencies":{"@dumlj/seed-webpack-plugin":"^2.5.26-alpha.1709143224.0+32c922e","chrome":"^0.1.0","tslib":"^2.5.0"},"devDependencies":{"@jest/types":"^29.6.3","@types/chrome":"^0.0.193","@types/webpack":"^5.28.4","ts-jest":"^29.1.1"},"peerDependencies":{"@types/chrome":"*","webpack":"5.x","webpack-dev-server":"4.x"},"publishConfig":{"access":"public"},"gitHead":"32c922eb040d9453db697652a8d8970bf6e6ebcd","readme":"<!-- This file is dynamically generated. please edit in __readme__ -->\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-4c1.svg)](https://opensource.org/licenses/MIT)&nbsp;\n[![Github Repo](https://img.shields.io/badge/GITHUB-REPO-0?logo=github)](https://github.com/dumlj/dumlj-build/tree/main/@webpack-plugin/crx-live-reload-webpack-plugin)&nbsp;\n[![NPM Version](https://badge.fury.io/js/@dumlj%2Fcrx-live-reload-webpack-plugin.svg)](https://www.npmjs.com/package/@dumlj/crx-live-reload-webpack-plugin)&nbsp;\n[![See Docs](https://img.shields.io/badge/see-docs-blue?logo=dumi&logoColor=green)](https://dumlj.github.io/dumlj-build/docs)&nbsp;\n[![codecov](https://codecov.io/gh/dumlj/dumlj-build/graph/badge.svg?token=ELV5W1H0C0)](https://codecov.io/gh/dumlj/dumlj-build)&nbsp;\n\n# Crx Live Reload Webpack Plugin\n\nLivereload over SSE for develop Chrome Extension.\n\n## BACKGROUND\n\nSince Chrome extensions can only load local files, devServer hot reload does not work (only the browser can be reloaded or the scripts can be re-executed remotely). We need to use scripts to make it reload automatically, which contains the `background` and `content-script` modules.\n\n## FEATURE\n\n- Automatically inject reboot scripts.\n- Both `background` and `content-script` can use reboot capabilities.\n\n## INSTALL\n\n```bash\n# use npm\n$ npm install --dev @dumlj/crx-live-reload-webpack-plugin\n# use yarn\n$ yarn add --dev @dumlj/crx-live-reload-webpack-plugin\n# use pnpm\n$ pnpm add @dumlj/crx-live-reload-webpack-plugin -D\n```\n\n## USAGE\n\n```ts\nimport { CrxLiveReloadWebpackPlugin } from '@dumlj/crx-live-reload-webpack-plugin'\n\nexport default {\n  mode: 'development',\n  entry: {\n    background: path.join(__dirname, 'background.ts'),\n    contentScript: path.join(__dirname, 'contentScript.ts'),\n  },\n  plugins: [\n    ...new CrxLiveReloadWebpackPlugin({\n      // enter devServer host and port\n      // chrome extension can not mount files online.\n      host: '127.0.0.1',\n      port: 8080,\n    }),\n  ],\n  devServer: {\n    hot: true,\n    // livereload can not reboot background.js, close it.\n    liveReload: false,\n    devMiddleware: {\n      // as you know\n      writeToDisk: true,\n    },\n  },\n}\n```\n\n## LIVE DEMO\n\nSince I can't Mock Chrome, please open the console to view the logs.😅 And try to change `background.js` or `contentScript.js` files.\n\nWebpack DevServer port is `8080`, Static Server port is `3000`. In real environment, Chrome Extension will mount `./build` folder.\n\n<dumlj-stackblitz height=\"47vw\" src=\"@dumlj-example/crx-live-reload-webpack-plugin\"></dumlj-stackblitz>\n\n## INTERNAL DEPENDENCIES\n\n<pre>\n<b>@dumlj/crx-live-reload-webpack-plugin</b>\n└─┬ <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/seed-webpack-plugin%22,%22version%22:%222.5.25%22,%22description%22:%22Basic%20webpack%20plugins%22,%22isPrivate%22:false,%22location%22:%22@webpack-plugin/seed-webpack-plugin%22,%22dependencies%22:%5B%22@dumlj/feature-updater%22,%22chalk%22,%22tslib%22,%22utility-types%22,%22@dumlj/mock-lib%22,%22@jest/types%22,%22@types/webpack%22,%22ts-jest%22,%22webpack%22%5D,%22workspaceDependencies%22:%5B%22@dumlj/feature-updater%22,%22@dumlj/mock-lib%22%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@webpack-plugin/seed-webpack-plugin\">@dumlj/seed-webpack-plugin</a>\n  ├─┬─ <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/feature-updater%22,%22version%22:%222.5.25%22,%22description%22:%22updater%20for%20packages.%22,%22isPrivate%22:false,%22location%22:%22@feature/feature-updater%22,%22dependencies%22:%5B%22@dumlj/shell-lib%22,%22@dumlj/util-lib%22,%22fs-extra%22,%22semver%22,%22tslib%22,%22@dumlj/mock-lib%22,%22@jest/types%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%22@dumlj/shell-lib%22,%22@dumlj/util-lib%22,%22@dumlj/mock-lib%22%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@feature/feature-updater\">@dumlj/feature-updater</a>\n  │ ├─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/shell-lib%22,%22version%22:%222.5.25%22,%22description%22:%22shell%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:false,%22location%22:%22@lib/shell-lib%22,%22dependencies%22:%5B%22@jest/types%22,%22chokidar%22,%22command-exists%22,%22lodash%22,%22tslib%22,%22ts-jest%22,%22tsd-lite%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/shell-lib\">@dumlj/shell-lib</a>\n  │ ├─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/util-lib%22,%22version%22:%222.5.25%22,%22description%22:%22util%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:false,%22location%22:%22@lib/util-lib%22,%22dependencies%22:%5B%22fs-extra%22,%22glob%22,%22tslib%22,%22@jest/types%22,%22memfs%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/util-lib\">@dumlj/util-lib</a>\n  │ └─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/mock-lib%22,%22version%22:%222.5.25%22,%22description%22:%22mock%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:true,%22location%22:%22@lib/mock-lib%22,%22dependencies%22:%5B%22memfs%22,%22tslib%22,%22webpack%22,%22@jest/types%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/mock-lib\">@dumlj/mock-lib</a><sup><small><i>PRIVATE</i></small></sup>\n  └─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/mock-lib%22,%22version%22:%222.5.25%22,%22description%22:%22mock%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:true,%22location%22:%22@lib/mock-lib%22,%22dependencies%22:%5B%22memfs%22,%22tslib%22,%22webpack%22,%22@jest/types%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/mock-lib\">@dumlj/mock-lib</a><sup><small><i>PRIVATE</i></small></sup>\n</pre>\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/dumlj/dumlj-build/issues"},"homepage":"https://github.com/dumlj/dumlj-build#readme","_id":"@dumlj/crx-live-reload-webpack-plugin@2.5.26-alpha.1709143224.0","_nodeVersion":"20.11.1","_npmVersion":"lerna/7.4.2/node@v20.11.1+x64 (linux)","dist":{"integrity":"sha512-hprXKRJky9x53IHVmaoannrre4Gc0s5E4m77kFXO6+6JSmMTiQGeztHxG7tF+K9jq3jSpgIKlCMM507hy4ZNJw==","shasum":"c01b7e42e80503c28757a4e712c8f0ff6169a971","tarball":"https://registry.npmjs.org/@dumlj/crx-live-reload-webpack-plugin/-/crx-live-reload-webpack-plugin-2.5.26-alpha.1709143224.0.tgz","fileCount":72,"unpackedSize":135855,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDjc7d+pRJF/y2zAWticnpRFFSqlzipSgImvp27ISaU3QIgB0fQBBtOP4NI9LJXjZ/q6H+n8rlfVHy8AI3yWXzdzkU="}]},"_npmUser":{"name":"davidjones","email":"qowera@qq.com"},"directories":{},"maintainers":[{"name":"cjfff","email":"cjfff1996@gmail.com"},{"name":"sexymee","email":"sexy.is.353016313@gmail.com"},{"name":"davidjones","email":"qowera@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/crx-live-reload-webpack-plugin_2.5.26-alpha.1709143224.0_1709143240474_0.8597036204635893"},"_hasShrinkwrap":false},"2.5.26":{"name":"@dumlj/crx-live-reload-webpack-plugin","version":"2.5.26","description":"Livereload over SSE for develop Chrome Extension.","repository":{"type":"git","url":"git+https://github.com/dumlj/dumlj-build.git","directory":"@webpack-plugin/crx-live-reload-webpack-plugin"},"license":"MIT","main":"./libs/index.js","types":"./libs/index.d.ts","scripts":{"clear":"rimraf ./libs","compile":"tsc --project ./tsconfig.compile.json","dev":"jest --watch","test":"jest"},"dependencies":{"@dumlj/seed-webpack-plugin":"^2.5.26","chrome":"^0.1.0","tslib":"^2.5.0"},"devDependencies":{"@jest/types":"^29.6.3","@types/chrome":"^0.0.193","@types/webpack":"^5.28.4","ts-jest":"^29.1.1"},"peerDependencies":{"@types/chrome":"*","webpack":"5.x","webpack-dev-server":"4.x"},"publishConfig":{"access":"public"},"gitHead":"4bba4616570b695700c00ddce4b912ec590dbcb2","bugs":{"url":"https://github.com/dumlj/dumlj-build/issues"},"homepage":"https://github.com/dumlj/dumlj-build#readme","_id":"@dumlj/crx-live-reload-webpack-plugin@2.5.26","_nodeVersion":"20.11.1","_npmVersion":"lerna/7.4.2/node@v20.11.1+x64 (linux)","dist":{"integrity":"sha512-LGs10vVccJhMG9X4eR9RWqrmQfSe2c2TXsMleQpG/v/qgHPvmcMGo0XFqxMrQlTN0Wy/OrL+Ysba9krlBzFSOw==","shasum":"bf38ee3ac71e73fe6222a844c3fe0fa172a97f81","tarball":"https://registry.npmjs.org/@dumlj/crx-live-reload-webpack-plugin/-/crx-live-reload-webpack-plugin-2.5.26.tgz","fileCount":72,"unpackedSize":135801,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDRy/tl6TnF2J8ziIRFAJkIqdPq9ccEqdWIOAqhf1jbfAiEAzYJh4JJSopRzgLflnX1pjhlmfPh59oU+Pwu3WSxJfYQ="}]},"_npmUser":{"name":"davidjones","email":"qowera@qq.com"},"directories":{},"maintainers":[{"name":"cjfff","email":"cjfff1996@gmail.com"},{"name":"sexymee","email":"sexy.is.353016313@gmail.com"},{"name":"davidjones","email":"qowera@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/crx-live-reload-webpack-plugin_2.5.26_1710125695650_0.3227509118342389"},"_hasShrinkwrap":false},"2.5.26-alpha.1710126501.0":{"name":"@dumlj/crx-live-reload-webpack-plugin","version":"2.5.26-alpha.1710126501.0","description":"Livereload over SSE for develop Chrome Extension.","repository":{"type":"git","url":"git+https://github.com/dumlj/dumlj-build.git","directory":"@webpack-plugin/crx-live-reload-webpack-plugin"},"license":"MIT","main":"./libs/index.js","types":"./libs/index.d.ts","scripts":{"clear":"rimraf ./libs","compile":"tsc --project ./tsconfig.compile.json","dev":"jest --watch","test":"jest"},"dependencies":{"@dumlj/seed-webpack-plugin":"^2.5.26-alpha.1710126501.0+49f782b5","chrome":"^0.1.0","tslib":"^2.5.0"},"devDependencies":{"@jest/types":"^29.6.3","@types/chrome":"^0.0.193","@types/webpack":"^5.28.4","ts-jest":"^29.1.1"},"peerDependencies":{"@types/chrome":"*","webpack":"5.x","webpack-dev-server":"4.x"},"publishConfig":{"access":"public"},"gitHead":"49f782b5c85d157595c6d633aab0f65056bb86e6","readme":"<!-- This file is dynamically generated. please edit in __readme__ -->\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-4c1.svg)](https://opensource.org/licenses/MIT)&nbsp;\n[![Github Repo](https://img.shields.io/badge/GITHUB-REPO-0?logo=github)](https://github.com/dumlj/dumlj-build/tree/main/@webpack-plugin/crx-live-reload-webpack-plugin)&nbsp;\n[![NPM Version](https://badge.fury.io/js/@dumlj%2Fcrx-live-reload-webpack-plugin.svg)](https://www.npmjs.com/package/@dumlj/crx-live-reload-webpack-plugin)&nbsp;\n[![See Docs](https://img.shields.io/badge/see-docs-blue?logo=dumi&logoColor=green)](https://dumlj.github.io/dumlj-build/docs)&nbsp;\n[![codecov](https://codecov.io/gh/dumlj/dumlj-build/graph/badge.svg?token=ELV5W1H0C0)](https://codecov.io/gh/dumlj/dumlj-build)&nbsp;\n\n# Crx Live Reload Webpack Plugin\n\nLivereload over SSE for develop Chrome Extension.\n\n## BACKGROUND\n\nSince Chrome extensions can only load local files, devServer hot reload does not work (only the browser can be reloaded or the scripts can be re-executed remotely). We need to use scripts to make it reload automatically, which contains the `background` and `content-script` modules.\n\n## FEATURE\n\n- Automatically inject reboot scripts.\n- Both `background` and `content-script` can use reboot capabilities.\n\n## INSTALL\n\n```bash\n# use npm\n$ npm install --dev @dumlj/crx-live-reload-webpack-plugin\n# use yarn\n$ yarn add --dev @dumlj/crx-live-reload-webpack-plugin\n# use pnpm\n$ pnpm add @dumlj/crx-live-reload-webpack-plugin -D\n```\n\n## USAGE\n\n```ts\nimport { CrxLiveReloadWebpackPlugin } from '@dumlj/crx-live-reload-webpack-plugin'\n\nexport default {\n  mode: 'development',\n  entry: {\n    background: path.join(__dirname, 'background.ts'),\n    contentScript: path.join(__dirname, 'contentScript.ts'),\n  },\n  plugins: [\n    ...new CrxLiveReloadWebpackPlugin({\n      // enter devServer host and port\n      // chrome extension can not mount files online.\n      host: '127.0.0.1',\n      port: 8080,\n    }),\n  ],\n  devServer: {\n    hot: true,\n    // livereload can not reboot background.js, close it.\n    liveReload: false,\n    devMiddleware: {\n      // as you know\n      writeToDisk: true,\n    },\n  },\n}\n```\n\n## LIVE DEMO\n\nSince I can't Mock Chrome, please open the console to view the logs.😅 And try to change `background.js` or `contentScript.js` files.\n\nWebpack DevServer port is `8080`, Static Server port is `3000`. In real environment, Chrome Extension will mount `./build` folder.\n\n<dumlj-stackblitz height=\"47vw\" src=\"@dumlj-example/crx-live-reload-webpack-plugin\"></dumlj-stackblitz>\n\n## INTERNAL DEPENDENCIES\n\n<pre>\n<b>@dumlj/crx-live-reload-webpack-plugin</b>\n└─┬ <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/seed-webpack-plugin%22,%22version%22:%222.5.25%22,%22description%22:%22Basic%20webpack%20plugins%22,%22isPrivate%22:false,%22location%22:%22@webpack-plugin/seed-webpack-plugin%22,%22dependencies%22:%5B%22@dumlj/feature-updater%22,%22chalk%22,%22tslib%22,%22utility-types%22,%22@dumlj/mock-lib%22,%22@jest/types%22,%22@types/webpack%22,%22ts-jest%22,%22webpack%22%5D,%22workspaceDependencies%22:%5B%22@dumlj/feature-updater%22,%22@dumlj/mock-lib%22%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@webpack-plugin/seed-webpack-plugin\">@dumlj/seed-webpack-plugin</a>\n  ├─┬─ <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/feature-updater%22,%22version%22:%222.5.25%22,%22description%22:%22updater%20for%20packages.%22,%22isPrivate%22:false,%22location%22:%22@feature/feature-updater%22,%22dependencies%22:%5B%22@dumlj/shell-lib%22,%22@dumlj/util-lib%22,%22fs-extra%22,%22semver%22,%22tslib%22,%22@dumlj/mock-lib%22,%22@jest/types%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%22@dumlj/shell-lib%22,%22@dumlj/util-lib%22,%22@dumlj/mock-lib%22%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@feature/feature-updater\">@dumlj/feature-updater</a>\n  │ ├─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/shell-lib%22,%22version%22:%222.5.25%22,%22description%22:%22shell%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:false,%22location%22:%22@lib/shell-lib%22,%22dependencies%22:%5B%22@jest/types%22,%22chokidar%22,%22command-exists%22,%22lodash%22,%22tslib%22,%22ts-jest%22,%22tsd-lite%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/shell-lib\">@dumlj/shell-lib</a>\n  │ ├─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/util-lib%22,%22version%22:%222.5.25%22,%22description%22:%22util%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:false,%22location%22:%22@lib/util-lib%22,%22dependencies%22:%5B%22fs-extra%22,%22glob%22,%22tslib%22,%22@jest/types%22,%22memfs%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/util-lib\">@dumlj/util-lib</a>\n  │ └─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/mock-lib%22,%22version%22:%222.5.25%22,%22description%22:%22mock%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:true,%22location%22:%22@lib/mock-lib%22,%22dependencies%22:%5B%22memfs%22,%22tslib%22,%22webpack%22,%22@jest/types%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/mock-lib\">@dumlj/mock-lib</a><sup><small><i>PRIVATE</i></small></sup>\n  └─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/mock-lib%22,%22version%22:%222.5.25%22,%22description%22:%22mock%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:true,%22location%22:%22@lib/mock-lib%22,%22dependencies%22:%5B%22memfs%22,%22tslib%22,%22webpack%22,%22@jest/types%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/mock-lib\">@dumlj/mock-lib</a><sup><small><i>PRIVATE</i></small></sup>\n</pre>\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/dumlj/dumlj-build/issues"},"homepage":"https://github.com/dumlj/dumlj-build#readme","_id":"@dumlj/crx-live-reload-webpack-plugin@2.5.26-alpha.1710126501.0","_nodeVersion":"20.11.1","_npmVersion":"lerna/7.4.2/node@v20.11.1+x64 (linux)","dist":{"integrity":"sha512-viTwKu7iwXWCo/RtXCeq19u1NkqQDo/iq/HW12sEvhNbtkynOcyB+F5gIw47kT/jRj4m5diMD6wUWjs+PAxuPA==","shasum":"8cf98db43ede3df013ae9799f1d5c3faa6e739dd","tarball":"https://registry.npmjs.org/@dumlj/crx-live-reload-webpack-plugin/-/crx-live-reload-webpack-plugin-2.5.26-alpha.1710126501.0.tgz","fileCount":73,"unpackedSize":136228,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEGJrgyuQwKq+VlLiXL+PjogXABxTzEMOZ2hFYXFTq57AiAW/gaSTCvonxK15gMBTwM41N3tfr+wxmIj6Y1JqX3P1A=="}]},"_npmUser":{"name":"davidjones","email":"qowera@qq.com"},"directories":{},"maintainers":[{"name":"cjfff","email":"cjfff1996@gmail.com"},{"name":"sexymee","email":"sexy.is.353016313@gmail.com"},{"name":"davidjones","email":"qowera@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/crx-live-reload-webpack-plugin_2.5.26-alpha.1710126501.0_1710126511273_0.523562549723366"},"_hasShrinkwrap":false},"2.5.27-alpha.1713365667.0":{"name":"@dumlj/crx-live-reload-webpack-plugin","version":"2.5.27-alpha.1713365667.0","description":"Livereload over SSE for develop Chrome Extension.","repository":{"type":"git","url":"git+https://github.com/dumlj/dumlj-build.git","directory":"@webpack-plugin/crx-live-reload-webpack-plugin"},"license":"MIT","main":"./libs/index.js","types":"./libs/index.d.ts","scripts":{"clear":"rimraf ./libs","compile":"tsc --project ./tsconfig.compile.json","dev":"jest --watch","test":"jest"},"dependencies":{"@dumlj/seed-webpack-plugin":"^2.5.27-alpha.1713365667.0+7f7d4701","chrome":"^0.1.0","tslib":"^2.5.0"},"devDependencies":{"@jest/types":"^29.6.3","@types/chrome":"^0.0.193","@types/webpack":"^5.28.4","ts-jest":"^29.1.1"},"peerDependencies":{"@types/chrome":"*","webpack":"5.x","webpack-dev-server":"4.x"},"publishConfig":{"access":"public"},"gitHead":"7f7d470192cdb8c90f110335bb1d9f5143f009a0","readme":"<!-- This file is dynamically generated. please edit in __readme__ -->\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-4c1.svg)](https://opensource.org/licenses/MIT)&nbsp;\n[![Github Repo](https://img.shields.io/badge/GITHUB-REPO-0?logo=github)](https://github.com/dumlj/dumlj-build/tree/main/@webpack-plugin/crx-live-reload-webpack-plugin)&nbsp;\n[![NPM Version](https://badge.fury.io/js/@dumlj%2Fcrx-live-reload-webpack-plugin.svg)](https://www.npmjs.com/package/@dumlj/crx-live-reload-webpack-plugin)&nbsp;\n[![See Docs](https://img.shields.io/badge/see-docs-blue?logo=dumi&logoColor=green)](https://dumlj.github.io/dumlj-build/docs)&nbsp;\n[![codecov](https://codecov.io/gh/dumlj/dumlj-build/graph/badge.svg?token=ELV5W1H0C0)](https://codecov.io/gh/dumlj/dumlj-build)&nbsp;\n\n# Crx Live Reload Webpack Plugin\n\nLivereload over SSE for develop Chrome Extension.\n\n## BACKGROUND\n\nSince Chrome extensions can only load local files, devServer hot reload does not work (only the browser can be reloaded or the scripts can be re-executed remotely). We need to use scripts to make it reload automatically, which contains the `background` and `content-script` modules.\n\n## FEATURE\n\n- Automatically inject reboot scripts.\n- Both `background` and `content-script` can use reboot capabilities.\n\n## INSTALL\n\n```bash\n# use npm\n$ npm install --dev @dumlj/crx-live-reload-webpack-plugin\n# use yarn\n$ yarn add --dev @dumlj/crx-live-reload-webpack-plugin\n# use pnpm\n$ pnpm add @dumlj/crx-live-reload-webpack-plugin -D\n```\n\n## USAGE\n\n```ts\nimport { CrxLiveReloadWebpackPlugin } from '@dumlj/crx-live-reload-webpack-plugin'\n\nexport default {\n  mode: 'development',\n  entry: {\n    background: path.join(__dirname, 'background.ts'),\n    contentScript: path.join(__dirname, 'contentScript.ts'),\n  },\n  plugins: [\n    ...new CrxLiveReloadWebpackPlugin({\n      // enter devServer host and port\n      // chrome extension can not mount files online.\n      host: '127.0.0.1',\n      port: 8080,\n    }),\n  ],\n  devServer: {\n    hot: true,\n    // livereload can not reboot background.js, close it.\n    liveReload: false,\n    devMiddleware: {\n      // as you know\n      writeToDisk: true,\n    },\n  },\n}\n```\n\n## LIVE DEMO\n\nSince I can't Mock Chrome, please open the console to view the logs.😅 And try to change `background.js` or `contentScript.js` files.\n\nWebpack DevServer port is `8080`, Static Server port is `3000`. In real environment, Chrome Extension will mount `./build` folder.\n\n<dumlj-stackblitz height=\"47vw\" src=\"@dumlj-example/crx-live-reload-webpack-plugin\"></dumlj-stackblitz>\n\n## INTERNAL DEPENDENCIES\n\n<pre>\n<b>@dumlj/crx-live-reload-webpack-plugin</b>\n└─┬ <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/seed-webpack-plugin%22,%22version%22:%222.5.25%22,%22description%22:%22Basic%20webpack%20plugins%22,%22isPrivate%22:false,%22location%22:%22@webpack-plugin/seed-webpack-plugin%22,%22dependencies%22:%5B%22@dumlj/feature-updater%22,%22chalk%22,%22tslib%22,%22utility-types%22,%22@dumlj/mock-lib%22,%22@jest/types%22,%22@types/webpack%22,%22ts-jest%22,%22webpack%22%5D,%22workspaceDependencies%22:%5B%22@dumlj/feature-updater%22,%22@dumlj/mock-lib%22%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@webpack-plugin/seed-webpack-plugin\">@dumlj/seed-webpack-plugin</a>\n  ├─┬─ <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/feature-updater%22,%22version%22:%222.5.25%22,%22description%22:%22updater%20for%20packages.%22,%22isPrivate%22:false,%22location%22:%22@feature/feature-updater%22,%22dependencies%22:%5B%22@dumlj/shell-lib%22,%22@dumlj/util-lib%22,%22fs-extra%22,%22semver%22,%22tslib%22,%22@dumlj/mock-lib%22,%22@jest/types%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%22@dumlj/shell-lib%22,%22@dumlj/util-lib%22,%22@dumlj/mock-lib%22%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@feature/feature-updater\">@dumlj/feature-updater</a>\n  │ ├─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/shell-lib%22,%22version%22:%222.5.25%22,%22description%22:%22shell%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:false,%22location%22:%22@lib/shell-lib%22,%22dependencies%22:%5B%22@jest/types%22,%22chokidar%22,%22command-exists%22,%22lodash%22,%22tslib%22,%22ts-jest%22,%22tsd-lite%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/shell-lib\">@dumlj/shell-lib</a>\n  │ ├─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/util-lib%22,%22version%22:%222.5.25%22,%22description%22:%22util%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:false,%22location%22:%22@lib/util-lib%22,%22dependencies%22:%5B%22fs-extra%22,%22glob%22,%22tslib%22,%22@jest/types%22,%22memfs%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/util-lib\">@dumlj/util-lib</a>\n  │ └─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/mock-lib%22,%22version%22:%222.5.25%22,%22description%22:%22mock%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:true,%22location%22:%22@lib/mock-lib%22,%22dependencies%22:%5B%22memfs%22,%22tslib%22,%22webpack%22,%22@jest/types%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/mock-lib\">@dumlj/mock-lib</a><sup><small><i>PRIVATE</i></small></sup>\n  └─── <a is=\"dumlj-link\" data-project=\"%7B%22name%22:%22@dumlj/mock-lib%22,%22version%22:%222.5.25%22,%22description%22:%22mock%20%E5%B7%A5%E5%85%B7%E5%BA%93%22,%22isPrivate%22:true,%22location%22:%22@lib/mock-lib%22,%22dependencies%22:%5B%22memfs%22,%22tslib%22,%22webpack%22,%22@jest/types%22,%22ts-jest%22%5D,%22workspaceDependencies%22:%5B%5D%7D\" href=\"https://github.com/dumlj/dumlj-build/tree/main/@lib/mock-lib\">@dumlj/mock-lib</a><sup><small><i>PRIVATE</i></small></sup>\n</pre>\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/dumlj/dumlj-build/issues"},"homepage":"https://github.com/dumlj/dumlj-build#readme","_id":"@dumlj/crx-live-reload-webpack-plugin@2.5.27-alpha.1713365667.0","_nodeVersion":"20.12.2","_npmVersion":"lerna/7.4.2/node@v20.12.2+x64 (linux)","dist":{"integrity":"sha512-yMEpWHqlh4hLp/V8CdmyzeOLkCalALLn/yqp5FklUYY+Yj8yUNYdQbFUiMqGNcYqB4bnwezT2e9ZeUEdkHzz/g==","shasum":"21ae8a03b5f30b5f3923042d44094f4a26587cfa","tarball":"https://registry.npmjs.org/@dumlj/crx-live-reload-webpack-plugin/-/crx-live-reload-webpack-plugin-2.5.27-alpha.1713365667.0.tgz","fileCount":73,"unpackedSize":136386,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD6+xhJoq3MF4RKgObfnvwXwLTe6jclMwizKMwZ+FmrYAIgJ9bit4fol3OfOCg6zq69LvwVvs/ENWZH7oEkbMAMNzo="}]},"_npmUser":{"name":"davidjones","email":"qowera@qq.com"},"directories":{},"maintainers":[{"name":"cjfff","email":"cjfff1996@gmail.com"},{"name":"sexymee","email":"sexy.is.353016313@gmail.com"},{"name":"davidjones","email":"qowera@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/crx-live-reload-webpack-plugin_2.5.27-alpha.1713365667.0_1713365685042_0.528475143184487"},"_hasShrinkwrap":false}},"time":{"created":"2023-11-27T11:05:09.077Z","2.5.18":"2023-11-27T11:05:09.443Z","modified":"2024-04-17T14:54:45.452Z","2.5.19":"2023-11-27T15:22:17.406Z","2.5.20":"2023-11-27T17:51:33.095Z","2.5.21":"2023-12-30T15:47:42.922Z","2.5.22":"2024-01-02T02:07:57.691Z","2.5.23-alpha.1707212485.0":"2024-02-06T09:41:33.058Z","2.5.23-alpha.1707244387.0":"2024-02-06T18:33:15.059Z","2.5.23-alpha.1707245597.0":"2024-02-06T18:53:23.693Z","2.5.23-alpha.1707248747.0":"2024-02-06T19:45:55.946Z","2.5.23-alpha.1707282212.0":"2024-02-07T05:03:53.848Z","2.5.23-alpha.1707287569.0":"2024-02-07T06:32:58.756Z","2.5.23-alpha.1707383866.0":"2024-02-08T09:17:54.397Z","2.5.23-alpha.1707390213.0":"2024-02-08T11:03:41.076Z","2.5.23-alpha.1707401616.0":"2024-02-08T14:13:45.680Z","2.5.23":"2024-02-21T11:38:26.877Z","2.5.24":"2024-02-21T15:33:50.647Z","2.5.25":"2024-02-21T19:06:38.729Z","2.5.25-alpha.1709135426.0":"2024-02-28T15:50:36.821Z","2.5.26-alpha.1709136968.0":"2024-02-28T16:16:19.020Z","2.5.26-alpha.1709143224.0":"2024-02-28T18:00:40.716Z","2.5.26":"2024-03-11T02:54:55.814Z","2.5.26-alpha.1710126501.0":"2024-03-11T03:08:31.455Z","2.5.27-alpha.1713365667.0":"2024-04-17T14:54:45.237Z"},"maintainers":[{"name":"cjfff","email":"cjfff1996@gmail.com"},{"name":"sexymee","email":"sexy.is.353016313@gmail.com"},{"name":"davidjones","email":"qowera@qq.com"}],"description":"Livereload over SSE for develop Chrome Extension.","homepage":"https://github.com/dumlj/dumlj-build#readme","repository":{"type":"git","url":"git+https://github.com/dumlj/dumlj-build.git","directory":"@webpack-plugin/crx-live-reload-webpack-plugin"},"bugs":{"url":"https://github.com/dumlj/dumlj-build/issues"},"license":"MIT","readme":"","readmeFilename":""}