{"_id":"transpile-webpack-plugin","_rev":"24-1bbbb2ffbb17166ad8b09900f55cfdd4","name":"transpile-webpack-plugin","dist-tags":{"alpha":"1.1.3-alpha.1","latest":"1.1.3","beta":"1.1.3-beta.1"},"versions":{"1.0.0-alpha.1":{"name":"transpile-webpack-plugin","version":"1.0.0-alpha.1","description":"","keywords":[],"repository":{"type":"git","url":"git+https://github.com/licg9999/transpile-webpack-plugin.git"},"homepage":"https://github.com/licg9999/transpile-webpack-plugin","author":{"name":"licg","email":"licg9999@gmail.com"},"license":"MIT","engines":{"node":">=16"},"types":"lib/index.d.ts","main":"lib/index.js","scripts":{"build":"tsc --project additional-configs/tsconfig.build.json","watch":"npm run build -- --watch","unittest":"cross-env JEST_TEST_PATH=src jest","e2e":"cross-env JEST_TEST_PATH=e2e jest --maxWorkers 1"},"peerDependencies":{"webpack":"^5.61.0"},"devDependencies":{"@commitlint/config-conventional":"^17.1.0","@types/cross-spawn":"^6.0.2","@types/glob":"^8.0.0","@types/jest":"^28.1.8","@types/lodash":"^4.14.186","@types/node":"^18.11.9","@types/resolve":"^1.20.2","@types/uuid":"^8.3.4","colorette":"^2.0.19","commander":"^9.4.1","cross-env":"^7.0.3","cross-spawn":"^7.0.3","glob":"^8.0.3","jest":"^28.1.3","jest-extended":"^3.1.0","prettier":"^2.7.1","tree-kill":"^1.2.2","ts-jest":"^28.0.8","typescript":"^4.8.4","uuid":"^8.3.2","wait-for-expect":"^3.0.2"},"dependencies":{"lodash":"^4.17.21","resolve":"^1.22.1","schema-utils":"^4.0.0"},"gitHead":"01b5074c918a1e5338519e24d8e0ba6bf1c8b571","bugs":{"url":"https://github.com/licg9999/transpile-webpack-plugin/issues"},"_id":"transpile-webpack-plugin@1.0.0-alpha.1","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-s8HiqIRgP3nTOIegzYK+o6d4Ol48JtZW7PAQo9Ydd5jHR6Cmq1hpDzRjyjzhKIrQhfWJcsXQkpy0DE1XFCl1IQ==","shasum":"0a9a3361d11ab91ac5b47fd2ba80640d77f86027","tarball":"https://registry.npmjs.org/transpile-webpack-plugin/-/transpile-webpack-plugin-1.0.0-alpha.1.tgz","fileCount":94,"unpackedSize":103360,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB0tzl/nGEBVWuSaktx6mUBN7wTfEZyspJjYBApBMq0IAiEAi/Nx5o5BZr9Igz9HUrUWatAJ1epASqmkEEHatLYMzQY="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjnek3ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq3ixAAlafJ/UUBx2K9gdCpvkiGRKl+O4VWUTMjcm8Ylj6DVYv3lW/e\r\nZSMFIrW6iaKmnKX+H9DaNoEm1vL2aLpPR8ykjaBn7uV/2b33Ljjya7LB57VZ\r\nTpFKWSfixKipzKnKSmwbYcIGJlIsz/Sl8fonyFvJPukbc3iIzR2PWSOMO2Jw\r\nnj9t9Ppzw3qUBX2aC0SS4eqcja2iw74pq03GYtLh8o546UcwJ8wAk9tnKMri\r\nuw4xbDPQpFJ14qn9dM1zp9XOjrCb6T4OUOGeyfyDA06uFMWzNlnG9JBg8XPo\r\nRFotvZfkR71BGr9hw7Er4745evrW/GPoPxpx+Ie/kEmBh/8CwaiRMJHRvjla\r\nbcubNQ3rfiFZ8cinalmvGPUP8EMCV22N8uwR+EaXkKHC2hxzzjH/OJ0/0zns\r\ncOwuGNW6FpVoN3lG8cvm8Dx6C9Xe9sJKH1FlEkprpcZw1Hq/hnZ/uX0hCmmw\r\nKQLHxdcP6c40whj2Hj8RyxZEt9K/kHwBgvNsEUkfEu2wkIyIZCWWqW8fEq+/\r\nFfDlYXD1vE4RSEexHaSrKMeFL50Y0103bhx9Sm8wwVgH5eXko46VzQb3Oncp\r\nipfszFDLo0oIADg1XOy6j+8BsV9MXTcl44KevLmB6b98snTGvnsPrQXutUID\r\n6quEtB1gPk1k/hhtHwUceNxYo8e7jJ21mkY=\r\n=WwJ+\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"licg9999","email":"licg9999@126.com"},"directories":{},"maintainers":[{"name":"licg9999","email":"licg9999@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/transpile-webpack-plugin_1.0.0-alpha.1_1671293239352_0.7749232136569693"},"_hasShrinkwrap":false},"1.0.0-beta.1":{"name":"transpile-webpack-plugin","version":"1.0.0-beta.1","description":"","keywords":[],"repository":{"type":"git","url":"git+https://github.com/licg9999/transpile-webpack-plugin.git"},"homepage":"https://github.com/licg9999/transpile-webpack-plugin","author":{"name":"licg","email":"licg9999@gmail.com"},"license":"MIT","engines":{"node":">=16"},"types":"lib/index.d.ts","main":"lib/index.js","scripts":{"build":"tsc --project additional-configs/tsconfig.build.json","watch":"npm run build -- --watch","unittest":"cross-env JEST_TEST_PATH=src jest","e2e":"cross-env JEST_TEST_PATH=e2e jest --maxWorkers 1"},"peerDependencies":{"webpack":"^5.61.0"},"devDependencies":{"@commitlint/config-conventional":"^17.1.0","@types/cross-spawn":"^6.0.2","@types/glob":"^8.0.0","@types/jest":"^28.1.8","@types/lodash":"^4.14.186","@types/node":"^18.11.9","@types/resolve":"^1.20.2","@types/uuid":"^8.3.4","colorette":"^2.0.19","commander":"^9.4.1","cross-env":"^7.0.3","cross-spawn":"^7.0.3","glob":"^8.0.3","jest":"^28.1.3","jest-extended":"^3.1.0","prettier":"^2.7.1","tree-kill":"^1.2.2","ts-jest":"^28.0.8","typescript":"^4.8.4","uuid":"^8.3.2","wait-for-expect":"^3.0.2"},"dependencies":{"lodash":"^4.17.21","resolve":"^1.22.1","schema-utils":"^4.0.0"},"readme":"# e8318f3\n","readmeFilename":"README.md","gitHead":"01b5074c918a1e5338519e24d8e0ba6bf1c8b571","bugs":{"url":"https://github.com/licg9999/transpile-webpack-plugin/issues"},"_id":"transpile-webpack-plugin@1.0.0-beta.1","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-L8MjnxD3YdfN/hOMu1dfQ0bP7EVMN15G89ZoEQjVlORv2Dd0bMMA+ZAUq391N/mbiG9Uy5lWDkyyWFl8SJNdDA==","shasum":"6c4770acc42c2cd2bcd080669e9bf09cb64d9012","tarball":"https://registry.npmjs.org/transpile-webpack-plugin/-/transpile-webpack-plugin-1.0.0-beta.1.tgz","fileCount":94,"unpackedSize":103359,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAsz7o3brD7uOTPunibFIH3umWc6QULFNfixraem2DbCAiBBPXTTw8PwcxTUUrwm1VFgKgY0EpsLmMM2UJ7w7alqrQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjnewSACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqmyw/8Dpnk92MdEPE43T3/dIvSt/iUMTRhKvgmPs68DBft0Z/VRoeW\r\nP0BgrKR8R06Kt5IkhLpTOsQ8y7H50EeQVVecN6u6lyIOzu+aO+lvqX11ArOs\r\nXP/OI4LrIh5D0lePwRvGnoU5JuhPdXXhZmU04E7ClzFFZEYLy5cDrNx5Mhw0\r\nmqRaFYPCtuA3+qpG1YQcEShFOnc1HlcBH+hdeeKu4yBkjMCYSAzgRa/rC5q4\r\n5QwgCpeMIjLG/uuEh/A7P1GvxupFfCZDFkDeMGX3N35A4Ufmb0yQ2eKRhtH/\r\n0uqHIBk2wwm5XlniUsXUyffYiKkayYR3WVSjHJEczxPfAooJYZsSb1o8DNfh\r\nxeNKRBNZ2rDNrqZ8MmAswgb+DBQTPEOsKdiljC3yPIRcqB7HDKa1X3tvY3k3\r\nQUFOPipa2SeZKP74f6aN8T6gP6+dxxGcpL0UvPppr3eRjbQFIWJV+ZKtgEw8\r\npMrHGQXUQwYKi3DaMOEcKrywIzLldeHefMy2SfFVMqE6KegLivqPQN92T8DH\r\nc+kabaGjzzcxUJCtjDAd7IxMqRJo8JwtY4EDRxYt/CSORuS+/+bJeN2sC7a0\r\nK93Y0xebx6EIHaJDG5IUueNRNOlrj7o3gzajZjxypAEEND7b9qHOS47h2UkC\r\nWkimsDu3Hp8XtITDL8s6jDKH8nhyVFQb/78=\r\n=jnx6\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"licg9999","email":"licg9999@126.com"},"directories":{},"maintainers":[{"name":"licg9999","email":"licg9999@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/transpile-webpack-plugin_1.0.0-beta.1_1671293970505_0.3470447461580606"},"_hasShrinkwrap":false},"1.0.0":{"name":"transpile-webpack-plugin","version":"1.0.0","description":"","keywords":[],"repository":{"type":"git","url":"git+https://github.com/licg9999/transpile-webpack-plugin.git"},"homepage":"https://github.com/licg9999/transpile-webpack-plugin","author":{"name":"licg","email":"licg9999@gmail.com"},"license":"MIT","engines":{"node":">=16"},"types":"lib/index.d.ts","main":"lib/index.js","scripts":{"build":"tsc --project additional-configs/tsconfig.build.json","watch":"npm run build -- --watch","unittest":"cross-env JEST_TEST_PATH=src jest","e2e":"cross-env JEST_TEST_PATH=e2e jest --maxWorkers 1","lint-all":"run-p lint:*","lint:tsc":"tsc","lint:prettier":"node scripts/cross-dotenv-shell prettier --check FILE_GLOB","lint:eslint":"node scripts/cross-dotenv-shell eslint FILE_GLOB","fix-all":"run-s fix:*","fix:prettier":"node scripts/cross-dotenv-shell prettier --write FILE_GLOB","fix:eslint":"node scripts/cross-dotenv-shell eslint --fix FILE_GLOB"},"peerDependencies":{"webpack":"^5.61.0"},"dependencies":{"lodash":"^4.17.21","resolve":"^1.22.1","schema-utils":"^4.0.0"},"devDependencies":{"@commitlint/config-conventional":"^17.1.0","@trivago/prettier-plugin-sort-imports":"^3.4.0","@types/cross-spawn":"^6.0.2","@types/glob":"^8.0.0","@types/jest":"^28.1.8","@types/lodash":"^4.14.186","@types/node":"^18.11.9","@types/resolve":"^1.20.2","@types/uuid":"^8.3.4","@typescript-eslint/eslint-plugin":"^5.46.1","@typescript-eslint/parser":"^5.46.1","colorette":"^2.0.19","commander":"^9.4.1","cross-env":"^7.0.3","cross-spawn":"^7.0.3","dotenv":"^16.0.3","eslint":"^8.30.0","eslint-config-prettier":"^8.5.0","eslint-plugin-jest":"^27.1.7","glob":"^8.0.3","jest":"^28.1.3","jest-extended":"^3.1.0","npm-run-all":"^4.1.5","prettier":"^2.7.1","tree-kill":"^1.2.2","ts-jest":"^28.0.8","typescript":"^4.8.4","uuid":"^8.3.2","wait-for-expect":"^3.0.2"},"gitHead":"bbdad001f0ae62cb787c108f14c99523a3636fc7","bugs":{"url":"https://github.com/licg9999/transpile-webpack-plugin/issues"},"_id":"transpile-webpack-plugin@1.0.0","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-st4BnbmuVA4c+nPwGTxOIRQ/zJuzLr0WLn7mXMMOlVI5aVcQaYXGTlyBvoBmtgsOrHIJYa2MVin1iebNVItrLQ==","shasum":"3f6babc45341bda3b5868af2a7aed540fe1438a5","tarball":"https://registry.npmjs.org/transpile-webpack-plugin/-/transpile-webpack-plugin-1.0.0.tgz","fileCount":95,"unpackedSize":105154,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDUWdE6doWCL8Z4ZZmBh1BmS2ITKhjiBdiySXJVXW1X8QIhAIyQD/JRjrzyvS8v3m96pKYFFz8y2YyV0Pi+ZyCQASSv"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjny7EACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpQKw/+P8HLeMuPp7p1DCcLMiYJ/DMSJWybCXnZfLa3a5eG620tNw5p\r\n47pg7LwXAT/kE2BKrvB8rLrPOhwvoF3wC+ADGdKWToxTYG00LwYDSxEHjTQA\r\nMCUbgW/vHfEX7SlaY1TC/fObNJL97BholID1KVcBz+6HteoY/kqjhSBFNu9Y\r\nfbCKmnLuyVCrTirCh7y/cNf/rVS7f58Pbq+weMb9n0UJ4TIMFnxYmPpkGdq1\r\nkhGR3Vm1dGsAYDhtVDQXAvtTAWNK2jfVui5XyotYYFGNzJZ98V2RIWS0nkCF\r\naRmM7RerMNj2098UK+MSVu/GXZb1BRWhPgLMdZDPu0KsT7cynka9JXpsZmo1\r\nMNqYzygXM7zm/CCQpWRHwOLUU9HhtmAwklAiILO01xHDvQmwj2ENiHxKV9Ih\r\nD/cY1LgXplD1KpFtFJKNkN5yQPoPODm60kH4EEYp//0DdzcY8HiJfL8OWvtp\r\nLyaXdAYFduVjmNdRAl8gNCTnrfyUx2qzdlaavjcPtlEq/7IeiA9eBSGcHdfw\r\nNQfFgCw6Rc/jt4mTIiARJdh5AigAvXy5oHsMoIlsTnH9UFPksiWH9LiCtr/a\r\nV5OAF9xC/pE9rccIY8CjRqitGXBDse31YsJfO+214dcn+/MR/CXwYmAYVwFf\r\n5cYuYeCCbB58XF2qVZD32PijYOVzxMj+/fU=\r\n=cWTu\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"licg9999","email":"licg9999@126.com"},"directories":{},"maintainers":[{"name":"licg9999","email":"licg9999@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/transpile-webpack-plugin_1.0.0_1671376580298_0.5217209354536552"},"_hasShrinkwrap":false},"1.0.1-alpha.1":{"name":"transpile-webpack-plugin","version":"1.0.1-alpha.1","description":"","keywords":[],"repository":{"type":"git","url":"git+https://github.com/licg9999/transpile-webpack-plugin.git"},"homepage":"https://github.com/licg9999/transpile-webpack-plugin","author":{"name":"licg","email":"licg9999@gmail.com"},"license":"MIT","engines":{"node":">=16"},"types":"lib/index.d.ts","main":"lib/index.js","scripts":{"build":"tsc --project additional-configs/tsconfig.build.json","watch":"npm run build -- --watch","unittest":"cross-env JEST_TEST_PATH=src jest","e2e":"cross-env JEST_TEST_PATH=e2e jest --maxWorkers 1","lint-all":"run-p lint:*","lint:tsc":"tsc","lint:prettier":"node scripts/cross-dotenv-shell prettier --check FILE_GLOB","lint:eslint":"node scripts/cross-dotenv-shell eslint FILE_GLOB","fix-all":"run-s fix:*","fix:prettier":"node scripts/cross-dotenv-shell prettier --write FILE_GLOB","fix:eslint":"node scripts/cross-dotenv-shell eslint --fix FILE_GLOB"},"peerDependencies":{"webpack":"^5.61.0"},"dependencies":{"lodash":"^4.17.21","resolve":"^1.22.1","schema-utils":"^4.0.0"},"devDependencies":{"@commitlint/config-conventional":"^17.1.0","@trivago/prettier-plugin-sort-imports":"^3.4.0","@types/cross-spawn":"^6.0.2","@types/glob":"^8.0.0","@types/jest":"^28.1.8","@types/lodash":"^4.14.186","@types/node":"^18.11.9","@types/resolve":"^1.20.2","@types/uuid":"^8.3.4","@typescript-eslint/eslint-plugin":"^5.46.1","@typescript-eslint/parser":"^5.46.1","colorette":"^2.0.19","commander":"^9.4.1","cross-env":"^7.0.3","cross-spawn":"^7.0.3","dotenv":"^16.0.3","eslint":"^8.30.0","eslint-config-prettier":"^8.5.0","eslint-plugin-jest":"^27.1.7","glob":"^8.0.3","jest":"^28.1.3","jest-extended":"^3.1.0","npm-run-all":"^4.1.5","prettier":"^2.7.1","tree-kill":"^1.2.2","ts-jest":"^28.0.8","typescript":"^4.8.4","uuid":"^8.3.2","wait-for-expect":"^3.0.2"},"readme":"# e8318f3\n","readmeFilename":"README.md","gitHead":"7ec8f0295623c61812b7f1090853050ad9ab7b7c","bugs":{"url":"https://github.com/licg9999/transpile-webpack-plugin/issues"},"_id":"transpile-webpack-plugin@1.0.1-alpha.1","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-Ue2WivL08HExBabAXEIpNJcsRjmF/6/p83j4Cie88UMtMBWR0xZ7xRnBdL31A502T1nE1oDZzfQJ+uXgcuEasQ==","shasum":"950a8aeedb54ff1e27fcad728e0f894602885ed5","tarball":"https://registry.npmjs.org/transpile-webpack-plugin/-/transpile-webpack-plugin-1.0.1-alpha.1.tgz","fileCount":95,"unpackedSize":105162,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC64se7UBu2T7i03Y57KMfpGldzM22zvf25UY8VTOjRMwIgD/ICvypVgLQX0blDjGwCnZkdP2EiOhNcP2xuX945k88="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjnzMrACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqkZxAAgfKVDwA7Vo8n0c/sg8DTl5gQNt9TcsJJ5lcILEfw7aSv8yEj\r\nGePBujEzHzdeDVvVzRVvihnEikQmUE2Ugk5e8LLFoEBKMbRwiAcqoG5Qw1/L\r\nD3Uo/IxNx/UN7vymC3ltrwOe6zKrCir7eGR8cciS+FOeJQmibWwlTVOMLil5\r\n7cESQLK3f6ggS15jiZRAECeh/oDRDzM2GXyiYCzklKsG1IYVmtqfU85y9SSV\r\n+ucc2C3irlLzk1J8OT1Am3zEHNiaR/fwP14pof38MEooHUE3N8GMRr2A/FMP\r\n0MGGg1gVulfRvQ54ocvt0+7CMFkB2rCzNEdqDk3YF4RSxf9GxVVqVH+kvQ5c\r\nYw9/Nsv1fPRMTFmm2qD5uoKbTg38gfb+4ryTkgPw2YlZuAmcrn9YKnkF4Q+O\r\nLJSt/6mpzC+pjZuqVlYC3gY4CLahviycOZ49MAfzNwlL9kIn2bs4aloZgvxy\r\nXuhY49oBc0mOQRJC2S6p7x83tTTMQAfoRwssIo4amsPUlmh4hP1RfZ4SNDhk\r\n0T1FYQf0wBfYPRlKTskNjbIH5tmE+hik/gXj7h7oi3sefZ2IBPZxgg/wtS8x\r\nhlg9LQBG28vM3fc6LQPL/PpJG90OtHESIx9D5EG5e/j4fJCLVigoUFmyqusU\r\n2/sdSnK7NL3NKlvOgQeKsLhQ/IeiediUurI=\r\n=oa0Z\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"licg9999","email":"licg9999@126.com"},"directories":{},"maintainers":[{"name":"licg9999","email":"licg9999@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/transpile-webpack-plugin_1.0.1-alpha.1_1671377707163_0.10078675309772245"},"_hasShrinkwrap":false},"1.0.1-beta.1":{"name":"transpile-webpack-plugin","version":"1.0.1-beta.1","description":"","keywords":[],"repository":{"type":"git","url":"git+https://github.com/licg9999/transpile-webpack-plugin.git"},"homepage":"https://github.com/licg9999/transpile-webpack-plugin","author":{"name":"licg","email":"licg9999@gmail.com"},"license":"MIT","engines":{"node":">=16"},"types":"lib/index.d.ts","main":"lib/index.js","scripts":{"build":"tsc --project additional-configs/tsconfig.build.json","watch":"npm run build -- --watch","unittest":"cross-env JEST_TEST_PATH=src jest","e2e":"cross-env JEST_TEST_PATH=e2e jest --maxWorkers 1","lint-all":"run-p lint:*","lint:tsc":"tsc","lint:prettier":"node scripts/cross-dotenv-shell prettier --check FILE_GLOB","lint:eslint":"node scripts/cross-dotenv-shell eslint FILE_GLOB","fix-all":"run-s fix:*","fix:prettier":"node scripts/cross-dotenv-shell prettier --write FILE_GLOB","fix:eslint":"node scripts/cross-dotenv-shell eslint --fix FILE_GLOB"},"peerDependencies":{"webpack":"^5.61.0"},"dependencies":{"lodash":"^4.17.21","resolve":"^1.22.1","schema-utils":"^4.0.0"},"devDependencies":{"@commitlint/config-conventional":"^17.1.0","@trivago/prettier-plugin-sort-imports":"^3.4.0","@types/cross-spawn":"^6.0.2","@types/glob":"^8.0.0","@types/jest":"^28.1.8","@types/lodash":"^4.14.186","@types/node":"^18.11.9","@types/resolve":"^1.20.2","@types/uuid":"^8.3.4","@typescript-eslint/eslint-plugin":"^5.46.1","@typescript-eslint/parser":"^5.46.1","colorette":"^2.0.19","commander":"^9.4.1","cross-env":"^7.0.3","cross-spawn":"^7.0.3","dotenv":"^16.0.3","eslint":"^8.30.0","eslint-config-prettier":"^8.5.0","eslint-plugin-jest":"^27.1.7","glob":"^8.0.3","jest":"^28.1.3","jest-extended":"^3.1.0","npm-run-all":"^4.1.5","prettier":"^2.7.1","tree-kill":"^1.2.2","ts-jest":"^28.0.8","typescript":"^4.8.4","uuid":"^8.3.2","wait-for-expect":"^3.0.2"},"readme":"# e8318f3\n","readmeFilename":"README.md","gitHead":"7ec8f0295623c61812b7f1090853050ad9ab7b7c","bugs":{"url":"https://github.com/licg9999/transpile-webpack-plugin/issues"},"_id":"transpile-webpack-plugin@1.0.1-beta.1","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-AGbGWrRaCP36Vy1n30u2k25V/cUIcDLj4xn3cxKEQxd8C8OvfD4yvNlTa0jX24VUuuJaDaiUIIqx0PpgPVpqcA==","shasum":"bbc7fc384f4f468468b7b0a8c13cab85712842da","tarball":"https://registry.npmjs.org/transpile-webpack-plugin/-/transpile-webpack-plugin-1.0.1-beta.1.tgz","fileCount":95,"unpackedSize":105161,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDQHVApEOwSCIsHRDA+wVY6di5TCXzRCDEiADY48POLOAIhAMC97RQwMVUj5enm7OunrSMFT82aByShwhz1dRcdoURW"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjnzTyACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoFBA/+PSNfaiAGyaP4T0nKEgktlq//1/9SyiG3KTZDTm283vtI4d3Q\r\niGzde0pRK5AM8PyNR8oXNSkcuJPsKBR4YItIKzc5Tg1268pXygrVqCny0TSi\r\n8r1ISZeaEmePyNQqlx40EKeL8YQ0d98eANRlARgLKvBtkYhrjakEC6lxkkec\r\n5BaVnKWolpeo52s/VUkqpMJ0kB5U56tqNJLLSMh82g787op7Cxi8IexSeVSl\r\nK4uygWrASEG8o2vIJYloogM8X2TB1V8wT3IRpimaojWd1frQXGY+pn8+2f4S\r\nVqkyjIYVPbKtvcBmoKVuaceQhzsdzGeemnsu/fVSaJFZd4v2EqYFz06TbTkZ\r\njPiRmhbnG7JW6Wp0LzrWDBjiq26t/JWB9ElAekgc464hH0r9nLzUOJXo7+Tp\r\nZ7Ck9yzUsoEhHf+yyqwNXrQPza4u0iLNK3MT8FWOpAOyv/F6hmEAM62lUEim\r\nD5nsi66OzBFGlCBtaFZR0YtjJlsjxf4Ww97e7/350BdR6Tw3L3TNa3Xw5QiI\r\nx2QqTrKbdn5XRm8nPEvhkiXO+OVM0UThdLR2g3OxwuEuI1Uamqb5uQtjmzn2\r\ngDsjq+rCtgqb0Xi94I0Uzzj2b8nfHOxpYmeGKa7L+MfD/Niq3iFOgEaYKmIc\r\nQPSZVA5mblCFDF8ucljxk+3icGf7qUcCiRc=\r\n=PrjG\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"licg9999","email":"licg9999@126.com"},"directories":{},"maintainers":[{"name":"licg9999","email":"licg9999@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/transpile-webpack-plugin_1.0.1-beta.1_1671378162714_0.46194175835760265"},"_hasShrinkwrap":false},"1.0.1":{"name":"transpile-webpack-plugin","version":"1.0.1","description":"","keywords":[],"repository":{"type":"git","url":"git+https://github.com/licg9999/transpile-webpack-plugin.git"},"homepage":"https://github.com/licg9999/transpile-webpack-plugin","author":{"name":"licg","email":"licg9999@gmail.com"},"license":"MIT","engines":{"node":">=16"},"types":"lib/index.d.ts","main":"lib/index.js","scripts":{"build":"tsc --project additional-configs/tsconfig.build.json","watch":"npm run build -- --watch","unittest":"cross-env JEST_TEST_PATH=src jest","e2e":"cross-env JEST_TEST_PATH=e2e jest --maxWorkers 1","lint-all":"run-p lint:*","lint:tsc":"tsc","lint:prettier":"node scripts/cross-dotenv-shell prettier --check FILE_GLOB","lint:eslint":"node scripts/cross-dotenv-shell eslint FILE_GLOB","fix-all":"run-s fix:*","fix:prettier":"node scripts/cross-dotenv-shell prettier --write FILE_GLOB","fix:eslint":"node scripts/cross-dotenv-shell eslint --fix FILE_GLOB"},"peerDependencies":{"webpack":"^5.61.0"},"dependencies":{"lodash":"^4.17.21","resolve":"^1.22.1","schema-utils":"^4.0.0"},"devDependencies":{"@commitlint/config-conventional":"^17.1.0","@trivago/prettier-plugin-sort-imports":"^3.4.0","@types/cross-spawn":"^6.0.2","@types/glob":"^8.0.0","@types/jest":"^28.1.8","@types/lodash":"^4.14.186","@types/node":"^18.11.9","@types/resolve":"^1.20.2","@types/uuid":"^8.3.4","@typescript-eslint/eslint-plugin":"^5.46.1","@typescript-eslint/parser":"^5.46.1","colorette":"^2.0.19","commander":"^9.4.1","cross-env":"^7.0.3","cross-spawn":"^7.0.3","dotenv":"^16.0.3","eslint":"^8.30.0","eslint-config-prettier":"^8.5.0","eslint-plugin-jest":"^27.1.7","glob":"^8.0.3","jest":"^28.1.3","jest-extended":"^3.1.0","npm-run-all":"^4.1.5","prettier":"^2.7.1","tree-kill":"^1.2.2","ts-jest":"^28.0.8","typescript":"^4.8.4","uuid":"^8.3.2","wait-for-expect":"^3.0.2"},"gitHead":"7ec8f0295623c61812b7f1090853050ad9ab7b7c","bugs":{"url":"https://github.com/licg9999/transpile-webpack-plugin/issues"},"_id":"transpile-webpack-plugin@1.0.1","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-m0EXBgz245mqCKJedqTE7PKEpf48KGv3Y2Z6wIgzBtUrts40WklJrHPhM7vFR68mJdjUx08+jq2HqELcpV5zkA==","shasum":"88e36a8f9ef3393b87d6ef964c6ab2e38ceaa9b6","tarball":"https://registry.npmjs.org/transpile-webpack-plugin/-/transpile-webpack-plugin-1.0.1.tgz","fileCount":95,"unpackedSize":105154,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCf0eMwA2PtqvlTXW1na3sxEc4RSHeC2HA4WPM7iWgwXQIgbhfBs4zQwxTyqtnEQ+n/Ls4Ji6NyIbpG5V1rs1XU3BY="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjnzb+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrU9xAAoMjlLrk5akzbCNG+2piZ3/8Y3kJ+E3DJ1ELXqimiGPz9y2Bf\r\nNGuI1w3kgMm/T9rGYDtyGogebSUkjGcAFF8kKZXjocGLqdXZzoz90ZSzu8tL\r\ngagq2z0OU3Nh+GedhJMz3oWlTe84nK3C0wgrzvQi2w1wVDsJGyG/HpeZOMnN\r\ngkDTwunTi3Q3lkllm7QIF7qKfP9i5ibeK7gDS3vEpW3xtNgKmTr0XjzYZnxs\r\n60lTBfFbLnqhB++DuEIKmroKPHsKg0B63pXxO9g2xyJkvQYiTTWisl2JGIWv\r\nguZkeLPL7p7jVpyEb0AIq91j0VtaPCOyTYxr1aEi+9UeLnclokVG/nALwrAv\r\nRZvO+VFdwtU8sqkHAiWizPlag/RV7KjgIpeZ0GvEb77371TfkGfkNKsJxsFa\r\n9sGKS3SemA124mPKlSx0Zrjvb8lKSPv/rcY4CMiU4hiQdJmkuHbTH0pUp4tJ\r\nUicADjRR9PURA8zybpElCSFmbvjEh5bTFoOe6etP71kQRAlck+CV5Z60iTRd\r\n7wROMVee0ydjrD2wsgHKNahW2zu1F6N9lIUU1iZGmDCn7U/h/KvpzRsjHxum\r\nP28Ru83GEbf5PvtHh4jVtjAIDJpqJwBV3j7plXU4iAL0HUqcMuWGqO23tqt1\r\n7u7Fc6TAs+EkiJQ14nz4Pq80IzXhx2sZst0=\r\n=vp1W\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"licg9999","email":"licg9999@126.com"},"directories":{},"maintainers":[{"name":"licg9999","email":"licg9999@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/transpile-webpack-plugin_1.0.1_1671378686368_0.5005822303958725"},"_hasShrinkwrap":false},"1.0.2-alpha.1":{"name":"transpile-webpack-plugin","version":"1.0.2-alpha.1","description":"","keywords":[],"repository":{"type":"git","url":"git+https://github.com/licg9999/transpile-webpack-plugin.git"},"homepage":"https://github.com/licg9999/transpile-webpack-plugin","author":{"name":"licg","email":"licg9999@gmail.com"},"license":"MIT","engines":{"node":">=16"},"types":"lib/index.d.ts","main":"lib/index.js","scripts":{"build":"tsc --project additional-configs/tsconfig.build.json","watch":"npm run build -- --watch","unittest":"cross-env JEST_TEST_PATH=src jest","e2e":"cross-env JEST_TEST_PATH=e2e jest --maxWorkers 1","lint-all":"run-p lint:*","lint:tsc":"tsc","lint:prettier":"node scripts/cross-dotenv-shell prettier --check FILE_GLOB","lint:eslint":"node scripts/cross-dotenv-shell eslint FILE_GLOB","fix-all":"run-s fix:*","fix:prettier":"node scripts/cross-dotenv-shell prettier --write FILE_GLOB","fix:eslint":"node scripts/cross-dotenv-shell eslint --fix FILE_GLOB"},"peerDependencies":{"webpack":"^5.61.0"},"dependencies":{"lodash":"^4.17.21","resolve":"^1.22.1","schema-utils":"^4.0.0"},"devDependencies":{"@commitlint/config-conventional":"^17.1.0","@trivago/prettier-plugin-sort-imports":"^3.4.0","@types/cross-spawn":"^6.0.2","@types/glob":"^8.0.0","@types/jest":"^28.1.8","@types/lodash":"^4.14.186","@types/node":"^18.11.9","@types/resolve":"^1.20.2","@types/uuid":"^8.3.4","@typescript-eslint/eslint-plugin":"^5.46.1","@typescript-eslint/parser":"^5.46.1","colorette":"^2.0.19","commander":"^9.4.1","cross-env":"^7.0.3","cross-spawn":"^7.0.3","dotenv":"^16.0.3","eslint":"^8.30.0","eslint-config-prettier":"^8.5.0","eslint-plugin-jest":"^27.1.7","glob":"^8.0.3","jest":"^28.1.3","jest-extended":"^3.1.0","npm-run-all":"^4.1.5","prettier":"^2.7.1","tree-kill":"^1.2.2","ts-jest":"^28.0.8","typescript":"^4.8.4","uuid":"^8.3.2","wait-for-expect":"^3.0.2"},"readme":"# e8318f3\n","readmeFilename":"README.md","gitHead":"0560e1b20babee34987c5bcf10106da923d3e64b","bugs":{"url":"https://github.com/licg9999/transpile-webpack-plugin/issues"},"_id":"transpile-webpack-plugin@1.0.2-alpha.1","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-dckdLWCiGbo4oOkafEy1PHmEQf2M/EGvUNxIBBFOnwby1sVqqWC9ZYv/bCgJWcEbOQJMSjJjATTvmfREBPRAtQ==","shasum":"bab25360c8ea2f44ca36619cf1075470874c83c5","tarball":"https://registry.npmjs.org/transpile-webpack-plugin/-/transpile-webpack-plugin-1.0.2-alpha.1.tgz","fileCount":95,"unpackedSize":105341,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAlIts80DiGcM+tWfrz5XAKydlXuvnA3iiW61XWXQih7AiEAyka3hJaiwFurcZmQbeLcCoRsg8Zj2nlN319R+DoUwtw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjoYfqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrjPw/7Bs3iOfmmJnxg942MpQuZCzLM/Scej1BSdY44xECKiXYrLF8t\r\nR7fOKIQx6l0UexckmukaglAR2ig80FuP8zVBJtQKTxkCUlj8wxxU+h+3+Gqd\r\nWrAW2i7bsUVFbFPUPMpDWS1MRcughpzhdLrIQdDxyqDAcdZXyp3J6c9PA19o\r\nu6Pdyw26+NHjDRezlOMeXA66WkxWE9xqCPaqjhn14npb/gATIQnxNqN6S1Rv\r\nSkD0Y+Xq9qZZmz5BEUN0gjIQJY70Y0wIRG1O1S7cyDJGHScEefQU+nb7dGnJ\r\n1fipq0lrEmfYTxagvokE6mn5O9pG9GpH5YoLjbl/SEK60Nwe5dLXOx+5jwmk\r\nAC+RWhes3V9I4C7uxMqAf+i2Tn6qf2xd4QW91Vnt/hCxrFtuUoNLSM3lPa6L\r\nw6AfXtoDaDA0IvfOl6NWrJENMDZPbEelZUhHm0VEs8b0eSvyniW0gZqSrmoa\r\n9SxJ5XwjBmM1m61k/Vf7dlQBthamWJZ4/FCOq5x1sGncFDRYkAgH/Hte15Eq\r\nEEV4vqWvW6VRE+TS+1rVjsKJNaF/dbruVGVf0kX6g/1gpQM8rgQ9w3pzvRYq\r\nfRSqtZCjmjho8BXSdj7cHgsGS9EFMQNvrh/bUeqfKboY/C63sFdXW6fozGTf\r\nK+TmEsIc8ng0EeAQZtCtrfRezfqT4r28i3E=\r\n=HCFS\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"licg9999","email":"licg9999@126.com"},"directories":{},"maintainers":[{"name":"licg9999","email":"licg9999@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/transpile-webpack-plugin_1.0.2-alpha.1_1671530473945_0.18501877719414517"},"_hasShrinkwrap":false},"1.0.2-alpha.2":{"name":"transpile-webpack-plugin","version":"1.0.2-alpha.2","description":"","keywords":[],"repository":{"type":"git","url":"git+https://github.com/licg9999/transpile-webpack-plugin.git"},"homepage":"https://github.com/licg9999/transpile-webpack-plugin","author":{"name":"licg","email":"licg9999@gmail.com"},"license":"MIT","engines":{"node":">=16"},"types":"lib/index.d.ts","main":"lib/index.js","scripts":{"build":"tsc --project additional-configs/tsconfig.build.json","watch":"npm run build -- --watch","unittest":"cross-env JEST_TEST_PATH=src jest","e2e":"cross-env JEST_TEST_PATH=e2e jest --maxWorkers 1","lint-all":"run-p lint:*","lint:tsc":"tsc","lint:prettier":"node scripts/cross-dotenv-shell prettier --check FILE_GLOB","lint:eslint":"node scripts/cross-dotenv-shell eslint FILE_GLOB","fix-all":"run-s fix:*","fix:prettier":"node scripts/cross-dotenv-shell prettier --write FILE_GLOB","fix:eslint":"node scripts/cross-dotenv-shell eslint --fix FILE_GLOB"},"peerDependencies":{"webpack":"^5.61.0"},"dependencies":{"lodash":"^4.17.21","resolve":"^1.22.1","schema-utils":"^4.0.0"},"devDependencies":{"@commitlint/config-conventional":"^17.1.0","@trivago/prettier-plugin-sort-imports":"^3.4.0","@types/cross-spawn":"^6.0.2","@types/glob":"^8.0.0","@types/jest":"^28.1.8","@types/lodash":"^4.14.186","@types/node":"^18.11.9","@types/resolve":"^1.20.2","@types/uuid":"^8.3.4","@typescript-eslint/eslint-plugin":"^5.46.1","@typescript-eslint/parser":"^5.46.1","colorette":"^2.0.19","commander":"^9.4.1","cross-env":"^7.0.3","cross-spawn":"^7.0.3","dotenv":"^16.0.3","eslint":"^8.30.0","eslint-config-prettier":"^8.5.0","eslint-plugin-jest":"^27.1.7","glob":"^8.0.3","jest":"^28.1.3","jest-extended":"^3.1.0","npm-run-all":"^4.1.5","prettier":"^2.7.1","tree-kill":"^1.2.2","ts-jest":"^28.0.8","typescript":"^4.8.4","uuid":"^8.3.2","wait-for-expect":"^3.0.2"},"readme":"# e8318f3\n","readmeFilename":"README.md","gitHead":"ac29459b05bddb11779f95097fd1e914dabbea42","bugs":{"url":"https://github.com/licg9999/transpile-webpack-plugin/issues"},"_id":"transpile-webpack-plugin@1.0.2-alpha.2","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-iV7m2z8c6BsLw8Hy7svzK5Qp6jY34g9jgRMrQ38emJNDFbpTY7Fd7ETkF0UUKPmYzaFIqeKvNV/nqp1Eljv1EA==","shasum":"86c608c79108dd980050ea0389a48cd92eadbc73","tarball":"https://registry.npmjs.org/transpile-webpack-plugin/-/transpile-webpack-plugin-1.0.2-alpha.2.tgz","fileCount":95,"unpackedSize":105658,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB26YpiqNCZkZNDSg8Y568sRW2lcT5GTGolpwAb04QFpAiEAvUalIfZfe2KmuZXra9BBYGcdTUg6/sbMKRdDSQORzZI="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjobGUACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp0pw/+PcjZmlCtwr+vO+YmCwMteCE6V81kduUdoBqDa9fPTH2IlM1a\r\nNhU6r8+MoKQBv28Sa0dxg0COFIuB77NKdAoOj1FewMkb9b7m9v1Mg0Y3dSjT\r\nLnuJzCD510McprYqAr2xXIjE/pEqS5IZxKh3rdVOWxGJvA0OU9wdlUa7Bc9n\r\nGZExx3H2xaEDojj2gcJalTH9Gy29jLF42WSnd69esS/0zwctp5xWi2boaukR\r\nyigTq7H9pvFqu4DnaXep6Yhp6B8zuVhbLhE0Ok30yUNZF/weciDM2pfZqjaj\r\nayl8hyJbiB3tREEX0TOzBrb+dgA26P+IeC7i9wP1+fvBrjlYIT/rH8SJOo5a\r\n4CC6IECOFH66X/LgAUMmA4Kzw8caCFASxsISKaAwdUgFjOe1BB/hWdr9p8Sd\r\nU7SyhJ6RInUi8EjoyYMyw3m5syFhQkclYc46nk8fKUGvZ32ITvgZX38hWAgC\r\nHKCMsB9LN43rESgR6SvOHeofKelhBm/HWQqtDwaBsVOJPmrY7yAhcvI3T9RE\r\nV5TXzCRfz/mDAzqmGweJCO0dDt8VjuU/x7Jynpczf9AYvqk3ikclxtjDhroh\r\nveSs9HWs9nq7fINNWulWZk3lA89gOD4VUa8ifbGiwUebk1rSFP2jkEd1bGRe\r\nhkF1bbRR5h1sRvBlxyD020/hljU33L7wfe8=\r\n=wxSo\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"licg9999","email":"licg9999@126.com"},"directories":{},"maintainers":[{"name":"licg9999","email":"licg9999@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/transpile-webpack-plugin_1.0.2-alpha.2_1671541140294_0.9095387652276679"},"_hasShrinkwrap":false},"1.0.2-beta.1":{"name":"transpile-webpack-plugin","version":"1.0.2-beta.1","license":"MIT","description":"Transpiles input files into output files individually without bundling together","keywords":["webpack","plugin","transpile","transpile-webpack-plugin"],"author":{"name":"Chungen Li","email":"licg9999@gmail.com","url":"https://github.com/licg9999"},"bugs":{"url":"https://github.com/licg9999/transpile-webpack-plugin/issues"},"homepage":"https://github.com/licg9999/transpile-webpack-plugin","repository":{"type":"git","url":"git+https://github.com/licg9999/transpile-webpack-plugin.git"},"engines":{"node":">=16"},"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc --project additional-configs/tsconfig.build.json","watch":"npm run build -- --watch","unittest":"cross-env JEST_TEST_PATH=src jest","e2e":"cross-env JEST_TEST_PATH=e2e jest --maxWorkers 1","lint-all":"run-p lint:*","lint:tsc":"tsc","lint:prettier":"node scripts/cross-dotenv-shell prettier --check FILE_GLOB","lint:eslint":"node scripts/cross-dotenv-shell eslint FILE_GLOB","fix-all":"run-s fix:*","fix:prettier":"node scripts/cross-dotenv-shell prettier --write FILE_GLOB","fix:eslint":"node scripts/cross-dotenv-shell eslint --fix FILE_GLOB"},"peerDependencies":{"webpack":"^5.61.0"},"dependencies":{"lodash":"^4.17.21","resolve":"^1.22.1","schema-utils":"^4.0.0"},"devDependencies":{"@commitlint/config-conventional":"^17.1.0","@trivago/prettier-plugin-sort-imports":"^3.4.0","@types/cross-spawn":"^6.0.2","@types/glob":"^8.0.0","@types/jest":"^28.1.8","@types/lodash":"^4.14.186","@types/node":"^18.11.9","@types/resolve":"^1.20.2","@types/uuid":"^8.3.4","@typescript-eslint/eslint-plugin":"^5.46.1","@typescript-eslint/parser":"^5.46.1","colorette":"^2.0.19","commander":"^9.4.1","cross-env":"^7.0.3","cross-spawn":"^7.0.3","dotenv":"^16.0.3","eslint":"^8.30.0","eslint-config-prettier":"^8.5.0","eslint-plugin-jest":"^27.1.7","glob":"^8.0.3","jest":"^28.1.3","jest-extended":"^3.1.0","npm-run-all":"^4.1.5","prettier":"^2.7.1","tree-kill":"^1.2.2","ts-jest":"^28.0.8","typescript":"^4.8.4","uuid":"^8.3.2","wait-for-expect":"^3.0.2"},"readme":"<div align=\"center\">\n  <a href=\"https://github.com/webpack/webpack\">\n    <img width=\"200\" height=\"200\" src=\"https://webpack.js.org/assets/icon-square-big.svg\">\n  </a>\n  <h1>Transpile Webpack Plugin</h1>\n</div>\n\n[![npm][npm]][npm-url]\n[![node][node]][node-url]\n[![download][download]][npm-url]\n[![license][license]][license-url]\n[![size][size]][size-url]\n[![cicd][cicd]][cicd-url]\n\n# Transpile Webpack Plugin\n\nThe webpack plugin that transpiles input files into output files individually without bundling together.\n\nInput files are collected from files directly or indirectly imported by the [entry](https://webpack.js.org/configuration/entry-context/#entry), then get compiled and ouputted keeping the same directory structure in the output directory.\n\nTranspiling with webpack could be especially helpful when building SSR(server side rendering) in a heavyweight NodeJS server that involves source file path based logics. Please make best of it.\n\nNote that this plugin replies on features of webpack v5. The latest webpack is supposed to be used when possible.\n\n## Getting Started\n\nTo begin, you'll need to install `transpile-webpack-plugin`:\n\n```sh\nnpm i -D transpile-webpack-plugin\n```\n\nOr, with any package manager you prefer.\n\nThen, add the plugin to your webpack config. For example:\n\n```js\nconst TranspilePlugin = require('transpile-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.js',\n  output: {\n    path: __dirname + '/dist',\n  },\n  target: 'node',\n  plugins: [new TranspilePlugin(/* options */)],\n};\n```\n\nThe [target](https://webpack.js.org/configuration/target/) should be node-compatible (because output files are imported by each other with `require` at runtime and output with other value is not runnable in most cases).\n\nAssuming the entry `src/index.js` imports another file `src/constants/greeting.js`, input files will be `src/index.js` and `src/constants/greeting.js`. And after compilation, output files will be `dist/index.js` and `dist/constants/greeting.js`. The common dir of input files is used as the base dir to evaluate the relative paths of output files in output dir.\n\n## Options\n\n- **[exclude](#exclude)**\n- **[hoistNodeModules](#hoistNodeModules)**\n- **[longestCommonDir](#longestCommonDir)**\n\n### `exclude`\n\nType: `{string|RegExp|((p: string) => boolean)|string[]|RegExp[]|((p: string) => boolean)[]}`\n\nDefault: `[]`\n\nOption `exclude` indicates files to be excluded. Import statements to the excluded in input files are properly adjusted in output files to keep workable. It's useful when you copy third-party files and want to use them as they are.\n\nThough, don't use it to exclude `node_modules` because some helpers of webpack loaders living there are not runnable before compiled. For this case, use the [externals](https://webpack.js.org/configuration/externals/) instead.\n\nWith this option as string, input files whose aboslute paths begin with it will be excluded. With this option as regular expression, input files whose absolute paths match it will be excluded. With this option as function, input files whose absolute paths are passed into the call of it and end up with `true` will be excluded.\n\n### `hoistNodeModules`\n\nType: `{boolean}`\n\nDefault: `true`\n\nOption `hoistNodeModules` indicates whether to evaluate output paths for input files from or not from `node_modules` separately, and keep input files from `node_modules` outputted into `node_modules` just under output dir. It's usable to flatten the output directory structure a little bit.\n\nGiven input files `src/index.js` `node_modules/lodash/lodash.js` and output dir `dist`, with this option `true`, output files will be `dist/index.js` `dist/node_modules/lodash/lodash.js`. But with this option `false`, output files will be `dist/src/index.js` `dist/node_modules/lodash/lodash.js`.\n\n### `longestCommonDir`\n\nType: `{string|undefined}`\n\nDefault: `undefined`\n\nOption `longestCommonDir` indicates the limit of the common dir to evaluate relative paths of output files in output dir. When this option is shorter than the common dir of input files, this option is used against input files to evaluate relative paths of output files in output dir. Otherwise, the common dir of input files is used.\n\nGiven input files `src/server/index.js` `src/server/constants/greeting.js` and output dir `dist`, with this option `undefined`, output files will be `dist/index.js` `dist/constants/greeting.js`. But with this option `'./src'`, output files will be `dist/server/index.js` `dist/server/constants/greeting.js`.\n\nThough, given input files `src/index.js` `src/server/constants/greeting.js` and output dir `dist`, with this option `'./src/server'`, output files will still be `dist/index.js` `dist/server/constants/greeting.js` because the common dir of input files is shorter than this option.\n\n## Contributing\n\nPlease take a moment to read our contributing guidelines if you haven't yet done so.\n[CONTRIBUTING][contributing-url]\n\n## License\n\n[MIT][license-url]\n\n[npm]: https://img.shields.io/npm/v/transpile-webpack-plugin.svg\n[npm-url]: https://npmjs.com/package/transpile-webpack-plugin\n[node-url]: https://nodejs.org/\n[node]: https://img.shields.io/node/v/transpile-webpack-plugin.svg\n[download]: https://img.shields.io/npm/dw/transpile-webpack-plugin\n[license]: https://img.shields.io/github/license/licg9999/transpile-webpack-plugin\n[license-url]: https://github.com/licg9999/transpile-webpack-plugin/blob/master/LICENSE\n[size]: https://packagephobia.com/badge?p=transpile-webpack-plugin\n[size-url]: https://packagephobia.com/result?p=transpile-webpack-plugin\n[cicd]: https://github.com/licg9999/transpile-webpack-plugin/actions/workflows/verify-and-release.yml/badge.svg\n[cicd-url]: https://github.com/licg9999/transpile-webpack-plugin/actions/workflows/verify-and-release.yml\n[contributing-url]: https://github.com/licg9999/transpile-webpack-plugin/blob/master/CONTRIBUTING.md\n","readmeFilename":"README.md","gitHead":"1cf3a90b3285cc344e9e713dad1ca234131afde7","_id":"transpile-webpack-plugin@1.0.2-beta.1","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-JU1U64KoDmhZp3XY2+Idx/qm7xHpFGGsGre/Lj9CYsGjuoQi1vYlmEnStZHWhs+CF/9EYaMOz+IToOVy/TpWow==","shasum":"7f7a4d04884a9bc01e8680b7da31d8c001c4cfc9","tarball":"https://registry.npmjs.org/transpile-webpack-plugin/-/transpile-webpack-plugin-1.0.2-beta.1.tgz","fileCount":95,"unpackedSize":111831,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE1QH6hDU8gBua+jOseCyroUIm7vkYwf5keYbIAbmm/yAiAL1LLybNaRahx8zD/ABG6lgtA5kJuIU0F8ZDLFF77cVw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjowXtACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrNig//cqNOH/YoCnx1NIFAscVBeQUP6HQAJLYUyrh8bBzzb/pQsKgq\r\nmEJU5bHv83V3GGXPqgCi3rPigbzK3JYlhh3zgR4VU14Eb4uOaVynk7ue114U\r\n77VCcPGLiaAhti72dn1bzMSI6z8BuzcCQJCY4w2a89LE+Ue5Rgg7tBgklo4U\r\nRD3NaMksDy4focw3iOHxuCKypqm0sWLATm4M94sDlxJGWVyzZFprxIOKul6P\r\nNl/7bhVwY1CjSy6GaquzsujjspAP9n/YSu/Jn8qPtcD/g+qHPOGbDznf9hXV\r\nSqyVsQBx8grTnqhsRqgEfpV/8/w7O4SAji6BKYX91PP7T8L7UaReTLWOfWtG\r\nZRUEXaWU+iJlRk/NQt4pu8dKYEvaeLO8OA15EgOohiij8eFNdjYzGJAryghW\r\nedyFWiIVLHIJlPWSfGLSPCN4lHKgrvl9qZp5woo1NQvJ6hnEN9b0U9Xu0FKh\r\nuKheLPb/7fuNBjO10t+2AXPag++cRs6NGFq0kMHsW8jeSYfF1aqh49NKW99p\r\ndJJudtkHUN0sRGjI5eQsz52ZTyRkGpZAtiu98LOFLoCeAB2wBbLwolWRP2Gn\r\nahn2XYiOajoNO0l6C79fBWoaTIYl/fsMucFwtfVn3fnopxo2F/iGQ+ciS45G\r\nOrk5/yj4e3jxcfxWMmXwznnj/AUHPxPSQpo=\r\n=zS4y\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"licg9999","email":"licg9999@126.com"},"directories":{},"maintainers":[{"name":"licg9999","email":"licg9999@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/transpile-webpack-plugin_1.0.2-beta.1_1671628269673_0.09302388745254198"},"_hasShrinkwrap":false},"1.0.2":{"name":"transpile-webpack-plugin","version":"1.0.2","license":"MIT","description":"Transpiles input files into output files individually without bundling together","keywords":["webpack","plugin","transpile","transpile-webpack-plugin"],"author":{"name":"Chungen Li","email":"licg9999@gmail.com","url":"https://github.com/licg9999"},"bugs":{"url":"https://github.com/licg9999/transpile-webpack-plugin/issues"},"homepage":"https://github.com/licg9999/transpile-webpack-plugin","repository":{"type":"git","url":"git+https://github.com/licg9999/transpile-webpack-plugin.git"},"engines":{"node":">=16"},"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc --project additional-configs/tsconfig.build.json","watch":"npm run build -- --watch","unittest":"cross-env JEST_TEST_PATH=src jest","e2e":"cross-env JEST_TEST_PATH=e2e jest --maxWorkers 1","lint-all":"run-p lint:*","lint:tsc":"tsc","lint:prettier":"node scripts/cross-dotenv-shell prettier --check FILE_GLOB","lint:eslint":"node scripts/cross-dotenv-shell eslint FILE_GLOB","fix-all":"run-s fix:*","fix:prettier":"node scripts/cross-dotenv-shell prettier --write FILE_GLOB","fix:eslint":"node scripts/cross-dotenv-shell eslint --fix FILE_GLOB"},"peerDependencies":{"webpack":"^5.61.0"},"dependencies":{"lodash":"^4.17.21","resolve":"^1.22.1","schema-utils":"^4.0.0"},"devDependencies":{"@commitlint/config-conventional":"^17.1.0","@trivago/prettier-plugin-sort-imports":"^3.4.0","@types/cross-spawn":"^6.0.2","@types/glob":"^8.0.0","@types/jest":"^28.1.8","@types/lodash":"^4.14.186","@types/node":"^18.11.9","@types/resolve":"^1.20.2","@types/uuid":"^8.3.4","@typescript-eslint/eslint-plugin":"^5.46.1","@typescript-eslint/parser":"^5.46.1","colorette":"^2.0.19","commander":"^9.4.1","cross-env":"^7.0.3","cross-spawn":"^7.0.3","dotenv":"^16.0.3","eslint":"^8.30.0","eslint-config-prettier":"^8.5.0","eslint-plugin-jest":"^27.1.7","glob":"^8.0.3","jest":"^28.1.3","jest-extended":"^3.1.0","npm-run-all":"^4.1.5","prettier":"^2.7.1","tree-kill":"^1.2.2","ts-jest":"^28.0.8","typescript":"^4.8.4","uuid":"^8.3.2","wait-for-expect":"^3.0.2"},"gitHead":"1cf3a90b3285cc344e9e713dad1ca234131afde7","_id":"transpile-webpack-plugin@1.0.2","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-uKlivhrngk+nZhNdk7Dv8e1TUUPXunNOmbI2fsu3EBFe2Dq0XycoH5iWASopu7JBSwHNi13In6rfazCn287zcg==","shasum":"5b64c07f84ec4f3e3f5f1d05be77d208e9a214da","tarball":"https://registry.npmjs.org/transpile-webpack-plugin/-/transpile-webpack-plugin-1.0.2.tgz","fileCount":95,"unpackedSize":111824,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEh45gsS2sQlEfUJeV0G1ENgLv5b8t+WccnzXPdSDiXgAiBa7XigUoRjicIvIdEDk/mQlMj73Ga5/eo5obWFVV7lzw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjowhDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr/jw//fw8MK+CrtTQxUsquOpYv22GolhO2c2+6WtsB1YbRvYgE+I+d\r\nmBIt8Hm9v+Pp7hiJ2fMWOa3f0o5+Ecmc1HAfZNKwEwk37L9IgXHC0BW1nS+G\r\nIfCuUbsg9xrcjWOQT4uSXY0Kk5cPo7T4R7jyeCGkW7OtU0e38FFdOB61rpCf\r\nWvmNA20z4mHpvFec0geaCEmVVdfawacgzm4oLgtvc98DHjBteX2QTNcN3wyO\r\nxy8ivrk4POwYQmDgXGQAKLwRELQ8uSZn1E2f5sgyxD8u2xry12sD3+kOdsVl\r\nqhsTiYUg6EwsL24u2L3TFRG6w4DJW0uGcF3T/Oskl4lgOPCAs1kXYbpUsG7d\r\n0bIHBdEL5WBqcXj23qwqUtM3mSC4KQ7ZRTew3ZW33cbbMeksjC+5JOsJ5F6n\r\n1ddvZ9KJTB6+OC7zA49CEoktzbA59nMrSnHxdJy1MU0I0ea7WCr4AfAVkh8u\r\ncNQDfKaFlSNhX53Mvj8gaLhjMtoHi2oUSBipVnO1OQQ4RyMEKi5sHjz8tMLP\r\nNO553qdriPMjDFDTsSVGEQ2pOTvBPMPdGOFKnXU9BmN8LO8LgIxYuNtnIVTb\r\nRrWXvMfwK2H2mvebq3CO1QArX0yxyN2a3EEjQ/8s5HjA9FkRS8bKyE2To6LW\r\nvZZBiShY8U7+fBTwqVeJ6l5DfGT7e4KJtGo=\r\n=6fqI\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"licg9999","email":"licg9999@126.com"},"directories":{},"maintainers":[{"name":"licg9999","email":"licg9999@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/transpile-webpack-plugin_1.0.2_1671628867428_0.07566363603791348"},"_hasShrinkwrap":false},"1.0.3-alpha.1":{"name":"transpile-webpack-plugin","version":"1.0.3-alpha.1","license":"MIT","description":"Transpiles input files into output files individually without bundling together","keywords":["webpack","plugin","transpile","transpile-webpack-plugin"],"author":{"name":"Chungen Li","email":"licg9999@gmail.com","url":"https://github.com/licg9999"},"bugs":{"url":"https://github.com/licg9999/transpile-webpack-plugin/issues"},"homepage":"https://github.com/licg9999/transpile-webpack-plugin","repository":{"type":"git","url":"git+https://github.com/licg9999/transpile-webpack-plugin.git"},"engines":{"node":">=16"},"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc --project additional-configs/tsconfig.build.json","watch":"npm run build -- --watch","unittest":"cross-env JEST_TEST_PATH=src jest","e2e":"cross-env JEST_TEST_PATH=e2e jest --maxWorkers 1","lint-all":"run-p lint:*","lint:tsc":"tsc","lint:prettier":"node scripts/cross-dotenv-shell prettier --check FILE_GLOB","lint:eslint":"node scripts/cross-dotenv-shell eslint FILE_GLOB","fix-all":"run-s fix:*","fix:prettier":"node scripts/cross-dotenv-shell prettier --write FILE_GLOB","fix:eslint":"node scripts/cross-dotenv-shell eslint --fix FILE_GLOB"},"peerDependencies":{"webpack":"^5.61.0"},"dependencies":{"lodash":"^4.17.21","resolve":"^1.22.1","schema-utils":"^4.0.0"},"devDependencies":{"@commitlint/config-conventional":"^17.1.0","@trivago/prettier-plugin-sort-imports":"^3.4.0","@types/cross-spawn":"^6.0.2","@types/glob":"^8.0.0","@types/jest":"^28.1.8","@types/lodash":"^4.14.186","@types/node":"^18.11.9","@types/resolve":"^1.20.2","@types/uuid":"^8.3.4","@typescript-eslint/eslint-plugin":"^5.46.1","@typescript-eslint/parser":"^5.46.1","colorette":"^2.0.19","commander":"^9.4.1","cross-env":"^7.0.3","cross-spawn":"^7.0.3","dotenv":"^16.0.3","eslint":"^8.30.0","eslint-config-prettier":"^8.5.0","eslint-plugin-jest":"^27.1.7","glob":"^8.0.3","jest":"^28.1.3","jest-extended":"^3.1.0","npm-run-all":"^4.1.5","prettier":"^2.7.1","tree-kill":"^1.2.2","ts-jest":"^28.0.8","typescript":"^4.8.4","uuid":"^8.3.2","wait-for-expect":"^3.0.2"},"readme":"<div align=\"center\">\n  <a href=\"https://github.com/webpack/webpack\">\n    <img width=\"200\" height=\"200\" src=\"https://webpack.js.org/assets/icon-square-big.svg\">\n  </a>\n  <h1>Transpile Webpack Plugin</h1>\n</div>\n\n[![npm][npm]][npm-url]\n[![node][node]][node-url]\n[![download][download]][npm-url]\n[![license][license]][license-url]\n[![size][size]][size-url]\n[![cicd][cicd]][cicd-url]\n\n# Transpile Webpack Plugin\n\nThe webpack plugin that transpiles input files into output files individually without bundling together.\n\nInput files are collected from files directly or indirectly imported by the [entry](https://webpack.js.org/configuration/entry-context/#entry), then get compiled and ouputted keeping the same directory structure in the output directory.\n\nTranspiling with webpack is especially helpful when both user interface logics and source file path related logics are involved, such as building SSR(server side rendering) in a heavyweight NodeJS server. Please make best of it.\n\nNote that this plugin replies on features of webpack v5. The latest webpack is supposed to be used when possible.\n\n## Getting Started\n\nTo begin, you'll need to install `transpile-webpack-plugin`:\n\n```sh\nnpm i -D transpile-webpack-plugin\n```\n\nOr, with any package manager you prefer.\n\nThen, add the plugin to your webpack config. For example:\n\n```js\nconst TranspilePlugin = require('transpile-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.js',\n  output: {\n    path: __dirname + '/dist',\n  },\n  plugins: [new TranspilePlugin(/* options */)],\n};\n```\n\nAssuming the entry `src/index.js` imports another file `src/constants/greeting.js`, input files will be `src/index.js` `src/constants/greeting.js`. After compilation, output files will be `dist/index.js` `dist/constants/greeting.js`. The common dir of input files is used as the base dir to evaluate the relative paths of output files in output dir.\n\nJust a reminder, if to run output files with NodeJS, don't forget to set the [target](https://webpack.js.org/configuration/target/) as `node` or a node-compatible value so that no breaking code is generated by webpack unexpectedly.\n\n## Options\n\n- **[exclude](#exclude)**\n- **[hoistNodeModules](#hoistNodeModules)**\n- **[longestCommonDir](#longestCommonDir)**\n\n### `exclude`\n\nType: `{string|RegExp|((p: string) => boolean)|string[]|RegExp[]|((p: string) => boolean)[]}`\n\nDefault: `[]`\n\nOption `exclude` indicates files to be excluded. Import statements to the excluded in input files are properly adjusted in output files and kept workable. It's similar to the [externals](https://webpack.js.org/configuration/externals/) except that the import path auto adjustment. It'll be useful when you copy some third-party files and want to use them as they are.\n\nBy the way, excluding `node_modules` with this option is a bit trivial because some helpers of webpack loaders also living there are not runnable before compiled. If you need to exclude dependencies in `node_modules`, using [webpack-node-externals](https://github.com/liady/webpack-node-externals) might be a better choice.\n\nWith this option as string, input files whose aboslute paths begin with it will be excluded. With this option as regular expression, input files whose absolute paths match it will be excluded. With this option as function, input files whose absolute paths are passed into the call of it and end up with `true` will be excluded.\n\n### `hoistNodeModules`\n\nType: `{boolean}`\n\nDefault: `true`\n\nOption `hoistNodeModules` indicates whether to evaluate output paths for input files from or not from `node_modules` separately, and keep input files from `node_modules` outputted into `node_modules` just under output dir. It's usable to flatten the output directory structure a little bit.\n\nGiven input files `src/index.js` `node_modules/lodash/lodash.js` and output dir `dist`, with this option `true`, output files will be `dist/index.js` `dist/node_modules/lodash/lodash.js`. But with this option `false`, output files will be `dist/src/index.js` `dist/node_modules/lodash/lodash.js`.\n\n### `longestCommonDir`\n\nType: `{string|undefined}`\n\nDefault: `undefined`\n\nOption `longestCommonDir` indicates the limit of the common dir to evaluate relative paths of output files in output dir. When this option is shorter than the common dir of input files, this option is used against input files to evaluate relative paths of output files in output dir. Otherwise, the common dir of input files is used.\n\nGiven input files `src/server/index.js` `src/server/constants/greeting.js` and output dir `dist`, with this option `undefined`, output files will be `dist/index.js` `dist/constants/greeting.js`. But with this option `'./src'`, output files will be `dist/server/index.js` `dist/server/constants/greeting.js`.\n\nThough, given input files `src/index.js` `src/server/constants/greeting.js` and output dir `dist`, with this option `'./src/server'`, output files will still be `dist/index.js` `dist/server/constants/greeting.js` because the common dir of input files is shorter than this option.\n\n## Contributing\n\nPlease take a moment to read our contributing guidelines if you haven't yet done so.\n[CONTRIBUTING][contributing-url]\n\n## License\n\n[MIT][license-url]\n\n[npm]: https://img.shields.io/npm/v/transpile-webpack-plugin.svg\n[npm-url]: https://npmjs.com/package/transpile-webpack-plugin\n[node-url]: https://nodejs.org/\n[node]: https://img.shields.io/node/v/transpile-webpack-plugin.svg\n[download]: https://img.shields.io/npm/dw/transpile-webpack-plugin\n[license]: https://img.shields.io/github/license/licg9999/transpile-webpack-plugin\n[license-url]: https://github.com/licg9999/transpile-webpack-plugin/blob/master/LICENSE\n[size]: https://packagephobia.com/badge?p=transpile-webpack-plugin\n[size-url]: https://packagephobia.com/result?p=transpile-webpack-plugin\n[cicd]: https://github.com/licg9999/transpile-webpack-plugin/actions/workflows/verify-and-release.yml/badge.svg\n[cicd-url]: https://github.com/licg9999/transpile-webpack-plugin/actions/workflows/verify-and-release.yml\n[contributing-url]: https://github.com/licg9999/transpile-webpack-plugin/blob/master/CONTRIBUTING.md\n","readmeFilename":"README.md","gitHead":"f9e4552836ace06f38f1357b721667516498e079","_id":"transpile-webpack-plugin@1.0.3-alpha.1","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-Ih5bWFGo7nM+7dNtC2Qhdx/OAV3Zlq+fpEGEYmvci7Gv4O1rruzA2wJP6ZTEleWpM6w837FHz3bP1QBZF37+Iw==","shasum":"80f9aa41fe47e04947f0882866f8920b40d53523","tarball":"https://registry.npmjs.org/transpile-webpack-plugin/-/transpile-webpack-plugin-1.0.3-alpha.1.tgz","fileCount":95,"unpackedSize":111347,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCz/kePhxDxpYlmZbTwQodw5N1gzolz4bw/O3nG1HgNuQIhAOa2MN26lZ1NMjV28mJoc25KEe9aIlgElP+HOXcDWWfA"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjpCwzACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq9lw/9HnLLiVC7fGg9w9dwoOwfO2r5OLM0/bnXJbLAHhpcQKo3gpf7\r\ngixBQLxvZmzAMh7qXIwf5hwd7m+YublVbJGNes08YxP5/rfdGnp7oQ2UbXJD\r\nwMofigajIlfhyBFa6XnqXIxxaDhMTykxMVlFAfO23Vb9AMsMtrAnbJ8zldpB\r\nJRsPXhND6vMMbi4XI2n8PSEn9Pdel+NuccYcqE0KxyI5c6NH4bzf1BzrMoFl\r\nLRfdkT5MVeVbUIFJzVCHG0BJEXdYk4qj8JvVbAxy42fbVKuGqW0ka+dEU3hx\r\nVsvqRHU4TYm6sFnY0qNbJcucpkrriUqGXBLU/GIeHkn1my0n98T735dRr3Av\r\nGy/SPTfE9CYdcn//QU4FmVCfiUXTuV9diVew+svv75dzpMrkNO+bgkouAYJK\r\nPlDIQbNnMDot+NVujYfjgGx52zJPxBbpfMpPM1fB6EqvbIPAbqm28qqYxokq\r\nt4m6srGSggXnz3Kl+hJBKlMB3EP6dNhc+bQSCtLZdaA5KevMZKe3sv5nGvy5\r\nH5BfrsfmI1+fc0YDRdzWWguLsonCZMldw7T+E1zLs1m7BsSxvhBXEj6NNSg4\r\nOey6H8qmVMVJ5lyME1cT+D9NrWlK2adp3d5JCLahSrXxQI2J9SKcTT4RnmD7\r\nvAgwZ1Obxh3aB2f6BjrBFwFVyE3BusFqse0=\r\n=CEwZ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"licg9999","email":"licg9999@126.com"},"directories":{},"maintainers":[{"name":"licg9999","email":"licg9999@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/transpile-webpack-plugin_1.0.3-alpha.1_1671703603695_0.8977227268847585"},"_hasShrinkwrap":false},"1.0.3":{"name":"transpile-webpack-plugin","version":"1.0.3","license":"MIT","description":"Transpiles input files into output files individually without bundling together","keywords":["webpack","plugin","transpile","transpile-webpack-plugin"],"author":{"name":"Chungen Li","email":"licg9999@gmail.com","url":"https://github.com/licg9999"},"bugs":{"url":"https://github.com/licg9999/transpile-webpack-plugin/issues"},"homepage":"https://github.com/licg9999/transpile-webpack-plugin","repository":{"type":"git","url":"git+https://github.com/licg9999/transpile-webpack-plugin.git"},"engines":{"node":">=16"},"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc --project additional-configs/tsconfig.build.json","watch":"npm run build -- --watch","unittest":"cross-env JEST_TEST_PATH=src jest","e2e":"cross-env JEST_TEST_PATH=e2e jest --maxWorkers 1","lint-all":"run-p lint:*","lint:tsc":"tsc","lint:prettier":"node scripts/cross-dotenv-shell prettier --check FILE_GLOB","lint:eslint":"node scripts/cross-dotenv-shell eslint FILE_GLOB","fix-all":"run-s fix:*","fix:prettier":"node scripts/cross-dotenv-shell prettier --write FILE_GLOB","fix:eslint":"node scripts/cross-dotenv-shell eslint --fix FILE_GLOB"},"peerDependencies":{"webpack":"^5.61.0"},"dependencies":{"lodash":"^4.17.21","resolve":"^1.22.1","schema-utils":"^4.0.0"},"devDependencies":{"@commitlint/config-conventional":"^17.1.0","@trivago/prettier-plugin-sort-imports":"^3.4.0","@types/cross-spawn":"^6.0.2","@types/glob":"^8.0.0","@types/jest":"^28.1.8","@types/lodash":"^4.14.186","@types/node":"^18.11.9","@types/resolve":"^1.20.2","@types/uuid":"^8.3.4","@typescript-eslint/eslint-plugin":"^5.46.1","@typescript-eslint/parser":"^5.46.1","colorette":"^2.0.19","commander":"^9.4.1","cross-env":"^7.0.3","cross-spawn":"^7.0.3","dotenv":"^16.0.3","eslint":"^8.30.0","eslint-config-prettier":"^8.5.0","eslint-plugin-jest":"^27.1.7","glob":"^8.0.3","jest":"^28.1.3","jest-extended":"^3.1.0","npm-run-all":"^4.1.5","prettier":"^2.7.1","tree-kill":"^1.2.2","ts-jest":"^28.0.8","typescript":"^4.8.4","uuid":"^8.3.2","wait-for-expect":"^3.0.2"},"gitHead":"683f1f20cdbcd0f785ac055956eb0b922703d3ab","_id":"transpile-webpack-plugin@1.0.3","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-02g2lwwLhwUi248dEEUdaihM5A1Nn8MTPc7j+xRl/JCBao9tKmAuWDw5VsztU5/9Z/eGL8GM0NAxEL7WYL7w6g==","shasum":"1570660b332ce1ef9f7a277d29b9c72da2437d7a","tarball":"https://registry.npmjs.org/transpile-webpack-plugin/-/transpile-webpack-plugin-1.0.3.tgz","fileCount":95,"unpackedSize":111339,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDKUBMMYR9jK1N0tPHwcMPmsdDitpNmrDahGB/Vc0TUgAIgVjEgOuLBJmXLyH+D9dbJeySJMp/WUHdyOxwc2OxQzl8="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjpGlBACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmperQ//ba9GiUFK/QeEwDzlCl3Et9Ya/v+dvnG8Fb3KgK9OWEaPnrEj\r\ngUgLRlSONaSaiFR2aq609LE2Fd3mmHwrStkXLg94QtBMx7trKKZw+IqjM8/5\r\njdIgSIFq0ZNo0n/Kofaxy88Pzm2tVncUMbuUhX4BBJKEWboj9mOcQ+BUE1rx\r\nGWS9aMwqaL5KZofcpkSYwjsUvoHAA8yxj6wpiCTzHKv2vT3sSMxsGVHOoHBA\r\nCWm7tvX9qte8ORLBOx64XhNo/b+4sWxnnPv80M2w3JmSYXgSDrXDV93C9EvH\r\nULM7TcWhwFwvgxZWCGPnq6wRosldeqfnIsAWWhKEEfD+4DR3jzT2n4S1vD8a\r\nWF1cnw+le0QA9pjFhAy95zTEV7UaWzOMAfynynHrxPl6K3yLeza0F8U8x+Hm\r\nG5iAYbdUXLylt4fCLntv8s1H1BDFpLUHUdZi92+vKepSJec2/itHuoZERQqf\r\nTLbhcTh/2RASKGFc7zF8GbwzLMInobQV3BNUwmpJSg96b6CHv8ig1EzBNrEL\r\nTrIdXmicNDrBwqxxqQliflVQys3GYyyp6+TKj5I+bgPl6QfaABL+69uz39sT\r\nHcsn8mnQpaGfU2K53hPIepOvLTJTiEOkNzHeXNv+MWmyALMA7Pl8bAFW++kW\r\nzT8aysA9o8/Nc9XyPnFUi1W7cX+8bpF428k=\r\n=uiBq\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"licg9999","email":"licg9999@126.com"},"directories":{},"maintainers":[{"name":"licg9999","email":"licg9999@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/transpile-webpack-plugin_1.0.3_1671719233324_0.4035288243634447"},"_hasShrinkwrap":false},"1.0.4-alpha.1":{"name":"transpile-webpack-plugin","version":"1.0.4-alpha.1","license":"MIT","description":"Transpiles input files into output files individually without bundling together","keywords":["webpack","plugin","transpile","transpile-webpack-plugin"],"author":{"name":"Chungen Li","email":"licg9999@gmail.com","url":"https://github.com/licg9999"},"bugs":{"url":"https://github.com/licg9999/transpile-webpack-plugin/issues"},"homepage":"https://github.com/licg9999/transpile-webpack-plugin","repository":{"type":"git","url":"git+https://github.com/licg9999/transpile-webpack-plugin.git"},"engines":{"node":">=16"},"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc --project additional-configs/tsconfig.build.json","watch":"npm run build -- --watch","unittest":"cross-env JEST_TEST_PATH=src jest","e2e":"cross-env JEST_TEST_PATH=e2e jest --maxWorkers 1","lint-all":"run-p lint:*","lint:tsc":"tsc","lint:prettier":"node scripts/cross-dotenv-shell prettier --check FILE_GLOB","lint:eslint":"node scripts/cross-dotenv-shell eslint FILE_GLOB","fix-all":"run-s fix:*","fix:prettier":"node scripts/cross-dotenv-shell prettier --write FILE_GLOB","fix:eslint":"node scripts/cross-dotenv-shell eslint --fix FILE_GLOB"},"peerDependencies":{"webpack":"^5.61.0"},"dependencies":{"lodash":"^4.17.21","resolve":"^1.22.1","schema-utils":"^4.0.0"},"devDependencies":{"@commitlint/config-conventional":"^17.1.0","@trivago/prettier-plugin-sort-imports":"^3.4.0","@types/cross-spawn":"^6.0.2","@types/glob":"^8.0.0","@types/jest":"^28.1.8","@types/lodash":"^4.14.186","@types/node":"^18.11.9","@types/resolve":"^1.20.2","@types/uuid":"^8.3.4","@typescript-eslint/eslint-plugin":"^5.46.1","@typescript-eslint/parser":"^5.46.1","colorette":"^2.0.19","commander":"^9.4.1","cross-env":"^7.0.3","cross-spawn":"^7.0.3","dotenv":"^16.0.3","eslint":"^8.30.0","eslint-config-prettier":"^8.5.0","eslint-plugin-jest":"^27.1.7","glob":"^8.0.3","jest":"^28.1.3","jest-extended":"^3.1.0","npm-run-all":"^4.1.5","prettier":"^2.7.1","tree-kill":"^1.2.2","ts-jest":"^28.0.8","typescript":"^4.8.4","uuid":"^8.3.2","wait-for-expect":"^3.0.2"},"readme":"<div align=\"center\">\n  <a href=\"https://github.com/webpack/webpack\">\n    <img width=\"200\" height=\"200\" src=\"https://webpack.js.org/assets/icon-square-big.svg\">\n  </a>\n  <h1>Transpile Webpack Plugin</h1>\n</div>\n\n[![npm][npm]][npm-url]\n[![node][node]][node-url]\n[![download][download]][npm-url]\n[![license][license]][license-url]\n[![size][size]][size-url]\n[![cicd][cicd]][cicd-url]\n\n# Transpile Webpack Plugin\n\nThe webpack plugin that transpiles input files into output files individually without bundling together.\n\nInput files are collected from files directly or indirectly imported by the [entry](https://webpack.js.org/configuration/entry-context/#entry), then get compiled and ouputted keeping the same directory structure in the output directory.\n\nTranspiling with webpack is especially helpful when both user interface logics and source file path related logics are involved, such as building SSR(server side rendering) in a heavyweight NodeJS server. Please make best of it.\n\nNote that this plugin replies on features of webpack v5. The latest webpack is supposed to be used when possible.\n\n## Getting Started\n\nTo begin, you'll need to install `transpile-webpack-plugin`:\n\n```sh\nnpm i -D transpile-webpack-plugin\n```\n\nOr, with any package manager you prefer.\n\nThen, add the plugin to your webpack config. For example:\n\n```js\nconst TranspilePlugin = require('transpile-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.js',\n  output: {\n    path: __dirname + '/dist',\n  },\n  plugins: [new TranspilePlugin(/* options */)],\n};\n```\n\nAssuming the entry `src/index.js` imports another file `src/constants/greeting.js`, input files will be `src/index.js` `src/constants/greeting.js`. After compilation, output files will be `dist/index.js` `dist/constants/greeting.js`. The common dir of input files is used as the base dir to evaluate the relative paths of output files in output dir.\n\nJust a reminder, if to run output files with NodeJS, don't forget to set the [target](https://webpack.js.org/configuration/target/) as `node` or a node-compatible value so that no breaking code is generated by webpack unexpectedly.\n\n## Options\n\n- **[exclude](#exclude)**\n- **[hoistNodeModules](#hoistNodeModules)**\n- **[longestCommonDir](#longestCommonDir)**\n\n### `exclude`\n\nType: `{string|RegExp|((p: string) => boolean)|string[]|RegExp[]|((p: string) => boolean)[]}`\n\nDefault: `[]`\n\nOption `exclude` indicates files to be excluded. Import statements to the excluded in input files are properly adjusted in output files and kept workable. It's similar to the [externals](https://webpack.js.org/configuration/externals/) except that the import path auto adjustment. It'll be useful when you copy some third-party files and want to use them as they are.\n\nBy the way, excluding `node_modules` with this option is a bit trivial because some helpers of webpack loaders also living there are not runnable before compiled. If you need to exclude dependencies in `node_modules`, using [webpack-node-externals](https://github.com/liady/webpack-node-externals) might be a better choice.\n\nWith this option as string, input files whose aboslute paths begin with it will be excluded. With this option as regular expression, input files whose absolute paths match it will be excluded. With this option as function, input files whose absolute paths are passed into the call of it and end up with `true` will be excluded.\n\n### `hoistNodeModules`\n\nType: `{boolean}`\n\nDefault: `true`\n\nOption `hoistNodeModules` indicates whether to evaluate output paths for input files from or not from `node_modules` separately, and keep input files from `node_modules` outputted into `node_modules` just under output dir. It's usable to flatten the output directory structure a little bit.\n\nGiven input files `src/index.js` `node_modules/lodash/lodash.js` and output dir `dist`, with this option `true`, output files will be `dist/index.js` `dist/node_modules/lodash/lodash.js`. But with this option `false`, output files will be `dist/src/index.js` `dist/node_modules/lodash/lodash.js`.\n\n### `longestCommonDir`\n\nType: `{string|undefined}`\n\nDefault: `undefined`\n\nOption `longestCommonDir` indicates the limit of the common dir to evaluate relative paths of output files in output dir. When this option is shorter than the common dir of input files, this option is used against input files to evaluate relative paths of output files in output dir. Otherwise, the common dir of input files is used.\n\nGiven input files `src/server/index.js` `src/server/constants/greeting.js` and output dir `dist`, with this option `undefined`, output files will be `dist/index.js` `dist/constants/greeting.js`. But with this option `'./src'`, output files will be `dist/server/index.js` `dist/server/constants/greeting.js`.\n\nThough, given input files `src/index.js` `src/server/constants/greeting.js` and output dir `dist`, with this option `'./src/server'`, output files will still be `dist/index.js` `dist/server/constants/greeting.js` because the common dir of input files is shorter than this option.\n\n### `extentionMapping`\n\nType: `{Record<string, string>}`\n\nDefault: `{}`\n\nOption `extentionMapping` indicates how file extensions are mapped from input to output. By default, one output file will have exactly the same file extension as the input file. But you may change it by this option. Given this option `{ '.ts': '.js' }`, any input file with ext `.ts` will have the output file with ext `.js`.\n\n## Contributing\n\nPlease take a moment to read our contributing guidelines if you haven't yet done so.\n[CONTRIBUTING][contributing-url]\n\n## License\n\n[MIT][license-url]\n\n[npm]: https://img.shields.io/npm/v/transpile-webpack-plugin.svg\n[npm-url]: https://npmjs.com/package/transpile-webpack-plugin\n[node-url]: https://nodejs.org/\n[node]: https://img.shields.io/node/v/transpile-webpack-plugin.svg\n[download]: https://img.shields.io/npm/dw/transpile-webpack-plugin\n[license]: https://img.shields.io/github/license/licg9999/transpile-webpack-plugin\n[license-url]: https://github.com/licg9999/transpile-webpack-plugin/blob/master/LICENSE\n[size]: https://packagephobia.com/badge?p=transpile-webpack-plugin\n[size-url]: https://packagephobia.com/result?p=transpile-webpack-plugin\n[cicd]: https://github.com/licg9999/transpile-webpack-plugin/actions/workflows/verify-and-release.yml/badge.svg\n[cicd-url]: https://github.com/licg9999/transpile-webpack-plugin/actions/workflows/verify-and-release.yml\n[contributing-url]: https://github.com/licg9999/transpile-webpack-plugin/blob/master/CONTRIBUTING.md\n","readmeFilename":"README.md","gitHead":"29a4258162135c41db5bd21e15356abbedeab534","_id":"transpile-webpack-plugin@1.0.4-alpha.1","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-1lwded9kLbr/S97rXbbSNrQVBTWUCdm53Ec34peq/9Gq4HIwQ4/jJUisuwW0m8NuqBi789YvBC29z/Hz8N1U/w==","shasum":"c8dff42995b8aec6ed8ae3b69ad11fb43d382188","tarball":"https://registry.npmjs.org/transpile-webpack-plugin/-/transpile-webpack-plugin-1.0.4-alpha.1.tgz","fileCount":95,"unpackedSize":112092,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID2Zi4ktdasFFlabmJq0J6cvI2nrqwYM7Ezeo1A0q6h0AiEAomD8WQwSQywwPDkXiOA19m2H6yATH9Y8wW7pAXdLX8s="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjpmZ2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqWAw/+NA7cvUl6SUHpbmMufaSCEXWLtAHbiIEICjWoY8uvlUTzxdiY\r\nBv1qLzFR9MGvjAMIlDXcseYzw7xT9S80ZGzIcCFJ9RwaOjhLW5r1nMMKzz1A\r\nq4WP+yWcLOgyRqLlaJVeAH2jaUufgDMEXSgLTIDahG7octsfdex2hH5DFdqe\r\nnKEALudZk9c9Xt0ZR9eBg0j8zIrf3osyN+XoLD3etLvcSmuUlRiswPs/9jMK\r\nVpK/55M1PZ2+HP4JJqFCoiud5Rjf5uV9vJMSAbHb2WVhobpb/MBAKLUXpJ5o\r\nAa2oA2/YTBRTqDhENRLBk+bCbp+2OvWsMlj1fneNbCpYzSLDypXsetbWQPK3\r\n5pqC5pdaogeifpkpBLJVzCBLMv4rXYZEPO6wmec6niNx51pectPbzeD2vriT\r\nYoXTMyJm7J0KBVtdxTJ96Wn6cYmkFnY5eN53mmjUpSxrCmtbwNsWscfHNKt5\r\nPF1lX6u+HmgVi66c2NiJ4A0MMa0F/vcDEHAOcYcOCiHotYtMuiInLtL5xjcT\r\ntjsOWYf2RIOjGLLT8tvSANVibGvkWxBe1Z4B/WKEHR43HucYbXxYcKE29ZJJ\r\nZR69iNxTeRBTIwIKA4uQ3dCPbsxYAhE6TWGqU6fvfWsg9llnRJtUkMVq/oRj\r\nvI5Oj9DF8IpzX84TsUErip8eOkhCsc2hJZU=\r\n=8Lt8\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"licg9999","email":"licg9999@126.com"},"directories":{},"maintainers":[{"name":"licg9999","email":"licg9999@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/transpile-webpack-plugin_1.0.4-alpha.1_1671849589861_0.3177645675743621"},"_hasShrinkwrap":false},"1.0.4":{"name":"transpile-webpack-plugin","version":"1.0.4","license":"MIT","description":"Transpiles input files into output files individually without bundling together","keywords":["webpack","plugin","transpile","transpile-webpack-plugin"],"author":{"name":"Chungen Li","email":"licg9999@gmail.com","url":"https://github.com/licg9999"},"bugs":{"url":"https://github.com/licg9999/transpile-webpack-plugin/issues"},"homepage":"https://github.com/licg9999/transpile-webpack-plugin","repository":{"type":"git","url":"git+https://github.com/licg9999/transpile-webpack-plugin.git"},"engines":{"node":">=16"},"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc --project additional-configs/tsconfig.build.json","watch":"npm run build -- --watch","unittest":"cross-env JEST_TEST_PATH=src jest","e2e":"cross-env JEST_TEST_PATH=e2e jest --maxWorkers 1","lint-all":"run-p lint:*","lint:tsc":"tsc","lint:prettier":"node scripts/cross-dotenv-shell prettier --check FILE_GLOB","lint:eslint":"node scripts/cross-dotenv-shell eslint FILE_GLOB","fix-all":"run-s fix:*","fix:prettier":"node scripts/cross-dotenv-shell prettier --write FILE_GLOB","fix:eslint":"node scripts/cross-dotenv-shell eslint --fix FILE_GLOB"},"peerDependencies":{"webpack":"^5.61.0"},"dependencies":{"lodash":"^4.17.21","resolve":"^1.22.1","schema-utils":"^4.0.0"},"devDependencies":{"@commitlint/config-conventional":"^17.1.0","@trivago/prettier-plugin-sort-imports":"^3.4.0","@types/cross-spawn":"^6.0.2","@types/glob":"^8.0.0","@types/jest":"^28.1.8","@types/lodash":"^4.14.186","@types/node":"^18.11.9","@types/resolve":"^1.20.2","@types/uuid":"^8.3.4","@typescript-eslint/eslint-plugin":"^5.46.1","@typescript-eslint/parser":"^5.46.1","colorette":"^2.0.19","commander":"^9.4.1","cross-env":"^7.0.3","cross-spawn":"^7.0.3","dotenv":"^16.0.3","eslint":"^8.30.0","eslint-config-prettier":"^8.5.0","eslint-plugin-jest":"^27.1.7","glob":"^8.0.3","jest":"^28.1.3","jest-extended":"^3.1.0","npm-run-all":"^4.1.5","prettier":"^2.7.1","tree-kill":"^1.2.2","ts-jest":"^28.0.8","typescript":"^4.8.4","uuid":"^8.3.2","wait-for-expect":"^3.0.2"},"gitHead":"29a4258162135c41db5bd21e15356abbedeab534","_id":"transpile-webpack-plugin@1.0.4","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-YCKKPD4fOpGLLbTBR84jb89duN1ziW2IYXeXVVho+mPqSy+7tlAub+LTrLZl3NXY0mqsYd2K8Qi5dSknv5q/Sg==","shasum":"91e24bb20d77a99e394697d8bc271b7b9d50dadd","tarball":"https://registry.npmjs.org/transpile-webpack-plugin/-/transpile-webpack-plugin-1.0.4.tgz","fileCount":95,"unpackedSize":112084,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDY7poD2q5NAda5VntrUIJSthyqRlm0+qSGzXz+hZy36AIhAPrFimdpa8B9RN7Rhc02pfzsykLIT1G3pLsgneghNdKM"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjpmzgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr33g/9FfDRklvXoPnPMNM93OjHOV3HvwzD3LRX0UzsBVYkRVz42S2f\r\nMGgVX8iuDr5Hm8fCQOfoBBBYMpEowX6OftCWwmyUL7hiMRDSf3FlfeAYzpvk\r\nwvsjeJXrelBtpZrM8sAlIj0KSIId2SiJCYBVXvLFG6Sqti/5ak79CwBiPBO8\r\nN47hC9+pSciSycIAgy9R7q7l8o6EmyuP0SrRyQ95bVxYQj2ZbUGJaNXDuA2g\r\n+rhRu/yNR8xHflTaWYEfm4Fc1ucnGFf8T11c40mCyiKNiQQjzZZhOsswM3os\r\no+U4k9eiVjAbky8qQ4j9NU3TwARljN20eAIrBbzveA1vaUpWzDzuuo0WYUNx\r\n5+t8GEiIeNX4VGJ1oerutREc2lEnrcb9h0vCy6hp7HToZxUzwxkj6tBjqlkL\r\nflH0s5gxyrFvQzV27lUG/yos2bc91fvoOw0rQ0+GXX9LcAIswpo1GtUavabL\r\naJCc3QQm2lM0arYhNK1avPVGIgCe3ihOMyhyxbSxJz7eNjLX06KaiYgeOpw4\r\n1LJNeV/+NBPw56y8EUjmqAtKJ89amHOz1vbfm/x5y4eea9o4rJ/Ddxf4o6C+\r\nRBaz1NCzcf8mEmmfxFCtVNVsRfLFHLzjsMmRgGV0CE9bXlF08fBptgUtXJJl\r\nvexyySaeXXl44FAGYW96HXEg9bnyXVuXuS8=\r\n=qMaJ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"licg9999","email":"licg9999@126.com"},"directories":{},"maintainers":[{"name":"licg9999","email":"licg9999@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/transpile-webpack-plugin_1.0.4_1671851232165_0.6338766767946866"},"_hasShrinkwrap":false},"1.1.0-alpha.1":{"name":"transpile-webpack-plugin","version":"1.1.0-alpha.1","license":"MIT","description":"Transpiles input files into output files individually without bundling together","keywords":["webpack","plugin","transpile","transpile-webpack-plugin"],"author":{"name":"Chungen Li","email":"licg9999@gmail.com","url":"https://github.com/licg9999"},"bugs":{"url":"https://github.com/licg9999/transpile-webpack-plugin/issues"},"homepage":"https://github.com/licg9999/transpile-webpack-plugin","repository":{"type":"git","url":"git+https://github.com/licg9999/transpile-webpack-plugin.git"},"engines":{"node":">=16"},"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc --project additional-configs/tsconfig.build.json","watch":"npm run build -- --watch","unittest":"cross-env JEST_TEST_PATH=src jest","e2e":"cross-env JEST_TEST_PATH=e2e jest --maxWorkers 1","lint-all":"run-p lint:*","lint:tsc":"tsc","lint:prettier":"node scripts/cross-dotenv-shell prettier --check FILE_GLOB","lint:eslint":"node scripts/cross-dotenv-shell eslint FILE_GLOB","fix-all":"run-s fix:*","fix:prettier":"node scripts/cross-dotenv-shell prettier --write FILE_GLOB","fix:eslint":"node scripts/cross-dotenv-shell eslint --fix FILE_GLOB"},"peerDependencies":{"webpack":"^5.61.0"},"dependencies":{"lodash":"^4.17.21","resolve":"^1.22.1","schema-utils":"^4.0.0"},"devDependencies":{"@commitlint/config-conventional":"^17.1.0","@trivago/prettier-plugin-sort-imports":"^3.4.0","@types/cross-spawn":"^6.0.2","@types/glob":"^8.0.0","@types/jest":"^28.1.8","@types/lodash":"^4.14.186","@types/node":"^18.11.9","@types/resolve":"^1.20.2","@types/uuid":"^8.3.4","@typescript-eslint/eslint-plugin":"^5.46.1","@typescript-eslint/parser":"^5.46.1","colorette":"^2.0.19","commander":"^9.4.1","cross-env":"^7.0.3","cross-spawn":"^7.0.3","dotenv":"^16.0.3","eslint":"^8.30.0","eslint-config-prettier":"^8.5.0","eslint-plugin-jest":"^27.1.7","glob":"^8.0.3","jest":"^28.1.3","jest-extended":"^3.1.0","npm-run-all":"^4.1.5","prettier":"^2.7.1","tree-kill":"^1.2.2","ts-jest":"^28.0.8","typescript":"^4.8.4","uuid":"^8.3.2","wait-for-expect":"^3.0.2"},"readme":"<div align=\"center\">\n  <a href=\"https://github.com/webpack/webpack\">\n    <img width=\"200\" height=\"200\" src=\"https://webpack.js.org/assets/icon-square-big.svg\">\n  </a>\n  <h1>Transpile Webpack Plugin</h1>\n</div>\n\n[![npm][npm]][npm-url]\n[![node][node]][node-url]\n[![download][download]][npm-url]\n[![license][license]][license-url]\n[![size][size]][size-url]\n[![cicd][cicd]][cicd-url]\n\n# Transpile Webpack Plugin\n\nThe webpack plugin that transpiles input files into output files individually without bundling together.\n\nInput files are collected from files directly or indirectly imported by the [entry](https://webpack.js.org/configuration/entry-context/#entry), then get compiled and ouputted keeping the same directory structure in the output directory.\n\nTranspiling with webpack is especially helpful when both user interface logics and source file path related logics are involved, such as building SSR(server side rendering) in a heavyweight NodeJS server. Please make best of it.\n\nNote that this plugin replies on features of webpack v5. The latest webpack is supposed to be used when possible.\n\n## Getting Started\n\nTo begin, you'll need to install `transpile-webpack-plugin`:\n\n```sh\nnpm i -D transpile-webpack-plugin\n```\n\nOr, with any package manager you prefer.\n\nThen, add the plugin to your webpack config. For example:\n\n```js\nconst TranspilePlugin = require('transpile-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.js',\n  output: {\n    path: __dirname + '/dist',\n  },\n  plugins: [new TranspilePlugin(/* options */)],\n};\n```\n\nAssuming the entry `src/index.js` imports another file `src/constants/greeting.js`, input files will be `src/index.js` `src/constants/greeting.js`. After compilation, output files will be `dist/index.js` `dist/constants/greeting.js`. The common dir of input files is used as the base dir to evaluate the relative paths of output files in output dir.\n\nJust a reminder, if to run output files with NodeJS, don't forget to set the [target](https://webpack.js.org/configuration/target/) as `node` or a node-compatible value so that no breaking code is generated by webpack unexpectedly.\n\n## Options\n\n- **[exclude](#exclude)**\n- **[hoistNodeModules](#hoistnodemodules)**\n- **[longestCommonDir](#longestcommondir)**\n- **[extentionMapping](#extentionmapping)**\n\n### `exclude`\n\nType: `{string|RegExp|((p: string) => boolean)|string[]|RegExp[]|((p: string) => boolean)[]}`\n\nDefault: `[]`\n\nOption `exclude` indicates files to be excluded. Import statements to the excluded in input files are properly adjusted in output files and kept workable. It's similar to the [externals](https://webpack.js.org/configuration/externals/) except that the import path auto adjustment. It'll be useful when you copy some third-party files and want to use them as they are.\n\nBy the way, excluding `node_modules` with this option is a bit trivial because some helpers of webpack loaders also living there are not runnable before compiled. If you need to exclude dependencies in `node_modules`, using [webpack-node-externals](https://github.com/liady/webpack-node-externals) might be a better choice.\n\nWith this option as string, input files whose aboslute paths begin with it will be excluded. With this option as regular expression, input files whose absolute paths match it will be excluded. With this option as function, input files whose absolute paths are passed into the call of it and end up with `true` will be excluded.\n\n### `hoistNodeModules`\n\nType: `{boolean}`\n\nDefault: `true`\n\nOption `hoistNodeModules` indicates whether to evaluate output paths for input files from or not from `node_modules` separately, and keep input files from `node_modules` outputted into `node_modules` just under output dir. It's usable to flatten the output directory structure a little bit.\n\nGiven input files `src/index.js` `node_modules/lodash/lodash.js` and output dir `dist`, with this option `true`, output files will be `dist/index.js` `dist/node_modules/lodash/lodash.js`. But with this option `false`, output files will be `dist/src/index.js` `dist/node_modules/lodash/lodash.js`.\n\n### `longestCommonDir`\n\nType: `{string|undefined}`\n\nDefault: `undefined`\n\nOption `longestCommonDir` indicates the limit of the common dir to evaluate relative paths of output files in output dir. When this option is shorter than the common dir of input files, this option is used against input files to evaluate relative paths of output files in output dir. Otherwise, the common dir of input files is used.\n\nGiven input files `src/server/index.js` `src/server/constants/greeting.js` and output dir `dist`, with this option `undefined`, output files will be `dist/index.js` `dist/constants/greeting.js`. But with this option `'./src'`, output files will be `dist/server/index.js` `dist/server/constants/greeting.js`.\n\nThough, given input files `src/index.js` `src/server/constants/greeting.js` and output dir `dist`, with this option `'./src/server'`, output files will still be `dist/index.js` `dist/server/constants/greeting.js` because the common dir of input files is shorter than this option.\n\n### `extentionMapping`\n\nType: `{Record<string, string>}`\n\nDefault: `{}`\n\nOption `extentionMapping` indicates how file extensions are mapped from input to output. By default, one output file will have exactly the same file extension as the input file. But you may change it by this option. Given this option `{ '.ts': '.js' }`, any input file with ext `.ts` will have the output file with ext `.js`.\n\n## Contributing\n\nPlease take a moment to read our contributing guidelines if you haven't yet done so.\n[CONTRIBUTING][contributing-url]\n\n## License\n\n[MIT][license-url]\n\n[npm]: https://img.shields.io/npm/v/transpile-webpack-plugin.svg\n[npm-url]: https://npmjs.com/package/transpile-webpack-plugin\n[node-url]: https://nodejs.org/\n[node]: https://img.shields.io/node/v/transpile-webpack-plugin.svg\n[download]: https://img.shields.io/npm/dw/transpile-webpack-plugin\n[license]: https://img.shields.io/github/license/licg9999/transpile-webpack-plugin\n[license-url]: https://github.com/licg9999/transpile-webpack-plugin/blob/master/LICENSE\n[size]: https://packagephobia.com/badge?p=transpile-webpack-plugin\n[size-url]: https://packagephobia.com/result?p=transpile-webpack-plugin\n[cicd]: https://github.com/licg9999/transpile-webpack-plugin/actions/workflows/verify-and-release.yml/badge.svg\n[cicd-url]: https://github.com/licg9999/transpile-webpack-plugin/actions/workflows/verify-and-release.yml\n[contributing-url]: https://github.com/licg9999/transpile-webpack-plugin/blob/master/CONTRIBUTING.md\n","readmeFilename":"README.md","gitHead":"849b2ffe45ce50cdcd74149cee3c5d1dbbc00648","_id":"transpile-webpack-plugin@1.1.0-alpha.1","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-8DOWg46m/Bz2hBNTlurI6zvbQZLiHkb1fsdow38TFVKnRtL8TneKdg+obIizKmoBVPBGUOwYp+hs2FK1NQWjvA==","shasum":"e6e5135126b5e6be5ce7f687d958b2769c815927","tarball":"https://registry.npmjs.org/transpile-webpack-plugin/-/transpile-webpack-plugin-1.1.0-alpha.1.tgz","fileCount":95,"unpackedSize":115545,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCFPozK4JUgyCm3Ks9XruFZuH4g6CxkHwUdK9frgjpd2AIgTKxeqtrXA7z9Xpbde9zmveNVl6Rvp5y+YKzBbCF2iEI="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjqYuEACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqiQg/9EW8q9F4JSxER7nsIeUfiy7/PUvK8UoRUTqOSW2b/B7RWw1lO\r\nlXnnBuiPMYKFdODeMfmwrADRc4b8UvYT3Koa38pVRT/kfdtfRHlsRskwhcCv\r\nsh1A/HKBJHtA2jz9GC6Tf+Zk6qKHn4LLLw8nlSFeMbxRiE7fM4Gd/QfoBi1X\r\ntO8StKynQ1MaFiMpE9PuURR3ZZtBvNfQeZzMEyuhrab2VXAjzTi8U/1IxUEW\r\nxUciJiesRTn54xPO0SiZvKiUP6mzjFMgnddY1rCe1oa39pruD/vOISD747+d\r\neLtIn5WsjpfuMQlew/TiX4sQs2YlGYM0WTS6oGxvQj3ZYr3zoLCYEn6xVbhZ\r\nTUtj1035suVlmhXhHq11zsFRUCe2FEg9iJsgL5dj/JgDVfKqSpxC51wdmXy5\r\nPbqFjGKe5f2j0BmkyRoMTBRl67Y2CZj768OyEjfXMSIeLD6Jt1ERqmk87itJ\r\n0wTXWgyjHbMT5yd02dR4PneG4lCVOyME947TrNVbyqgF21KY6eL3jnishxMF\r\n300VFCPIXGQ8q3i9cGtDC56cEzccS+3ijyU4bxiIcfiGqwtd5KVOhz4deRYe\r\nQ+fui3UeXUIw6h8SuJd320zqQ6Sm5EaGLBD3AHuMPsh0QgG9eb5uv2xGCz6E\r\nHeyrA+8hhEhs0LXq2s71Px2dq5TvyBT0TXM=\r\n=5JHp\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"licg9999","email":"licg9999@126.com"},"directories":{},"maintainers":[{"name":"licg9999","email":"licg9999@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/transpile-webpack-plugin_1.1.0-alpha.1_1672055684232_0.6703872521073038"},"_hasShrinkwrap":false},"1.1.0":{"name":"transpile-webpack-plugin","version":"1.1.0","license":"MIT","description":"Transpiles input files into output files individually without bundling together","keywords":["webpack","plugin","transpile","transpile-webpack-plugin"],"author":{"name":"Chungen Li","email":"licg9999@gmail.com","url":"https://github.com/licg9999"},"bugs":{"url":"https://github.com/licg9999/transpile-webpack-plugin/issues"},"homepage":"https://github.com/licg9999/transpile-webpack-plugin","repository":{"type":"git","url":"git+https://github.com/licg9999/transpile-webpack-plugin.git"},"engines":{"node":">=16"},"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc --project additional-configs/tsconfig.build.json","watch":"npm run build -- --watch","unittest":"cross-env JEST_TEST_PATH=src jest","e2e":"cross-env JEST_TEST_PATH=e2e jest --maxWorkers 1","lint-all":"run-p lint:*","lint:tsc":"tsc","lint:prettier":"node scripts/cross-dotenv-shell prettier --check FILE_GLOB","lint:eslint":"node scripts/cross-dotenv-shell eslint FILE_GLOB","fix-all":"run-s fix:*","fix:prettier":"node scripts/cross-dotenv-shell prettier --write FILE_GLOB","fix:eslint":"node scripts/cross-dotenv-shell eslint --fix FILE_GLOB"},"peerDependencies":{"webpack":"^5.61.0"},"dependencies":{"lodash":"^4.17.21","resolve":"^1.22.1","schema-utils":"^4.0.0"},"devDependencies":{"@commitlint/config-conventional":"^17.1.0","@trivago/prettier-plugin-sort-imports":"^3.4.0","@types/cross-spawn":"^6.0.2","@types/glob":"^8.0.0","@types/jest":"^28.1.8","@types/lodash":"^4.14.186","@types/node":"^18.11.9","@types/resolve":"^1.20.2","@types/uuid":"^8.3.4","@typescript-eslint/eslint-plugin":"^5.46.1","@typescript-eslint/parser":"^5.46.1","colorette":"^2.0.19","commander":"^9.4.1","cross-env":"^7.0.3","cross-spawn":"^7.0.3","dotenv":"^16.0.3","eslint":"^8.30.0","eslint-config-prettier":"^8.5.0","eslint-plugin-jest":"^27.1.7","glob":"^8.0.3","jest":"^28.1.3","jest-extended":"^3.1.0","npm-run-all":"^4.1.5","prettier":"^2.7.1","tree-kill":"^1.2.2","ts-jest":"^28.0.8","typescript":"^4.8.4","uuid":"^8.3.2","wait-for-expect":"^3.0.2"},"gitHead":"eef2385f916c9a3ab04fc179ef1cf0014a7f6aec","_id":"transpile-webpack-plugin@1.1.0","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-qxKEeb7WNBsDelZeHEbx4KxiM0AgPFdDKSdkYJRGGH859EvFvzFzB1bwlBML7ETazQWTHjeEy/963HE7QFhwhA==","shasum":"2f4363561a69548f9a98654ed1904e4a12d4d422","tarball":"https://registry.npmjs.org/transpile-webpack-plugin/-/transpile-webpack-plugin-1.1.0.tgz","fileCount":95,"unpackedSize":116445,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG/X4jqhGP1YLOuSEZnNANFaUYKPlsPUWmbxp/MIZLkBAiAqvCa+VF5S+06kKxj5E67GCOBrZHs0MtsHHuEqiyTkjA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjqZnHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmojPQ//cFTGLFkRAr8eqUPpLaP8b2uRnmtPGGyC7EydyCiLBnYtFxdA\r\nuKvH8HSp4AT2RG5oYe6MSiLbQznwVf9/OalyvAPfkmkOD8+exG2bLQ2PiR5Q\r\noSA7MXHfM5usgjvKNo04HSbsLPFOVMK8K221BkWe3AY9yraExCN1atwTdhZL\r\nDuVOYJoM1k4OifZ9Ta/TBAVch2b03R5RtVtkBAm71rVzmGAlYHoUtMgOuK2Y\r\nLvZqcCIpQEodeuCX8A0hRrBLIWcg93MiWAqxA/d0LedndVGBp74XNpaaPWeb\r\nmey9DGybMyowX6lK/nWUBvJ/KysKgSA7d2ki/1ubj1vZGGrYqakwQpKHduoB\r\nGCntsS7Qj3UtBAAh4+mATvJ26CQabZyyPIwwhvsejNp0q+7ArpSif68mrEFP\r\nrxSBbmPsQUhB5N774DvvWfV1eu8M1wq0a8MZ1rsUqaZW+1fVi8V8NEwzJG32\r\nHuDvuwzPFQdhSBDlUgLSvR+S+oDs+uLTaqFHHz3kyC+DpAjdElzxp2dY3W+/\r\nLPY8ztrBgzL3WlQfVS0bawK++5pg6IpewbIldMUfCzC06aiwvkYAvWbPtR3p\r\nMHK4Ny+h2s0ujZ9IoZ2xMEvQmUdTVt8neLNi127kTjE5F7d1y8j4hP/cfstO\r\njYZW292i1TMaJxQMdFKs+CXpJAyuGrDFijw=\r\n=oGzA\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"licg9999","email":"licg9999@126.com"},"directories":{},"maintainers":[{"name":"licg9999","email":"licg9999@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/transpile-webpack-plugin_1.1.0_1672059334834_0.7232756711826791"},"_hasShrinkwrap":false},"1.1.1-alpha.1":{"name":"transpile-webpack-plugin","version":"1.1.1-alpha.1","license":"MIT","description":"Transpiles input files into output files individually without bundling together","keywords":["webpack","plugin","transpile","transpile-webpack-plugin"],"author":{"name":"Chungen Li","email":"licg9999@gmail.com","url":"https://github.com/licg9999"},"bugs":{"url":"https://github.com/licg9999/transpile-webpack-plugin/issues"},"homepage":"https://github.com/licg9999/transpile-webpack-plugin","repository":{"type":"git","url":"git+https://github.com/licg9999/transpile-webpack-plugin.git"},"engines":{"node":">=16"},"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc --project additional-configs/tsconfig.build.json","watch":"npm run build -- --watch","unittest":"cross-env JEST_TEST_PATH=src jest","e2e":"cross-env JEST_TEST_PATH=e2e jest --maxWorkers 1","lint-all":"run-p lint:*","lint:tsc":"tsc","lint:prettier":"node scripts/cross-dotenv-shell prettier --check FILE_GLOB","lint:eslint":"node scripts/cross-dotenv-shell eslint FILE_GLOB","fix-all":"run-s fix:*","fix:prettier":"node scripts/cross-dotenv-shell prettier --write FILE_GLOB","fix:eslint":"node scripts/cross-dotenv-shell eslint --fix FILE_GLOB"},"peerDependencies":{"webpack":"^5.61.0"},"dependencies":{"lodash":"^4.17.21","resolve":"^1.22.1","schema-utils":"^4.0.0"},"devDependencies":{"@commitlint/config-conventional":"^17.1.0","@trivago/prettier-plugin-sort-imports":"^3.4.0","@types/cross-spawn":"^6.0.2","@types/glob":"^8.0.0","@types/jest":"^28.1.8","@types/lodash":"^4.14.186","@types/node":"^18.11.9","@types/resolve":"^1.20.2","@types/uuid":"^8.3.4","@typescript-eslint/eslint-plugin":"^5.46.1","@typescript-eslint/parser":"^5.46.1","colorette":"^2.0.19","commander":"^9.4.1","cross-env":"^7.0.3","cross-spawn":"^7.0.3","dotenv":"^16.0.3","eslint":"^8.30.0","eslint-config-prettier":"^8.5.0","eslint-plugin-jest":"^27.1.7","glob":"^8.0.3","jest":"^28.1.3","jest-extended":"^3.1.0","npm-run-all":"^4.1.5","prettier":"^2.7.1","tree-kill":"^1.2.2","ts-jest":"^28.0.8","typescript":"^4.8.4","uuid":"^8.3.2","wait-for-expect":"^3.0.2"},"readme":"<div align=\"center\">\n  <a href=\"https://github.com/webpack/webpack\">\n    <img width=\"200\" height=\"200\" src=\"https://webpack.js.org/assets/icon-square-big.svg\">\n  </a>\n  <h1>Transpile Webpack Plugin</h1>\n</div>\n\n[![npm][npm]][npm-url]\n[![node][node]][node-url]\n[![download][download]][npm-url]\n[![license][license]][license-url]\n[![size][size]][size-url]\n[![cicd][cicd]][cicd-url]\n\n# Transpile Webpack Plugin\n\nThe webpack plugin that transpiles input files into output files individually without bundling together.\n\nInput files are collected from files directly or indirectly imported by the [entry](https://webpack.js.org/configuration/entry-context/#entry), then get compiled and ouputted keeping the same directory structure in the output directory.\n\nTranspiling with webpack is especially helpful when both user interface logics and source file path related logics are involved, such as building SSR(server side rendering) in a heavyweight NodeJS server. Please make best of it.\n\nNote that this plugin replies on features of webpack v5. The latest webpack is supposed to be used when possible.\n\n## Getting Started\n\nTo begin, you'll need to install `transpile-webpack-plugin`:\n\n```sh\nnpm i -D transpile-webpack-plugin\n```\n\nOr, with any package manager you prefer.\n\nThen, add the plugin to your webpack config. For example:\n\n```js\nconst TranspilePlugin = require('transpile-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.js',\n  output: {\n    path: __dirname + '/dist',\n  },\n  plugins: [new TranspilePlugin(/* options */)],\n};\n```\n\nAssuming the entry `src/index.js` imports another file `src/constants/greeting.js`, input files will be `src/index.js` `src/constants/greeting.js`. After compilation, output files will be `dist/index.js` `dist/constants/greeting.js`. The common dir of input files is used as the base dir to evaluate the relative paths of output files in output dir.\n\nJust a reminder, if to run output files with NodeJS, don't forget to set the [target](https://webpack.js.org/configuration/target/) as `node` or a node-compatible value so that no breaking code is generated by webpack unexpectedly.\n\n## Blogs\n\n- [Transpile Webpack Plugin: transpiling files with webpack without bundling](https://medium.com/@licg9999/introducing-transpile-webpack-plugin-b8c86c7b0a21)\n- [Transpile Webpack Plugin: 让 Webpack 按照源文件的目录结构输出](https://segmentfault.com/a/1190000043177608)\n\n## Options\n\n- **[exclude](#exclude)**\n- **[hoistNodeModules](#hoistnodemodules)**\n- **[longestCommonDir](#longestcommondir)**\n- **[extentionMapping](#extentionmapping)**\n- **[preferResolveByDependencyAsCjs](#preferresolvebydependencyascjs)**\n\n### `exclude`\n\nType: `{string|RegExp|((p: string) => boolean)|string[]|RegExp[]|((p: string) => boolean)[]}`\n\nDefault: `[]`\n\nOption `exclude` indicates files to be excluded. Import statements to the excluded in input files are properly adjusted in output files and kept workable. It's similar to the [externals](https://webpack.js.org/configuration/externals/) except that the import path auto adjustment. It'll be useful when you copy some third-party files and want to use them as they are.\n\nBy the way, excluding `node_modules` with this option is a bit trivial because some helpers of webpack loaders also living there are not runnable before compiled. If you need to exclude dependencies in `node_modules`, using [webpack-node-externals](https://github.com/liady/webpack-node-externals) might be a better choice.\n\nWith this option as string, input files whose aboslute paths begin with it will be excluded. With this option as regular expression, input files whose absolute paths match it will be excluded. With this option as function, input files whose absolute paths are passed into the call of it and end up with `true` will be excluded.\n\n### `hoistNodeModules`\n\nType: `{boolean}`\n\nDefault: `true`\n\nOption `hoistNodeModules` indicates whether to evaluate output paths for input files from or not from `node_modules` separately, and keep input files from `node_modules` outputted into `node_modules` just under output dir. It's usable to flatten the output directory structure a little bit.\n\nGiven input files `src/index.js` `node_modules/lodash/lodash.js` and output dir `dist`, with this option `true`, output files will be `dist/index.js` `dist/node_modules/lodash/lodash.js`. But with this option `false`, output files will be `dist/src/index.js` `dist/node_modules/lodash/lodash.js`.\n\n### `longestCommonDir`\n\nType: `{string|undefined}`\n\nDefault: `undefined`\n\nOption `longestCommonDir` indicates the limit of the common dir to evaluate relative paths of output files in output dir. When this option is shorter than the common dir of input files, this option is used against input files to evaluate relative paths of output files in output dir. Otherwise, the common dir of input files is used.\n\nGiven input files `src/server/index.js` `src/server/constants/greeting.js` and output dir `dist`, with this option `undefined`, output files will be `dist/index.js` `dist/constants/greeting.js`. But with this option `'./src'`, output files will be `dist/server/index.js` `dist/server/constants/greeting.js`.\n\nThough, given input files `src/index.js` `src/server/constants/greeting.js` and output dir `dist`, with this option `'./src/server'`, output files will still be `dist/index.js` `dist/server/constants/greeting.js` because the common dir of input files is shorter than this option.\n\n### `extentionMapping`\n\nType: `{Record<string, string>}`\n\nDefault: `{}`\n\nOption `extentionMapping` indicates how file extensions are mapped from input to output. By default, one output file will have exactly the same file extension as the input file. But you may change it by this option. With this option `{ '.ts': '.js' }`, any input file with ext `.ts` will have the output file with ext `.js`.\n\n### `preferResolveByDependencyAsCjs`\n\nType: `boolean`\n\nDefault: `true`\n\nOptions `preferResolveByDependencyAsCjs` indicates whether to try to resolve dependencies by CommonJS [exports](https://nodejs.org/api/packages.html#conditional-exports) regardless of types of import statements. It's useful when the target is `node` because `.mjs` files are treated as ES modules in NodeJS and [can't be required](https://nodejs.org/api/esm.html#require) by webpack generated CommonJS files.\n\nGiven `{ \"exports\": { \"import\": \"index.mjs\", \"require\": \"index.cjs\" } }` in `package.json` of a dependency, with this option `true`, either `import` or `require` to this dependency will end up with `index.cjs`. And with this option `false`, `import` is with `index.mjs` and `require` is with `index.cjs`(, which is also the default behavior of webpack).\n\n## Known limits\n\n**<a name=\"known-limit-01\" href=\"#known-limit-01\">01:</a>** Can't handle circular dependencies in the same way as NodeJS.\n\nIn NodeJS, top-level logics in a file run exactly at the time when it's required, which makes circular dependencies possible to work. Take an example of files `a.js` and `b.js`:\n\n```js\n// In file 'a.js'\nconst b = require('./b');\n\nfunction main() {\n  b.goo();\n}\n\nfunction foo() {\n  console.log('lorem ipsum');\n}\n\nmodule.exports = { foo };\n\nmain();\n\n// In file 'b.js'\n\nconst a = require('./a');\n\nfunction goo() {\n  a.foo();\n}\n\nmodule.exports = { goo };\n```\n\nWhen `a.js` runs, an error of `TypeError: a.foo is not a function` thrown from `b.js`. But putting the line `const b = require('./b');` just after `module.exports = { foo };` resolves the problem:\n\n```diff\n// In file 'a.js'\n-\n-const b = require('./b');\n\nfunction main() {\n  b.goo();\n}\n\nfunction foo() {\n  console.log('lorem ipsum');\n}\n\nmodule.exports = { foo };\n+\n+const b = require('./b');\n\nmain();\n```\n\nThough, for a webpack generated file, the real exporting is always done in the end of it. Webpack collects all the exports into an internal variable `__webpack_exports__`, then exports it at last, which makes circular dependencies always break.\n\nMaking circular dependencies is a bad practice. But you might have to face them if using some libs that are popular but maintained since the early releases of NodeJS, like [jsdom](https://github.com/jsdom/jsdom). When this happens, please use the [externals](https://webpack.js.org/configuration/externals/) to leave the libs untouched.\n\n## Contributing\n\nPlease take a moment to read our contributing guidelines if you haven't yet done so.\n[CONTRIBUTING][contributing-url]\n\n## License\n\n[MIT][license-url]\n\n[npm]: https://img.shields.io/npm/v/transpile-webpack-plugin.svg\n[npm-url]: https://npmjs.com/package/transpile-webpack-plugin\n[node-url]: https://nodejs.org/\n[node]: https://img.shields.io/node/v/transpile-webpack-plugin.svg\n[download]: https://img.shields.io/npm/dw/transpile-webpack-plugin\n[license]: https://img.shields.io/github/license/licg9999/transpile-webpack-plugin\n[license-url]: https://github.com/licg9999/transpile-webpack-plugin/blob/master/LICENSE\n[size]: https://packagephobia.com/badge?p=transpile-webpack-plugin\n[size-url]: https://packagephobia.com/result?p=transpile-webpack-plugin\n[cicd]: https://github.com/licg9999/transpile-webpack-plugin/actions/workflows/verify-and-release.yml/badge.svg\n[cicd-url]: https://github.com/licg9999/transpile-webpack-plugin/actions/workflows/verify-and-release.yml\n[contributing-url]: https://github.com/licg9999/transpile-webpack-plugin/blob/master/CONTRIBUTING.md\n","readmeFilename":"README.md","gitHead":"acc2cc7adfb13faa8dfcddeea82c1a663434e562","_id":"transpile-webpack-plugin@1.1.1-alpha.1","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-sgMTIgCT7JR4xc/Q89FM1GdxJGjXUZki6cJMJzDW4cZ+jHLc3K0Ojqsv89e9UxPnm5qXnDshFRx4TkcfBmCidA==","shasum":"b2a102960e915aaccf176475e936e13e01ed31ce","tarball":"https://registry.npmjs.org/transpile-webpack-plugin/-/transpile-webpack-plugin-1.1.1-alpha.1.tgz","fileCount":100,"unpackedSize":120728,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICiITfvsTnkwNDzcyt/fygieMBIcA9pCd3sG4L0dvdxRAiEA+nCDH12ewXqGT8lMDFNsf7dLBWaByUwp1qdWmhqUUZQ="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjt+4PACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqc4w//bu4Gd6iZKXRWMI80wxy2ew0ioJ6iwfTJlUdPpx/nMI8/mhpw\r\nWLhYOcZrsRdlMD26nfhqGrV43XZshXdiSSbUxi87vXeAP9s+ClJP0spijVxp\r\nKBCHWQrIMkiFJDlTEQBBCivlxWjDD9d91UTeq7KBp7Mkl2j6Kgz9pV+vB3l4\r\nr/cJmEw3qNKcVKAoFUs1DmC6OB2R5XgkhMTg9zO7KeVAtioCnN0xmAGxPg2J\r\n+tZR0oz8NpHPkdrWw2bKcdWBJ2HsRpdBXt+H6cshFUOWJzAstB8c1D8LxBg9\r\nhlpF83ORgCyLsL6ir13tul7eyra6hc8yIGbGfqR0xvDNxYGWghNnw/v0EvNt\r\n74/RiT5OQnEi7jcRmUB6mhirohLjXonUtOhDcH8SWHsL1ayq100GZ/5ScAnk\r\n+WMEpPAL27UWDQcjx7rAqc+838HDY8P3/ps+L8WKEcvXo2TgUshgA9gG47kJ\r\n2pOgf1aDZvlBjxQE1SsxjPGVrnOG5jOeC9NMV3LaG8e39ahqP0d0JXiUTUmI\r\nD26DJd5hA+9OlgS+BzMumXS5Ud0U0YJjef6CpyqqJPOnWDmnGdCVbNuQOP8M\r\n+QvAn5FzYNrmnjluKPrf33w4Vl29j+ITNpQj84A3y96O3n09kESqzTC0aS2v\r\nVO/fwFTC0BsdRIJf030auC6aeoQ70ZYmIT4=\r\n=lIRg\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"licg9999","email":"licg9999@126.com"},"directories":{},"maintainers":[{"name":"licg9999","email":"licg9999@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/transpile-webpack-plugin_1.1.1-alpha.1_1672998414989_0.498690683607387"},"_hasShrinkwrap":false},"1.1.1-alpha.2":{"name":"transpile-webpack-plugin","version":"1.1.1-alpha.2","license":"MIT","description":"Transpiles input files into output files individually without bundling together","keywords":["webpack","plugin","transpile","transpile-webpack-plugin"],"author":{"name":"Chungen Li","email":"licg9999@gmail.com","url":"https://github.com/licg9999"},"bugs":{"url":"https://github.com/licg9999/transpile-webpack-plugin/issues"},"homepage":"https://github.com/licg9999/transpile-webpack-plugin","repository":{"type":"git","url":"git+https://github.com/licg9999/transpile-webpack-plugin.git"},"engines":{"node":">=16"},"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc --project additional-configs/tsconfig.build.json","watch":"npm run build -- --watch","unittest":"cross-env JEST_TEST_PATH=src jest","e2e":"cross-env JEST_TEST_PATH=e2e jest --maxWorkers 1","lint-all":"run-p lint:*","lint:tsc":"tsc","lint:prettier":"node scripts/cross-dotenv-shell prettier --check FILE_GLOB","lint:eslint":"node scripts/cross-dotenv-shell eslint FILE_GLOB","fix-all":"run-s fix:*","fix:prettier":"node scripts/cross-dotenv-shell prettier --write FILE_GLOB","fix:eslint":"node scripts/cross-dotenv-shell eslint --fix FILE_GLOB"},"peerDependencies":{"webpack":"^5.61.0"},"dependencies":{"lodash":"^4.17.21","resolve":"^1.22.1","schema-utils":"^4.0.0"},"devDependencies":{"@commitlint/config-conventional":"^17.1.0","@trivago/prettier-plugin-sort-imports":"^3.4.0","@types/cross-spawn":"^6.0.2","@types/glob":"^8.0.0","@types/jest":"^28.1.8","@types/lodash":"^4.14.186","@types/node":"^18.11.9","@types/resolve":"^1.20.2","@types/uuid":"^8.3.4","@typescript-eslint/eslint-plugin":"^5.46.1","@typescript-eslint/parser":"^5.46.1","colorette":"^2.0.19","commander":"^9.4.1","cross-env":"^7.0.3","cross-spawn":"^7.0.3","dotenv":"^16.0.3","eslint":"^8.30.0","eslint-config-prettier":"^8.5.0","eslint-plugin-jest":"^27.1.7","glob":"^8.0.3","jest":"^28.1.3","jest-extended":"^3.1.0","npm-run-all":"^4.1.5","prettier":"^2.7.1","tree-kill":"^1.2.2","ts-jest":"^28.0.8","typescript":"^4.8.4","uuid":"^8.3.2","wait-for-expect":"^3.0.2"},"readme":"<div align=\"center\">\n  <a href=\"https://github.com/webpack/webpack\">\n    <img width=\"200\" height=\"200\" src=\"https://webpack.js.org/assets/icon-square-big.svg\">\n  </a>\n  <h1>Transpile Webpack Plugin</h1>\n</div>\n\n[![npm][npm]][npm-url]\n[![node][node]][node-url]\n[![download][download]][npm-url]\n[![license][license]][license-url]\n[![size][size]][size-url]\n[![cicd][cicd]][cicd-url]\n\n# Transpile Webpack Plugin\n\nThe webpack plugin that transpiles input files into output files individually without bundling together.\n\nInput files are collected from files directly or indirectly imported by the [entry](https://webpack.js.org/configuration/entry-context/#entry), then get compiled and ouputted keeping the same directory structure in the output directory.\n\nTranspiling with webpack is especially helpful when both user interface logics and source file path related logics are involved, such as building SSR(server side rendering) in a heavyweight NodeJS server. Please make best of it.\n\nNote that this plugin replies on features of webpack v5. The latest webpack is supposed to be used when possible.\n\n## Getting Started\n\nTo begin, you'll need to install `transpile-webpack-plugin`:\n\n```sh\nnpm i -D transpile-webpack-plugin\n```\n\nOr, with any package manager you prefer.\n\nThen, add the plugin to your webpack config. For example:\n\n```js\nconst TranspilePlugin = require('transpile-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.js',\n  output: {\n    path: __dirname + '/dist',\n  },\n  plugins: [new TranspilePlugin(/* options */)],\n};\n```\n\nAssuming the entry `src/index.js` imports another file `src/constants/greeting.js`, input files will be `src/index.js` `src/constants/greeting.js`. After compilation, output files will be `dist/index.js` `dist/constants/greeting.js`. The common dir of input files is used as the base dir to evaluate the relative paths of output files in output dir.\n\nJust a reminder, if to run output files with NodeJS, don't forget to set the [target](https://webpack.js.org/configuration/target/) as `node` or a node-compatible value so that no breaking code is generated by webpack unexpectedly.\n\n## Blogs\n\n- [Transpile Webpack Plugin: transpiling files with webpack without bundling](https://medium.com/@licg9999/introducing-transpile-webpack-plugin-b8c86c7b0a21)\n- [Transpile Webpack Plugin: 让 Webpack 按照源文件的目录结构输出](https://segmentfault.com/a/1190000043177608)\n\n## Options\n\n- **[exclude](#exclude)**\n- **[hoistNodeModules](#hoistnodemodules)**\n- **[longestCommonDir](#longestcommondir)**\n- **[extentionMapping](#extentionmapping)**\n- **[preferResolveByDependencyAsCjs](#preferresolvebydependencyascjs)**\n\n### `exclude`\n\nType: `{string|RegExp|((p: string) => boolean)|string[]|RegExp[]|((p: string) => boolean)[]}`\n\nDefault: `[]`\n\nOption `exclude` indicates files to be excluded. Import statements to the excluded in input files are properly adjusted in output files and kept workable. It's similar to the [externals](https://webpack.js.org/configuration/externals/) except that the import path auto adjustment. It'll be useful when you copy some third-party files and want to use them as they are.\n\nBy the way, excluding `node_modules` with this option is a bit trivial because some helpers of webpack loaders also living there are not runnable before compiled. If you need to exclude dependencies in `node_modules`, using [webpack-node-externals](https://github.com/liady/webpack-node-externals) might be a better choice.\n\nWith this option as string, input files whose aboslute paths begin with it will be excluded. With this option as regular expression, input files whose absolute paths match it will be excluded. With this option as function, input files whose absolute paths are passed into the call of it and end up with `true` will be excluded.\n\n### `hoistNodeModules`\n\nType: `{boolean}`\n\nDefault: `true`\n\nOption `hoistNodeModules` indicates whether to evaluate output paths for input files from or not from `node_modules` separately, and keep input files from `node_modules` outputted into `node_modules` just under output dir. It's usable to flatten the output directory structure a little bit.\n\nGiven input files `src/index.js` `node_modules/lodash/lodash.js` and output dir `dist`, with this option `true`, output files will be `dist/index.js` `dist/node_modules/lodash/lodash.js`. But with this option `false`, output files will be `dist/src/index.js` `dist/node_modules/lodash/lodash.js`.\n\n### `longestCommonDir`\n\nType: `{string|undefined}`\n\nDefault: `undefined`\n\nOption `longestCommonDir` indicates the limit of the common dir to evaluate relative paths of output files in output dir. When this option is shorter than the common dir of input files, this option is used against input files to evaluate relative paths of output files in output dir. Otherwise, the common dir of input files is used.\n\nGiven input files `src/server/index.js` `src/server/constants/greeting.js` and output dir `dist`, with this option `undefined`, output files will be `dist/index.js` `dist/constants/greeting.js`. But with this option `'./src'`, output files will be `dist/server/index.js` `dist/server/constants/greeting.js`.\n\nThough, given input files `src/index.js` `src/server/constants/greeting.js` and output dir `dist`, with this option `'./src/server'`, output files will still be `dist/index.js` `dist/server/constants/greeting.js` because the common dir of input files is shorter than this option.\n\n### `extentionMapping`\n\nType: `{Record<string, string>}`\n\nDefault: `{}`\n\nOption `extentionMapping` indicates how file extensions are mapped from input to output. By default, one output file will have exactly the same file extension as the input file. But you may change it by this option. With this option `{ '.ts': '.js' }`, any input file with ext `.ts` will have the output file with ext `.js`.\n\n### `preferResolveByDependencyAsCjs`\n\nType: `boolean`\n\nDefault: `true`\n\nOptions `preferResolveByDependencyAsCjs` indicates whether to try to resolve dependencies by CommonJS [exports](https://nodejs.org/api/packages.html#conditional-exports) regardless of types of import statements. It's useful when the target is `node` because `.mjs` files are treated as ES modules in NodeJS and [can't be required](https://nodejs.org/api/esm.html#require) by webpack generated CommonJS files.\n\nGiven `{ \"exports\": { \"import\": \"index.mjs\", \"require\": \"index.cjs\" } }` in `package.json` of a dependency, with this option `true`, either `import` or `require` to this dependency will end up with `index.cjs`. And with this option `false`, `import` is with `index.mjs` and `require` is with `index.cjs`(, which is also the default behavior of webpack).\n\n## Known limits\n\n**<a name=\"known-limit-01\" href=\"#known-limit-01\">01:</a>** _Can't handle circular dependencies in the same way as NodeJS._\n\nIn NodeJS, top-level logics in a file run exactly at the time when it's required, which makes circular dependencies possible to work. Take an example of files `a.js` and `b.js`:\n\n```js\n// In file 'a.js'\nconst b = require('./b');\n\nfunction main() {\n  b.goo();\n}\n\nfunction foo() {\n  console.log('lorem ipsum');\n}\n\nmodule.exports = { foo };\n\nmain();\n\n// In file 'b.js'\n\nconst a = require('./a');\n\nfunction goo() {\n  a.foo();\n}\n\nmodule.exports = { goo };\n```\n\nWhen `a.js` runs, an error of `TypeError: a.foo is not a function` thrown from `b.js`. But putting the line `const b = require('./b');` just after `module.exports = { foo };` resolves the problem:\n\n```diff\n// In file 'a.js'\n-\n-const b = require('./b');\n\nfunction main() {\n  b.goo();\n}\n\nfunction foo() {\n  console.log('lorem ipsum');\n}\n\nmodule.exports = { foo };\n+\n+const b = require('./b');\n\nmain();\n```\n\nThough, for a webpack generated file, the real exporting is always done in the end of it. Webpack collects all the exports into an internal variable `__webpack_exports__`, then exports it at last, which makes circular dependencies always break.\n\nMaking circular dependencies is a bad practice. But you might have to face them if using some libs that are popular but maintained since the early releases of NodeJS, like [jsdom](https://github.com/jsdom/jsdom). When this happens, please use the [externals](https://webpack.js.org/configuration/externals/) to leave the libs untouched.\n\n**<a name=\"known-limit-02\" href=\"#known-limit-02\">02:</a>** _Can't conditionally import not-yet-installed dependencies._\n\nWebpack always detects and resolves import statements regardless of whether they run conditionally. Logics as below end up with the conditionally imported dependency `colorette` resolved:\n\n```js\nfunction print(message, color) {\n  if (typeof color === 'string') {\n    message = require('colorette')[color](message);\n  }\n  console.log(message);\n}\n```\n\nBesides, conditionally importing any not-yet-installed dependency causes the compile-time error of `Module not found` in webpack. As a result, either, you need to make sure the conditionally imported dependency installed. Or, use the [externals](https://webpack.js.org/configuration/externals/) to leave it untouched.\n\n## Contributing\n\nPlease take a moment to read our contributing guidelines if you haven't yet done so.\n[CONTRIBUTING][contributing-url]\n\n## License\n\n[MIT][license-url]\n\n[npm]: https://img.shields.io/npm/v/transpile-webpack-plugin.svg\n[npm-url]: https://npmjs.com/package/transpile-webpack-plugin\n[node-url]: https://nodejs.org/\n[node]: https://img.shields.io/node/v/transpile-webpack-plugin.svg\n[download]: https://img.shields.io/npm/dw/transpile-webpack-plugin\n[license]: https://img.shields.io/github/license/licg9999/transpile-webpack-plugin\n[license-url]: https://github.com/licg9999/transpile-webpack-plugin/blob/master/LICENSE\n[size]: https://packagephobia.com/badge?p=transpile-webpack-plugin\n[size-url]: https://packagephobia.com/result?p=transpile-webpack-plugin\n[cicd]: https://github.com/licg9999/transpile-webpack-plugin/actions/workflows/verify-and-release.yml/badge.svg\n[cicd-url]: https://github.com/licg9999/transpile-webpack-plugin/actions/workflows/verify-and-release.yml\n[contributing-url]: https://github.com/licg9999/transpile-webpack-plugin/blob/master/CONTRIBUTING.md\n","readmeFilename":"README.md","gitHead":"4fad0e88f0e7c470d7308b55e6fc3fb2fb11b4fe","_id":"transpile-webpack-plugin@1.1.1-alpha.2","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-YYZj2IWO15z9MF8UDafiGjjGEZy/TvQyBbp8Z/rCJUy1VHzwjMammV03ufkHygWdKLESx/636K+h0tgJCyjaVA==","shasum":"4640cad85ac36fd08cff26a1b368e0d719d08662","tarball":"https://registry.npmjs.org/transpile-webpack-plugin/-/transpile-webpack-plugin-1.1.1-alpha.2.tgz","fileCount":100,"unpackedSize":121492,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDSmeX68Spam+FFa35NtXjBY9VBI41dms+M1nhhA1O34wIhALZlMfaKuqGs6TquwN3ATos5bpmrwqRMzXBmIhfN8fd4"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjuELQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrXaQ//T93T+74/7wJTqlSCngaZ+Vfk31v/xSkjnoAvYp+a/BunnoTo\r\n0CaeHcXRfe2ReCsBKIbmZXvehvInUqHdAl3/hxMLCb8+Vn5Ffa18YBKEqZrU\r\n3aiMUq83v1AJYb/jCgax/PbaTbEUExcHw2OLumola6m5WoD6H7Kb92bLtJFg\r\nTC0cWNPfuZ7Ut1cNGRa2zDI8+E9hvXIXFQE7DvT1DIm5YAouu2D0/p53ObFZ\r\njYh5RvVMmwGpraG2R4A7hBhz5VKFxbdbRe7tYMDrBJSZpyjuFHRp+f+a9GbP\r\nWhZ/PfxKEM/NZfsXjoCj3w1Tub0Xbh3tcRFChHYYH6y0kzdXn6N7gopGmjy0\r\nC9ly5UiEkKdbn3opbMMBZDEB+Kk11/Dkf+OR3PaAfLnq5llEPmGdo/MiBPIe\r\n5MLW8aSo0Y9d/znABpyt+46r27HYnCFfja2XwvNupbWhuRtPZs78b/TEfqAk\r\nubgaKAUB9qr6SAEno9133ASzC2OcI9NGU2FAE3njFtfKcR1SpAqe4yoP3Cda\r\nbQj+N9bi51vhUqkZ62vbNaD+mWaMLLXISwtwJ+mMS3OpILxMmoRG4BR4qCDF\r\nJpqZwUiWLpkQcyrNyS+HW31NaIj5SzxSzxlZmhipXyXWTSupCGLeaSVD7ZbC\r\ndihgK1eP5iRmagf3sCyrDjcQPrT5bYOWGd8=\r\n=DGU1\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"licg9999","email":"licg9999@126.com"},"directories":{},"maintainers":[{"name":"licg9999","email":"licg9999@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/transpile-webpack-plugin_1.1.1-alpha.2_1673020111827_0.6615460162786664"},"_hasShrinkwrap":false},"1.1.1":{"name":"transpile-webpack-plugin","version":"1.1.1","license":"MIT","description":"Transpiles input files into output files individually without bundling together","keywords":["webpack","plugin","transpile","transpile-webpack-plugin"],"author":{"name":"Chungen Li","email":"licg9999@gmail.com","url":"https://github.com/licg9999"},"bugs":{"url":"https://github.com/licg9999/transpile-webpack-plugin/issues"},"homepage":"https://github.com/licg9999/transpile-webpack-plugin","repository":{"type":"git","url":"git+https://github.com/licg9999/transpile-webpack-plugin.git"},"engines":{"node":">=16"},"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc --project additional-configs/tsconfig.build.json","watch":"npm run build -- --watch","unittest":"cross-env JEST_TEST_PATH=src jest","e2e":"cross-env JEST_TEST_PATH=e2e jest --maxWorkers 1","lint-all":"run-p lint:*","lint:tsc":"tsc","lint:prettier":"node scripts/cross-dotenv-shell prettier --check FILE_GLOB","lint:eslint":"node scripts/cross-dotenv-shell eslint FILE_GLOB","fix-all":"run-s fix:*","fix:prettier":"node scripts/cross-dotenv-shell prettier --write FILE_GLOB","fix:eslint":"node scripts/cross-dotenv-shell eslint --fix FILE_GLOB"},"peerDependencies":{"webpack":"^5.61.0"},"dependencies":{"lodash":"^4.17.21","resolve":"^1.22.1","schema-utils":"^4.0.0"},"devDependencies":{"@commitlint/config-conventional":"^17.1.0","@trivago/prettier-plugin-sort-imports":"^3.4.0","@types/cross-spawn":"^6.0.2","@types/glob":"^8.0.0","@types/jest":"^28.1.8","@types/lodash":"^4.14.186","@types/node":"^18.11.9","@types/resolve":"^1.20.2","@types/uuid":"^8.3.4","@typescript-eslint/eslint-plugin":"^5.46.1","@typescript-eslint/parser":"^5.46.1","colorette":"^2.0.19","commander":"^9.4.1","cross-env":"^7.0.3","cross-spawn":"^7.0.3","dotenv":"^16.0.3","eslint":"^8.30.0","eslint-config-prettier":"^8.5.0","eslint-plugin-jest":"^27.1.7","glob":"^8.0.3","jest":"^28.1.3","jest-extended":"^3.1.0","npm-run-all":"^4.1.5","prettier":"^2.7.1","tree-kill":"^1.2.2","ts-jest":"^28.0.8","typescript":"^4.8.4","uuid":"^8.3.2","wait-for-expect":"^3.0.2"},"gitHead":"f30d19555a100c3aca6504331c83739658e50fc5","_id":"transpile-webpack-plugin@1.1.1","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-jx+9D1KELOynHfx5edLD+QGO0NwwEgR/F1zNFdDzM2WagfZ44mZv/IRZxi3cnLVC0Z1Syu3h3GgcEcdZ1eh7VQ==","shasum":"47dc9a6358ef8d52a4e2be17b5a2d2d893579899","tarball":"https://registry.npmjs.org/transpile-webpack-plugin/-/transpile-webpack-plugin-1.1.1.tgz","fileCount":100,"unpackedSize":122101,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGFscymmjrfh1Wbr/MZtITJ2T7a5o6FCsv6NtQvjNQX8AiEA5ThGp2r1PEkp1RQmMuTT+QijSibThxwdbUKt3SOzH9E="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjur/EACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoeBxAAoerImkO0cRd5hnBCVLQ6omZL42rfIcXzjPi+vp53L7zyM1v6\r\nsSNAtCHlq41TU6lI0dFgjg/dvKdLm8eXCwo9AnfHVg3B+Ho0hQWk5sLYJFbu\r\nxVR4kirYsJQHFhTfI6GuaPdQG/prZT38htE63rVJH/YrtA1qNy/7s/9re8Qf\r\n9qWE+Dtd7TJ6JVVeAdtjVkuwkaAueuUiXwLMO5HVFP9yTtFrouVvifxCcUrW\r\nQGePsMv7SMOPcprLkl+P9PBwfkB8k1UzZPWvjBINyWgdo52BJTv+HJT/8Z0H\r\n94wMxdPbNZeOyhR5+yHOTDkbIvg07QdleEYmFV4OcxOgfEjppX50hy8uKMSy\r\nZuIfYglhEEdUuMO5Qcb5l+Vn1/ZYc+gM1sb6DsxCb6cWWZc/mfQsCJhYHiiT\r\nnNammlxMX2r5F32lmBQ6eePwBIrsavTP6RReT7+0vkmDjsivQ5L6JAoDleCy\r\neGtisguopbdwV4SIuO/XU7XOhpNie6ryH0XqKLiV6HgW4NgeqwgMQHO0EX9c\r\nnhxEWXDWhep53kMehdetETB4muodZZFtc/q6oxypbDe7Mt5d+pC24Xg+H5X1\r\nte//jqBG0aypJ7U/pvhAM5ytjBi/FOBAOrvpDClu9ByJPo1DmAl+BcPGCpKt\r\nG7ocbJDvNTeKOyRaUCYe677lixI8YKZ7v4k=\r\n=qiN8\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"licg9999","email":"licg9999@126.com"},"directories":{},"maintainers":[{"name":"licg9999","email":"licg9999@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/transpile-webpack-plugin_1.1.1_1673183172063_0.8312120116936723"},"_hasShrinkwrap":false},"1.1.2-alpha.1":{"name":"transpile-webpack-plugin","version":"1.1.2-alpha.1","license":"MIT","description":"Transpiles input files into output files individually without bundling together","keywords":["webpack","plugin","transpile","transpile-webpack-plugin"],"author":{"name":"Chungen Li","email":"licg9999@gmail.com","url":"https://github.com/licg9999"},"bugs":{"url":"https://github.com/licg9999/transpile-webpack-plugin/issues"},"homepage":"https://github.com/licg9999/transpile-webpack-plugin","repository":{"type":"git","url":"git+https://github.com/licg9999/transpile-webpack-plugin.git"},"engines":{"node":">=16"},"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc --project additional-configs/tsconfig.build.json","watch":"npm run build -- --watch","unittest":"cross-env JEST_TEST_PATH=src jest","e2e":"cross-env JEST_TEST_PATH=e2e jest --maxWorkers 1","lint-all":"run-p lint:*","lint:tsc":"tsc","lint:prettier":"node scripts/cross-dotenv-shell prettier --check FILE_GLOB","lint:eslint":"node scripts/cross-dotenv-shell eslint FILE_GLOB","fix-all":"run-s fix:*","fix:prettier":"node scripts/cross-dotenv-shell prettier --write FILE_GLOB","fix:eslint":"node scripts/cross-dotenv-shell eslint --fix FILE_GLOB"},"peerDependencies":{"webpack":"^5.61.0"},"dependencies":{"lodash":"^4.17.21","resolve":"^1.22.1","schema-utils":"^4.0.0"},"devDependencies":{"@commitlint/config-conventional":"^17.1.0","@trivago/prettier-plugin-sort-imports":"^3.4.0","@types/cross-spawn":"^6.0.2","@types/glob":"^8.0.0","@types/jest":"^28.1.8","@types/lodash":"^4.14.186","@types/node":"^18.11.9","@types/resolve":"^1.20.2","@types/uuid":"^8.3.4","@typescript-eslint/eslint-plugin":"^5.46.1","@typescript-eslint/parser":"^5.46.1","colorette":"^2.0.19","commander":"^9.4.1","cross-env":"^7.0.3","cross-spawn":"^7.0.3","dotenv":"^16.0.3","eslint":"^8.30.0","eslint-config-prettier":"^8.5.0","eslint-plugin-jest":"^27.1.7","glob":"^8.0.3","jest":"^28.1.3","jest-extended":"^3.1.0","npm-run-all":"^4.1.5","prettier":"^2.7.1","tree-kill":"^1.2.2","ts-jest":"^28.0.8","typescript":"^4.8.4","uuid":"^8.3.2","wait-for-expect":"^3.0.2"},"readme":"<div align=\"center\">\n  <a href=\"https://github.com/webpack/webpack\">\n    <img width=\"200\" height=\"200\" src=\"https://webpack.js.org/assets/icon-square-big.svg\">\n  </a>\n  <h1>Transpile Webpack Plugin</h1>\n</div>\n\n[![npm][npm]][npm-url]\n[![node][node]][node-url]\n[![download][download]][npm-url]\n[![license][license]][license-url]\n[![size][size]][size-url]\n[![cicd][cicd]][cicd-url]\n\n# Transpile Webpack Plugin\n\nThe webpack plugin that transpiles input files into output files individually without bundling together.\n\nInput files are collected from files directly or indirectly imported by the [entry](https://webpack.js.org/configuration/entry-context/#entry), then get compiled and ouputted keeping the same directory structure in the output directory.\n\nTranspiling with webpack is especially helpful when source file path based logics are involved, such as registering events in AWS Lambda, or migrations managing with Sequelize CLI.\n\nNotice that this plugin replies on features of webpack v5. The latest webpack is supposed to be used when possible.\n\n## Getting Started\n\nTo begin, you'll need to install `transpile-webpack-plugin`:\n\n```sh\nnpm i -D transpile-webpack-plugin\n```\n\nOr, any other package manager you prefer, like `yarn` or `pnpm`, would work, too.\n\nThen, add the plugin to your webpack config. For example:\n\n```js\nconst TranspilePlugin = require('transpile-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.js',\n  output: {\n    path: __dirname + '/dist',\n  },\n  plugins: [new TranspilePlugin(/* options */)],\n};\n```\n\nNow, assuming in the dir `src`, the entry file `src/index.js` imports another file `src/constants/greeting.js`:\n\n```sh\nsrc\n├── constants\n│   └── greeting.js\n└── index.js\n```\n\nWith the webpack config above, after compilation, output files will be:\n\n```sh\ndist\n├── constants\n│   └── greeting.js\n└── index.js\n```\n\nFiles `src/index.js` and `src/constants/greeting.js` are collected as input files. Then, the common dir of input files is used as the base dir to evaluate the relative paths of output files in the output dir `dist`, which results in output files `dist/index.js` and `dist/constants/greeting.js`.\n\nJust a reminder, if to run output files with NodeJS, don't forget to set the [target](https://webpack.js.org/configuration/target/) as `node` or a node-compatible value so that no breaking code is generated by webpack unexpectedly.\n\n## Blogs\n\n- [Server-side rendering for any React app on any FaaS provider - elaborating by a demo app of SSR with CRA on Netlify](https://github.com/licg9999/server-side-rendering-with-cra-on-netlify)\n- [Transpile Webpack Plugin: transpiling files with webpack without bundling](https://medium.com/@licg9999/introducing-transpile-webpack-plugin-b8c86c7b0a21) ([中文版本](https://segmentfault.com/a/1190000043177608))\n\n## Options\n\n- **[exclude](#exclude)**\n- **[hoistNodeModules](#hoistnodemodules)**\n- **[longestCommonDir](#longestcommondir)**\n- **[extentionMapping](#extentionmapping)**\n- **[preferResolveByDependencyAsCjs](#preferresolvebydependencyascjs)**\n\n### `exclude`\n\nType: `{string|RegExp|((p: string) => boolean)|string[]|RegExp[]|((p: string) => boolean)[]}`\n\nDefault: `[]`\n\nOption `exclude` indicates files to be excluded. It's similar to the [externals](https://webpack.js.org/configuration/externals/) except that the import paths to the excluded are properly adjusted automatically. It's useful when you copy some third-party files and want to use them as they are.\n\nThough, excluding `node_modules` with this option is not a good idea. Some helpers of webpack loaders have to be compiled before they become runnable. If you need to exclude dependencies in `node_modules`, using [webpack-node-externals](https://github.com/liady/webpack-node-externals) might be a better choice because it doesn't exclude helpers of webpack loaders.\n\nWith this option as a string (or strings), input files whose aboslute paths begin with it will be excluded. With this option as a regular expression (or regular expression), input files whose absolute paths match it will be excluded. With this option as a function (or functions), input files whose absolute paths are passed into the call of it and end up with `true` will be excluded.\n\n### `hoistNodeModules`\n\nType: `{boolean}`\n\nDefault: `true`\n\nOption `hoistNodeModules` indicates whether to evaluate output paths for input files inside or outside `node_modules` separately, then keep input files from `node_modules` outputted into `node_modules` just under the output dir. It's usable to flatten the output directory structure a little bit.\n\nGiven input files `src/index.js`, `node_modules/lodash/lodash.js` and the output dir `dist`, with this option `true`, output files will be `dist/index.js` and `dist/node_modules/lodash/lodash.js`. But with this option `false`, output files will be `dist/src/index.js` and `dist/node_modules/lodash/lodash.js`.\n\n### `longestCommonDir`\n\nType: `{string|undefined}`\n\nDefault: `undefined`\n\nOption `longestCommonDir` indicates the limit of the common dir to evaluate relative paths of output files in the output dir. When the dir that this option represents is the parent dir of the common dir of input files, this option is used against input files to evaluate relative paths of output files in the output dir. Otherwise, the common dir of input files is used.\n\nGiven input files `src/server/index.js`, `src/server/constants/greeting.js` and the output dir `dist`, with this option `undefined`, output files will be `dist/index.js` `dist/constants/greeting.js`. But with this option `'./src'`, output files will be `dist/server/index.js` `dist/server/constants/greeting.js`.\n\nThough, given input files `src/index.js`, `src/server/constants/greeting.js` and the output dir `dist`, with this option `'./src/server'`, output files will still be `dist/index.js` `dist/server/constants/greeting.js` because the dir that this options represents is not the parent dir of the common dir of input files.\n\n### `extentionMapping`\n\nType: `{Record<string, string>}`\n\nDefault: `{}`\n\nOption `extentionMapping` indicates how file extensions are mapped from the input to the output. By default, an output file will have exactly the same file extension as its input file. But you may change the behavior by this option. With this option `{ '.ts': '.js' }`, any input file with ext `.ts` will have the output file with ext `.js`.\n\n### `preferResolveByDependencyAsCjs`\n\nType: `boolean`\n\nDefault: `true`\n\nOptions `preferResolveByDependencyAsCjs` indicates whether to try to resolve dependencies by CommonJS [exports](https://nodejs.org/api/packages.html#conditional-exports) regardless of types of import statements. It's useful when the target is `node` because `.mjs` files are treated as ES modules in NodeJS and [can't be required](https://nodejs.org/api/esm.html#require) by webpack generated CommonJS files.\n\nGiven `{ \"exports\": { \"import\": \"index.mjs\", \"require\": \"index.cjs\" } }` in `package.json` of a dependency, with this option `true`, either `import` or `require` to this dependency will end up with `index.cjs` imported. While, with this option `false`, `import` ends up with `index.mjs` imported and `require` ends up with `index.cjs` imported (, which is the default behavior of webpack).\n\n## Known limits\n\n**<a name=\"known-limit-01\" href=\"#known-limit-01\">01:</a> Can't handle circular dependencies in the same way as NodeJS.**\n\nIn NodeJS, top-level logics in a file run exactly at the time when it's imported, which makes circular dependencies possible to work. Take an example of files `a.js` and `b.js`:\n\n```js\n// In file 'a.js'\nconst b = require('./b');\n\nfunction main() {\n  b.goo();\n}\n\nfunction foo() {\n  console.log('lorem ipsum');\n}\n\nmodule.exports = { foo };\n\nmain();\n\n// In file 'b.js'\n\nconst a = require('./a');\n\nfunction goo() {\n  a.foo();\n}\n\nmodule.exports = { goo };\n```\n\nWhen `a.js` runs, an error of `TypeError: a.foo is not a function` thrown from `b.js`. But putting the line `const b = require('./b');` just after `module.exports = { foo };` resolves the problem:\n\n```diff\n// In file 'a.js'\n-\n-const b = require('./b');\n\nfunction main() {\n  b.goo();\n}\n\nfunction foo() {\n  console.log('lorem ipsum');\n}\n\nmodule.exports = { foo };\n+\n+const b = require('./b');\n\nmain();\n```\n\nThough, for a webpack generated file, the real exporting is always done in the end of it. Webpack collects all the exports into an internal variable `__webpack_exports__`, then exports it at last, which makes circular dependencies always break.\n\nMaking circular dependencies is a bad practice. But you might have to face them if using some libs that are popular but maintained since the early releases of NodeJS, like [jsdom](https://github.com/jsdom/jsdom). When this happens, please use the [externals](https://webpack.js.org/configuration/externals/) to leave the libs untouched.\n\n**<a name=\"known-limit-02\" href=\"#known-limit-02\">02:</a> Can't conditionally import not-yet-installed dependencies.**\n\nWebpack always detects and resolves import statements regardless of whether they run conditionally. Logics as below end up with the conditionally imported dependency `colorette` resolved:\n\n```js\nfunction print(message, color) {\n  if (typeof color === 'string') {\n    message = require('colorette')[color](message);\n  }\n  console.log(message);\n}\n```\n\nAs a result, conditionally importing any not-yet-installed dependency causes the compile-time error of `Module not found` in webpack. So, either, you need to make sure the conditionally imported dependency installed. Or, use the [externals](https://webpack.js.org/configuration/externals/) to leave it untouched.\n\n**<a name=\"known-limit-03\" href=\"#known-limit-03\">03:</a> Can't import `.node` files directly.**\n\nBy default, importing `.node` files causes the compile-time error of `Module parse failed` in webpack. Using [node-loader](http://github.com/webpack-contrib/node-loader) along with the plugin option [extentionMapping](#extentionmapping) as `{ '.node': '.js' }` resolves some very basic cases. But as the node-loader itself doesn't handle paths well, the practice is not recommeneded. Instead, you may use the [externals](https://webpack.js.org/configuration/externals/) to leave the JS files that use the `.node` files untouched.\n\n## Contributing\n\nPlease take a moment to read our contributing guidelines if you haven't yet done so.\n[CONTRIBUTING][contributing-url]\n\n## License\n\n[MIT][license-url]\n\n[npm]: https://img.shields.io/npm/v/transpile-webpack-plugin.svg\n[npm-url]: https://npmjs.com/package/transpile-webpack-plugin\n[node-url]: https://nodejs.org/\n[node]: https://img.shields.io/node/v/transpile-webpack-plugin.svg\n[download]: https://img.shields.io/npm/dw/transpile-webpack-plugin\n[license]: https://img.shields.io/github/license/licg9999/transpile-webpack-plugin\n[license-url]: https://github.com/licg9999/transpile-webpack-plugin/blob/master/LICENSE\n[size]: https://packagephobia.com/badge?p=transpile-webpack-plugin\n[size-url]: https://packagephobia.com/result?p=transpile-webpack-plugin\n[cicd]: https://github.com/licg9999/transpile-webpack-plugin/actions/workflows/verify-and-release.yml/badge.svg\n[cicd-url]: https://github.com/licg9999/transpile-webpack-plugin/actions/workflows/verify-and-release.yml\n[contributing-url]: https://github.com/licg9999/transpile-webpack-plugin/blob/master/CONTRIBUTING.md\n","readmeFilename":"README.md","gitHead":"785cb904b6a6ce8bbad135c143ecacb14114679a","_id":"transpile-webpack-plugin@1.1.2-alpha.1","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"integrity":"sha512-GdWtLrTl2jI9x3cqsB7JJjIbaPhgNABEG224IUA6vVGSuMGgmnx5AvCg7QCu3h0zKjPvC/e1glShHuZyxXPSmQ==","shasum":"3071bb7ed72b73558c15037c638bc631e0e4f93a","tarball":"https://registry.npmjs.org/transpile-webpack-plugin/-/transpile-webpack-plugin-1.1.2-alpha.1.tgz","fileCount":100,"unpackedSize":122943,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCLjchLMtZq2wulwzPuE82akm4UAqkUz2IrBpGfMPbKCAIhAL+T5qrbdKt9epWFVD01dzmIQ1GrmkEmA2BMikIssGNx"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkOSUYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo85w/+OLU5QsM09gEjhIog3B9/cEGGb1g/fOCqIKxZeuGJcnKHL8ty\r\nCJQpUZasxZb5R362ISgcigWIxIh46x6nwB7/+WpN8L5yaarDG0ZCp+RiRGbd\r\ngpjWhY+0Al3lY++Qo2wxfaq+x9AHUZSGM0sAVQk2JnKBYBxeO1YUx70+DuYK\r\ntXWJ22gl6K6z+pp7Zahku5fwvtDfD+g3JQhStqBNoD6XAUcrjmjVo2vVx4Dx\r\narAVeAmUpSNjQMW+uGSDVLFgzUBTK7IIl3jjHAnOWSUcsmOmLGM43qs1A3Ud\r\nNGmuz+M5Vp5L2gGOQmrmTX+n4mDO2+oG0ct1yU3eX5srW+v93F0lrp1tNXhn\r\nt8Pf5SlaSj6XlbHgo9DjrAfWsX38V8jMlCvwL6JXiLjBm1H/UNFNI07RPHtW\r\n6T0L/I8CO5N24o71QwSylhnT0jZ6l6QKLybpHoOWJJXkzdQG4RL/TDfjtTA4\r\n31N/6zwcVkPpUMUxxNexm+DgQW0ugzPFUfWi1NyRAlBLac9+3gVkq8KXZv+E\r\ntkpcpt9dLJSxKV5zubt0SZi2Jij0HxaGzmrojhWewKZOWWAQpsLj5czJ8Fk5\r\nwv1YYptpoPYrBfeeXrrTUX+ls4fc0DLCs3lMaxuh6JdS8yNu8QJuVtO2aDR9\r\nhfr8E9DHqY1/v+oyfsZsVmOH1SxH50KVrXg=\r\n=NHkE\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"licg9999","email":"licg9999@126.com"},"directories":{},"maintainers":[{"name":"licg9999","email":"licg9999@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/transpile-webpack-plugin_1.1.2-alpha.1_1681466648213_0.47909746956288135"},"_hasShrinkwrap":false},"1.1.2-beta.1":{"name":"transpile-webpack-plugin","version":"1.1.2-beta.1","license":"MIT","description":"Transpiles input files into output files individually without bundling together","keywords":["webpack","plugin","transpile","transpile-webpack-plugin"],"author":{"name":"Chungen Li","email":"licg9999@gmail.com","url":"https://github.com/licg9999"},"bugs":{"url":"https://github.com/licg9999/transpile-webpack-plugin/issues"},"homepage":"https://github.com/licg9999/transpile-webpack-plugin","repository":{"type":"git","url":"git+https://github.com/licg9999/transpile-webpack-plugin.git"},"engines":{"node":">=16"},"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc --project additional-configs/tsconfig.build.json","watch":"npm run build -- --watch","unittest":"cross-env JEST_TEST_PATH=src jest","e2e":"cross-env JEST_TEST_PATH=e2e jest --maxWorkers 1","lint-all":"run-p lint:*","lint:tsc":"tsc","lint:prettier":"node scripts/cross-dotenv-shell prettier --check FILE_GLOB","lint:eslint":"node scripts/cross-dotenv-shell eslint FILE_GLOB","fix-all":"run-s fix:*","fix:prettier":"node scripts/cross-dotenv-shell prettier --write FILE_GLOB","fix:eslint":"node scripts/cross-dotenv-shell eslint --fix FILE_GLOB"},"peerDependencies":{"webpack":"^5.61.0"},"dependencies":{"lodash":"^4.17.21","resolve":"^1.22.1","schema-utils":"^4.0.0"},"devDependencies":{"@commitlint/config-conventional":"^17.1.0","@trivago/prettier-plugin-sort-imports":"^3.4.0","@types/cross-spawn":"^6.0.2","@types/glob":"^8.0.0","@types/jest":"^28.1.8","@types/lodash":"^4.14.186","@types/node":"^18.11.9","@types/resolve":"^1.20.2","@types/uuid":"^8.3.4","@typescript-eslint/eslint-plugin":"^5.46.1","@typescript-eslint/parser":"^5.46.1","colorette":"^2.0.19","commander":"^9.4.1","cross-env":"^7.0.3","cross-spawn":"^7.0.3","dotenv":"^16.0.3","eslint":"^8.30.0","eslint-config-prettier":"^8.5.0","eslint-plugin-jest":"^27.1.7","glob":"^8.0.3","jest":"^28.1.3","jest-extended":"^3.1.0","npm-run-all":"^4.1.5","prettier":"^2.7.1","tree-kill":"^1.2.2","ts-jest":"^28.0.8","typescript":"^4.8.4","uuid":"^8.3.2","wait-for-expect":"^3.0.2"},"readme":"<div align=\"center\">\n  <a href=\"https://github.com/webpack/webpack\">\n    <img width=\"200\" height=\"200\" src=\"https://webpack.js.org/assets/icon-square-big.svg\">\n  </a>\n  <h1>Transpile Webpack Plugin</h1>\n</div>\n\n[![npm][npm]][npm-url]\n[![node][node]][node-url]\n[![download][download]][npm-url]\n[![license][license]][license-url]\n[![size][size]][size-url]\n[![cicd][cicd]][cicd-url]\n\n# Transpile Webpack Plugin\n\nThe webpack plugin that transpiles input files into output files individually without bundling together.\n\nInput files are collected from files directly or indirectly imported by the [entry](https://webpack.js.org/configuration/entry-context/#entry), then get compiled and ouputted keeping the same directory structure in the output directory.\n\nTranspiling with webpack is especially helpful when source file path based logics are involved, such as registering events in AWS Lambda, or migrations managing with Sequelize CLI.\n\nNotice that this plugin replies on features of webpack v5. The latest webpack is supposed to be used when possible.\n\n## Getting Started\n\nTo begin, you'll need to install `transpile-webpack-plugin`:\n\n```sh\nnpm i -D transpile-webpack-plugin\n```\n\nOr, any other package manager you prefer, like `yarn` or `pnpm`, would work, too.\n\nThen, add the plugin to your webpack config. For example:\n\n```js\nconst TranspilePlugin = require('transpile-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.js',\n  output: {\n    path: __dirname + '/dist',\n  },\n  plugins: [new TranspilePlugin(/* options */)],\n};\n```\n\nNow, assuming in the dir `src`, the entry file `src/index.js` imports another file `src/constants/greeting.js`:\n\n```sh\nsrc\n├── constants\n│   └── greeting.js\n└── index.js\n```\n\nWith the webpack config above, after compilation, output files will be:\n\n```sh\ndist\n├── constants\n│   └── greeting.js\n└── index.js\n```\n\nFiles `src/index.js` and `src/constants/greeting.js` are collected as input files. Then, the common dir of input files is used as the base dir to evaluate the relative paths of output files in the output dir `dist`, which results in output files `dist/index.js` and `dist/constants/greeting.js`.\n\nJust a reminder, if to run output files with NodeJS, don't forget to set the [target](https://webpack.js.org/configuration/target/) as `node` or a node-compatible value so that no breaking code is generated by webpack unexpectedly.\n\n## Blogs\n\n- [Server-side rendering for any React app on any FaaS provider - elaborating by a demo app of SSR with CRA on Netlify](https://github.com/licg9999/server-side-rendering-with-cra-on-netlify)\n- [Transpile Webpack Plugin: transpiling files with webpack without bundling](https://medium.com/@licg9999/introducing-transpile-webpack-plugin-b8c86c7b0a21) ([中文版本](https://segmentfault.com/a/1190000043177608))\n\n## Options\n\n- **[exclude](#exclude)**\n- **[hoistNodeModules](#hoistnodemodules)**\n- **[longestCommonDir](#longestcommondir)**\n- **[extentionMapping](#extentionmapping)**\n- **[preferResolveByDependencyAsCjs](#preferresolvebydependencyascjs)**\n\n### `exclude`\n\nType: `{string|RegExp|((p: string) => boolean)|string[]|RegExp[]|((p: string) => boolean)[]}`\n\nDefault: `[]`\n\nOption `exclude` indicates files to be excluded. It's similar to the [externals](https://webpack.js.org/configuration/externals/) except that the import paths to the excluded are properly adjusted automatically. It's useful when you copy some third-party files and want to use them as they are.\n\nThough, excluding `node_modules` with this option is not a good idea. Some helpers of webpack loaders have to be compiled before they become runnable. If you need to exclude dependencies in `node_modules`, using [webpack-node-externals](https://github.com/liady/webpack-node-externals) might be a better choice because it doesn't exclude helpers of webpack loaders.\n\nWith this option as a string (or strings), input files whose aboslute paths begin with it will be excluded. With this option as a regular expression (or regular expression), input files whose absolute paths match it will be excluded. With this option as a function (or functions), input files whose absolute paths are passed into the call of it and end up with `true` will be excluded.\n\n### `hoistNodeModules`\n\nType: `{boolean}`\n\nDefault: `true`\n\nOption `hoistNodeModules` indicates whether to evaluate output paths for input files inside or outside `node_modules` separately, then keep input files from `node_modules` outputted into `node_modules` just under the output dir. It's usable to flatten the output directory structure a little bit.\n\nGiven input files `src/index.js`, `node_modules/lodash/lodash.js` and the output dir `dist`, with this option `true`, output files will be `dist/index.js` and `dist/node_modules/lodash/lodash.js`. But with this option `false`, output files will be `dist/src/index.js` and `dist/node_modules/lodash/lodash.js`.\n\n### `longestCommonDir`\n\nType: `{string|undefined}`\n\nDefault: `undefined`\n\nOption `longestCommonDir` indicates the limit of the common dir to evaluate relative paths of output files in the output dir. When the dir that this option represents is the parent dir of the common dir of input files, this option is used against input files to evaluate relative paths of output files in the output dir. Otherwise, the common dir of input files is used.\n\nGiven input files `src/server/index.js`, `src/server/constants/greeting.js` and the output dir `dist`, with this option `undefined`, output files will be `dist/index.js` `dist/constants/greeting.js`. But with this option `'./src'`, output files will be `dist/server/index.js` `dist/server/constants/greeting.js`.\n\nThough, given input files `src/index.js`, `src/server/constants/greeting.js` and the output dir `dist`, with this option `'./src/server'`, output files will still be `dist/index.js` `dist/server/constants/greeting.js` because the dir that this options represents is not the parent dir of the common dir of input files.\n\n### `extentionMapping`\n\nType: `{Record<string, string>}`\n\nDefault: `{}`\n\nOption `extentionMapping` indicates how file extensions are mapped from the input to the output. By default, an output file will have exactly the same file extension as its input file. But you may change the behavior by this option. With this option `{ '.ts': '.js' }`, any input file with ext `.ts` will have the output file with ext `.js`.\n\n### `preferResolveByDependencyAsCjs`\n\nType: `boolean`\n\nDefault: `true`\n\nOptions `preferResolveByDependencyAsCjs` indicates whether to try to resolve dependencies by CommonJS [exports](https://nodejs.org/api/packages.html#conditional-exports) regardless of types of import statements. It's useful when the target is `node` because `.mjs` files are treated as ES modules in NodeJS and [can't be required](https://nodejs.org/api/esm.html#require) by webpack generated CommonJS files.\n\nGiven `{ \"exports\": { \"import\": \"index.mjs\", \"require\": \"index.cjs\" } }` in `package.json` of a dependency, with this option `true`, either `import` or `require` to this dependency will end up with `index.cjs` imported. While, with this option `false`, `import` ends up with `index.mjs` imported and `require` ends up with `index.cjs` imported (, which is the default behavior of webpack).\n\n## Known limits\n\n**<a name=\"known-limit-01\" href=\"#known-limit-01\">01:</a> Can't handle circular dependencies in the same way as NodeJS.**\n\nIn NodeJS, top-level logics in a file run exactly at the time when it's imported, which makes circular dependencies possible to work. Take an example of files `a.js` and `b.js`:\n\n```js\n// In file 'a.js'\nconst b = require('./b');\n\nfunction main() {\n  b.goo();\n}\n\nfunction foo() {\n  console.log('lorem ipsum');\n}\n\nmodule.exports = { foo };\n\nmain();\n\n// In file 'b.js'\n\nconst a = require('./a');\n\nfunction goo() {\n  a.foo();\n}\n\nmodule.exports = { goo };\n```\n\nWhen `a.js` runs, an error of `TypeError: a.foo is not a function` thrown from `b.js`. But putting the line `const b = require('./b');` just after `module.exports = { foo };` resolves the problem:\n\n```diff\n// In file 'a.js'\n-\n-const b = require('./b');\n\nfunction main() {\n  b.goo();\n}\n\nfunction foo() {\n  console.log('lorem ipsum');\n}\n\nmodule.exports = { foo };\n+\n+const b = require('./b');\n\nmain();\n```\n\nThough, for a webpack generated file, the real exporting is always done in the end of it. Webpack collects all the exports into an internal variable `__webpack_exports__`, then exports it at last, which makes circular dependencies always break.\n\nMaking circular dependencies is a bad practice. But you might have to face them if using some libs that are popular but maintained since the early releases of NodeJS, like [jsdom](https://github.com/jsdom/jsdom). When this happens, please use the [externals](https://webpack.js.org/configuration/externals/) to leave the libs untouched.\n\n**<a name=\"known-limit-02\" href=\"#known-limit-02\">02:</a> Can't conditionally import not-yet-installed dependencies.**\n\nWebpack always detects and resolves import statements regardless of whether they run conditionally. Logics as below end up with the conditionally imported dependency `colorette` resolved:\n\n```js\nfunction print(message, color) {\n  if (typeof color === 'string') {\n    message = require('colorette')[color](message);\n  }\n  console.log(message);\n}\n```\n\nAs a result, conditionally importing any not-yet-installed dependency causes the compile-time error of `Module not found` in webpack. So, either, you need to make sure the conditionally imported dependency installed. Or, use the [externals](https://webpack.js.org/configuration/externals/) to leave it untouched.\n\n**<a name=\"known-limit-03\" href=\"#known-limit-03\">03:</a> Can't import `.node` files directly.**\n\nBy default, importing `.node` files causes the compile-time error of `Module parse failed` in webpack. Using [node-loader](http://github.com/webpack-contrib/node-loader) along with the plugin option [extentionMapping](#extentionmapping) as `{ '.node': '.js' }` resolves some very basic cases. But as the node-loader itself doesn't handle paths well, the practice is not recommeneded. Instead, you may use the [externals](https://webpack.js.org/configuration/externals/) to leave the JS files that use the `.node` files untouched.\n\n## Contributing\n\nPlease take a moment to read our contributing guidelines if you haven't yet done so.\n[CONTRIBUTING][contributing-url]\n\n## License\n\n[MIT][license-url]\n\n[npm]: https://img.shields.io/npm/v/transpile-webpack-plugin.svg\n[npm-url]: https://npmjs.com/package/transpile-webpack-plugin\n[node-url]: https://nodejs.org/\n[node]: https://img.shields.io/node/v/transpile-webpack-plugin.svg\n[download]: https://img.shields.io/npm/dw/transpile-webpack-plugin\n[license]: https://img.shields.io/github/license/licg9999/transpile-webpack-plugin\n[license-url]: https://github.com/licg9999/transpile-webpack-plugin/blob/master/LICENSE\n[size]: https://packagephobia.com/badge?p=transpile-webpack-plugin\n[size-url]: https://packagephobia.com/result?p=transpile-webpack-plugin\n[cicd]: https://github.com/licg9999/transpile-webpack-plugin/actions/workflows/verify-and-release.yml/badge.svg\n[cicd-url]: https://github.com/licg9999/transpile-webpack-plugin/actions/workflows/verify-and-release.yml\n[contributing-url]: https://github.com/licg9999/transpile-webpack-plugin/blob/master/CONTRIBUTING.md\n","readmeFilename":"README.md","gitHead":"785cb904b6a6ce8bbad135c143ecacb14114679a","_id":"transpile-webpack-plugin@1.1.2-beta.1","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"integrity":"sha512-ttf/D6x8HG6ExJs1uvPEumKNOnxlzWiW6mpXT/YMMNG56aHP7Y3kzdbnpf6cqftJdJJXjXvY/x4gEGu1PDjWLA==","shasum":"8ba0ccdb96c017870de6a65d0c485b495f2b21da","tarball":"https://registry.npmjs.org/transpile-webpack-plugin/-/transpile-webpack-plugin-1.1.2-beta.1.tgz","fileCount":100,"unpackedSize":122942,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC2zBH3dUSlqkr5OSOZWg5Lt37URZkfdYz6lyqbe6Re3gIgb4n3LJPsa3sNPT83n2UuwN8HvTCJguOPf+foVt2iNSA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkOTCTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoOGg//Zhixr6QbZGWX675mGUIqHLfe4zcge0R/IYq8sTqICiSW8Hiw\r\n7QKL6sblmaFcLB1TRyBNUBpjTaolCrtalQKKmHQqbONmHzfl+DwMZv2ZJVbG\r\nvP9jQGHVh4NaM6D5zr7dK0sfz2Q8x9rhCoOLCh4eTYbC0SWK5ZsgghC6Z9vC\r\nGIZb7cC3loGDxWJbqfMQqFhzziqlDGpMy+qzp+lLRA878FBbDQ7QW9N1HOyE\r\n3KB51upCnHxj0y/6QbrE7pl2AvcCXOPZsPWuJnumBuLtzWC0TrbaR1gjJRN9\r\nYR74zYaqWGcTQsXzHacX2JHvencMDGuZQScbhBmH+xj9ZwuMq9zdebhXOF9e\r\nDppdFHNgnJCAcREMzZXzsNP23A5hRoB8eh9n9X/i8XDYL2Wg93dWKh3uzl1u\r\nfDKpev/6PHbvcPZSoj7mH7/Kc0cXeTiDxL3CKHF/1rphdIyatZYUTqHk5PQK\r\nvhQUmEo+Z4r5ryO204sHxhRry6FUU32z0FGXlnfxK3z3bU+wwy4pvifF+lCW\r\nWIuJB0AMPuTnCIPdn9DClgflwkMrjE63pdu3A+hRrdX9lvS1uAED9rDVTRmF\r\nK62LB3mZF+6+ASpU3CayOHivr5OOlJrdQsxUnALdsFLtjxOGFQnbgHU7nF+3\r\nRLqRJLiobF/77bSVsLAB128Cii6yzqUmgyw=\r\n=7C0O\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"licg9999","email":"licg9999@126.com"},"directories":{},"maintainers":[{"name":"licg9999","email":"licg9999@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/transpile-webpack-plugin_1.1.2-beta.1_1681469587025_0.021295555218268092"},"_hasShrinkwrap":false},"1.1.2":{"name":"transpile-webpack-plugin","version":"1.1.2","license":"MIT","description":"Transpiles input files into output files individually without bundling together","keywords":["webpack","plugin","transpile","transpile-webpack-plugin"],"author":{"name":"Chungen Li","email":"licg9999@gmail.com","url":"https://github.com/licg9999"},"bugs":{"url":"https://github.com/licg9999/transpile-webpack-plugin/issues"},"homepage":"https://github.com/licg9999/transpile-webpack-plugin","repository":{"type":"git","url":"git+https://github.com/licg9999/transpile-webpack-plugin.git"},"engines":{"node":">=16"},"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc --project additional-configs/tsconfig.build.json","watch":"npm run build -- --watch","unittest":"cross-env JEST_TEST_PATH=src jest","e2e":"cross-env JEST_TEST_PATH=e2e jest --maxWorkers 1","lint-all":"run-p lint:*","lint:tsc":"tsc","lint:prettier":"node scripts/cross-dotenv-shell prettier --check FILE_GLOB","lint:eslint":"node scripts/cross-dotenv-shell eslint FILE_GLOB","fix-all":"run-s fix:*","fix:prettier":"node scripts/cross-dotenv-shell prettier --write FILE_GLOB","fix:eslint":"node scripts/cross-dotenv-shell eslint --fix FILE_GLOB"},"peerDependencies":{"webpack":"^5.61.0"},"dependencies":{"lodash":"^4.17.21","resolve":"^1.22.1","schema-utils":"^4.0.0"},"devDependencies":{"@commitlint/config-conventional":"^17.1.0","@trivago/prettier-plugin-sort-imports":"^3.4.0","@types/cross-spawn":"^6.0.2","@types/glob":"^8.0.0","@types/jest":"^28.1.8","@types/lodash":"^4.14.186","@types/node":"^18.11.9","@types/resolve":"^1.20.2","@types/uuid":"^8.3.4","@typescript-eslint/eslint-plugin":"^5.46.1","@typescript-eslint/parser":"^5.46.1","colorette":"^2.0.19","commander":"^9.4.1","cross-env":"^7.0.3","cross-spawn":"^7.0.3","dotenv":"^16.0.3","eslint":"^8.30.0","eslint-config-prettier":"^8.5.0","eslint-plugin-jest":"^27.1.7","glob":"^8.0.3","jest":"^28.1.3","jest-extended":"^3.1.0","npm-run-all":"^4.1.5","prettier":"^2.7.1","tree-kill":"^1.2.2","ts-jest":"^28.0.8","typescript":"^4.8.4","uuid":"^8.3.2","wait-for-expect":"^3.0.2"},"gitHead":"785cb904b6a6ce8bbad135c143ecacb14114679a","_id":"transpile-webpack-plugin@1.1.2","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"integrity":"sha512-0U3Ky8FxfTfFs1nWEO8d5P1wWDSjcWE3auOs4b5nMNH2eDvbLq2CYRNx/hE/0ADXFB/E5p37zNf2wZo4ckk0rA==","shasum":"153dc2a0b878732c3f5896c690dd2a42092bc24a","tarball":"https://registry.npmjs.org/transpile-webpack-plugin/-/transpile-webpack-plugin-1.1.2.tgz","fileCount":100,"unpackedSize":122935,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBlgiVNugkxH9ndcEGBAwVn3ExvlmW0w+vryX9tw+3CdAiEAvbbPuupIO+iZUx8vf23jByBhKEp9LkPjfgxGmXr6TA8="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkOTVzACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpZMhAAjcOLDdx4aLqXD3qkMU7e5tf1gR8z/oPjeIFIOqzX+2lcMw5j\r\nPQcbCgoBQsKxPZVBzt3hpHrKAR4nbOtdoiiE5PKYvf5nbfu6p3LBdQ64SgL9\r\niXsprDYEyKr9QrXmTluknAvffl+HyoBYi4ZlMmZm8pa/hhEtDQ8IkW2OLno1\r\nU+6XFL3FKjes9Py0W+nwyJTLlUsiIlYE1+oVKafb9rFK53GjikdV+A5e2fTb\r\nhFQRNsqBTFDCm8SIJtlU+64e/LjpJhQmHBu8+hDtpd3lB09Lbcyr2iw8VqgV\r\n3zfTAkyznSf+P5uveXZ683xo6wXkNg9T94vrF2BS+6Hjqg5Q9l3xCkG4gHkn\r\nSONSvGJS92lR0TL0SsEjTzJ5e1V0Zz7K9/XCn2zVIxzPdTAFD5yRj/7ODbfQ\r\nEmq+njn+1WJPxlS0oZhKRG1lTxQ6mvtceOGBdoynoF7ZahlNA4WXODHkE2PA\r\n1cZDGYGxEvkbe66uPa64dV2KaAHk+0IJaAPRjMhV3QNSI9lkhty5HPIDYj9Q\r\nMdfd/szCTYJeQdPKryYs66XHrkxcmWNB7w5B64kYBuPUtZb9FCrotDEpGVzT\r\nEV75BsrAQ0cG0GWtfIo1hg5sqoTPHBtrXSS4R1NlRoc0IqhcOEyZI92YEiCU\r\nAnuxS3WUEGmbrH3xUiF8xgK+omahHVRDNmU=\r\n=XyTw\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"licg9999","email":"licg9999@126.com"},"directories":{},"maintainers":[{"name":"licg9999","email":"licg9999@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/transpile-webpack-plugin_1.1.2_1681470835273_0.003499203061782641"},"_hasShrinkwrap":false},"1.1.3-alpha.1":{"name":"transpile-webpack-plugin","version":"1.1.3-alpha.1","license":"MIT","description":"Transpiles input files into output files individually without bundling together","keywords":["webpack","plugin","transpile","transpile-webpack-plugin"],"author":{"name":"Chungen Li","email":"licg9999@gmail.com","url":"https://github.com/licg9999"},"bugs":{"url":"https://github.com/licg9999/transpile-webpack-plugin/issues"},"homepage":"https://github.com/licg9999/transpile-webpack-plugin","repository":{"type":"git","url":"git+https://github.com/licg9999/transpile-webpack-plugin.git"},"engines":{"node":">=16"},"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc --project additional-configs/tsconfig.build.json","watch":"npm run build -- --watch","unittest":"cross-env JEST_TEST_PATH=src jest","e2e":"cross-env JEST_TEST_PATH=e2e jest --maxWorkers 1","lint-all":"run-p lint:*","lint:tsc":"tsc","lint:prettier":"node scripts/cross-dotenv-shell prettier --check FILE_GLOB","lint:eslint":"node scripts/cross-dotenv-shell eslint FILE_GLOB","fix-all":"run-s fix:*","fix:prettier":"node scripts/cross-dotenv-shell prettier --write FILE_GLOB","fix:eslint":"node scripts/cross-dotenv-shell eslint --fix FILE_GLOB","git-clean":"git clean -d -f -x -e node_modules -e package-lock.json"},"peerDependencies":{"webpack":"^5.61.0"},"dependencies":{"lodash":"^4.17.21","resolve":"^1.22.1","schema-utils":"^4.0.0"},"devDependencies":{"@commitlint/config-conventional":"^17.1.0","@trivago/prettier-plugin-sort-imports":"^3.4.0","@types/cross-spawn":"^6.0.2","@types/glob":"^8.0.0","@types/jest":"^28.1.8","@types/lodash":"^4.14.186","@types/node":"^18.11.9","@types/resolve":"^1.20.2","@types/uuid":"^8.3.4","@typescript-eslint/eslint-plugin":"^5.46.1","@typescript-eslint/parser":"^5.46.1","colorette":"^2.0.19","commander":"^9.4.1","cross-env":"^7.0.3","cross-spawn":"^7.0.3","dotenv":"^16.0.3","eslint":"^8.30.0","eslint-config-prettier":"^8.5.0","eslint-plugin-jest":"^27.1.7","glob":"^8.0.3","jest":"^28.1.3","jest-extended":"^3.1.0","npm-run-all":"^4.1.5","prettier":"^2.7.1","tree-kill":"^1.2.2","ts-jest":"^28.0.8","typescript":"^4.8.4","uuid":"^8.3.2","wait-for-expect":"^3.0.2"},"readme":"<div align=\"center\">\n  <a href=\"https://github.com/webpack/webpack\">\n    <img width=\"200\" height=\"200\" src=\"https://webpack.js.org/assets/icon-square-big.svg\">\n  </a>\n  <h1>Transpile Webpack Plugin</h1>\n</div>\n\n[![npm][npm]][npm-url]\n[![node][node]][node-url]\n[![download][download]][npm-url]\n[![license][license]][license-url]\n[![size][size]][size-url]\n[![cicd][cicd]][cicd-url]\n\n# Transpile Webpack Plugin\n\nThe webpack plugin that transpiles input files into output files individually without bundling together.\n\nInput files are collected from files directly or indirectly imported by the [entry](https://webpack.js.org/configuration/entry-context/#entry), then get compiled and ouputted keeping the same directory structure in the output directory.\n\nTranspiling with webpack is especially helpful when source file path based logics are involved, such as registering events in AWS Lambda, or migrations managing with Sequelize CLI.\n\nNotice that this plugin replies on features of webpack v5. The latest webpack is supposed to be used when possible.\n\n## Getting Started\n\nTo begin, you'll need to install `transpile-webpack-plugin`:\n\n```sh\nnpm i -D transpile-webpack-plugin\n```\n\nOr, any other package manager you prefer, like `yarn` or `pnpm`, would work, too.\n\nThen, add the plugin to your webpack config. For example:\n\n```js\nconst TranspilePlugin = require('transpile-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.js',\n  output: {\n    path: __dirname + '/dist',\n  },\n  plugins: [new TranspilePlugin(/* options */)],\n};\n```\n\nNow, assuming in the dir `src`, the entry file `src/index.js` imports another file `src/constants/greeting.js`:\n\n```sh\nsrc\n├── constants\n│   └── greeting.js\n└── index.js\n```\n\nWith the webpack config above, after compilation, output files will be:\n\n```sh\ndist\n├── constants\n│   └── greeting.js\n└── index.js\n```\n\nFiles `src/index.js` and `src/constants/greeting.js` are collected as input files. Then, the common dir of input files is used as the base dir to evaluate the relative paths of output files in the output dir `dist`, which results in output files `dist/index.js` and `dist/constants/greeting.js`.\n\nJust a reminder, if to run output files with NodeJS, don't forget to set the [target](https://webpack.js.org/configuration/target/) as `node` or a node-compatible value so that no breaking code is generated by webpack unexpectedly.\n\n## Blogs\n\n- [Server-side rendering for any React app on any FaaS provider - elaborating by a demo app of SSR with CRA on Netlify](https://github.com/licg9999/server-side-rendering-with-cra-on-netlify)\n- [Transpile Webpack Plugin: transpiling files with webpack without bundling](https://medium.com/@licg9999/introducing-transpile-webpack-plugin-b8c86c7b0a21) ([中文版本](https://segmentfault.com/a/1190000043177608))\n\n## Options\n\n- **[exclude](#exclude)**\n- **[hoistNodeModules](#hoistnodemodules)**\n- **[longestCommonDir](#longestcommondir)**\n- **[extentionMapping](#extentionmapping)**\n- **[preferResolveByDependencyAsCjs](#preferresolvebydependencyascjs)**\n\n### `exclude`\n\nType: `{string|RegExp|((p: string) => boolean)|string[]|RegExp[]|((p: string) => boolean)[]}`\n\nDefault: `[]`\n\nOption `exclude` indicates files to be excluded. It's similar to the [externals](https://webpack.js.org/configuration/externals/) except that the import paths to the excluded are properly adjusted automatically. It's useful when you copy some third-party files and want to use them as they are.\n\nThough, excluding `node_modules` with this option is not a good idea. Some helpers of webpack loaders have to be compiled before they become runnable. If you need to exclude dependencies in `node_modules`, using [webpack-node-externals](https://github.com/liady/webpack-node-externals) might be a better choice because it doesn't exclude helpers of webpack loaders.\n\nWith this option as a string (or strings), input files whose aboslute paths begin with it will be excluded. With this option as a regular expression (or regular expression), input files whose absolute paths match it will be excluded. With this option as a function (or functions), input files whose absolute paths are passed into the call of it and end up with `true` will be excluded.\n\n### `hoistNodeModules`\n\nType: `{boolean}`\n\nDefault: `true`\n\nOption `hoistNodeModules` indicates whether to evaluate output paths for input files inside or outside `node_modules` separately, then keep input files from `node_modules` outputted into `node_modules` just under the output dir. It's usable to flatten the output directory structure a little bit.\n\nGiven input files `src/index.js`, `node_modules/lodash/lodash.js` and the output dir `dist`, with this option `true`, output files will be `dist/index.js` and `dist/node_modules/lodash/lodash.js`. But with this option `false`, output files will be `dist/src/index.js` and `dist/node_modules/lodash/lodash.js`.\n\n### `longestCommonDir`\n\nType: `{string|undefined}`\n\nDefault: `undefined`\n\nOption `longestCommonDir` indicates the limit of the common dir to evaluate relative paths of output files in the output dir. When the dir that this option represents is the parent dir of the common dir of input files, this option is used against input files to evaluate relative paths of output files in the output dir. Otherwise, the common dir of input files is used.\n\nGiven input files `src/server/index.js`, `src/server/constants/greeting.js` and the output dir `dist`, with this option `undefined`, output files will be `dist/index.js` `dist/constants/greeting.js`. But with this option `'./src'`, output files will be `dist/server/index.js` `dist/server/constants/greeting.js`.\n\nThough, given input files `src/index.js`, `src/server/constants/greeting.js` and the output dir `dist`, with this option `'./src/server'`, output files will still be `dist/index.js` `dist/server/constants/greeting.js` because the dir that this options represents is not the parent dir of the common dir of input files.\n\n### `extentionMapping`\n\nType: `{Record<string, string>}`\n\nDefault: `{}`\n\nOption `extentionMapping` indicates how file extensions are mapped from the input to the output. By default, an output file will have exactly the same file extension as its input file. But you may change the behavior by this option. With this option `{ '.ts': '.js' }`, any input file with ext `.ts` will have the output file with ext `.js`.\n\n### `preferResolveByDependencyAsCjs`\n\nType: `boolean`\n\nDefault: `true`\n\nOptions `preferResolveByDependencyAsCjs` indicates whether to try to resolve dependencies by CommonJS [exports](https://nodejs.org/api/packages.html#conditional-exports) regardless of types of import statements. It's useful when the target is `node` because `.mjs` files are treated as ES modules in NodeJS and [can't be required](https://nodejs.org/api/esm.html#require) by webpack generated CommonJS files.\n\nGiven `{ \"exports\": { \"import\": \"index.mjs\", \"require\": \"index.cjs\" } }` in `package.json` of a dependency, with this option `true`, either `import` or `require` to this dependency will end up with `index.cjs` imported. While, with this option `false`, `import` ends up with `index.mjs` imported and `require` ends up with `index.cjs` imported (, which is the default behavior of webpack).\n\n## Known limits\n\n**<a name=\"known-limit-01\" href=\"#known-limit-01\">01:</a> Can't handle circular dependencies in the same way as NodeJS.**\n\nIn NodeJS, top-level logics in a file run exactly at the time when it's imported, which makes circular dependencies possible to work. Take an example of files `a.js` and `b.js`:\n\n```js\n// In file 'a.js'\nconst b = require('./b');\n\nfunction main() {\n  b.goo();\n}\n\nfunction foo() {\n  console.log('lorem ipsum');\n}\n\nmodule.exports = { foo };\n\nmain();\n\n// In file 'b.js'\n\nconst a = require('./a');\n\nfunction goo() {\n  a.foo();\n}\n\nmodule.exports = { goo };\n```\n\nWhen `a.js` runs, an error of `TypeError: a.foo is not a function` thrown from `b.js`. But putting the line `const b = require('./b');` just after `module.exports = { foo };` resolves the problem:\n\n```diff\n// In file 'a.js'\n-\n-const b = require('./b');\n\nfunction main() {\n  b.goo();\n}\n\nfunction foo() {\n  console.log('lorem ipsum');\n}\n\nmodule.exports = { foo };\n+\n+const b = require('./b');\n\nmain();\n```\n\nThough, for a webpack generated file, the real exporting is always done in the end of it. Webpack collects all the exports into an internal variable `__webpack_exports__`, then exports it at last, which makes circular dependencies always break.\n\nMaking circular dependencies is a bad practice. But you might have to face them if using some libs that are popular but maintained since the early releases of NodeJS, like [jsdom](https://github.com/jsdom/jsdom). When this happens, please use the [externals](https://webpack.js.org/configuration/externals/) to leave the libs untouched.\n\n**<a name=\"known-limit-02\" href=\"#known-limit-02\">02:</a> Can't conditionally import not-yet-installed dependencies.**\n\nWebpack always detects and resolves import statements regardless of whether they run conditionally. Logics as below end up with the conditionally imported dependency `colorette` resolved:\n\n```js\nfunction print(message, color) {\n  if (typeof color === 'string') {\n    message = require('colorette')[color](message);\n  }\n  console.log(message);\n}\n```\n\nAs a result, conditionally importing any not-yet-installed dependency causes the compile-time error of `Module not found` in webpack. So, either, you need to make sure the conditionally imported dependency installed. Or, use the [externals](https://webpack.js.org/configuration/externals/) to leave it untouched.\n\n**<a name=\"known-limit-03\" href=\"#known-limit-03\">03:</a> Can't import `.node` files directly.**\n\nBy default, importing `.node` files causes the compile-time error of `Module parse failed` in webpack. Using [node-loader](http://github.com/webpack-contrib/node-loader) along with the plugin option [extentionMapping](#extentionmapping) as `{ '.node': '.js' }` resolves some very basic cases. But as the node-loader itself doesn't handle paths well, the practice is not recommeneded. Instead, you may use the [externals](https://webpack.js.org/configuration/externals/) to leave the JS files that use the `.node` files untouched.\n\n## Contributing\n\nPlease take a moment to read our contributing guidelines if you haven't yet done so.\n[CONTRIBUTING][contributing-url]\n\n## License\n\n[MIT][license-url]\n\n[npm]: https://img.shields.io/npm/v/transpile-webpack-plugin.svg\n[npm-url]: https://npmjs.com/package/transpile-webpack-plugin\n[node-url]: https://nodejs.org/\n[node]: https://img.shields.io/node/v/transpile-webpack-plugin.svg\n[download]: https://img.shields.io/npm/dw/transpile-webpack-plugin\n[license]: https://img.shields.io/github/license/licg9999/transpile-webpack-plugin\n[license-url]: https://github.com/licg9999/transpile-webpack-plugin/blob/master/LICENSE\n[size]: https://packagephobia.com/badge?p=transpile-webpack-plugin\n[size-url]: https://packagephobia.com/result?p=transpile-webpack-plugin\n[cicd]: https://github.com/licg9999/transpile-webpack-plugin/actions/workflows/verify-and-release.yml/badge.svg\n[cicd-url]: https://github.com/licg9999/transpile-webpack-plugin/actions/workflows/verify-and-release.yml\n[contributing-url]: https://github.com/licg9999/transpile-webpack-plugin/blob/master/CONTRIBUTING.md\n","readmeFilename":"README.md","gitHead":"07b68a53cde6e3e848c7a675add02fa55fbae22b","_id":"transpile-webpack-plugin@1.1.3-alpha.1","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-5Mew+qcNH+BzYubCp6UM1e2iDu2lXhRdbihaGPtKxm4SI5RoR15BiPXcDnF6TPYVSEQehSaYoHLF268DTpvWDQ==","shasum":"03d0b35889a376f18cf3fcca1d2cd0940e4e907b","tarball":"https://registry.npmjs.org/transpile-webpack-plugin/-/transpile-webpack-plugin-1.1.3-alpha.1.tgz","fileCount":100,"unpackedSize":122995,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCAnKkKf1vTgiRHczITxVY6Xz+0IZDiOJ/2/aZTHeVQdgIgHqJGqcyeXkf/aiYowJMtqOLqqOLv6KQTgyYMrtVrf68="}]},"_npmUser":{"name":"licg9999","email":"licg9999@126.com"},"directories":{},"maintainers":[{"name":"licg9999","email":"licg9999@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/transpile-webpack-plugin_1.1.3-alpha.1_1683339626075_0.3750928878777322"},"_hasShrinkwrap":false},"1.1.3-beta.1":{"name":"transpile-webpack-plugin","version":"1.1.3-beta.1","license":"MIT","description":"Transpiles input files into output files individually without bundling together","keywords":["webpack","plugin","transpile","transpile-webpack-plugin"],"author":{"name":"Chungen Li","email":"licg9999@gmail.com","url":"https://github.com/licg9999"},"bugs":{"url":"https://github.com/licg9999/transpile-webpack-plugin/issues"},"homepage":"https://github.com/licg9999/transpile-webpack-plugin","repository":{"type":"git","url":"git+https://github.com/licg9999/transpile-webpack-plugin.git"},"engines":{"node":">=16"},"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc --project additional-configs/tsconfig.build.json","watch":"npm run build -- --watch","unittest":"cross-env JEST_TEST_PATH=src jest","e2e":"cross-env JEST_TEST_PATH=e2e jest --maxWorkers 1","lint-all":"run-p lint:*","lint:tsc":"tsc","lint:prettier":"node scripts/cross-dotenv-shell prettier --check FILE_GLOB","lint:eslint":"node scripts/cross-dotenv-shell eslint FILE_GLOB","fix-all":"run-s fix:*","fix:prettier":"node scripts/cross-dotenv-shell prettier --write FILE_GLOB","fix:eslint":"node scripts/cross-dotenv-shell eslint --fix FILE_GLOB","git-clean":"git clean -d -f -x -e node_modules -e package-lock.json"},"peerDependencies":{"webpack":"^5.61.0"},"dependencies":{"lodash":"^4.17.21","resolve":"^1.22.1","schema-utils":"^4.0.0"},"devDependencies":{"@commitlint/config-conventional":"^17.1.0","@trivago/prettier-plugin-sort-imports":"^3.4.0","@types/cross-spawn":"^6.0.2","@types/glob":"^8.0.0","@types/jest":"^28.1.8","@types/lodash":"^4.14.186","@types/node":"^18.11.9","@types/resolve":"^1.20.2","@types/uuid":"^8.3.4","@typescript-eslint/eslint-plugin":"^5.46.1","@typescript-eslint/parser":"^5.46.1","colorette":"^2.0.19","commander":"^9.4.1","cross-env":"^7.0.3","cross-spawn":"^7.0.3","dotenv":"^16.0.3","eslint":"^8.30.0","eslint-config-prettier":"^8.5.0","eslint-plugin-jest":"^27.1.7","glob":"^8.0.3","jest":"^28.1.3","jest-extended":"^3.1.0","npm-run-all":"^4.1.5","prettier":"^2.7.1","tree-kill":"^1.2.2","ts-jest":"^28.0.8","typescript":"^4.8.4","uuid":"^8.3.2","wait-for-expect":"^3.0.2"},"readme":"<div align=\"center\">\n  <a href=\"https://github.com/webpack/webpack\">\n    <img width=\"200\" height=\"200\" src=\"https://webpack.js.org/assets/icon-square-big.svg\">\n  </a>\n  <h1>Transpile Webpack Plugin</h1>\n</div>\n\n[![npm][npm]][npm-url]\n[![node][node]][node-url]\n[![download][download]][npm-url]\n[![license][license]][license-url]\n[![size][size]][size-url]\n[![cicd][cicd]][cicd-url]\n\n# Transpile Webpack Plugin\n\nThe webpack plugin that transpiles input files into output files individually without bundling together.\n\nInput files are collected from files directly or indirectly imported by the [entry](https://webpack.js.org/configuration/entry-context/#entry), then get compiled and ouputted keeping the same directory structure in the output directory.\n\nTranspiling with webpack is especially helpful when source file path based logics are involved, such as registering events in AWS Lambda, or migrations managing with Sequelize CLI.\n\nNotice that this plugin replies on features of webpack v5. The latest webpack is supposed to be used when possible.\n\n## Getting Started\n\nTo begin, you'll need to install `transpile-webpack-plugin`:\n\n```sh\nnpm i -D transpile-webpack-plugin\n```\n\nOr, any other package manager you prefer, like `yarn` or `pnpm`, would work, too.\n\nThen, add the plugin to your webpack config. For example:\n\n```js\nconst TranspilePlugin = require('transpile-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.js',\n  output: {\n    path: __dirname + '/dist',\n  },\n  plugins: [new TranspilePlugin(/* options */)],\n};\n```\n\nNow, assuming in the dir `src`, the entry file `src/index.js` imports another file `src/constants/greeting.js`:\n\n```sh\nsrc\n├── constants\n│   └── greeting.js\n└── index.js\n```\n\nWith the webpack config above, after compilation, output files will be:\n\n```sh\ndist\n├── constants\n│   └── greeting.js\n└── index.js\n```\n\nFiles `src/index.js` and `src/constants/greeting.js` are collected as input files. Then, the common dir of input files is used as the base dir to evaluate the relative paths of output files in the output dir `dist`, which results in output files `dist/index.js` and `dist/constants/greeting.js`.\n\nJust a reminder, if to run output files with NodeJS, don't forget to set the [target](https://webpack.js.org/configuration/target/) as `node` or a node-compatible value so that no breaking code is generated by webpack unexpectedly.\n\n## Blogs\n\n- [Server-side rendering for any React app on any FaaS provider - elaborating by a demo app of SSR with CRA on Netlify](https://github.com/licg9999/server-side-rendering-with-cra-on-netlify)\n- [Transpile Webpack Plugin: transpiling files with webpack without bundling](https://medium.com/@licg9999/introducing-transpile-webpack-plugin-b8c86c7b0a21) ([中文版本](https://segmentfault.com/a/1190000043177608))\n\n## Options\n\n- **[exclude](#exclude)**\n- **[hoistNodeModules](#hoistnodemodules)**\n- **[longestCommonDir](#longestcommondir)**\n- **[extentionMapping](#extentionmapping)**\n- **[preferResolveByDependencyAsCjs](#preferresolvebydependencyascjs)**\n\n### `exclude`\n\nType: `{string|RegExp|((p: string) => boolean)|string[]|RegExp[]|((p: string) => boolean)[]}`\n\nDefault: `[]`\n\nOption `exclude` indicates files to be excluded. It's similar to the [externals](https://webpack.js.org/configuration/externals/) except that the import paths to the excluded are properly adjusted automatically. It's useful when you copy some third-party files and want to use them as they are.\n\nThough, excluding `node_modules` with this option is not a good idea. Some helpers of webpack loaders have to be compiled before they become runnable. If you need to exclude dependencies in `node_modules`, using [webpack-node-externals](https://github.com/liady/webpack-node-externals) might be a better choice because it doesn't exclude helpers of webpack loaders.\n\nWith this option as a string (or strings), input files whose aboslute paths begin with it will be excluded. With this option as a regular expression (or regular expression), input files whose absolute paths match it will be excluded. With this option as a function (or functions), input files whose absolute paths are passed into the call of it and end up with `true` will be excluded.\n\n### `hoistNodeModules`\n\nType: `{boolean}`\n\nDefault: `true`\n\nOption `hoistNodeModules` indicates whether to evaluate output paths for input files inside or outside `node_modules` separately, then keep input files from `node_modules` outputted into `node_modules` just under the output dir. It's usable to flatten the output directory structure a little bit.\n\nGiven input files `src/index.js`, `node_modules/lodash/lodash.js` and the output dir `dist`, with this option `true`, output files will be `dist/index.js` and `dist/node_modules/lodash/lodash.js`. But with this option `false`, output files will be `dist/src/index.js` and `dist/node_modules/lodash/lodash.js`.\n\n### `longestCommonDir`\n\nType: `{string|undefined}`\n\nDefault: `undefined`\n\nOption `longestCommonDir` indicates the limit of the common dir to evaluate relative paths of output files in the output dir. When the dir that this option represents is the parent dir of the common dir of input files, this option is used against input files to evaluate relative paths of output files in the output dir. Otherwise, the common dir of input files is used.\n\nGiven input files `src/server/index.js`, `src/server/constants/greeting.js` and the output dir `dist`, with this option `undefined`, output files will be `dist/index.js` `dist/constants/greeting.js`. But with this option `'./src'`, output files will be `dist/server/index.js` `dist/server/constants/greeting.js`.\n\nThough, given input files `src/index.js`, `src/server/constants/greeting.js` and the output dir `dist`, with this option `'./src/server'`, output files will still be `dist/index.js` `dist/server/constants/greeting.js` because the dir that this options represents is not the parent dir of the common dir of input files.\n\n### `extentionMapping`\n\nType: `{Record<string, string>}`\n\nDefault: `{}`\n\nOption `extentionMapping` indicates how file extensions are mapped from the input to the output. By default, an output file will have exactly the same file extension as its input file. But you may change the behavior by this option. With this option `{ '.ts': '.js' }`, any input file with ext `.ts` will have the output file with ext `.js`.\n\n### `preferResolveByDependencyAsCjs`\n\nType: `boolean`\n\nDefault: `true`\n\nOptions `preferResolveByDependencyAsCjs` indicates whether to try to resolve dependencies by CommonJS [exports](https://nodejs.org/api/packages.html#conditional-exports) regardless of types of import statements. It's useful when the target is `node` because `.mjs` files are treated as ES modules in NodeJS and [can't be required](https://nodejs.org/api/esm.html#require) by webpack generated CommonJS files.\n\nGiven `{ \"exports\": { \"import\": \"index.mjs\", \"require\": \"index.cjs\" } }` in `package.json` of a dependency, with this option `true`, either `import` or `require` to this dependency will end up with `index.cjs` imported. While, with this option `false`, `import` ends up with `index.mjs` imported and `require` ends up with `index.cjs` imported (, which is the default behavior of webpack).\n\n## Known limits\n\n**<a name=\"known-limit-01\" href=\"#known-limit-01\">01:</a> Can't handle circular dependencies in the same way as NodeJS.**\n\nIn NodeJS, top-level logics in a file run exactly at the time when it's imported, which makes circular dependencies possible to work. Take an example of files `a.js` and `b.js`:\n\n```js\n// In file 'a.js'\nconst b = require('./b');\n\nfunction main() {\n  b.goo();\n}\n\nfunction foo() {\n  console.log('lorem ipsum');\n}\n\nmodule.exports = { foo };\n\nmain();\n\n// In file 'b.js'\n\nconst a = require('./a');\n\nfunction goo() {\n  a.foo();\n}\n\nmodule.exports = { goo };\n```\n\nWhen `a.js` runs, an error of `TypeError: a.foo is not a function` thrown from `b.js`. But putting the line `const b = require('./b');` just after `module.exports = { foo };` resolves the problem:\n\n```diff\n// In file 'a.js'\n-\n-const b = require('./b');\n\nfunction main() {\n  b.goo();\n}\n\nfunction foo() {\n  console.log('lorem ipsum');\n}\n\nmodule.exports = { foo };\n+\n+const b = require('./b');\n\nmain();\n```\n\nThough, for a webpack generated file, the real exporting is always done in the end of it. Webpack collects all the exports into an internal variable `__webpack_exports__`, then exports it at last, which makes circular dependencies always break.\n\nMaking circular dependencies is a bad practice. But you might have to face them if using some libs that are popular but maintained since the early releases of NodeJS, like [jsdom](https://github.com/jsdom/jsdom). When this happens, please use the [externals](https://webpack.js.org/configuration/externals/) to leave the libs untouched.\n\n**<a name=\"known-limit-02\" href=\"#known-limit-02\">02:</a> Can't conditionally import not-yet-installed dependencies.**\n\nWebpack always detects and resolves import statements regardless of whether they run conditionally. Logics as below end up with the conditionally imported dependency `colorette` resolved:\n\n```js\nfunction print(message, color) {\n  if (typeof color === 'string') {\n    message = require('colorette')[color](message);\n  }\n  console.log(message);\n}\n```\n\nAs a result, conditionally importing any not-yet-installed dependency causes the compile-time error of `Module not found` in webpack. So, either, you need to make sure the conditionally imported dependency installed. Or, use the [externals](https://webpack.js.org/configuration/externals/) to leave it untouched.\n\n**<a name=\"known-limit-03\" href=\"#known-limit-03\">03:</a> Can't import `.node` files directly.**\n\nBy default, importing `.node` files causes the compile-time error of `Module parse failed` in webpack. Using [node-loader](http://github.com/webpack-contrib/node-loader) along with the plugin option [extentionMapping](#extentionmapping) as `{ '.node': '.js' }` resolves some very basic cases. But as the node-loader itself doesn't handle paths well, the practice is not recommeneded. Instead, you may use the [externals](https://webpack.js.org/configuration/externals/) to leave the JS files that use the `.node` files untouched.\n\n## Contributing\n\nPlease take a moment to read our contributing guidelines if you haven't yet done so.\n[CONTRIBUTING][contributing-url]\n\n## License\n\n[MIT][license-url]\n\n[npm]: https://img.shields.io/npm/v/transpile-webpack-plugin.svg\n[npm-url]: https://npmjs.com/package/transpile-webpack-plugin\n[node-url]: https://nodejs.org/\n[node]: https://img.shields.io/node/v/transpile-webpack-plugin.svg\n[download]: https://img.shields.io/npm/dw/transpile-webpack-plugin\n[license]: https://img.shields.io/github/license/licg9999/transpile-webpack-plugin\n[license-url]: https://github.com/licg9999/transpile-webpack-plugin/blob/master/LICENSE\n[size]: https://packagephobia.com/badge?p=transpile-webpack-plugin\n[size-url]: https://packagephobia.com/result?p=transpile-webpack-plugin\n[cicd]: https://github.com/licg9999/transpile-webpack-plugin/actions/workflows/verify-and-release.yml/badge.svg\n[cicd-url]: https://github.com/licg9999/transpile-webpack-plugin/actions/workflows/verify-and-release.yml\n[contributing-url]: https://github.com/licg9999/transpile-webpack-plugin/blob/master/CONTRIBUTING.md\n","readmeFilename":"README.md","gitHead":"07b68a53cde6e3e848c7a675add02fa55fbae22b","_id":"transpile-webpack-plugin@1.1.3-beta.1","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-odyq/OIvJJYqKmQW/GZLqgD6OhOnwshIh7pUO7xH5EcZ1MtEyqy/t6nOQpEou/wpWIzFbIxrZ5VRJvbJQGojlQ==","shasum":"08d65716d346bf3da7825ac84f030e92f8c18e5f","tarball":"https://registry.npmjs.org/transpile-webpack-plugin/-/transpile-webpack-plugin-1.1.3-beta.1.tgz","fileCount":100,"unpackedSize":122994,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCca+BOakCiBOTu8dXEpM573Y/SXz9fP1VQdfSXgNZ5mAIgQWMos2f3HEVqJd2NE8xn4H/QCmUfAZ/uSeRCUqaqQc4="}]},"_npmUser":{"name":"licg9999","email":"licg9999@126.com"},"directories":{},"maintainers":[{"name":"licg9999","email":"licg9999@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/transpile-webpack-plugin_1.1.3-beta.1_1683340953277_0.4634839225309897"},"_hasShrinkwrap":false},"1.1.3":{"name":"transpile-webpack-plugin","version":"1.1.3","license":"MIT","description":"Transpiles input files into output files individually without bundling together","keywords":["webpack","plugin","transpile","transpile-webpack-plugin"],"author":{"name":"Chungen Li","email":"licg9999@gmail.com","url":"https://github.com/licg9999"},"bugs":{"url":"https://github.com/licg9999/transpile-webpack-plugin/issues"},"homepage":"https://github.com/licg9999/transpile-webpack-plugin","repository":{"type":"git","url":"git+https://github.com/licg9999/transpile-webpack-plugin.git"},"engines":{"node":">=16"},"main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc --project additional-configs/tsconfig.build.json","watch":"npm run build -- --watch","unittest":"cross-env JEST_TEST_PATH=src jest","e2e":"cross-env JEST_TEST_PATH=e2e jest --maxWorkers 1","lint-all":"run-p lint:*","lint:tsc":"tsc","lint:prettier":"node scripts/cross-dotenv-shell prettier --check FILE_GLOB","lint:eslint":"node scripts/cross-dotenv-shell eslint FILE_GLOB","fix-all":"run-s fix:*","fix:prettier":"node scripts/cross-dotenv-shell prettier --write FILE_GLOB","fix:eslint":"node scripts/cross-dotenv-shell eslint --fix FILE_GLOB","git-clean":"git clean -d -f -x -e node_modules -e package-lock.json"},"peerDependencies":{"webpack":"^5.61.0"},"dependencies":{"lodash":"^4.17.21","resolve":"^1.22.1","schema-utils":"^4.0.0"},"devDependencies":{"@commitlint/config-conventional":"^17.1.0","@trivago/prettier-plugin-sort-imports":"^3.4.0","@types/cross-spawn":"^6.0.2","@types/glob":"^8.0.0","@types/jest":"^28.1.8","@types/lodash":"^4.14.186","@types/node":"^18.11.9","@types/resolve":"^1.20.2","@types/uuid":"^8.3.4","@typescript-eslint/eslint-plugin":"^5.46.1","@typescript-eslint/parser":"^5.46.1","colorette":"^2.0.19","commander":"^9.4.1","cross-env":"^7.0.3","cross-spawn":"^7.0.3","dotenv":"^16.0.3","eslint":"^8.30.0","eslint-config-prettier":"^8.5.0","eslint-plugin-jest":"^27.1.7","glob":"^8.0.3","jest":"^28.1.3","jest-extended":"^3.1.0","npm-run-all":"^4.1.5","prettier":"^2.7.1","tree-kill":"^1.2.2","ts-jest":"^28.0.8","typescript":"^4.8.4","uuid":"^8.3.2","wait-for-expect":"^3.0.2"},"gitHead":"04b8129d5031583f00b3831f32d394241669f14e","_id":"transpile-webpack-plugin@1.1.3","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-E2yI/6T6GiHPbLzZDQ1WTtqwLLgPbFo9+7dOX8a6RLDIfitpfn2yjTQXcv3Nbj6vB8m2rPyIr9vF7xpymr2PHA==","shasum":"7f575ce8adc83b54ca55f818d95b1683a86cea08","tarball":"https://registry.npmjs.org/transpile-webpack-plugin/-/transpile-webpack-plugin-1.1.3.tgz","fileCount":100,"unpackedSize":123011,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDzO+LazTiLY2t8GWXiXMwtnN4VS+ZAqwQxmVFZJEJAwwIgJgMpBXyAEkRwdhGAnUTAiVJakACemsDfOdD/hZm2OKw="}]},"_npmUser":{"name":"licg9999","email":"licg9999@126.com"},"directories":{},"maintainers":[{"name":"licg9999","email":"licg9999@126.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/transpile-webpack-plugin_1.1.3_1684316925737_0.6812213393660642"},"_hasShrinkwrap":false}},"time":{"created":"2022-12-17T16:07:19.351Z","1.0.0-alpha.1":"2022-12-17T16:07:19.553Z","modified":"2023-05-17T09:48:46.055Z","1.0.0-beta.1":"2022-12-17T16:19:30.665Z","1.0.0":"2022-12-18T15:16:20.463Z","1.0.1-alpha.1":"2022-12-18T15:35:07.321Z","1.0.1-beta.1":"2022-12-18T15:42:42.948Z","1.0.1":"2022-12-18T15:51:26.600Z","1.0.2-alpha.1":"2022-12-20T10:01:14.146Z","1.0.2-alpha.2":"2022-12-20T12:59:00.476Z","1.0.2-beta.1":"2022-12-21T13:11:09.815Z","1.0.2":"2022-12-21T13:21:07.597Z","1.0.3-alpha.1":"2022-12-22T10:06:43.936Z","1.0.3":"2022-12-22T14:27:13.577Z","1.0.4-alpha.1":"2022-12-24T02:39:50.035Z","1.0.4":"2022-12-24T03:07:12.337Z","1.1.0-alpha.1":"2022-12-26T11:54:44.383Z","1.1.0":"2022-12-26T12:55:35.011Z","1.1.1-alpha.1":"2023-01-06T09:46:55.197Z","1.1.1-alpha.2":"2023-01-06T15:48:31.992Z","1.1.1":"2023-01-08T13:06:12.260Z","1.1.2-alpha.1":"2023-04-14T10:04:08.375Z","1.1.2-beta.1":"2023-04-14T10:53:07.223Z","1.1.2":"2023-04-14T11:13:55.448Z","1.1.3-alpha.1":"2023-05-06T02:20:26.310Z","1.1.3-beta.1":"2023-05-06T02:42:33.471Z","1.1.3":"2023-05-17T09:48:45.939Z"},"maintainers":[{"name":"licg9999","email":"licg9999@126.com"}],"homepage":"https://github.com/licg9999/transpile-webpack-plugin","keywords":["webpack","plugin","transpile","transpile-webpack-plugin"],"repository":{"type":"git","url":"git+https://github.com/licg9999/transpile-webpack-plugin.git"},"author":{"name":"Chungen Li","email":"licg9999@gmail.com","url":"https://github.com/licg9999"},"bugs":{"url":"https://github.com/licg9999/transpile-webpack-plugin/issues"},"license":"MIT","readme":"<div align=\"center\">\n  <a href=\"https://github.com/webpack/webpack\">\n    <img width=\"200\" height=\"200\" src=\"https://webpack.js.org/assets/icon-square-big.svg\">\n  </a>\n  <h1>Transpile Webpack Plugin</h1>\n</div>\n\n[![npm][npm]][npm-url]\n[![node][node]][node-url]\n[![download][download]][npm-url]\n[![license][license]][license-url]\n[![size][size]][size-url]\n[![cicd][cicd]][cicd-url]\n\n# Transpile Webpack Plugin\n\nThe webpack plugin that transpiles input files into output files individually without bundling together.\n\nInput files are collected from files directly or indirectly imported by the [entry](https://webpack.js.org/configuration/entry-context/#entry), then get compiled and ouputted keeping the same directory structure in the output directory.\n\nTranspiling with webpack is especially helpful when source file path based logics are involved, such as registering events in AWS Lambda, or migrations managing with Sequelize CLI.\n\nNotice that this plugin replies on features of webpack v5. The latest webpack is supposed to be used when possible.\n\n## Getting Started\n\nTo begin, you'll need to install `transpile-webpack-plugin`:\n\n```sh\nnpm i -D transpile-webpack-plugin\n```\n\nOr, any other package manager you prefer, like `yarn` or `pnpm`, would work, too.\n\nThen, add the plugin to your webpack config. For example:\n\n```js\nconst TranspilePlugin = require('transpile-webpack-plugin');\n\nmodule.exports = {\n  entry: './src/index.js',\n  output: {\n    path: __dirname + '/dist',\n  },\n  plugins: [new TranspilePlugin(/* options */)],\n};\n```\n\nNow, assuming in the dir `src`, the entry file `src/index.js` imports another file `src/constants/greeting.js`:\n\n```sh\nsrc\n├── constants\n│   └── greeting.js\n└── index.js\n```\n\nWith the webpack config above, after compilation, output files will be:\n\n```sh\ndist\n├── constants\n│   └── greeting.js\n└── index.js\n```\n\nFiles `src/index.js` and `src/constants/greeting.js` are collected as input files. Then, the common dir of input files is used as the base dir to evaluate the relative paths of output files in the output dir `dist`, which results in output files `dist/index.js` and `dist/constants/greeting.js`.\n\nJust a reminder, if to run output files with NodeJS, don't forget to set the [target](https://webpack.js.org/configuration/target/) as `node` or a node-compatible value so that no breaking code is generated by webpack unexpectedly.\n\n## Blogs\n\n- [Server-side rendering for any React app on any FaaS provider - elaborating by a demo app of SSR with CRA on Netlify](https://github.com/licg9999/server-side-rendering-with-cra-on-netlify)\n- [Transpile Webpack Plugin: transpiling files with webpack without bundling](https://medium.com/@licg9999/introducing-transpile-webpack-plugin-b8c86c7b0a21) ([中文版本](https://segmentfault.com/a/1190000043177608))\n\n## Options\n\n- **[exclude](#exclude)**\n- **[hoistNodeModules](#hoistnodemodules)**\n- **[longestCommonDir](#longestcommondir)**\n- **[extentionMapping](#extentionmapping)**\n- **[preferResolveByDependencyAsCjs](#preferresolvebydependencyascjs)**\n\n### `exclude`\n\nType: `{string|RegExp|((p: string) => boolean)|string[]|RegExp[]|((p: string) => boolean)[]}`\n\nDefault: `[]`\n\nOption `exclude` indicates files to be excluded. It's similar to the [externals](https://webpack.js.org/configuration/externals/) except that the import paths to the excluded are properly adjusted automatically. It's useful when you copy some third-party files and want to use them as they are.\n\nThough, excluding `node_modules` with this option is not a good idea. Some helpers of webpack loaders have to be compiled before they become runnable. If you need to exclude dependencies in `node_modules`, using [webpack-node-externals](https://github.com/liady/webpack-node-externals) might be a better choice because it doesn't exclude helpers of webpack loaders.\n\nWith this option as a string (or strings), input files whose aboslute paths begin with it will be excluded. With this option as a regular expression (or regular expression), input files whose absolute paths match it will be excluded. With this option as a function (or functions), input files whose absolute paths are passed into the call of it and end up with `true` will be excluded.\n\n### `hoistNodeModules`\n\nType: `{boolean}`\n\nDefault: `true`\n\nOption `hoistNodeModules` indicates whether to evaluate output paths for input files inside or outside `node_modules` separately, then keep input files from `node_modules` outputted into `node_modules` just under the output dir. It's usable to flatten the output directory structure a little bit.\n\nGiven input files `src/index.js`, `node_modules/lodash/lodash.js` and the output dir `dist`, with this option `true`, output files will be `dist/index.js` and `dist/node_modules/lodash/lodash.js`. But with this option `false`, output files will be `dist/src/index.js` and `dist/node_modules/lodash/lodash.js`.\n\n### `longestCommonDir`\n\nType: `{string|undefined}`\n\nDefault: `undefined`\n\nOption `longestCommonDir` indicates the limit of the common dir to evaluate relative paths of output files in the output dir. When the dir that this option represents is the parent dir of the common dir of input files, this option is used against input files to evaluate relative paths of output files in the output dir. Otherwise, the common dir of input files is used.\n\nGiven input files `src/server/index.js`, `src/server/constants/greeting.js` and the output dir `dist`, with this option `undefined`, output files will be `dist/index.js` `dist/constants/greeting.js`. But with this option `'./src'`, output files will be `dist/server/index.js` `dist/server/constants/greeting.js`.\n\nThough, given input files `src/index.js`, `src/server/constants/greeting.js` and the output dir `dist`, with this option `'./src/server'`, output files will still be `dist/index.js` `dist/server/constants/greeting.js` because the dir that this options represents is not the parent dir of the common dir of input files.\n\n### `extentionMapping`\n\nType: `{Record<string, string>}`\n\nDefault: `{}`\n\nOption `extentionMapping` indicates how file extensions are mapped from the input to the output. By default, an output file will have exactly the same file extension as its input file. But you may change the behavior by this option. With this option `{ '.ts': '.js' }`, any input file with ext `.ts` will have the output file with ext `.js`.\n\n### `preferResolveByDependencyAsCjs`\n\nType: `boolean`\n\nDefault: `true`\n\nOptions `preferResolveByDependencyAsCjs` indicates whether to try to resolve dependencies by CommonJS [exports](https://nodejs.org/api/packages.html#conditional-exports) regardless of types of import statements. It's useful when the target is `node` because `.mjs` files are treated as ES modules in NodeJS and [can't be required](https://nodejs.org/api/esm.html#require) by webpack generated CommonJS files.\n\nGiven `{ \"exports\": { \"import\": \"index.mjs\", \"require\": \"index.cjs\" } }` in `package.json` of a dependency, with this option `true`, either `import` or `require` to this dependency will end up with `index.cjs` imported. While, with this option `false`, `import` ends up with `index.mjs` imported and `require` ends up with `index.cjs` imported (, which is the default behavior of webpack).\n\n## Known limits\n\n**<a name=\"known-limit-01\" href=\"#known-limit-01\">01:</a> Can't handle circular dependencies in the same way as NodeJS.**\n\nIn NodeJS, top-level logics in a file run exactly at the time when it's imported, which makes circular dependencies possible to work. Take an example of files `a.js` and `b.js`:\n\n```js\n// In file 'a.js'\nconst b = require('./b');\n\nfunction main() {\n  b.goo();\n}\n\nfunction foo() {\n  console.log('lorem ipsum');\n}\n\nmodule.exports = { foo };\n\nmain();\n\n// In file 'b.js'\n\nconst a = require('./a');\n\nfunction goo() {\n  a.foo();\n}\n\nmodule.exports = { goo };\n```\n\nWhen `a.js` runs, an error of `TypeError: a.foo is not a function` thrown from `b.js`. But putting the line `const b = require('./b');` just after `module.exports = { foo };` resolves the problem:\n\n```diff\n// In file 'a.js'\n-\n-const b = require('./b');\n\nfunction main() {\n  b.goo();\n}\n\nfunction foo() {\n  console.log('lorem ipsum');\n}\n\nmodule.exports = { foo };\n+\n+const b = require('./b');\n\nmain();\n```\n\nThough, for a webpack generated file, the real exporting is always done in the end of it. Webpack collects all the exports into an internal variable `__webpack_exports__`, then exports it at last, which makes circular dependencies always break.\n\nMaking circular dependencies is a bad practice. But you might have to face them if using some libs that are popular but maintained since the early releases of NodeJS, like [jsdom](https://github.com/jsdom/jsdom). When this happens, please use the [externals](https://webpack.js.org/configuration/externals/) to leave the libs untouched.\n\n**<a name=\"known-limit-02\" href=\"#known-limit-02\">02:</a> Can't conditionally import not-yet-installed dependencies.**\n\nWebpack always detects and resolves import statements regardless of whether they run conditionally. Logics as below end up with the conditionally imported dependency `colorette` resolved:\n\n```js\nfunction print(message, color) {\n  if (typeof color === 'string') {\n    message = require('colorette')[color](message);\n  }\n  console.log(message);\n}\n```\n\nAs a result, conditionally importing any not-yet-installed dependency causes the compile-time error of `Module not found` in webpack. So, either, you need to make sure the conditionally imported dependency installed. Or, use the [externals](https://webpack.js.org/configuration/externals/) to leave it untouched.\n\n**<a name=\"known-limit-03\" href=\"#known-limit-03\">03:</a> Can't import `.node` files directly.**\n\nBy default, importing `.node` files causes the compile-time error of `Module parse failed` in webpack. Using [node-loader](http://github.com/webpack-contrib/node-loader) along with the plugin option [extentionMapping](#extentionmapping) as `{ '.node': '.js' }` resolves some very basic cases. But as the node-loader itself doesn't handle paths well, the practice is not recommeneded. Instead, you may use the [externals](https://webpack.js.org/configuration/externals/) to leave the JS files that use the `.node` files untouched.\n\n## Contributing\n\nPlease take a moment to read our contributing guidelines if you haven't yet done so.\n[CONTRIBUTING][contributing-url]\n\n## License\n\n[MIT][license-url]\n\n[npm]: https://img.shields.io/npm/v/transpile-webpack-plugin.svg\n[npm-url]: https://npmjs.com/package/transpile-webpack-plugin\n[node-url]: https://nodejs.org/\n[node]: https://img.shields.io/node/v/transpile-webpack-plugin.svg\n[download]: https://img.shields.io/npm/dw/transpile-webpack-plugin\n[license]: https://img.shields.io/github/license/licg9999/transpile-webpack-plugin\n[license-url]: https://github.com/licg9999/transpile-webpack-plugin/blob/master/LICENSE\n[size]: https://packagephobia.com/badge?p=transpile-webpack-plugin\n[size-url]: https://packagephobia.com/result?p=transpile-webpack-plugin\n[cicd]: https://github.com/licg9999/transpile-webpack-plugin/actions/workflows/verify-and-release.yml/badge.svg\n[cicd-url]: https://github.com/licg9999/transpile-webpack-plugin/actions/workflows/verify-and-release.yml\n[contributing-url]: https://github.com/licg9999/transpile-webpack-plugin/blob/master/CONTRIBUTING.md\n","readmeFilename":"README.md","description":"Transpiles input files into output files individually without bundling together"}