{"_id":"@dumlj/crx-manifest-webpack-plugin","_rev":"22-1206bb66d8ca342d83496d4233375510","name":"@dumlj/crx-manifest-webpack-plugin","dist-tags":{"latest":"2.5.26","alpha":"2.5.27-alpha.1713365667.0"},"versions":{"2.5.18":{"name":"@dumlj/crx-manifest-webpack-plugin","version":"2.5.18","description":"Automatically import files into the chrome extension's manifest.json.","repository":{"type":"git","url":"git+https://github.com/dumlj/dumlj-build.git","directory":"@webpack-plugin/crx-manifest-webpack-plugin"},"license":"MIT","main":"./libs/index.js","types":"./libs/index.d.ts","dependencies":{"@dumlj/seed-webpack-plugin":"^2.5.18","lodash":"^4.17.21","tslib":"^2.5.0"},"devDependencies":{"@dumlj/mock-lib":"^2.5.18","@jest/types":"^29.6.3","@types/webpack":"^5.28.4","memfs":"^4.6.0","ts-jest":"^29.1.1"},"peerDependencies":{"webpack":"5.x"},"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-manifest-webpack-plugin@2.5.18","_nodeVersion":"19.9.0","_npmVersion":"lerna/7.4.2/node@v19.9.0+x64 (darwin)","dist":{"integrity":"sha512-Q0gDPjUc+jcXT5tvs7BlJ8xqDFz5U3sVr+GVQ4emQQfttQOzQXqUBlOyL6Lbwv4hvLyxYLltcLodm4mib67dpQ==","shasum":"e1fe0a63dd0bb2a4619f912a053272f734ad98ef","tarball":"https://registry.npmjs.org/@dumlj/crx-manifest-webpack-plugin/-/crx-manifest-webpack-plugin-2.5.18.tgz","fileCount":37,"unpackedSize":153689,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD1+0n3N2iqCQEy2d+alQMLv1wglvO3iTuA2dairkDLbgIhAKSmk8KCLt1X6VxVngt03kaWd3UXKbtm+z1EbFu97E57"}]},"_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-manifest-webpack-plugin_2.5.18_1701083109309_0.011848126094125"},"_hasShrinkwrap":false},"2.5.19":{"name":"@dumlj/crx-manifest-webpack-plugin","version":"2.5.19","description":"Automatically import files into the chrome extension's manifest.json.","repository":{"type":"git","url":"git+https://github.com/dumlj/dumlj-build.git","directory":"@webpack-plugin/crx-manifest-webpack-plugin"},"license":"MIT","main":"./libs/index.js","types":"./libs/index.d.ts","dependencies":{"@dumlj/seed-webpack-plugin":"^2.5.19","lodash":"^4.17.21","tslib":"^2.5.0"},"devDependencies":{"@dumlj/mock-lib":"^2.5.19","@jest/types":"^29.6.3","@types/webpack":"^5.28.4","memfs":"^4.6.0","ts-jest":"^29.1.1"},"peerDependencies":{"webpack":"5.x"},"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-manifest-webpack-plugin@2.5.19","_nodeVersion":"20.9.0","_npmVersion":"lerna/7.4.2/node@v20.9.0+x64 (darwin)","dist":{"integrity":"sha512-LX0xfXlIb30mfa8PA+GlIgVHCLoTjuOHgAnfi75DsSmuSOfRYxpFEbQ7kHDSI/EHSYOKvsDOfezlFAGyDDRCrA==","shasum":"732959547eb3723675b490743a4c1703199821e5","tarball":"https://registry.npmjs.org/@dumlj/crx-manifest-webpack-plugin/-/crx-manifest-webpack-plugin-2.5.19.tgz","fileCount":37,"unpackedSize":153689,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEDV9I0HI/U7AcMv0nkAhUcxij4kiZydbisZEkxZnHfBAiBuPT9pMW7MGA9gg4wMDtT+D7Bhi+dvgLubz0MxS3qZNA=="}]},"_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-manifest-webpack-plugin_2.5.19_1701098537268_0.48422575386607436"},"_hasShrinkwrap":false},"2.5.20":{"name":"@dumlj/crx-manifest-webpack-plugin","version":"2.5.20","description":"Automatically import files into the chrome extension's manifest.json.","repository":{"type":"git","url":"git+https://github.com/dumlj/dumlj-build.git","directory":"@webpack-plugin/crx-manifest-webpack-plugin"},"license":"MIT","main":"./libs/index.js","types":"./libs/index.d.ts","dependencies":{"@dumlj/seed-webpack-plugin":"^2.5.20","lodash":"^4.17.21","tslib":"^2.5.0"},"devDependencies":{"@dumlj/mock-lib":"^2.5.20","@jest/types":"^29.6.3","@types/webpack":"^5.28.4","memfs":"^4.6.0","ts-jest":"^29.1.1"},"peerDependencies":{"webpack":"5.x"},"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-manifest-webpack-plugin@2.5.20","_nodeVersion":"20.9.0","_npmVersion":"lerna/7.4.2/node@v20.9.0+x64 (darwin)","dist":{"integrity":"sha512-EyzlWnEBjLHHrVEXLVo97tzIAtT9EDkpoKeVQrjrm/L1s/OP2GDSIL+OTMv2OOFrRY9qTI5O+30DceU8dGCSLw==","shasum":"dd5a537d2e007c4efa378af3c51636684aacfaed","tarball":"https://registry.npmjs.org/@dumlj/crx-manifest-webpack-plugin/-/crx-manifest-webpack-plugin-2.5.20.tgz","fileCount":37,"unpackedSize":154202,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID/30+ZS0+TmYm4HSpyUm+f5mt5Lthbk84QT8Hu7hfP1AiEAqcUb5PtKtjNQExJL1SKWP10E9BPPp1QepM3RHfFt54A="}]},"_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-manifest-webpack-plugin_2.5.20_1701107492860_0.15744986734040034"},"_hasShrinkwrap":false},"2.5.21":{"name":"@dumlj/crx-manifest-webpack-plugin","version":"2.5.21","description":"Automatically import files into the chrome extension's manifest.json.","repository":{"type":"git","url":"git+https://github.com/dumlj/dumlj-build.git","directory":"@webpack-plugin/crx-manifest-webpack-plugin"},"license":"MIT","main":"./libs/index.js","types":"./libs/index.d.ts","dependencies":{"@dumlj/seed-webpack-plugin":"^2.5.21","lodash":"^4.17.21","tslib":"^2.5.0"},"devDependencies":{"@dumlj/mock-lib":"^2.5.21","@jest/types":"^29.6.3","@types/webpack":"^5.28.4","memfs":"^4.6.0","ts-jest":"^29.1.1"},"peerDependencies":{"webpack":"5.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-manifest-webpack-plugin@2.5.21","_nodeVersion":"20.10.0","_npmVersion":"lerna/7.4.2/node@v20.10.0+x64 (darwin)","dist":{"integrity":"sha512-PXIhU0WY5wlKsv3gRqP5BbXSoJpE6Tp1hmntCnCb7PBoFyU9PL/sIWASLUckUr0opSik+5VNtUWiPUDSwr4zTA==","shasum":"838f7c2e0374832265472afe088a17ca5ad579c2","tarball":"https://registry.npmjs.org/@dumlj/crx-manifest-webpack-plugin/-/crx-manifest-webpack-plugin-2.5.21.tgz","fileCount":39,"unpackedSize":72341,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCsvbvRfDtbCSvuGhvq8NJKS+doiyTY+mIPZP5tDt2VSQIgF2rvKsnK1bs/uTXPsJ7Z4sOybOvFsK57WSKscPdwZ+M="}]},"_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-manifest-webpack-plugin_2.5.21_1703951262704_0.9929095854238525"},"_hasShrinkwrap":false},"2.5.22":{"name":"@dumlj/crx-manifest-webpack-plugin","version":"2.5.22","description":"Automatically import files into the chrome extension's manifest.json.","repository":{"type":"git","url":"git+https://github.com/dumlj/dumlj-build.git","directory":"@webpack-plugin/crx-manifest-webpack-plugin"},"license":"MIT","main":"./libs/index.js","types":"./libs/index.d.ts","dependencies":{"@dumlj/seed-webpack-plugin":"^2.5.22","lodash":"^4.17.21","tslib":"^2.5.0"},"devDependencies":{"@dumlj/mock-lib":"^2.5.22","@jest/types":"^29.6.3","@types/webpack":"^5.28.4","memfs":"^4.6.0","ts-jest":"^29.1.1"},"peerDependencies":{"webpack":"5.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-manifest-webpack-plugin@2.5.22","_nodeVersion":"20.10.0","_npmVersion":"lerna/7.4.2/node@v20.10.0+x64 (darwin)","dist":{"integrity":"sha512-S2A1JTbTk8iNnbP8I2rRBJ4y/2sAJMHTZddZZ6D/MCxFSyMNoz/PUxckB/frvDS9HkMesBycKE2H43lX/32d+Q==","shasum":"8129016cc7ab00cf070458cc4472dd71066ea551","tarball":"https://registry.npmjs.org/@dumlj/crx-manifest-webpack-plugin/-/crx-manifest-webpack-plugin-2.5.22.tgz","fileCount":37,"unpackedSize":156123,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF7/VjwHYDcoU8bZurv63mM7iCjDAFhu5BCFjvc8OFmmAiEA2CtrDZKYqCz33oErhbvEWKTOn02cDlVjoMJEVgvkblA="}]},"_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-manifest-webpack-plugin_2.5.22_1704161277557_0.7395664523415044"},"_hasShrinkwrap":false},"2.5.23-alpha.1707212485.0":{"name":"@dumlj/crx-manifest-webpack-plugin","version":"2.5.23-alpha.1707212485.0","description":"Automatically import files into the chrome extension's manifest.json.","repository":{"type":"git","url":"git+https://github.com/dumlj/dumlj-build.git","directory":"@webpack-plugin/crx-manifest-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","lodash":"^4.17.21","tslib":"^2.5.0"},"devDependencies":{"@dumlj/mock-lib":"^2.5.22","@jest/types":"^29.6.3","@types/webpack":"^5.28.4","memfs":"^4.6.0","ts-jest":"^29.1.1"},"peerDependencies":{"webpack":"5.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-manifest-webpack-plugin)&nbsp;\n[![NPM Version](https://badge.fury.io/js/@dumlj%2Fcrx-manifest-webpack-plugin.svg)](https://www.npmjs.com/package/@dumlj/crx-manifest-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 Manifest Webpack Plugin\n\nAutomatically import files into the chrome extension&#x27;s manifest.json.\n\n## BACKGROUND\n\n`Google Chrome Extension` uses [manifest.json](https://developer.chrome.com/docs/extensions/mv3/manifest/) to configure project. When we use webpack to build, the result file path is not consistent with the source, So we can use `Entry` to find all dependency files and add them to `manifest.json`.\n\n## FEATURE\n\n- The files generated by optimization (runtime/chunk) will be imported into the `manifest.json` automatically.\n- Add configuration based on basic `manifest.json`.\n\n## INSTALL\n\n```bash\n# use npm\n$ npm install --dev @dumlj/crx-manifest-webpack-plugin\n# use yarn\n$ yarn add --dev @dumlj/crx-manifest-webpack-plugin\n# use pnpm\n$ pnpm add @dumlj/crx-manifest-webpack-plugin -D\n```\n\n## USAGE\n\n```ts\nimport fs from 'fs-extra'\nimport { CrxManifestWebpackPlugin } from '@dumlj/crx-manifest-webpack-plugin'\nimport webpack, { type Configuration } from 'webpack'\n\nconst manifest: ChromeManifest = fs.readJSONSync(manifestFile)\nconst config: Configuration = {\n  // ...\n  plugins: [new CrxManifestWebpackPlugin({ manifest })],\n}\n\nexport default config\n```\n\n## LIVE DEMO\n\nIn the demo, the files is output to the memory, please check the `console`.\nOr remove the comment `writeToDisk: true` from the `MemfsWebpackPlugin` in `webpack.config.ts` and run `yarn build`.\n\n<dumlj-stackblitz height=\"47vw\" src=\"@dumlj-example/crx-manifest-webpack-plugin\"></dumlj-stackblitz>\n\n## INTERNAL DEPENDENCIES\n\n<pre>\n<b>@dumlj/crx-manifest-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└── <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-manifest-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-zOfJoJ2kMlL51nBjyHDy9t1egphyi7urDtft1D65M7MiL9BfmDS+nAi4sVM2SKih5zJt8JLn+bTncpgody4wsw==","shasum":"cbb59a8287919df5ab2eb9a1bc814b66c43e26bf","tarball":"https://registry.npmjs.org/@dumlj/crx-manifest-webpack-plugin/-/crx-manifest-webpack-plugin-2.5.23-alpha.1707212485.0.tgz","fileCount":37,"unpackedSize":68436,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDNA3d9GKyKehS1wLY5LV+GQ5bcWtPjoF5jbIiHsCfC4gIgTdCoXwDcy6vvCaOXnNaDErgV++T3DEXABV7I2o3M5L8="}]},"_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-manifest-webpack-plugin_2.5.23-alpha.1707212485.0_1707212492941_0.18490442440286015"},"_hasShrinkwrap":false},"2.5.23-alpha.1707244387.0":{"name":"@dumlj/crx-manifest-webpack-plugin","version":"2.5.23-alpha.1707244387.0","description":"Automatically import files into the chrome extension's manifest.json.","repository":{"type":"git","url":"git+https://github.com/dumlj/dumlj-build.git","directory":"@webpack-plugin/crx-manifest-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","lodash":"^4.17.21","tslib":"^2.5.0"},"devDependencies":{"@dumlj/mock-lib":"^2.5.22","@jest/types":"^29.6.3","@types/webpack":"^5.28.4","memfs":"^4.6.0","ts-jest":"^29.1.1"},"peerDependencies":{"webpack":"5.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-manifest-webpack-plugin)&nbsp;\n[![NPM Version](https://badge.fury.io/js/@dumlj%2Fcrx-manifest-webpack-plugin.svg)](https://www.npmjs.com/package/@dumlj/crx-manifest-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 Manifest Webpack Plugin\n\nAutomatically import files into the chrome extension&#x27;s manifest.json.\n\n## BACKGROUND\n\n`Google Chrome Extension` uses [manifest.json](https://developer.chrome.com/docs/extensions/mv3/manifest/) to configure project. When we use webpack to build, the result file path is not consistent with the source, So we can use `Entry` to find all dependency files and add them to `manifest.json`.\n\n## FEATURE\n\n- The files generated by optimization (runtime/chunk) will be imported into the `manifest.json` automatically.\n- Add configuration based on basic `manifest.json`.\n\n## INSTALL\n\n```bash\n# use npm\n$ npm install --dev @dumlj/crx-manifest-webpack-plugin\n# use yarn\n$ yarn add --dev @dumlj/crx-manifest-webpack-plugin\n# use pnpm\n$ pnpm add @dumlj/crx-manifest-webpack-plugin -D\n```\n\n## USAGE\n\n```ts\nimport fs from 'fs-extra'\nimport { CrxManifestWebpackPlugin } from '@dumlj/crx-manifest-webpack-plugin'\nimport webpack, { type Configuration } from 'webpack'\n\nconst manifest: ChromeManifest = fs.readJSONSync(manifestFile)\nconst config: Configuration = {\n  // ...\n  plugins: [new CrxManifestWebpackPlugin({ manifest })],\n}\n\nexport default config\n```\n\n## LIVE DEMO\n\nIn the demo, the files is output to the memory, please check the `console`.\nOr remove the comment `writeToDisk: true` from the `MemfsWebpackPlugin` in `webpack.config.ts` and run `yarn build`.\n\n<dumlj-stackblitz height=\"47vw\" src=\"@dumlj-example/crx-manifest-webpack-plugin\"></dumlj-stackblitz>\n\n## INTERNAL DEPENDENCIES\n\n<pre>\n<b>@dumlj/crx-manifest-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└── <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-manifest-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-U76FkvDBkQkxJ5OpWJu02m2HNfKiTx3X0mj2UhnzxTC0jmzXl2o80yWJgPXHRA/DMH+7uSf7JWC4WLYevvIGYA==","shasum":"8e4ea41efbbf7e4db75ee483eb04ac0a99e1e98b","tarball":"https://registry.npmjs.org/@dumlj/crx-manifest-webpack-plugin/-/crx-manifest-webpack-plugin-2.5.23-alpha.1707244387.0.tgz","fileCount":39,"unpackedSize":71006,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBuQAYUK6JSYMFEhuY0hlAnBTbCumOdfLGzPbampss68AiEAljGyf+ebudDZSnCm9ifT1HBEoRXqxyQcMXeBVpsLZww="}]},"_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-manifest-webpack-plugin_2.5.23-alpha.1707244387.0_1707244395186_0.9343828474866755"},"_hasShrinkwrap":false},"2.5.23-alpha.1707245597.0":{"name":"@dumlj/crx-manifest-webpack-plugin","version":"2.5.23-alpha.1707245597.0","description":"Automatically import files into the chrome extension's manifest.json.","repository":{"type":"git","url":"git+https://github.com/dumlj/dumlj-build.git","directory":"@webpack-plugin/crx-manifest-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","lodash":"^4.17.21","tslib":"^2.5.0"},"devDependencies":{"@dumlj/mock-lib":"^2.5.22","@jest/types":"^29.6.3","@types/webpack":"^5.28.4","memfs":"^4.6.0","ts-jest":"^29.1.1"},"peerDependencies":{"webpack":"5.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-manifest-webpack-plugin)&nbsp;\n[![NPM Version](https://badge.fury.io/js/@dumlj%2Fcrx-manifest-webpack-plugin.svg)](https://www.npmjs.com/package/@dumlj/crx-manifest-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 Manifest Webpack Plugin\n\nAutomatically import files into the chrome extension&#x27;s manifest.json.\n\n## BACKGROUND\n\n`Google Chrome Extension` uses [manifest.json](https://developer.chrome.com/docs/extensions/mv3/manifest/) to configure project. When we use webpack to build, the result file path is not consistent with the source, So we can use `Entry` to find all dependency files and add them to `manifest.json`.\n\n## FEATURE\n\n- The files generated by optimization (runtime/chunk) will be imported into the `manifest.json` automatically.\n- Add configuration based on basic `manifest.json`.\n\n## INSTALL\n\n```bash\n# use npm\n$ npm install --dev @dumlj/crx-manifest-webpack-plugin\n# use yarn\n$ yarn add --dev @dumlj/crx-manifest-webpack-plugin\n# use pnpm\n$ pnpm add @dumlj/crx-manifest-webpack-plugin -D\n```\n\n## USAGE\n\n```ts\nimport fs from 'fs-extra'\nimport { CrxManifestWebpackPlugin } from '@dumlj/crx-manifest-webpack-plugin'\nimport webpack, { type Configuration } from 'webpack'\n\nconst manifest: ChromeManifest = fs.readJSONSync(manifestFile)\nconst config: Configuration = {\n  // ...\n  plugins: [new CrxManifestWebpackPlugin({ manifest })],\n}\n\nexport default config\n```\n\n## LIVE DEMO\n\nIn the demo, the files is output to the memory, please check the `console`.\nOr remove the comment `writeToDisk: true` from the `MemfsWebpackPlugin` in `webpack.config.ts` and run `yarn build`.\n\n<dumlj-stackblitz height=\"47vw\" src=\"@dumlj-example/crx-manifest-webpack-plugin\"></dumlj-stackblitz>\n\n## INTERNAL DEPENDENCIES\n\n<pre>\n<b>@dumlj/crx-manifest-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└── <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-manifest-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-rF/Wq7e0TPUYGg+AoFxl7H1SY1CDNJ4mW3kFyCCimeCXNvsZblxpIuljJnB2TXR7wSwYVQ9wvj/YP9aZhr7Yxw==","shasum":"aea070adadc07ce0ae2aed5a100160709516a431","tarball":"https://registry.npmjs.org/@dumlj/crx-manifest-webpack-plugin/-/crx-manifest-webpack-plugin-2.5.23-alpha.1707245597.0.tgz","fileCount":39,"unpackedSize":71006,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHUMlGOsD/gl2wHCxMMcZHVJv0U2Gka1RsIZafS0sSMzAiALzj+UiSWB1omKRExstGKXetpbGtEQjrFqS2x27aR91g=="}]},"_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-manifest-webpack-plugin_2.5.23-alpha.1707245597.0_1707245603573_0.8031126344555797"},"_hasShrinkwrap":false},"2.5.23-alpha.1707248747.0":{"name":"@dumlj/crx-manifest-webpack-plugin","version":"2.5.23-alpha.1707248747.0","description":"Automatically import files into the chrome extension's manifest.json.","repository":{"type":"git","url":"git+https://github.com/dumlj/dumlj-build.git","directory":"@webpack-plugin/crx-manifest-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","lodash":"^4.17.21","tslib":"^2.5.0"},"devDependencies":{"@dumlj/mock-lib":"^2.5.22","@jest/types":"^29.6.3","@types/webpack":"^5.28.4","memfs":"^4.6.0","ts-jest":"^29.1.1"},"peerDependencies":{"webpack":"5.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-manifest-webpack-plugin)&nbsp;\n[![NPM Version](https://badge.fury.io/js/@dumlj%2Fcrx-manifest-webpack-plugin.svg)](https://www.npmjs.com/package/@dumlj/crx-manifest-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 Manifest Webpack Plugin\n\nAutomatically import files into the chrome extension&#x27;s manifest.json.\n\n## BACKGROUND\n\n`Google Chrome Extension` uses [manifest.json](https://developer.chrome.com/docs/extensions/mv3/manifest/) to configure project. When we use webpack to build, the result file path is not consistent with the source, So we can use `Entry` to find all dependency files and add them to `manifest.json`.\n\n## FEATURE\n\n- The files generated by optimization (runtime/chunk) will be imported into the `manifest.json` automatically.\n- Add configuration based on basic `manifest.json`.\n\n## INSTALL\n\n```bash\n# use npm\n$ npm install --dev @dumlj/crx-manifest-webpack-plugin\n# use yarn\n$ yarn add --dev @dumlj/crx-manifest-webpack-plugin\n# use pnpm\n$ pnpm add @dumlj/crx-manifest-webpack-plugin -D\n```\n\n## USAGE\n\n```ts\nimport fs from 'fs-extra'\nimport { CrxManifestWebpackPlugin } from '@dumlj/crx-manifest-webpack-plugin'\nimport webpack, { type Configuration } from 'webpack'\n\nconst manifest: ChromeManifest = fs.readJSONSync(manifestFile)\nconst config: Configuration = {\n  // ...\n  plugins: [new CrxManifestWebpackPlugin({ manifest })],\n}\n\nexport default config\n```\n\n## LIVE DEMO\n\nIn the demo, the files is output to the memory, please check the `console`.\nOr remove the comment `writeToDisk: true` from the `MemfsWebpackPlugin` in `webpack.config.ts` and run `yarn build`.\n\n<dumlj-stackblitz height=\"47vw\" src=\"@dumlj-example/crx-manifest-webpack-plugin\"></dumlj-stackblitz>\n\n## INTERNAL DEPENDENCIES\n\n<pre>\n<b>@dumlj/crx-manifest-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└── <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-manifest-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-E7l/colRrjOY/0BYRCy5/IqijBsSNTSjS7sbt33O8j4dxW8iZjNPJsM84fBVW6rcCs/cRV2pT6gkMZT8WCYV3A==","shasum":"86ce7d749f40d6af2ec52446886b411426b61d4d","tarball":"https://registry.npmjs.org/@dumlj/crx-manifest-webpack-plugin/-/crx-manifest-webpack-plugin-2.5.23-alpha.1707248747.0.tgz","fileCount":39,"unpackedSize":71006,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCkhlGunGl3yPRpwE1W7vE65NOaFQcexygzOuStO+0gsgIgcRhuLRa3vBTbQ+/T/PIbnRUCXrHZI0bzqlTpqVLwIGo="}]},"_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-manifest-webpack-plugin_2.5.23-alpha.1707248747.0_1707248755700_0.9746003036430055"},"_hasShrinkwrap":false},"2.5.23-alpha.1707282212.0":{"name":"@dumlj/crx-manifest-webpack-plugin","version":"2.5.23-alpha.1707282212.0","description":"Automatically import files into the chrome extension's manifest.json.","repository":{"type":"git","url":"git+https://github.com/dumlj/dumlj-build.git","directory":"@webpack-plugin/crx-manifest-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","lodash":"^4.17.21","tslib":"^2.5.0"},"devDependencies":{"@dumlj/mock-lib":"^2.5.22","@jest/types":"^29.6.3","@types/webpack":"^5.28.4","memfs":"^4.6.0","ts-jest":"^29.1.1"},"peerDependencies":{"webpack":"5.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-manifest-webpack-plugin)&nbsp;\n[![NPM Version](https://badge.fury.io/js/@dumlj%2Fcrx-manifest-webpack-plugin.svg)](https://www.npmjs.com/package/@dumlj/crx-manifest-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 Manifest Webpack Plugin\n\nAutomatically import files into the chrome extension&#x27;s manifest.json.\n\n## BACKGROUND\n\n`Google Chrome Extension` uses [manifest.json](https://developer.chrome.com/docs/extensions/mv3/manifest/) to configure project. When we use webpack to build, the result file path is not consistent with the source, So we can use `Entry` to find all dependency files and add them to `manifest.json`.\n\n## FEATURE\n\n- The files generated by optimization (runtime/chunk) will be imported into the `manifest.json` automatically.\n- Add configuration based on basic `manifest.json`.\n\n## INSTALL\n\n```bash\n# use npm\n$ npm install --dev @dumlj/crx-manifest-webpack-plugin\n# use yarn\n$ yarn add --dev @dumlj/crx-manifest-webpack-plugin\n# use pnpm\n$ pnpm add @dumlj/crx-manifest-webpack-plugin -D\n```\n\n## USAGE\n\n```ts\nimport fs from 'fs-extra'\nimport { CrxManifestWebpackPlugin } from '@dumlj/crx-manifest-webpack-plugin'\nimport webpack, { type Configuration } from 'webpack'\n\nconst manifest: ChromeManifest = fs.readJSONSync(manifestFile)\nconst config: Configuration = {\n  // ...\n  plugins: [new CrxManifestWebpackPlugin({ manifest })],\n}\n\nexport default config\n```\n\n## LIVE DEMO\n\nIn the demo, the files is output to the memory, please check the `console`.\nOr remove the comment `writeToDisk: true` from the `MemfsWebpackPlugin` in `webpack.config.ts` and run `yarn build`.\n\n<dumlj-stackblitz height=\"47vw\" src=\"@dumlj-example/crx-manifest-webpack-plugin\"></dumlj-stackblitz>\n\n## INTERNAL DEPENDENCIES\n\n<pre>\n<b>@dumlj/crx-manifest-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└── <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-manifest-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-CFcB0ck8IY5G/N82Jboo3fnV0NBVvdn7iHDGW1I1Ov4PUfrR3M3DB3myYa7TgMPoDkX8wEMDvL5ojtfjrjpu0w==","shasum":"688fa1f10e75be0b4932375b51a8e04a66d88994","tarball":"https://registry.npmjs.org/@dumlj/crx-manifest-webpack-plugin/-/crx-manifest-webpack-plugin-2.5.23-alpha.1707282212.0.tgz","fileCount":39,"unpackedSize":71006,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDOlTdjqm/MIhA8ZtzqYOaIKyUkNiE1UL6WdUFZMteLkwIhAMlK90egumbPJfq1ahM9k/jHXAevoLIE9VBGUvgtSDui"}]},"_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-manifest-webpack-plugin_2.5.23-alpha.1707282212.0_1707282233597_0.9950283015376906"},"_hasShrinkwrap":false},"2.5.23-alpha.1707287569.0":{"name":"@dumlj/crx-manifest-webpack-plugin","version":"2.5.23-alpha.1707287569.0","description":"Automatically import files into the chrome extension's manifest.json.","repository":{"type":"git","url":"git+https://github.com/dumlj/dumlj-build.git","directory":"@webpack-plugin/crx-manifest-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","lodash":"^4.17.21","tslib":"^2.5.0"},"devDependencies":{"@dumlj/mock-lib":"^2.5.22","@jest/types":"^29.6.3","@types/webpack":"^5.28.4","memfs":"^4.6.0","ts-jest":"^29.1.1"},"peerDependencies":{"webpack":"5.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-manifest-webpack-plugin)&nbsp;\n[![NPM Version](https://badge.fury.io/js/@dumlj%2Fcrx-manifest-webpack-plugin.svg)](https://www.npmjs.com/package/@dumlj/crx-manifest-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 Manifest Webpack Plugin\n\nAutomatically import files into the chrome extension&#x27;s manifest.json.\n\n## BACKGROUND\n\n`Google Chrome Extension` uses [manifest.json](https://developer.chrome.com/docs/extensions/mv3/manifest/) to configure project. When we use webpack to build, the result file path is not consistent with the source, So we can use `Entry` to find all dependency files and add them to `manifest.json`.\n\n## FEATURE\n\n- The files generated by optimization (runtime/chunk) will be imported into the `manifest.json` automatically.\n- Add configuration based on basic `manifest.json`.\n\n## INSTALL\n\n```bash\n# use npm\n$ npm install --dev @dumlj/crx-manifest-webpack-plugin\n# use yarn\n$ yarn add --dev @dumlj/crx-manifest-webpack-plugin\n# use pnpm\n$ pnpm add @dumlj/crx-manifest-webpack-plugin -D\n```\n\n## USAGE\n\n```ts\nimport fs from 'fs-extra'\nimport { CrxManifestWebpackPlugin } from '@dumlj/crx-manifest-webpack-plugin'\nimport webpack, { type Configuration } from 'webpack'\n\nconst manifest: ChromeManifest = fs.readJSONSync(manifestFile)\nconst config: Configuration = {\n  // ...\n  plugins: [new CrxManifestWebpackPlugin({ manifest })],\n}\n\nexport default config\n```\n\n## LIVE DEMO\n\nIn the demo, the files is output to the memory, please check the `console`.\nOr remove the comment `writeToDisk: true` from the `MemfsWebpackPlugin` in `webpack.config.ts` and run `yarn build`.\n\n<dumlj-stackblitz height=\"47vw\" src=\"@dumlj-example/crx-manifest-webpack-plugin\"></dumlj-stackblitz>\n\n## INTERNAL DEPENDENCIES\n\n<pre>\n<b>@dumlj/crx-manifest-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└── <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-manifest-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-AEJC8tj8HEtjpAeh5G/h4RJVOudWd8/MQroKMeiOuiWRcpexgDqSgJM0uQGuceC5+EP0LTcPNN5/c/tzXTGaag==","shasum":"376f8a38f1f897914d1202a07b0ed1df8a3e4c96","tarball":"https://registry.npmjs.org/@dumlj/crx-manifest-webpack-plugin/-/crx-manifest-webpack-plugin-2.5.23-alpha.1707287569.0.tgz","fileCount":39,"unpackedSize":71006,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBJS6zUlNPbvYRu1E8Y8MfrNpmJBqTOF0hT/7/A9fC5OAiARxGaVR347ndg/fcqHgDAt5bFvJDxrw6wIfYxdCduXeg=="}]},"_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-manifest-webpack-plugin_2.5.23-alpha.1707287569.0_1707287578494_0.49389285834420127"},"_hasShrinkwrap":false},"2.5.23-alpha.1707383866.0":{"name":"@dumlj/crx-manifest-webpack-plugin","version":"2.5.23-alpha.1707383866.0","description":"Automatically import files into the chrome extension's manifest.json.","repository":{"type":"git","url":"git+https://github.com/dumlj/dumlj-build.git","directory":"@webpack-plugin/crx-manifest-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","lodash":"^4.17.21","tslib":"^2.5.0"},"devDependencies":{"@dumlj/mock-lib":"^2.5.22","@jest/types":"^29.6.3","@types/webpack":"^5.28.4","memfs":"^4.6.0","ts-jest":"^29.1.1"},"peerDependencies":{"webpack":"5.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-manifest-webpack-plugin)&nbsp;\n[![NPM Version](https://badge.fury.io/js/@dumlj%2Fcrx-manifest-webpack-plugin.svg)](https://www.npmjs.com/package/@dumlj/crx-manifest-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 Manifest Webpack Plugin\n\nAutomatically import files into the chrome extension&#x27;s manifest.json.\n\n## BACKGROUND\n\n`Google Chrome Extension` uses [manifest.json](https://developer.chrome.com/docs/extensions/mv3/manifest/) to configure project. When we use webpack to build, the result file path is not consistent with the source, So we can use `Entry` to find all dependency files and add them to `manifest.json`.\n\n## FEATURE\n\n- The files generated by optimization (runtime/chunk) will be imported into the `manifest.json` automatically.\n- Add configuration based on basic `manifest.json`.\n\n## INSTALL\n\n```bash\n# use npm\n$ npm install --dev @dumlj/crx-manifest-webpack-plugin\n# use yarn\n$ yarn add --dev @dumlj/crx-manifest-webpack-plugin\n# use pnpm\n$ pnpm add @dumlj/crx-manifest-webpack-plugin -D\n```\n\n## USAGE\n\n```ts\nimport fs from 'fs-extra'\nimport { CrxManifestWebpackPlugin } from '@dumlj/crx-manifest-webpack-plugin'\nimport webpack, { type Configuration } from 'webpack'\n\nconst manifest: ChromeManifest = fs.readJSONSync(manifestFile)\nconst config: Configuration = {\n  // ...\n  plugins: [new CrxManifestWebpackPlugin({ manifest })],\n}\n\nexport default config\n```\n\n## LIVE DEMO\n\nIn the demo, the files is output to the memory, please check the `console`.\nOr remove the comment `writeToDisk: true` from the `MemfsWebpackPlugin` in `webpack.config.ts` and run `yarn build`.\n\n<dumlj-stackblitz height=\"47vw\" src=\"@dumlj-example/crx-manifest-webpack-plugin\"></dumlj-stackblitz>\n\n## INTERNAL DEPENDENCIES\n\n<pre>\n<b>@dumlj/crx-manifest-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└── <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-manifest-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-1Xr38K0xC0U+AyTcWbDF6y2a86hUEIHIl/xwP9NCZ9Co+sQ6D2KlFGtYtoJHAm0IWB9T7WB/o/6LntUIW6WvkA==","shasum":"a1ab0cf21105927972ed47713666f5447cd0f387","tarball":"https://registry.npmjs.org/@dumlj/crx-manifest-webpack-plugin/-/crx-manifest-webpack-plugin-2.5.23-alpha.1707383866.0.tgz","fileCount":39,"unpackedSize":70993,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCBwDto1P1Cmn+8FkbhDtFmh0SoFeWGTfPT5CFBZwyBMwIhAJfSXdCAlW+2gXGqhMV207gxgTn22dm519qau0l79BLt"}]},"_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-manifest-webpack-plugin_2.5.23-alpha.1707383866.0_1707383874150_0.04740607543287867"},"_hasShrinkwrap":false},"2.5.23-alpha.1707390213.0":{"name":"@dumlj/crx-manifest-webpack-plugin","version":"2.5.23-alpha.1707390213.0","description":"Automatically import files into the chrome extension's manifest.json.","repository":{"type":"git","url":"git+https://github.com/dumlj/dumlj-build.git","directory":"@webpack-plugin/crx-manifest-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","lodash":"^4.17.21","tslib":"^2.5.0"},"devDependencies":{"@dumlj/mock-lib":"^2.5.22","@jest/types":"^29.6.3","@types/webpack":"^5.28.4","memfs":"^4.6.0","ts-jest":"^29.1.1"},"peerDependencies":{"webpack":"5.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-manifest-webpack-plugin)&nbsp;\n[![NPM Version](https://badge.fury.io/js/@dumlj%2Fcrx-manifest-webpack-plugin.svg)](https://www.npmjs.com/package/@dumlj/crx-manifest-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 Manifest Webpack Plugin\n\nAutomatically import files into the chrome extension&#x27;s manifest.json.\n\n## BACKGROUND\n\n`Google Chrome Extension` uses [manifest.json](https://developer.chrome.com/docs/extensions/mv3/manifest/) to configure project. When we use webpack to build, the result file path is not consistent with the source, So we can use `Entry` to find all dependency files and add them to `manifest.json`.\n\n## FEATURE\n\n- The files generated by optimization (runtime/chunk) will be imported into the `manifest.json` automatically.\n- Add configuration based on basic `manifest.json`.\n\n## INSTALL\n\n```bash\n# use npm\n$ npm install --dev @dumlj/crx-manifest-webpack-plugin\n# use yarn\n$ yarn add --dev @dumlj/crx-manifest-webpack-plugin\n# use pnpm\n$ pnpm add @dumlj/crx-manifest-webpack-plugin -D\n```\n\n## USAGE\n\n```ts\nimport fs from 'fs-extra'\nimport { CrxManifestWebpackPlugin } from '@dumlj/crx-manifest-webpack-plugin'\nimport webpack, { type Configuration } from 'webpack'\n\nconst manifest: ChromeManifest = fs.readJSONSync(manifestFile)\nconst config: Configuration = {\n  // ...\n  plugins: [new CrxManifestWebpackPlugin({ manifest })],\n}\n\nexport default config\n```\n\n## LIVE DEMO\n\nIn the demo, the files is output to the memory, please check the `console`.\nOr remove the comment `writeToDisk: true` from the `MemfsWebpackPlugin` in `webpack.config.ts` and run `yarn build`.\n\n<dumlj-stackblitz height=\"47vw\" src=\"@dumlj-example/crx-manifest-webpack-plugin\"></dumlj-stackblitz>\n\n## INTERNAL DEPENDENCIES\n\n<pre>\n<b>@dumlj/crx-manifest-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└── <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-manifest-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-cLM+qAgWvHtGaIhlvURpKaXgXSHa2ON2yWGtLETg/w7Husk87cDjKftvGlpM1A/2KhbXsADsZ1Liert30UfowQ==","shasum":"56b95d2c2656e88f7155723cbe45ce9f0ccaaf8c","tarball":"https://registry.npmjs.org/@dumlj/crx-manifest-webpack-plugin/-/crx-manifest-webpack-plugin-2.5.23-alpha.1707390213.0.tgz","fileCount":39,"unpackedSize":70993,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFl4YUz2gq5u/T9vp5WVay0USmQeqSE9P9XznbgGThBHAiEAvmgrJ8aooQVs9PSce89p0kl7JXUW6R7RSrZdB4FiWe4="}]},"_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-manifest-webpack-plugin_2.5.23-alpha.1707390213.0_1707390221264_0.32867328449640154"},"_hasShrinkwrap":false},"2.5.23-alpha.1707401616.0":{"name":"@dumlj/crx-manifest-webpack-plugin","version":"2.5.23-alpha.1707401616.0","description":"Automatically import files into the chrome extension's manifest.json.","repository":{"type":"git","url":"git+https://github.com/dumlj/dumlj-build.git","directory":"@webpack-plugin/crx-manifest-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","lodash":"^4.17.21","tslib":"^2.5.0"},"devDependencies":{"@dumlj/mock-lib":"^2.5.22","@jest/types":"^29.6.3","@types/webpack":"^5.28.4","memfs":"^4.6.0","ts-jest":"^29.1.1"},"peerDependencies":{"webpack":"5.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-manifest-webpack-plugin)&nbsp;\n[![NPM Version](https://badge.fury.io/js/@dumlj%2Fcrx-manifest-webpack-plugin.svg)](https://www.npmjs.com/package/@dumlj/crx-manifest-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 Manifest Webpack Plugin\n\nAutomatically import files into the chrome extension&#x27;s manifest.json.\n\n## BACKGROUND\n\n`Google Chrome Extension` uses [manifest.json](https://developer.chrome.com/docs/extensions/mv3/manifest/) to configure project. When we use webpack to build, the result file path is not consistent with the source, So we can use `Entry` to find all dependency files and add them to `manifest.json`.\n\n## FEATURE\n\n- The files generated by optimization (runtime/chunk) will be imported into the `manifest.json` automatically.\n- Add configuration based on basic `manifest.json`.\n\n## INSTALL\n\n```bash\n# use npm\n$ npm install --dev @dumlj/crx-manifest-webpack-plugin\n# use yarn\n$ yarn add --dev @dumlj/crx-manifest-webpack-plugin\n# use pnpm\n$ pnpm add @dumlj/crx-manifest-webpack-plugin -D\n```\n\n## USAGE\n\n```ts\nimport fs from 'fs-extra'\nimport { CrxManifestWebpackPlugin } from '@dumlj/crx-manifest-webpack-plugin'\nimport webpack, { type Configuration } from 'webpack'\n\nconst manifest: ChromeManifest = fs.readJSONSync(manifestFile)\nconst config: Configuration = {\n  // ...\n  plugins: [new CrxManifestWebpackPlugin({ manifest })],\n}\n\nexport default config\n```\n\n## LIVE DEMO\n\nIn the demo, the files is output to the memory, please check the `console`.\nOr remove the comment `writeToDisk: true` from the `MemfsWebpackPlugin` in `webpack.config.ts` and run `yarn build`.\n\n<dumlj-stackblitz height=\"47vw\" src=\"@dumlj-example/crx-manifest-webpack-plugin\"></dumlj-stackblitz>\n\n## INTERNAL DEPENDENCIES\n\n<pre>\n<b>@dumlj/crx-manifest-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└── <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-manifest-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-RPAskGpvSm7bbnY1B09kpOXiT/hTLr6C0aLtmYOr1C0YlS83t8H5uPGoEkKaBDooilGK7WC/Lfj38ykywPduYg==","shasum":"6d0cb04d20e9ae1e4929bb9497c1b4f65c21d9c4","tarball":"https://registry.npmjs.org/@dumlj/crx-manifest-webpack-plugin/-/crx-manifest-webpack-plugin-2.5.23-alpha.1707401616.0.tgz","fileCount":39,"unpackedSize":71005,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHeJEdWMOS+BCt2/hE09ofI5M8pqlPrVKULYmeC9jXceAiEAqWijTw5ShD2hOMHN3V/sqxGWJoESK2QW/jSgLK7LObg="}]},"_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-manifest-webpack-plugin_2.5.23-alpha.1707401616.0_1707401625481_0.2124543052074479"},"_hasShrinkwrap":false},"2.5.23":{"name":"@dumlj/crx-manifest-webpack-plugin","version":"2.5.23","description":"Automatically import files into the chrome extension's manifest.json.","repository":{"type":"git","url":"git+https://github.com/dumlj/dumlj-build.git","directory":"@webpack-plugin/crx-manifest-webpack-plugin"},"license":"MIT","main":"./libs/index.js","types":"./libs/index.d.ts","dependencies":{"@dumlj/seed-webpack-plugin":"^2.5.23","lodash":"^4.17.21","tslib":"^2.5.0"},"devDependencies":{"@dumlj/mock-lib":"^2.5.23","@jest/types":"^29.6.3","@types/webpack":"^5.28.4","memfs":"^4.6.0","ts-jest":"^29.1.1"},"peerDependencies":{"webpack":"5.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-manifest-webpack-plugin@2.5.23","_nodeVersion":"20.11.1","_npmVersion":"lerna/7.4.2/node@v20.11.1+x64 (linux)","dist":{"integrity":"sha512-bZmF6j1qx92EN7y6tffmjzXsHYa6yj84Zi7NPlZayLnIYvTqevcUARulZRMque+gfgRd6h5bjD+v1yjRlqOJPQ==","shasum":"468faba46cafad646386366d24c172f77d956856","tarball":"https://registry.npmjs.org/@dumlj/crx-manifest-webpack-plugin/-/crx-manifest-webpack-plugin-2.5.23.tgz","fileCount":39,"unpackedSize":70951,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC07GCSBMMACqwDw597oVZsODpjVwhvnh0wk2/SGlJaewIgIIeduOsMo+lqPf3DRCqC0t56j28fTDh+d0PcRDTbarE="}]},"_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-manifest-webpack-plugin_2.5.23_1708515506671_0.4140366908178186"},"_hasShrinkwrap":false},"2.5.24":{"name":"@dumlj/crx-manifest-webpack-plugin","version":"2.5.24","description":"Automatically import files into the chrome extension's manifest.json.","repository":{"type":"git","url":"git+https://github.com/dumlj/dumlj-build.git","directory":"@webpack-plugin/crx-manifest-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","tslib":"^2.5.0"},"devDependencies":{"@dumlj/mock-lib":"^2.5.24","@jest/types":"^29.6.3","@types/webpack":"^5.28.4","memfs":"^4.6.0","ts-jest":"^29.1.1"},"peerDependencies":{"webpack":"5.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-manifest-webpack-plugin@2.5.24","_nodeVersion":"20.11.1","_npmVersion":"lerna/7.4.2/node@v20.11.1+x64 (linux)","dist":{"integrity":"sha512-CBIO0dD2ChKYeZO/DyH9flIJRvqTkvV67uwcr2HqHVTSxiOptT4Bh4qFPouHB1Mt4Z5DHDekiWnHvxPncEiODw==","shasum":"7733f24b95e64fa0e5367a6409666f8cf09d96e1","tarball":"https://registry.npmjs.org/@dumlj/crx-manifest-webpack-plugin/-/crx-manifest-webpack-plugin-2.5.24.tgz","fileCount":35,"unpackedSize":69795,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD6XeMuPH+5Os9LciSXAoWPVUQeurZJ9taDklO0O6i5PwIhALfafMdecApKLGj+gFFE8srJfiS0tmizwmnk6/2obtU2"}]},"_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-manifest-webpack-plugin_2.5.24_1708529630277_0.7258577549598353"},"_hasShrinkwrap":false},"2.5.25":{"name":"@dumlj/crx-manifest-webpack-plugin","version":"2.5.25","description":"Automatically import files into the chrome extension's manifest.json.","repository":{"type":"git","url":"git+https://github.com/dumlj/dumlj-build.git","directory":"@webpack-plugin/crx-manifest-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","tslib":"^2.5.0"},"devDependencies":{"@dumlj/mock-lib":"^2.5.25","@jest/types":"^29.6.3","@types/webpack":"^5.28.4","memfs":"^4.6.0","ts-jest":"^29.1.1"},"peerDependencies":{"webpack":"5.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-manifest-webpack-plugin@2.5.25","_nodeVersion":"20.11.1","_npmVersion":"lerna/7.4.2/node@v20.11.1+x64 (linux)","dist":{"integrity":"sha512-fSiJsywfDJxwV5YS3MrobWn1TpL+H0oLaqhsugv0ET7/KNpBzQGHT1jXMVTdqq1J2KpQOCnFtY/b8mim00i9yQ==","shasum":"c3111feb62b509c8971216d53ae1d7d2a09b5cd0","tarball":"https://registry.npmjs.org/@dumlj/crx-manifest-webpack-plugin/-/crx-manifest-webpack-plugin-2.5.25.tgz","fileCount":35,"unpackedSize":69795,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC29pYwLvL8jgeuHBU21h53+TnzoIkeCE4xrmEI2efSFAiEAgaHlVkKO/cbDi2SzaDLIG9DFHOuep9ztLo9Ab2QDAcA="}]},"_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-manifest-webpack-plugin_2.5.25_1708542398554_0.11832020107800023"},"_hasShrinkwrap":false},"2.5.25-alpha.1709135426.0":{"name":"@dumlj/crx-manifest-webpack-plugin","version":"2.5.25-alpha.1709135426.0","description":"Automatically import files into the chrome extension's manifest.json.","repository":{"type":"git","url":"git+https://github.com/dumlj/dumlj-build.git","directory":"@webpack-plugin/crx-manifest-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","tslib":"^2.5.0"},"devDependencies":{"@dumlj/mock-lib":"^2.5.24","@jest/types":"^29.6.3","@types/webpack":"^5.28.4","memfs":"^4.6.0","ts-jest":"^29.1.1"},"peerDependencies":{"webpack":"5.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-manifest-webpack-plugin)&nbsp;\n[![NPM Version](https://badge.fury.io/js/@dumlj%2Fcrx-manifest-webpack-plugin.svg)](https://www.npmjs.com/package/@dumlj/crx-manifest-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 Manifest Webpack Plugin\n\nAutomatically import files into the chrome extension&#x27;s manifest.json.\n\n## BACKGROUND\n\n`Google Chrome Extension` uses [manifest.json](https://developer.chrome.com/docs/extensions/mv3/manifest/) to configure project. When we use webpack to build, the result file path is not consistent with the source, So we can use `Entry` to find all dependency files and add them to `manifest.json`.\n\n## FEATURE\n\n- The files generated by optimization (runtime/chunk) will be imported into the `manifest.json` automatically.\n- Add configuration based on basic `manifest.json`.\n\n## INSTALL\n\n```bash\n# use npm\n$ npm install --dev @dumlj/crx-manifest-webpack-plugin\n# use yarn\n$ yarn add --dev @dumlj/crx-manifest-webpack-plugin\n# use pnpm\n$ pnpm add @dumlj/crx-manifest-webpack-plugin -D\n```\n\n## USAGE\n\n```ts\nimport fs from 'fs-extra'\nimport { CrxManifestWebpackPlugin } from '@dumlj/crx-manifest-webpack-plugin'\nimport webpack, { type Configuration } from 'webpack'\n\nconst manifest: ChromeManifest = fs.readJSONSync(manifestFile)\nconst config: Configuration = {\n  // ...\n  plugins: [new CrxManifestWebpackPlugin({ manifest })],\n}\n\nexport default config\n```\n\n## LIVE DEMO\n\nIn the demo, the files is output to the memory, please check the `console`.\nOr remove the comment `writeToDisk: true` from the `MemfsWebpackPlugin` in `webpack.config.ts` and run `yarn build`.\n\n<dumlj-stackblitz height=\"47vw\" src=\"@dumlj-example/crx-manifest-webpack-plugin\"></dumlj-stackblitz>\n\n## INTERNAL DEPENDENCIES\n\n<pre>\n<b>@dumlj/crx-manifest-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└── <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-manifest-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-+qKOUUEkme1TRT/xsXsmnqpsjmTV3Ko9Qil4soFZZAAK2oU/53fa4qYAujhgxcXsld4eXmgiFHpBgX8rYCw8zA==","shasum":"2db181b2a614225f680bea7ddc5d578936de14b3","tarball":"https://registry.npmjs.org/@dumlj/crx-manifest-webpack-plugin/-/crx-manifest-webpack-plugin-2.5.25-alpha.1709135426.0.tgz","fileCount":35,"unpackedSize":69849,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA7aIRWh9dAjlhcklS3eBhojuxF7qxdPq3ufOjlPM9IfAiEAmhkwV02zpr/DLYXxWoTv4EOo2jpTWv3P25oFcK29HFA="}]},"_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-manifest-webpack-plugin_2.5.25-alpha.1709135426.0_1709135436665_0.3615154683772983"},"_hasShrinkwrap":false},"2.5.26-alpha.1709136968.0":{"name":"@dumlj/crx-manifest-webpack-plugin","version":"2.5.26-alpha.1709136968.0","description":"Automatically import files into the chrome extension's manifest.json.","repository":{"type":"git","url":"git+https://github.com/dumlj/dumlj-build.git","directory":"@webpack-plugin/crx-manifest-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","tslib":"^2.5.0"},"devDependencies":{"@dumlj/mock-lib":"^2.5.25","@jest/types":"^29.6.3","@types/webpack":"^5.28.4","memfs":"^4.6.0","ts-jest":"^29.1.1"},"peerDependencies":{"webpack":"5.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-manifest-webpack-plugin)&nbsp;\n[![NPM Version](https://badge.fury.io/js/@dumlj%2Fcrx-manifest-webpack-plugin.svg)](https://www.npmjs.com/package/@dumlj/crx-manifest-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 Manifest Webpack Plugin\n\nAutomatically import files into the chrome extension&#x27;s manifest.json.\n\n## BACKGROUND\n\n`Google Chrome Extension` uses [manifest.json](https://developer.chrome.com/docs/extensions/mv3/manifest/) to configure project. When we use webpack to build, the result file path is not consistent with the source, So we can use `Entry` to find all dependency files and add them to `manifest.json`.\n\n## FEATURE\n\n- The files generated by optimization (runtime/chunk) will be imported into the `manifest.json` automatically.\n- Add configuration based on basic `manifest.json`.\n\n## INSTALL\n\n```bash\n# use npm\n$ npm install --dev @dumlj/crx-manifest-webpack-plugin\n# use yarn\n$ yarn add --dev @dumlj/crx-manifest-webpack-plugin\n# use pnpm\n$ pnpm add @dumlj/crx-manifest-webpack-plugin -D\n```\n\n## USAGE\n\n```ts\nimport fs from 'fs-extra'\nimport { CrxManifestWebpackPlugin } from '@dumlj/crx-manifest-webpack-plugin'\nimport webpack, { type Configuration } from 'webpack'\n\nconst manifest: ChromeManifest = fs.readJSONSync(manifestFile)\nconst config: Configuration = {\n  // ...\n  plugins: [new CrxManifestWebpackPlugin({ manifest })],\n}\n\nexport default config\n```\n\n## LIVE DEMO\n\nIn the demo, the files is output to the memory, please check the `console`.\nOr remove the comment `writeToDisk: true` from the `MemfsWebpackPlugin` in `webpack.config.ts` and run `yarn build`.\n\n<dumlj-stackblitz height=\"47vw\" src=\"@dumlj-example/crx-manifest-webpack-plugin\"></dumlj-stackblitz>\n\n## INTERNAL DEPENDENCIES\n\n<pre>\n<b>@dumlj/crx-manifest-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└── <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-manifest-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-SxeTInRRn/O1jr9lcLLbefbLyZSj8wz8va7wx38+6NAODd8nWJx/LyUodDTg4RWoF4vMFsodHisL6MXkyQ1gpA==","shasum":"a3049c186dc967de4a63f55d4435672a7f968eda","tarball":"https://registry.npmjs.org/@dumlj/crx-manifest-webpack-plugin/-/crx-manifest-webpack-plugin-2.5.26-alpha.1709136968.0.tgz","fileCount":35,"unpackedSize":69849,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHPpbGdKYWkraif0Y+7cuExGTVKeXkhTXUiuKGrHekKuAiBm+VecrTYFHLsCjCGQmBrlGSJCiqIPJ/IH7zaLgLpnxw=="}]},"_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-manifest-webpack-plugin_2.5.26-alpha.1709136968.0_1709136978774_0.4457328982884978"},"_hasShrinkwrap":false},"2.5.26-alpha.1709143224.0":{"name":"@dumlj/crx-manifest-webpack-plugin","version":"2.5.26-alpha.1709143224.0","description":"Automatically import files into the chrome extension's manifest.json.","repository":{"type":"git","url":"git+https://github.com/dumlj/dumlj-build.git","directory":"@webpack-plugin/crx-manifest-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","tslib":"^2.5.0"},"devDependencies":{"@dumlj/mock-lib":"^2.5.25","@jest/types":"^29.6.3","@types/webpack":"^5.28.4","memfs":"^4.6.0","ts-jest":"^29.1.1"},"peerDependencies":{"webpack":"5.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-manifest-webpack-plugin)&nbsp;\n[![NPM Version](https://badge.fury.io/js/@dumlj%2Fcrx-manifest-webpack-plugin.svg)](https://www.npmjs.com/package/@dumlj/crx-manifest-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 Manifest Webpack Plugin\n\nAutomatically import files into the chrome extension&#x27;s manifest.json.\n\n## BACKGROUND\n\n`Google Chrome Extension` uses [manifest.json](https://developer.chrome.com/docs/extensions/mv3/manifest/) to configure project. When we use webpack to build, the result file path is not consistent with the source, So we can use `Entry` to find all dependency files and add them to `manifest.json`.\n\n## FEATURE\n\n- The files generated by optimization (runtime/chunk) will be imported into the `manifest.json` automatically.\n- Add configuration based on basic `manifest.json`.\n\n## INSTALL\n\n```bash\n# use npm\n$ npm install --dev @dumlj/crx-manifest-webpack-plugin\n# use yarn\n$ yarn add --dev @dumlj/crx-manifest-webpack-plugin\n# use pnpm\n$ pnpm add @dumlj/crx-manifest-webpack-plugin -D\n```\n\n## USAGE\n\n```ts\nimport fs from 'fs-extra'\nimport { CrxManifestWebpackPlugin } from '@dumlj/crx-manifest-webpack-plugin'\nimport webpack, { type Configuration } from 'webpack'\n\nconst manifest: ChromeManifest = fs.readJSONSync(manifestFile)\nconst config: Configuration = {\n  // ...\n  plugins: [new CrxManifestWebpackPlugin({ manifest })],\n}\n\nexport default config\n```\n\n## LIVE DEMO\n\nIn the demo, the files is output to the memory, please check the `console`.\nOr remove the comment `writeToDisk: true` from the `MemfsWebpackPlugin` in `webpack.config.ts` and run `yarn build`.\n\n<dumlj-stackblitz height=\"47vw\" src=\"@dumlj-example/crx-manifest-webpack-plugin\"></dumlj-stackblitz>\n\n## INTERNAL DEPENDENCIES\n\n<pre>\n<b>@dumlj/crx-manifest-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└── <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-manifest-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-89zrSXH2FCBmjFQxSQe4nGCDiGyySOmLY34CjLQ6ruiukhTFyZBI9ZkDcnNcECzygzsu6vFK5FuHENDgypqO3Q==","shasum":"c79040367593a4bae6f2e85cc1784c8fee8e5167","tarball":"https://registry.npmjs.org/@dumlj/crx-manifest-webpack-plugin/-/crx-manifest-webpack-plugin-2.5.26-alpha.1709143224.0.tgz","fileCount":35,"unpackedSize":69878,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFTGeqU46fbJTG8A1F0qw5OlPU12jdJBMEO/dp78+qshAiAH9kgqsBgZJZJgiS+aknNKHxQn/GIiuw5awu875N+zxg=="}]},"_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-manifest-webpack-plugin_2.5.26-alpha.1709143224.0_1709143240441_0.5944244692545364"},"_hasShrinkwrap":false},"2.5.26":{"name":"@dumlj/crx-manifest-webpack-plugin","version":"2.5.26","description":"Automatically import files into the chrome extension's manifest.json.","repository":{"type":"git","url":"git+https://github.com/dumlj/dumlj-build.git","directory":"@webpack-plugin/crx-manifest-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","tslib":"^2.5.0"},"devDependencies":{"@dumlj/mock-lib":"^2.5.26","@jest/types":"^29.6.3","@types/webpack":"^5.28.4","memfs":"^4.6.0","ts-jest":"^29.1.1"},"peerDependencies":{"webpack":"5.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-manifest-webpack-plugin@2.5.26","_nodeVersion":"20.11.1","_npmVersion":"lerna/7.4.2/node@v20.11.1+x64 (linux)","dist":{"integrity":"sha512-mm4VdzQJEIflYv4eOlkMO2jCP75BIHtDgYEmiN44Ytg1bfFu65y9KaBinZQMprffv+HMPUk5uB5fu0vsbdHyGQ==","shasum":"ebc75403835aadb8b06edd75d923bba59058a100","tarball":"https://registry.npmjs.org/@dumlj/crx-manifest-webpack-plugin/-/crx-manifest-webpack-plugin-2.5.26.tgz","fileCount":35,"unpackedSize":69824,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGCqyWo4WM9GaPbDP5zFGQxdwKuYtgZkKFFkLq5aU9ItAiBa5TRxmf9BPaCqIfWBfrHf2JvpSZpAiQmCz6Y5FOrIQw=="}]},"_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-manifest-webpack-plugin_2.5.26_1710125695519_0.43247855905498667"},"_hasShrinkwrap":false},"2.5.26-alpha.1710126501.0":{"name":"@dumlj/crx-manifest-webpack-plugin","version":"2.5.26-alpha.1710126501.0","description":"Automatically import files into the chrome extension's manifest.json.","repository":{"type":"git","url":"git+https://github.com/dumlj/dumlj-build.git","directory":"@webpack-plugin/crx-manifest-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","tslib":"^2.5.0"},"devDependencies":{"@dumlj/mock-lib":"^2.5.25","@jest/types":"^29.6.3","@types/webpack":"^5.28.4","memfs":"^4.6.0","ts-jest":"^29.1.1"},"peerDependencies":{"webpack":"5.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-manifest-webpack-plugin)&nbsp;\n[![NPM Version](https://badge.fury.io/js/@dumlj%2Fcrx-manifest-webpack-plugin.svg)](https://www.npmjs.com/package/@dumlj/crx-manifest-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 Manifest Webpack Plugin\n\nAutomatically import files into the chrome extension&#x27;s manifest.json.\n\n## BACKGROUND\n\n`Google Chrome Extension` uses [manifest.json](https://developer.chrome.com/docs/extensions/mv3/manifest/) to configure project. When we use webpack to build, the result file path is not consistent with the source, So we can use `Entry` to find all dependency files and add them to `manifest.json`.\n\n## FEATURE\n\n- The files generated by optimization (runtime/chunk) will be imported into the `manifest.json` automatically.\n- Add configuration based on basic `manifest.json`.\n\n## INSTALL\n\n```bash\n# use npm\n$ npm install --dev @dumlj/crx-manifest-webpack-plugin\n# use yarn\n$ yarn add --dev @dumlj/crx-manifest-webpack-plugin\n# use pnpm\n$ pnpm add @dumlj/crx-manifest-webpack-plugin -D\n```\n\n## USAGE\n\n```ts\nimport fs from 'fs-extra'\nimport { CrxManifestWebpackPlugin } from '@dumlj/crx-manifest-webpack-plugin'\nimport webpack, { type Configuration } from 'webpack'\n\nconst manifest: ChromeManifest = fs.readJSONSync(manifestFile)\nconst config: Configuration = {\n  // ...\n  plugins: [new CrxManifestWebpackPlugin({ manifest })],\n}\n\nexport default config\n```\n\n## LIVE DEMO\n\nIn the demo, the files is output to the memory, please check the `console`.\nOr remove the comment `writeToDisk: true` from the `MemfsWebpackPlugin` in `webpack.config.ts` and run `yarn build`.\n\n<dumlj-stackblitz height=\"47vw\" src=\"@dumlj-example/crx-manifest-webpack-plugin\"></dumlj-stackblitz>\n\n## INTERNAL DEPENDENCIES\n\n<pre>\n<b>@dumlj/crx-manifest-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└── <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-manifest-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-T4AfK4oUa0Gk+ICrmmEa3V5QCGK+Aa7B631Kx78S7jUocY4uEGPlt5YujHxcNDA44aHyrvrtlYynKtH8RK5AtQ==","shasum":"a91ec7acbe2b9b5d7d55e94a00e9fa53b93a8360","tarball":"https://registry.npmjs.org/@dumlj/crx-manifest-webpack-plugin/-/crx-manifest-webpack-plugin-2.5.26-alpha.1710126501.0.tgz","fileCount":36,"unpackedSize":70225,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDXr6q3uEC1VZjCe2lZw5vf91KyfkvZIpohzWb7EOGMlAIgIyb3cjyzmiEVZ+F+Td+MsSi3ysXjL3Rrj8e3wP0/opU="}]},"_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-manifest-webpack-plugin_2.5.26-alpha.1710126501.0_1710126511190_0.2792302927878707"},"_hasShrinkwrap":false},"2.5.27-alpha.1713365667.0":{"name":"@dumlj/crx-manifest-webpack-plugin","version":"2.5.27-alpha.1713365667.0","description":"Automatically import files into the chrome extension's manifest.json.","repository":{"type":"git","url":"git+https://github.com/dumlj/dumlj-build.git","directory":"@webpack-plugin/crx-manifest-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","tslib":"^2.5.0"},"devDependencies":{"@dumlj/mock-lib":"^2.5.26","@jest/types":"^29.6.3","@types/webpack":"^5.28.4","memfs":"^4.6.0","ts-jest":"^29.1.1"},"peerDependencies":{"webpack":"5.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-manifest-webpack-plugin)&nbsp;\n[![NPM Version](https://badge.fury.io/js/@dumlj%2Fcrx-manifest-webpack-plugin.svg)](https://www.npmjs.com/package/@dumlj/crx-manifest-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 Manifest Webpack Plugin\n\nAutomatically import files into the chrome extension&#x27;s manifest.json.\n\n## BACKGROUND\n\n`Google Chrome Extension` uses [manifest.json](https://developer.chrome.com/docs/extensions/mv3/manifest/) to configure project. When we use webpack to build, the result file path is not consistent with the source, So we can use `Entry` to find all dependency files and add them to `manifest.json`.\n\n## FEATURE\n\n- The files generated by optimization (runtime/chunk) will be imported into the `manifest.json` automatically.\n- Add configuration based on basic `manifest.json`.\n\n## INSTALL\n\n```bash\n# use npm\n$ npm install --dev @dumlj/crx-manifest-webpack-plugin\n# use yarn\n$ yarn add --dev @dumlj/crx-manifest-webpack-plugin\n# use pnpm\n$ pnpm add @dumlj/crx-manifest-webpack-plugin -D\n```\n\n## USAGE\n\n```ts\nimport fs from 'fs-extra'\nimport { CrxManifestWebpackPlugin } from '@dumlj/crx-manifest-webpack-plugin'\nimport webpack, { type Configuration } from 'webpack'\n\nconst manifest: ChromeManifest = fs.readJSONSync(manifestFile)\nconst config: Configuration = {\n  // ...\n  plugins: [new CrxManifestWebpackPlugin({ manifest })],\n}\n\nexport default config\n```\n\n## LIVE DEMO\n\nIn the demo, the files is output to the memory, please check the `console`.\nOr remove the comment `writeToDisk: true` from the `MemfsWebpackPlugin` in `webpack.config.ts` and run `yarn build`.\n\n<dumlj-stackblitz height=\"47vw\" src=\"@dumlj-example/crx-manifest-webpack-plugin\"></dumlj-stackblitz>\n\n## INTERNAL DEPENDENCIES\n\n<pre>\n<b>@dumlj/crx-manifest-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└── <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-manifest-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-R5F7xNeNZPEa0FAt0Mh0XC+iXa8YdP+97gYVNJo8466MJoIn7+1MoNvwSaJWj+G64zojZbTaxx2ngoKKtZC6Hg==","shasum":"b385e81b4b1071b557c602f64bd718a95f9d6f37","tarball":"https://registry.npmjs.org/@dumlj/crx-manifest-webpack-plugin/-/crx-manifest-webpack-plugin-2.5.27-alpha.1713365667.0.tgz","fileCount":36,"unpackedSize":70225,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCB00zcEJbwBKt7Twb+C211a9lqwbS4zO9rv2k0v1lTzwIhAJxBPlOd4FNxq6tLVMTUG7bO7+7avkSLFj+y9iBhn3DK"}]},"_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-manifest-webpack-plugin_2.5.27-alpha.1713365667.0_1713365685070_0.32595206426747336"},"_hasShrinkwrap":false}},"time":{"created":"2023-11-27T11:05:09.212Z","2.5.18":"2023-11-27T11:05:09.543Z","modified":"2024-04-17T14:54:45.551Z","2.5.19":"2023-11-27T15:22:17.414Z","2.5.20":"2023-11-27T17:51:33.057Z","2.5.21":"2023-12-30T15:47:42.860Z","2.5.22":"2024-01-02T02:07:57.758Z","2.5.23-alpha.1707212485.0":"2024-02-06T09:41:33.105Z","2.5.23-alpha.1707244387.0":"2024-02-06T18:33:15.378Z","2.5.23-alpha.1707245597.0":"2024-02-06T18:53:23.701Z","2.5.23-alpha.1707248747.0":"2024-02-06T19:45:55.933Z","2.5.23-alpha.1707282212.0":"2024-02-07T05:03:53.759Z","2.5.23-alpha.1707287569.0":"2024-02-07T06:32:58.710Z","2.5.23-alpha.1707383866.0":"2024-02-08T09:17:54.358Z","2.5.23-alpha.1707390213.0":"2024-02-08T11:03:41.405Z","2.5.23-alpha.1707401616.0":"2024-02-08T14:13:45.621Z","2.5.23":"2024-02-21T11:38:26.790Z","2.5.24":"2024-02-21T15:33:50.453Z","2.5.25":"2024-02-21T19:06:38.761Z","2.5.25-alpha.1709135426.0":"2024-02-28T15:50:36.831Z","2.5.26-alpha.1709136968.0":"2024-02-28T16:16:18.994Z","2.5.26-alpha.1709143224.0":"2024-02-28T18:00:40.647Z","2.5.26":"2024-03-11T02:54:55.678Z","2.5.26-alpha.1710126501.0":"2024-03-11T03:08:31.343Z","2.5.27-alpha.1713365667.0":"2024-04-17T14:54:45.332Z"},"maintainers":[{"name":"cjfff","email":"cjfff1996@gmail.com"},{"name":"sexymee","email":"sexy.is.353016313@gmail.com"},{"name":"davidjones","email":"qowera@qq.com"}],"description":"Automatically import files into the chrome extension's manifest.json.","homepage":"https://github.com/dumlj/dumlj-build#readme","repository":{"type":"git","url":"git+https://github.com/dumlj/dumlj-build.git","directory":"@webpack-plugin/crx-manifest-webpack-plugin"},"bugs":{"url":"https://github.com/dumlj/dumlj-build/issues"},"license":"MIT","readme":"","readmeFilename":""}