@hzab/vite-config 0.0.2-alpha.0 → 0.0.3-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/CHANGELOG.md +95 -83
  2. package/LICENSE +21 -21
  3. package/README.md +184 -173
  4. package/dist/create-app-vite-config.cjs +160 -27
  5. package/dist/create-app-vite-config.cjs.map +1 -1
  6. package/dist/create-app-vite-config.js +160 -27
  7. package/dist/create-app-vite-config.js.map +1 -1
  8. package/dist/create-library-vite-config.cjs +39 -4
  9. package/dist/create-library-vite-config.cjs.map +1 -1
  10. package/dist/create-library-vite-config.js +38 -3
  11. package/dist/create-library-vite-config.js.map +1 -1
  12. package/dist/create-package-vitest-config.cjs.map +1 -1
  13. package/dist/create-package-vitest-config.js.map +1 -1
  14. package/dist/create-vite-config.cjs +160 -27
  15. package/dist/create-vite-config.cjs.map +1 -1
  16. package/dist/create-vite-config.js +160 -27
  17. package/dist/create-vite-config.js.map +1 -1
  18. package/dist/index.cjs +198 -30
  19. package/dist/index.cjs.map +1 -1
  20. package/dist/index.d.cts +1 -1
  21. package/dist/index.d.ts +1 -1
  22. package/dist/index.js +199 -31
  23. package/dist/index.js.map +1 -1
  24. package/dist/plugins/copy.cjs.map +1 -1
  25. package/dist/plugins/copy.js.map +1 -1
  26. package/dist/plugins/hash-deploy.cjs +150 -25
  27. package/dist/plugins/hash-deploy.cjs.map +1 -1
  28. package/dist/plugins/hash-deploy.d.cts +16 -5
  29. package/dist/plugins/hash-deploy.d.ts +16 -5
  30. package/dist/plugins/hash-deploy.js +150 -25
  31. package/dist/plugins/hash-deploy.js.map +1 -1
  32. package/dist/plugins/less-tilde.cjs.map +1 -1
  33. package/dist/plugins/less-tilde.d.cts +17 -2
  34. package/dist/plugins/less-tilde.d.ts +17 -2
  35. package/dist/plugins/less-tilde.js.map +1 -1
  36. package/dist/plugins/lifecycle.cjs.map +1 -1
  37. package/dist/plugins/lifecycle.js.map +1 -1
  38. package/dist/plugins/public-assets.cjs.map +1 -1
  39. package/dist/plugins/public-assets.js.map +1 -1
  40. package/dist/plugins/public-config.cjs.map +1 -1
  41. package/dist/plugins/public-config.js.map +1 -1
  42. package/dist/plugins/react-compiler.cjs.map +1 -1
  43. package/dist/plugins/react-compiler.js.map +1 -1
  44. package/dist/plugins/relative-base.cjs.map +1 -1
  45. package/dist/plugins/relative-base.js.map +1 -1
  46. package/dist/plugins/stub-less.cjs.map +1 -1
  47. package/dist/plugins/stub-less.js.map +1 -1
  48. package/dist/plugins/svg-react.cjs.map +1 -1
  49. package/dist/plugins/svg-react.js.map +1 -1
  50. package/dist/types.d.cts +19 -8
  51. package/dist/types.d.ts +19 -8
  52. package/dist/vitest.cjs.map +1 -1
  53. package/dist/vitest.js.map +1 -1
  54. package/docs/README.md +15 -15
  55. package/docs/abt-management-ui/vite.config.mts +226 -226
  56. package/docs/api.md +404 -366
  57. package/docs/migration-from-webpack.md +723 -722
  58. package/docs/sync-public-path.md +52 -52
  59. package/docs/vite-config-integration.md +477 -476
  60. package/docs/vite-pnpm-integration.md +279 -279
  61. package/docs/vs-ccc-vite-config.md +26 -26
  62. package/docs/webpack-gap.md +108 -107
  63. package/package.json +1 -1
  64. package/src/client.d.ts +9 -9
  65. package/src/create-app-vite-config.ts +236 -218
  66. package/src/create-library-vite-config.ts +248 -199
  67. package/src/create-package-vitest-config.ts +54 -54
  68. package/src/create-vite-config.ts +22 -22
  69. package/src/index.ts +41 -42
  70. package/src/plugins/copy.ts +25 -25
  71. package/src/plugins/hash-deploy.ts +239 -199
  72. package/src/plugins/hash-dir-name.ts +212 -0
  73. package/src/plugins/less-tilde.ts +72 -44
  74. package/src/plugins/lifecycle.ts +40 -40
  75. package/src/plugins/public-assets.ts +28 -28
  76. package/src/plugins/public-config.ts +34 -34
  77. package/src/plugins/react-compiler.ts +32 -32
  78. package/src/plugins/relative-base.ts +20 -20
  79. package/src/plugins/stub-less.ts +26 -26
  80. package/src/plugins/svg-react.ts +90 -90
  81. package/src/svg-react-runtime.ts +4 -4
  82. package/src/svg-react.d.ts +6 -6
  83. package/src/types.ts +325 -314
  84. package/src/vitest-types.ts +20 -20
  85. package/src/vitest.ts +2 -2
  86. package/templates/src/vite-env.d.ts +2 -2
  87. package/templates/tsconfig.json +12 -12
  88. package/templates/vite.config.ts +26 -26
@@ -1,52 +1,52 @@
1
- # 已实施:从 Vite 仓回灌 `PUBLIC_PATH` / `./client`
2
-
3
- > 状态:**已实施**(2026-08-28)。
4
- > 源:`~/Workbench/Vite/monorepo-packages/tooling/vite-config`(`@ccc/vite-config`)。
5
- > 对照现状见 [vs-ccc-vite-config.md](./vs-ccc-vite-config.md)。
6
-
7
- 工厂在 `configure` 之后写入 `import.meta.env.PUBLIC_PATH`,供根入口 JS `fetch` / 动态 URL。相对 Hash 必须用 `./{hash}/`,不能跟 Vite `base`(后者保持 `./`)。HTML 子目录模板里的 `PUBLIC_PATH` 仍为 `./`,与 JS 前缀不是同一个值。
8
-
9
- 包名保持 `@hzab/vite-config`。本仓引号与对照仓一致(双引号)。单独 changeset / 发版。
10
-
11
- ## 已落地
12
-
13
- 1. `applyJsPublicPathDefine` / `resolveJsPublicPath`:`configure` 之后写入 `import.meta.env.PUBLIC_PATH`
14
- 2. `src/client.d.ts` 与 `exports["./client"]`
15
- 3. `test/js-public-path.test.ts`
16
- 4. 模板 `templates/src/vite-env.d.ts` 增加 `/// <reference types="@hzab/vite-config/client" />`
17
- 5. 文档:JS `PUBLIC_PATH` vs HTML `PUBLIC_PATH` vs `BASE_URL`
18
- 6. 重写 [vs-ccc-vite-config.md](./vs-ccc-vite-config.md)
19
- 7. `typecheck` / `test` / `api-report` / `pnpm --filter @hzab/vite-config pack --dry-run`
20
-
21
- ## 移植清单(对照)
22
-
23
- | 源(Vite 仓) | 本仓动作 |
24
- | --- | --- |
25
- | `src/create-app-vite-config.ts` | 已拷 `JS_PUBLIC_PATH_DEFINE_KEY`、`ensureTrailingSlash`、`resolveJsPublicPath`、`applyJsPublicPathDefine`;`configure` 之后调用 |
26
- | `src/client.d.ts` | 已拷;声明 `ImportMetaEnv.PUBLIC_PATH` |
27
- | `package.json` `exports["./client"]` | `{ "types": "./src/client.d.ts" }` |
28
- | `test/js-public-path.test.ts` | 已拷;另断言 `./client` 为仅 types |
29
- | `templates/src/vite-env.d.ts` | 已加 `/// <reference types="@hzab/vite-config/client" />` |
30
- | `docs/api.md` / README | JS `import.meta.env.PUBLIC_PATH` vs HTML `<%= PUBLIC_PATH %>` vs `BASE_URL` |
31
- | `src/types.ts` `htmlData` | 已注明 JS 用 `import.meta.env.PUBLIC_PATH` |
32
-
33
- 消费方必须写成静态成员 `import.meta.env.PUBLIC_PATH`,不要解构。`vite.define` / `configure` 里的同名键会被工厂覆盖。
34
-
35
- ## 刻意不搬
36
-
37
- | 项 | 原因 |
38
- | --- | --- |
39
- | `catalog:` | 本仓钉死版本 |
40
- | `release.config.json` | 本仓走 `publish-target.json` |
41
- | 改包名为 `@ccc` | scope 即仓身份 |
42
-
43
- ## 验证
44
-
45
- ```bash
46
- pnpm --filter @hzab/vite-config typecheck
47
- pnpm --filter @hzab/vite-config test
48
- pnpm --filter @hzab/vite-config api-report
49
- pnpm --filter @hzab/vite-config pack --dry-run
50
- ```
51
-
52
- 确认 `exports` 含 `./client`(仅 types)与既有 `./svg-react` runtime。默认入口仍是 `dist/`。
1
+ # 已实施:从 Vite 仓回灌 `PUBLIC_PATH` / `./client`
2
+
3
+ > 状态:**已实施**(2026-08-28)。
4
+ > 源:`~/Workbench/Vite/monorepo-packages/tooling/vite-config`(`@ccc/vite-config`)。
5
+ > 对照现状见 [vs-ccc-vite-config.md](./vs-ccc-vite-config.md)。
6
+
7
+ 工厂在 `configure` 之后写入 `import.meta.env.PUBLIC_PATH`,供根入口 JS `fetch` / 动态 URL。相对 Hash 必须用 `./{hash}/`,不能跟 Vite `base`(后者保持 `./`)。HTML 子目录模板里的 `PUBLIC_PATH` 仍为 `./`,与 JS 前缀不是同一个值。
8
+
9
+ 包名保持 `@hzab/vite-config`。本仓引号与对照仓一致(双引号)。单独 changeset / 发版。
10
+
11
+ ## 已落地
12
+
13
+ 1. `applyJsPublicPathDefine` / `resolveJsPublicPath`:`configure` 之后写入 `import.meta.env.PUBLIC_PATH`
14
+ 2. `src/client.d.ts` 与 `exports["./client"]`
15
+ 3. `test/js-public-path.test.ts`
16
+ 4. 模板 `templates/src/vite-env.d.ts` 增加 `/// <reference types="@hzab/vite-config/client" />`
17
+ 5. 文档:JS `PUBLIC_PATH` vs HTML `PUBLIC_PATH` vs `BASE_URL`
18
+ 6. 重写 [vs-ccc-vite-config.md](./vs-ccc-vite-config.md)
19
+ 7. `typecheck` / `test` / `api-report` / `pnpm --filter @hzab/vite-config pack --dry-run`
20
+
21
+ ## 移植清单(对照)
22
+
23
+ | 源(Vite 仓) | 本仓动作 |
24
+ | ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------- |
25
+ | `src/create-app-vite-config.ts` | 已拷 `JS_PUBLIC_PATH_DEFINE_KEY`、`ensureTrailingSlash`、`resolveJsPublicPath`、`applyJsPublicPathDefine`;`configure` 之后调用 |
26
+ | `src/client.d.ts` | 已拷;声明 `ImportMetaEnv.PUBLIC_PATH` |
27
+ | `package.json` `exports["./client"]` | `{ "types": "./src/client.d.ts" }` |
28
+ | `test/js-public-path.test.ts` | 已拷;另断言 `./client` 为仅 types |
29
+ | `templates/src/vite-env.d.ts` | 已加 `/// <reference types="@hzab/vite-config/client" />` |
30
+ | `docs/api.md` / README | JS `import.meta.env.PUBLIC_PATH` vs HTML `<%= PUBLIC_PATH %>` vs `BASE_URL` |
31
+ | `src/types.ts` `htmlData` | 已注明 JS 用 `import.meta.env.PUBLIC_PATH` |
32
+
33
+ 消费方必须写成静态成员 `import.meta.env.PUBLIC_PATH`,不要解构。`vite.define` / `configure` 里的同名键会被工厂覆盖。
34
+
35
+ ## 刻意不搬
36
+
37
+ | 项 | 原因 |
38
+ | --------------------- | ---------------------------- |
39
+ | `catalog:` | 本仓钉死版本 |
40
+ | `release.config.json` | 本仓走 `publish-target.json` |
41
+ | 改包名为 `@ccc` | scope 即仓身份 |
42
+
43
+ ## 验证
44
+
45
+ ```bash
46
+ pnpm --filter @hzab/vite-config typecheck
47
+ pnpm --filter @hzab/vite-config test
48
+ pnpm --filter @hzab/vite-config api-report
49
+ pnpm --filter @hzab/vite-config pack --dry-run
50
+ ```
51
+
52
+ 确认 `exports` 含 `./client`(仅 types)与既有 `./svg-react` runtime。默认入口仍是 `dist/`。