@hzab/vite-config 0.0.3-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 (86) hide show
  1. package/CHANGELOG.md +95 -85
  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 +34 -3
  9. package/dist/create-library-vite-config.cjs.map +1 -1
  10. package/dist/create-library-vite-config.js +33 -2
  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 +193 -29
  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 +194 -30
  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.js.map +1 -1
  34. package/dist/plugins/lifecycle.cjs.map +1 -1
  35. package/dist/plugins/lifecycle.js.map +1 -1
  36. package/dist/plugins/public-assets.cjs.map +1 -1
  37. package/dist/plugins/public-assets.js.map +1 -1
  38. package/dist/plugins/public-config.cjs.map +1 -1
  39. package/dist/plugins/public-config.js.map +1 -1
  40. package/dist/plugins/react-compiler.cjs.map +1 -1
  41. package/dist/plugins/react-compiler.js.map +1 -1
  42. package/dist/plugins/relative-base.cjs.map +1 -1
  43. package/dist/plugins/relative-base.js.map +1 -1
  44. package/dist/plugins/stub-less.cjs.map +1 -1
  45. package/dist/plugins/stub-less.js.map +1 -1
  46. package/dist/plugins/svg-react.cjs.map +1 -1
  47. package/dist/plugins/svg-react.js.map +1 -1
  48. package/dist/types.d.cts +19 -8
  49. package/dist/types.d.ts +19 -8
  50. package/dist/vitest.cjs.map +1 -1
  51. package/dist/vitest.js.map +1 -1
  52. package/docs/README.md +15 -15
  53. package/docs/abt-management-ui/vite.config.mts +226 -226
  54. package/docs/api.md +404 -366
  55. package/docs/migration-from-webpack.md +723 -722
  56. package/docs/sync-public-path.md +52 -52
  57. package/docs/vite-config-integration.md +477 -476
  58. package/docs/vite-pnpm-integration.md +279 -279
  59. package/docs/vs-ccc-vite-config.md +26 -26
  60. package/docs/webpack-gap.md +108 -107
  61. package/package.json +1 -1
  62. package/src/client.d.ts +9 -9
  63. package/src/create-app-vite-config.ts +236 -218
  64. package/src/create-library-vite-config.ts +248 -205
  65. package/src/create-package-vitest-config.ts +54 -54
  66. package/src/create-vite-config.ts +22 -22
  67. package/src/index.ts +41 -42
  68. package/src/plugins/copy.ts +25 -25
  69. package/src/plugins/hash-deploy.ts +239 -199
  70. package/src/plugins/hash-dir-name.ts +212 -0
  71. package/src/plugins/less-tilde.ts +72 -72
  72. package/src/plugins/lifecycle.ts +40 -40
  73. package/src/plugins/public-assets.ts +28 -28
  74. package/src/plugins/public-config.ts +34 -34
  75. package/src/plugins/react-compiler.ts +32 -32
  76. package/src/plugins/relative-base.ts +20 -20
  77. package/src/plugins/stub-less.ts +26 -26
  78. package/src/plugins/svg-react.ts +90 -90
  79. package/src/svg-react-runtime.ts +4 -4
  80. package/src/svg-react.d.ts +6 -6
  81. package/src/types.ts +325 -314
  82. package/src/vitest-types.ts +20 -20
  83. package/src/vitest.ts +2 -2
  84. package/templates/src/vite-env.d.ts +2 -2
  85. package/templates/tsconfig.json +12 -12
  86. 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/`。