@lark-apaas/coding-preset-vite-react 1.0.7 → 1.0.8-alpha.0

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.
@@ -9,14 +9,17 @@ export interface CapabilitiesBundlePluginOptions {
9
9
  * `@lark-apaas/client-capability` SDK(被 client-toolkit-lite 内联使用)会
10
10
  * `import map from 'virtual:capabilities'` 取这个 map。SDK 在 dev 预览 / 沙箱
11
11
  * 加载流程中依赖这个模块存在,所以即使 capabilities 目录为空,也必须把模块
12
- * 注册成解析成功(空 map),否则 rolldown 在 build 时直接 fail。
12
+ * 注册成解析成功(空 map),否则 build 时直接 fail。
13
13
  *
14
- * 同时通过 `optimizeDeps.esbuildOptions.plugins` 在 depOptimizer 那条路径上
15
- * 也提供解析——因为 client-toolkit-lite pre-bundle 进来的,pre-bundle
16
- * esbuild 不会经过 Vite pipeline 的 plugin 链。
14
+ * 解析挂两处:
15
+ * 1. Vite pipeline `resolveId` / `load` —— dev 运行时 + production build 都走它。
16
+ * 2. depOptimizer 里把 `virtual:capabilities` 标记为 external(`optimizeDeps.exclude`),
17
+ * 让被预打包的 client-toolkit-lite(内联了 client-capability)保留运行时
18
+ * `import 'virtual:capabilities'`,交给主 pipeline 动态解析。详见下方 config() 注释。
17
19
  *
18
- * V1 限制:dev 期更改 capability JSON 后,pre-bundle 产物里的 map 是启动时快照,
19
- * 不会自动刷新;新增 / 修改 capability 后需要重启 dev server。
20
+ * 这样 dev 期新增 / 修改 capability JSON 后,configureServer
21
+ * invalidateModule + full-reload 能即时刷新(旧实现把 map 内联进预打包快照,
22
+ * watch 刷不到,需重启 dev server —— 现已修复)。
20
23
  */
21
24
  export declare function capabilitiesBundlePlugin(options?: CapabilitiesBundlePluginOptions): Plugin;
22
25
  export default capabilitiesBundlePlugin;
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../src/plugins/capabilities.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAQnC,MAAM,WAAW,+BAA+B;IAC9C,oCAAoC;IACpC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,GAAE,+BAAoC,GAAG,MAAM,CA0F9F;AAED,eAAe,wBAAwB,CAAC"}
1
+ {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../src/plugins/capabilities.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAQnC,MAAM,WAAW,+BAA+B;IAC9C,oCAAoC;IACpC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,GAAE,+BAAoC,GAAG,MAAM,CAuF9F;AAED,eAAe,wBAAwB,CAAC"}
@@ -46,14 +46,17 @@ const DEFAULT_DIRS = ['shared/capabilities'];
46
46
  * `@lark-apaas/client-capability` SDK(被 client-toolkit-lite 内联使用)会
47
47
  * `import map from 'virtual:capabilities'` 取这个 map。SDK 在 dev 预览 / 沙箱
48
48
  * 加载流程中依赖这个模块存在,所以即使 capabilities 目录为空,也必须把模块
49
- * 注册成解析成功(空 map),否则 rolldown 在 build 时直接 fail。
49
+ * 注册成解析成功(空 map),否则 build 时直接 fail。
50
50
  *
51
- * 同时通过 `optimizeDeps.esbuildOptions.plugins` 在 depOptimizer 那条路径上
52
- * 也提供解析——因为 client-toolkit-lite pre-bundle 进来的,pre-bundle
53
- * esbuild 不会经过 Vite pipeline 的 plugin 链。
51
+ * 解析挂两处:
52
+ * 1. Vite pipeline `resolveId` / `load` —— dev 运行时 + production build 都走它。
53
+ * 2. depOptimizer 里把 `virtual:capabilities` 标记为 external(`optimizeDeps.exclude`),
54
+ * 让被预打包的 client-toolkit-lite(内联了 client-capability)保留运行时
55
+ * `import 'virtual:capabilities'`,交给主 pipeline 动态解析。详见下方 config() 注释。
54
56
  *
55
- * V1 限制:dev 期更改 capability JSON 后,pre-bundle 产物里的 map 是启动时快照,
56
- * 不会自动刷新;新增 / 修改 capability 后需要重启 dev server。
57
+ * 这样 dev 期新增 / 修改 capability JSON 后,configureServer
58
+ * invalidateModule + full-reload 能即时刷新(旧实现把 map 内联进预打包快照,
59
+ * watch 刷不到,需重启 dev server —— 现已修复)。
57
60
  */
58
61
  function capabilitiesBundlePlugin(options = {}) {
59
62
  let rootDir = process.cwd();
@@ -87,31 +90,26 @@ function capabilitiesBundlePlugin(options = {}) {
87
90
  configResolved(config) {
88
91
  rootDir = config.root;
89
92
  },
90
- // 同时通过 depOptimizer Rolldown 注入解析,让 client-toolkit-lite 这种
91
- // pre-bundle 进来的依赖也能把 `import 'virtual:capabilities'` 解掉。
92
- // Vite 8 Rolldown 替换了 esbuild 做 depOptimize,所以走 rolldownOptions.plugins。
93
- config(_userConfig, _env) {
94
- // `rolldownOptions` Vite 8 引入的 depOptimizer 新 API,
95
- // 当前 Vite 类型还没覆盖,需要 as any 绕过
93
+ // depOptimizer 里把 `virtual:capabilities` 标记为 external,让被预打包的依赖
94
+ // (client-capability,内联进 client-toolkit-lite)保留运行时
95
+ // `import 'virtual:capabilities'`,由下面主 pipeline resolveId/load 动态解析。
96
+ //
97
+ // 为什么不在 depOptimizer 里解析 + 内联(旧实现走 rolldownOptions.plugins):
98
+ // 那样 map 会被烤成 optimize 时的快照固化进预打包 chunk。dev 期新增 / 修改
99
+ // capability JSON 后,configureServer 的 invalidateModule + full-reload 作用在
100
+ // 主 pipeline 的虚拟模块上,而预打包消费者读的是 chunk 里那份内联快照 —— 两者
101
+ // 不是同一个模块,watch 永远刷不到(实测:inline 模式 getModuleById(RESOLVED)
102
+ // 返回 null,invalidate 是 no-op;首屏 optimize 时目录还空 → map 一直空,只有
103
+ // 重启 / re-optimize 才更新)。external 后虚拟模块进入运行时模块图,
104
+ // configureServer 的 invalidate + full-reload 才真正命中被读的模块、即时刷新。
105
+ //
106
+ // external 也顺带替代了"必须在 optimizer 里解析否则 build/optimize fail"的诉求:
107
+ // 标记 external 后 optimizer 不再尝试解析它(不会 fail);build 不经 depOptimizer,
108
+ // 由主 pipeline 解析内联,产物不受影响。
109
+ config() {
96
110
  return {
97
111
  optimizeDeps: {
98
- rolldownOptions: {
99
- plugins: [
100
- {
101
- name: 'miaoda-capabilities-rolldown',
102
- resolveId(source) {
103
- if (source === VIRTUAL_ID)
104
- return RESOLVED;
105
- return null;
106
- },
107
- load(id) {
108
- if (id !== RESOLVED)
109
- return null;
110
- return `export default ${JSON.stringify(loadMap())};`;
111
- },
112
- },
113
- ],
114
- },
112
+ exclude: [VIRTUAL_ID],
115
113
  },
116
114
  };
117
115
  },
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/plugins/capabilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/plugins/capabilities.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lark-apaas/coding-preset-vite-react",
3
- "version": "1.0.7",
3
+ "version": "1.0.8-alpha.0",
4
4
  "description": "Vite 8 preset for miaoda-coding vite-react (jsPage) templates — pure frontend, no fullstack baggage",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./lib/index.d.ts",