{"_id":"@cherishtao/vite-plugin-langspack2","name":"@cherishtao/vite-plugin-langspack2","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.1":{"name":"@cherishtao/vite-plugin-langspack2","version":"0.1.1","keywords":["vue3","vite","plugin","i18n","locales"],"author":{"name":"cherish"},"license":"MIT","bugs":{"url":"https://github.com/CherishMvp/vite-plugin-langspack/issues"},"homepage":"https://github.com/CherishMvp/vite-plugin-langspack","main":"./dist/vite-plugin-langspack.umd.js","module":"./dist/vite-plugin-langspack.es.js","exports":{".":{"import":"./dist/vite-plugin-langspack.es.js","require":"./dist/vite-plugin-langspack.umd.js"}},"private":false,"scripts":{"dev":"vite","build":"vue-tsc --noEmit && vite build","demo":"vue-tsc --noEmit && vite build --mode demo","publish":"npm publish --access public","preview":"vite preview","report":"cross-env REPORT=true npm run build","lint:eslint":"eslint --cache --max-warnings 0  \"{src,mock}/**/*.{vue,ts,tsx}\" --fix","lint:prettier":"prettier --write  \"src/**/*.{js,json,tsx,css,less,scss,vue,html,md}\"","lint:stylelint":"stylelint --cache --fix \"**/*.{less,postcss,css,scss}\" --cache --cache-location node_modules/.cache/stylelint/","lint:lint-staged":"lint-staged -c ./.husky/lintstagedrc.js","prepare":"husky install"},"dependencies":{"axios":"^0.26.1","vue":"^3.2.31"},"devDependencies":{"@commitlint/cli":"^16.2.1","@commitlint/config-conventional":"^16.2.1","@types/node":"^17.0.19","@typescript-eslint/eslint-plugin":"^5.12.1","@typescript-eslint/parser":"^5.12.1","@vitejs/plugin-vue":"^2.2.2","@vue/compiler-sfc":"^3.2.31","cz-conventional-changelog":"^3.3.0","eslint":"^8.9.0","eslint-define-config":"^1.2.5","eslint-plugin-vue":"^8.5.0","husky":"^7.0.4","lint-staged":"^12.3.4","prettier":"^2.5.1","rollup":"^2.68.0","rollup-plugin-visualizer":"^5.5.4","stylelint":"^14.5.2","stylelint-config-standard":"^25.0.0","typescript":"^4.5.5","unplugin-vue-components":"^0.17.20","vite":"^2.8.4","vue-eslint-parser":"^8.3.0","vue-tsc":"^0.31.4"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"b51dd865d68f2d01ce81816c04a621d01a141253","description":"- 辅助一种项目国际化模式：开发阶段采用多目录结构开发，便于开发人员查看和修改；发布时采用每语言单一翻译文件独立发布方式，便于客户定制和后期修改维护\r - <a href=\"https://github.com/CherishMvp/vite-plugin-langspack/\" target=\"_blank\">预览</a>\r - <a href=\"https://www.npmjs.com/package/@cherishtao/vite-plugin-langspack\" target=\"_blank","_id":"@cherishtao/vite-plugin-langspack2@0.1.1","_nodeVersion":"14.18.2","_npmVersion":"8.13.2","dist":{"integrity":"sha512-oGaljO3uK/xiyOOtdNV/Nbzn3qdb8osJkNrOR5Gs1rheqf9xHlE11xB0YfHRMIzknV8Cesa+nrXRjGSY6KLz3g==","shasum":"f42c7cb08d53cdda7277aa71f73d07ed0d718ea9","tarball":"https://registry.npmjs.org/@cherishtao/vite-plugin-langspack2/-/vite-plugin-langspack2-0.1.1.tgz","fileCount":9,"unpackedSize":89563,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICUDdJV7gcrJmXihlDu2vI79Qb8TbQhcRnBClJiZaqLUAiABamHBD+WXkncuuP+vfhSeVx4JQokZN8/cBBzYnwMB5w=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj5fZSACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqQ6RAAnIoo+L7E6HFC/gZkjWDoj5IQY4ahXqjQo+Hc6cjkySdkqRpM\r\npZczd+9gqqUJE7BJDmRSKSYuLka7TvE46KJ5k1D9K9vcZOlDjRYL/etHdv7+\r\nI1lXwq9XzhJ4mK5nFb2lWrgdR/jCdZmFKLFMLouiExXL47tTpQxoAP0qQyFw\r\nyhwIJzgsmcfuaAIzjMezpEAtRMY+ALuAfUionCozAHsq2OHYI5kwJ7TgGtad\r\nBR2gsh0wF4qCW+BTb+O3ni1CavFxDxWmZgi2vMtdYUtWufE9V5izzf6zybbp\r\n1iv4SvnYVK8T+xhGmgQGIviSKpJ7qvXgHZTIZmArD+NwbLDguVy4TeJy8avx\r\neh/l+kedxIQms+Q1cHNSqielOcsx7x1YVMFt5/zMvhX/6VJctrgL6IMweUPa\r\nauVd0p0Xip6BSZbEWAcWSJnEmg6ooqslP147g0t7FQ0Boq+NmKJ2EPJmPIEx\r\nP5Fa7nPVK8yAQ1HoXaOkwMZGDtpCOjiwV/gBpn26ZHdVuUOtwf/Gjgs4cZpx\r\n5Cj3p0caQM6y5Xhi5+wWz70OHtQJRtPJ2HYihCgHIXFYLt16fMhX1xjNrPUT\r\n2b+kx1qDElapOvbQNJN6b/FXSx8r6GpC11BoKgwqo9VVogJjhi3dFLn0VLFr\r\n0mxSkwmJMeWI5xUtNeY6Av5dcT/TN7wMafg=\r\n=AseW\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"cherishtao","email":"bbttcherish@outlook.com"},"directories":{},"maintainers":[{"name":"cherishtao","email":"bbttcherish@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vite-plugin-langspack2_0.1.1_1676015185927_0.3362729690602415"},"_hasShrinkwrap":false}},"time":{"created":"2023-02-10T07:46:25.850Z","0.1.1":"2023-02-10T07:46:26.083Z","modified":"2023-02-10T07:46:26.371Z"},"maintainers":[{"name":"cherishtao","email":"bbttcherish@outlook.com"}],"description":"- 辅助一种项目国际化模式：开发阶段采用多目录结构开发，便于开发人员查看和修改；发布时采用每语言单一翻译文件独立发布方式，便于客户定制和后期修改维护\r - <a href=\"https://github.com/CherishMvp/vite-plugin-langspack/\" target=\"_blank\">预览</a>\r - <a href=\"https://www.npmjs.com/package/@cherishtao/vite-plugin-langspack\" target=\"_blank","homepage":"https://github.com/CherishMvp/vite-plugin-langspack","keywords":["vue3","vite","plugin","i18n","locales"],"author":{"name":"cherish"},"bugs":{"url":"https://github.com/CherishMvp/vite-plugin-langspack/issues"},"license":"MIT","readme":"# @cherishtao/vite-plugin-langspack\r\n\r\n## 介绍\r\n\r\n- 辅助一种项目国际化模式：开发阶段采用多目录结构开发，便于开发人员查看和修改；发布时采用每语言单一翻译文件独立发布方式，便于客户定制和后期修改维护\r\n- <a href=\"https://github.com/CherishMvp/vite-plugin-langspack/\" target=\"_blank\">预览</a>\r\n- <a href=\"https://www.npmjs.com/package/@cherishtao/vite-plugin-langspack\" target=\"_blank\">npmjs</a>\r\n\r\n## 安装\r\n\r\n- `pnpm i -D @cherishtao/vite-plugin-langspack`\r\n\r\n## 用法\r\n\r\n- 详细内容可以参考项目示例和源码；有问题请提 issue\r\n- 补充：对于不需要区分生产模式，只要直接打包语言文件的场景，可以在 vite.config.ts 中硬指定参数 mode='development'来实现\r\n\r\n```\r\n// vite.config.ts\r\nimport vitePluginLangspack from '@lazebird/vite-plugin-langspack';\r\nvitePlugins.push(vitePluginLangspack({ lang: { src: pathResolve('langs'), dst: pathResolve('public'), include: /.json$/ }, log: { level: 6 } }));\r\n\r\n// 业务\r\nimport getLocaleData from 'virtual:langs';\r\nconst msgs = await getLocaleData(locale);\r\n```\r\n\r\n## Todo\r\n\r\n- [x] 去掉配置中的 mode 字段，简化配置\r\n- [ ] 未使用的 key 的 treeshake\r\n- [ ] 不同 key 相同翻译内容的合并\r\n\r\n## 问题\r\n\r\n### ~~Unknown variable dynamic import~~\r\n\r\n- import 默认需要实体文件，因此在项目 langs/目录存在 2 个空文件 zh_CN.js 和 en_US.js；否则插件不会处理该 import 资源\r\n- 且在外扩新语种时，比如 zh_TW，由于编译时 import 未处理该文件，也会导致出错，可选自行处理该问题，做法参考\r\n\r\n```js\r\nlet msgs = [];\r\nif (import.meta.env.DEV) msgs = await (await import(`../../../langs/${locale}.js`))?.default;\r\nelse msgs = await (await axios.get(`/${locale}.json`)).data;\r\n```\r\n\r\n- 考虑后续通过虚拟模块重构来解决该问题，并且将语言作为一个参数项而非路径项\r\n","readmeFilename":"README.md"}