@arronqzy/abuilder 1.1.26 → 1.1.28
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.
- package/README.md +14 -0
- package/dist/vite.cjs +71 -0
- package/dist/vite.cjs.map +1 -0
- package/dist/vite.d.cts +4 -0
- package/dist/vite.d.ts +4 -0
- package/dist/vite.js +68 -0
- package/dist/vite.js.map +1 -0
- package/package.json +12 -5
package/README.md
CHANGED
|
@@ -18,6 +18,20 @@ npm install @arronqzy/abuilder react react-dom
|
|
|
18
18
|
pnpm add @arronqzy/abuilder react react-dom
|
|
19
19
|
```
|
|
20
20
|
|
|
21
|
+
### Vite 宿主项目
|
|
22
|
+
|
|
23
|
+
若你用 Vite 打包集成了 `<App />` 的应用,请在 `vite.config.ts` 注册 WebLLM 插件(避免 `@mlc-ai/web-llm` 触发 `stripLiteral` 栈溢出):
|
|
24
|
+
|
|
25
|
+
```ts
|
|
26
|
+
import { webllmAssistant } from "@arronqzy/abuilder/vite";
|
|
27
|
+
|
|
28
|
+
export default defineConfig({
|
|
29
|
+
plugins: [webllmAssistant()],
|
|
30
|
+
});
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
请从 `@arronqzy/abuilder/vite` 导入,不要从 `@arronqzy/webllm-assistant/vite` 导入——pnpm 下后者不是 easycode 的直接依赖,配置加载阶段会 `ERR_MODULE_NOT_FOUND`。
|
|
34
|
+
|
|
21
35
|
## 使用
|
|
22
36
|
|
|
23
37
|
```tsx
|
package/dist/vite.cjs
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
// ../webllm-assistant/src/vite-plugin.ts
|
|
4
|
+
var WEBLLM_VITE_ENTRY = "virtual:arronqzy-webllm-entry";
|
|
5
|
+
var RESOLVED_WEBLLM_VITE_ENTRY = "\0" + WEBLLM_VITE_ENTRY;
|
|
6
|
+
var WEB_LLM_EXCLUDE = [
|
|
7
|
+
/@mlc-ai[\\/]web-llm/,
|
|
8
|
+
/@mlc-ai\+web-llm/,
|
|
9
|
+
/node_modules[\\/]\.pnpm[\\/]@mlc-ai\+web-llm/
|
|
10
|
+
];
|
|
11
|
+
var WEB_LLM_ID = ["@mlc-ai", "web-llm"].join("/");
|
|
12
|
+
var WEB_LLM_ENTRY = `${WEB_LLM_ID}/lib/index.js`;
|
|
13
|
+
var ASSET_QUERY = ["", "url"].join("?");
|
|
14
|
+
function isWebLlmRequest(source) {
|
|
15
|
+
if (source === WEB_LLM_ID || source === WEB_LLM_ENTRY) return true;
|
|
16
|
+
if (source.includes("@mlc-ai/web-llm") || source.includes("@mlc-ai+web-llm")) {
|
|
17
|
+
return true;
|
|
18
|
+
}
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
function withAssetQuery(resolvedId) {
|
|
22
|
+
if (resolvedId.includes(ASSET_QUERY)) return resolvedId;
|
|
23
|
+
return `${resolvedId}${ASSET_QUERY}`;
|
|
24
|
+
}
|
|
25
|
+
function webllmAssistant() {
|
|
26
|
+
return {
|
|
27
|
+
name: "arronqzy-webllm-assistant",
|
|
28
|
+
enforce: "pre",
|
|
29
|
+
config() {
|
|
30
|
+
return {
|
|
31
|
+
define: {
|
|
32
|
+
__WEBLLM_VITE_LOADER__: JSON.stringify(true)
|
|
33
|
+
},
|
|
34
|
+
optimizeDeps: {
|
|
35
|
+
exclude: [WEB_LLM_ID]
|
|
36
|
+
},
|
|
37
|
+
build: {
|
|
38
|
+
commonjsOptions: {
|
|
39
|
+
exclude: WEB_LLM_EXCLUDE
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
},
|
|
44
|
+
async resolveId(source, importer, options) {
|
|
45
|
+
if (source === WEBLLM_VITE_ENTRY) {
|
|
46
|
+
return RESOLVED_WEBLLM_VITE_ENTRY;
|
|
47
|
+
}
|
|
48
|
+
if (isWebLlmRequest(source)) {
|
|
49
|
+
const resolved = await this.resolve(WEB_LLM_ENTRY, importer, {
|
|
50
|
+
...options,
|
|
51
|
+
skipSelf: true
|
|
52
|
+
});
|
|
53
|
+
if (!resolved) return null;
|
|
54
|
+
return withAssetQuery(resolved.id);
|
|
55
|
+
}
|
|
56
|
+
if ((source.includes("@mlc-ai/web-llm") || source.includes("@mlc-ai+web-llm")) && source.endsWith("/lib/index.js") && !source.includes(ASSET_QUERY)) {
|
|
57
|
+
return withAssetQuery(source);
|
|
58
|
+
}
|
|
59
|
+
return null;
|
|
60
|
+
},
|
|
61
|
+
load(id) {
|
|
62
|
+
if (id !== RESOLVED_WEBLLM_VITE_ENTRY) return null;
|
|
63
|
+
return `export default import("${WEB_LLM_ID}");`;
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
exports.WEBLLM_VITE_ENTRY = WEBLLM_VITE_ENTRY;
|
|
69
|
+
exports.webllmAssistant = webllmAssistant;
|
|
70
|
+
//# sourceMappingURL=vite.cjs.map
|
|
71
|
+
//# sourceMappingURL=vite.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../webllm-assistant/src/vite-plugin.ts"],"names":[],"mappings":";;;AAkBO,IAAM,iBAAoB,GAAA;AACjC,IAAM,6BAA6B,IAAO,GAAA,iBAAA;AAE1C,IAAM,eAAkB,GAAA;AAAA,EACtB,qBAAA;AAAA,EACA,kBAAA;AAAA,EACA;AACF,CAAA;AAEA,IAAM,aAAa,CAAC,SAAA,EAAW,SAAS,CAAA,CAAE,KAAK,GAAG,CAAA;AAClD,IAAM,aAAA,GAAgB,GAAG,UAAU,CAAA,aAAA,CAAA;AACnC,IAAM,cAAc,CAAC,EAAA,EAAI,KAAK,CAAA,CAAE,KAAK,GAAG,CAAA;AAExC,SAAS,gBAAgB,MAAyB,EAAA;AAChD,EAAA,IAAI,MAAW,KAAA,UAAA,IAAc,MAAW,KAAA,aAAA,EAAsB,OAAA,IAAA;AAC9D,EAAA,IAAI,OAAO,QAAS,CAAA,iBAAiB,KAAK,MAAO,CAAA,QAAA,CAAS,iBAAiB,CAAG,EAAA;AAC5E,IAAO,OAAA,IAAA;AAAA;AAET,EAAO,OAAA,KAAA;AACT;AAEA,SAAS,eAAe,UAA4B,EAAA;AAClD,EAAA,IAAI,UAAW,CAAA,QAAA,CAAS,WAAW,CAAA,EAAU,OAAA,UAAA;AAC7C,EAAO,OAAA,CAAA,EAAG,UAAU,CAAA,EAAG,WAAW,CAAA,CAAA;AACpC;AAMO,SAAS,eAAoC,GAAA;AAClD,EAAO,OAAA;AAAA,IACL,IAAM,EAAA,2BAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,IACT,MAAS,GAAA;AACP,MAAO,OAAA;AAAA,QACL,MAAQ,EAAA;AAAA,UACN,sBAAA,EAAwB,IAAK,CAAA,SAAA,CAAU,IAAI;AAAA,SAC7C;AAAA,QACA,YAAc,EAAA;AAAA,UACZ,OAAA,EAAS,CAAC,UAAU;AAAA,SACtB;AAAA,QACA,KAAO,EAAA;AAAA,UACL,eAAiB,EAAA;AAAA,YACf,OAAS,EAAA;AAAA;AACX;AACF,OACF;AAAA,KACF;AAAA,IACA,MAAM,SAAA,CAAU,MAAQ,EAAA,QAAA,EAAU,OAAS,EAAA;AACzC,MAAA,IAAI,WAAW,iBAAmB,EAAA;AAChC,QAAO,OAAA,0BAAA;AAAA;AAGT,MAAI,IAAA,eAAA,CAAgB,MAAM,CAAG,EAAA;AAC3B,QAAA,MAAM,QAAW,GAAA,MACf,IAOA,CAAA,OAAA,CAAQ,eAAe,QAAU,EAAA;AAAA,UACjC,GAAG,OAAA;AAAA,UACH,QAAU,EAAA;AAAA,SACX,CAAA;AACD,QAAI,IAAA,CAAC,UAAiB,OAAA,IAAA;AACtB,QAAO,OAAA,cAAA,CAAe,SAAS,EAAE,CAAA;AAAA;AAInC,MAAA,IAAA,CACG,OAAO,QAAS,CAAA,iBAAiB,CAAK,IAAA,MAAA,CAAO,SAAS,iBAAiB,CAAA,KACxE,MAAO,CAAA,QAAA,CAAS,eAAe,CAC/B,IAAA,CAAC,MAAO,CAAA,QAAA,CAAS,WAAW,CAC5B,EAAA;AACA,QAAA,OAAO,eAAe,MAAM,CAAA;AAAA;AAG9B,MAAO,OAAA,IAAA;AAAA,KACT;AAAA,IACA,KAAK,EAAI,EAAA;AACP,MAAI,IAAA,EAAA,KAAO,4BAAmC,OAAA,IAAA;AAE9C,MAAA,OAAO,0BAA0B,UAAU,CAAA,GAAA,CAAA;AAAA;AAC7C,GACF;AACF","file":"vite.cjs","sourcesContent":["interface WebllmVitePlugin {\n name: string;\n enforce?: \"pre\" | \"post\";\n config: () => {\n optimizeDeps: { exclude: string[] };\n build: {\n commonjsOptions: { exclude: RegExp[] };\n };\n };\n resolveId?: (\n source: string,\n importer: string | undefined,\n options: { skipSelf?: boolean }\n ) => Promise<{ id: string; external?: boolean } | string | null>;\n load?: (id: string) => string | null;\n}\n\n/** Import this from `load-web-llm.vite.ts` so consumer graphs never mention `@mlc-ai/web-llm`. */\nexport const WEBLLM_VITE_ENTRY = \"virtual:arronqzy-webllm-entry\";\nconst RESOLVED_WEBLLM_VITE_ENTRY = \"\\0\" + WEBLLM_VITE_ENTRY;\n\nconst WEB_LLM_EXCLUDE = [\n /@mlc-ai[\\\\/]web-llm/,\n /@mlc-ai\\+web-llm/,\n /node_modules[\\\\/]\\.pnpm[\\\\/]@mlc-ai\\+web-llm/,\n];\n\nconst WEB_LLM_ID = [\"@mlc-ai\", \"web-llm\"].join(\"/\");\nconst WEB_LLM_ENTRY = `${WEB_LLM_ID}/lib/index.js`;\nconst ASSET_QUERY = [\"\", \"url\"].join(\"?\");\n\nfunction isWebLlmRequest(source: string): boolean {\n if (source === WEB_LLM_ID || source === WEB_LLM_ENTRY) return true;\n if (source.includes(\"@mlc-ai/web-llm\") || source.includes(\"@mlc-ai+web-llm\")) {\n return true;\n }\n return false;\n}\n\nfunction withAssetQuery(resolvedId: string): string {\n if (resolvedId.includes(ASSET_QUERY)) return resolvedId;\n return `${resolvedId}${ASSET_QUERY}`;\n}\n\n/**\n * Prevent Vite from running stripLiteral / commonjs transform on the huge\n * WebLLM bundle (Maximum call stack size exceeded).\n */\nexport function webllmAssistant(): WebllmVitePlugin {\n return {\n name: \"arronqzy-webllm-assistant\",\n enforce: \"pre\",\n config() {\n return {\n define: {\n __WEBLLM_VITE_LOADER__: JSON.stringify(true),\n },\n optimizeDeps: {\n exclude: [WEB_LLM_ID],\n },\n build: {\n commonjsOptions: {\n exclude: WEB_LLM_EXCLUDE,\n },\n },\n };\n },\n async resolveId(source, importer, options) {\n if (source === WEBLLM_VITE_ENTRY) {\n return RESOLVED_WEBLLM_VITE_ENTRY;\n }\n\n if (isWebLlmRequest(source)) {\n const resolved = await (\n this as unknown as {\n resolve: (\n id: string,\n importer: string | undefined,\n opts: { skipSelf?: boolean }\n ) => Promise<{ id: string } | null>;\n }\n ).resolve(WEB_LLM_ENTRY, importer, {\n ...options,\n skipSelf: true,\n });\n if (!resolved) return null;\n return withAssetQuery(resolved.id);\n }\n\n // Already-resolved absolute paths (e.g. prebundled graph) still hit commonjs.\n if (\n (source.includes(\"@mlc-ai/web-llm\") || source.includes(\"@mlc-ai+web-llm\")) &&\n source.endsWith(\"/lib/index.js\") &&\n !source.includes(ASSET_QUERY)\n ) {\n return withAssetQuery(source);\n }\n\n return null;\n },\n load(id) {\n if (id !== RESOLVED_WEBLLM_VITE_ENTRY) return null;\n // Dynamic import keeps the specifier out of Rollup's static graph until resolveId runs.\n return `export default import(\"${WEB_LLM_ID}\");`;\n },\n };\n}\n"]}
|
package/dist/vite.d.cts
ADDED
package/dist/vite.d.ts
ADDED
package/dist/vite.js
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
// ../webllm-assistant/src/vite-plugin.ts
|
|
2
|
+
var WEBLLM_VITE_ENTRY = "virtual:arronqzy-webllm-entry";
|
|
3
|
+
var RESOLVED_WEBLLM_VITE_ENTRY = "\0" + WEBLLM_VITE_ENTRY;
|
|
4
|
+
var WEB_LLM_EXCLUDE = [
|
|
5
|
+
/@mlc-ai[\\/]web-llm/,
|
|
6
|
+
/@mlc-ai\+web-llm/,
|
|
7
|
+
/node_modules[\\/]\.pnpm[\\/]@mlc-ai\+web-llm/
|
|
8
|
+
];
|
|
9
|
+
var WEB_LLM_ID = ["@mlc-ai", "web-llm"].join("/");
|
|
10
|
+
var WEB_LLM_ENTRY = `${WEB_LLM_ID}/lib/index.js`;
|
|
11
|
+
var ASSET_QUERY = ["", "url"].join("?");
|
|
12
|
+
function isWebLlmRequest(source) {
|
|
13
|
+
if (source === WEB_LLM_ID || source === WEB_LLM_ENTRY) return true;
|
|
14
|
+
if (source.includes("@mlc-ai/web-llm") || source.includes("@mlc-ai+web-llm")) {
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
function withAssetQuery(resolvedId) {
|
|
20
|
+
if (resolvedId.includes(ASSET_QUERY)) return resolvedId;
|
|
21
|
+
return `${resolvedId}${ASSET_QUERY}`;
|
|
22
|
+
}
|
|
23
|
+
function webllmAssistant() {
|
|
24
|
+
return {
|
|
25
|
+
name: "arronqzy-webllm-assistant",
|
|
26
|
+
enforce: "pre",
|
|
27
|
+
config() {
|
|
28
|
+
return {
|
|
29
|
+
define: {
|
|
30
|
+
__WEBLLM_VITE_LOADER__: JSON.stringify(true)
|
|
31
|
+
},
|
|
32
|
+
optimizeDeps: {
|
|
33
|
+
exclude: [WEB_LLM_ID]
|
|
34
|
+
},
|
|
35
|
+
build: {
|
|
36
|
+
commonjsOptions: {
|
|
37
|
+
exclude: WEB_LLM_EXCLUDE
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
},
|
|
42
|
+
async resolveId(source, importer, options) {
|
|
43
|
+
if (source === WEBLLM_VITE_ENTRY) {
|
|
44
|
+
return RESOLVED_WEBLLM_VITE_ENTRY;
|
|
45
|
+
}
|
|
46
|
+
if (isWebLlmRequest(source)) {
|
|
47
|
+
const resolved = await this.resolve(WEB_LLM_ENTRY, importer, {
|
|
48
|
+
...options,
|
|
49
|
+
skipSelf: true
|
|
50
|
+
});
|
|
51
|
+
if (!resolved) return null;
|
|
52
|
+
return withAssetQuery(resolved.id);
|
|
53
|
+
}
|
|
54
|
+
if ((source.includes("@mlc-ai/web-llm") || source.includes("@mlc-ai+web-llm")) && source.endsWith("/lib/index.js") && !source.includes(ASSET_QUERY)) {
|
|
55
|
+
return withAssetQuery(source);
|
|
56
|
+
}
|
|
57
|
+
return null;
|
|
58
|
+
},
|
|
59
|
+
load(id) {
|
|
60
|
+
if (id !== RESOLVED_WEBLLM_VITE_ENTRY) return null;
|
|
61
|
+
return `export default import("${WEB_LLM_ID}");`;
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export { WEBLLM_VITE_ENTRY, webllmAssistant };
|
|
67
|
+
//# sourceMappingURL=vite.js.map
|
|
68
|
+
//# sourceMappingURL=vite.js.map
|
package/dist/vite.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../webllm-assistant/src/vite-plugin.ts"],"names":[],"mappings":";AAkBO,IAAM,iBAAoB,GAAA;AACjC,IAAM,6BAA6B,IAAO,GAAA,iBAAA;AAE1C,IAAM,eAAkB,GAAA;AAAA,EACtB,qBAAA;AAAA,EACA,kBAAA;AAAA,EACA;AACF,CAAA;AAEA,IAAM,aAAa,CAAC,SAAA,EAAW,SAAS,CAAA,CAAE,KAAK,GAAG,CAAA;AAClD,IAAM,aAAA,GAAgB,GAAG,UAAU,CAAA,aAAA,CAAA;AACnC,IAAM,cAAc,CAAC,EAAA,EAAI,KAAK,CAAA,CAAE,KAAK,GAAG,CAAA;AAExC,SAAS,gBAAgB,MAAyB,EAAA;AAChD,EAAA,IAAI,MAAW,KAAA,UAAA,IAAc,MAAW,KAAA,aAAA,EAAsB,OAAA,IAAA;AAC9D,EAAA,IAAI,OAAO,QAAS,CAAA,iBAAiB,KAAK,MAAO,CAAA,QAAA,CAAS,iBAAiB,CAAG,EAAA;AAC5E,IAAO,OAAA,IAAA;AAAA;AAET,EAAO,OAAA,KAAA;AACT;AAEA,SAAS,eAAe,UAA4B,EAAA;AAClD,EAAA,IAAI,UAAW,CAAA,QAAA,CAAS,WAAW,CAAA,EAAU,OAAA,UAAA;AAC7C,EAAO,OAAA,CAAA,EAAG,UAAU,CAAA,EAAG,WAAW,CAAA,CAAA;AACpC;AAMO,SAAS,eAAoC,GAAA;AAClD,EAAO,OAAA;AAAA,IACL,IAAM,EAAA,2BAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,IACT,MAAS,GAAA;AACP,MAAO,OAAA;AAAA,QACL,MAAQ,EAAA;AAAA,UACN,sBAAA,EAAwB,IAAK,CAAA,SAAA,CAAU,IAAI;AAAA,SAC7C;AAAA,QACA,YAAc,EAAA;AAAA,UACZ,OAAA,EAAS,CAAC,UAAU;AAAA,SACtB;AAAA,QACA,KAAO,EAAA;AAAA,UACL,eAAiB,EAAA;AAAA,YACf,OAAS,EAAA;AAAA;AACX;AACF,OACF;AAAA,KACF;AAAA,IACA,MAAM,SAAA,CAAU,MAAQ,EAAA,QAAA,EAAU,OAAS,EAAA;AACzC,MAAA,IAAI,WAAW,iBAAmB,EAAA;AAChC,QAAO,OAAA,0BAAA;AAAA;AAGT,MAAI,IAAA,eAAA,CAAgB,MAAM,CAAG,EAAA;AAC3B,QAAA,MAAM,QAAW,GAAA,MACf,IAOA,CAAA,OAAA,CAAQ,eAAe,QAAU,EAAA;AAAA,UACjC,GAAG,OAAA;AAAA,UACH,QAAU,EAAA;AAAA,SACX,CAAA;AACD,QAAI,IAAA,CAAC,UAAiB,OAAA,IAAA;AACtB,QAAO,OAAA,cAAA,CAAe,SAAS,EAAE,CAAA;AAAA;AAInC,MAAA,IAAA,CACG,OAAO,QAAS,CAAA,iBAAiB,CAAK,IAAA,MAAA,CAAO,SAAS,iBAAiB,CAAA,KACxE,MAAO,CAAA,QAAA,CAAS,eAAe,CAC/B,IAAA,CAAC,MAAO,CAAA,QAAA,CAAS,WAAW,CAC5B,EAAA;AACA,QAAA,OAAO,eAAe,MAAM,CAAA;AAAA;AAG9B,MAAO,OAAA,IAAA;AAAA,KACT;AAAA,IACA,KAAK,EAAI,EAAA;AACP,MAAI,IAAA,EAAA,KAAO,4BAAmC,OAAA,IAAA;AAE9C,MAAA,OAAO,0BAA0B,UAAU,CAAA,GAAA,CAAA;AAAA;AAC7C,GACF;AACF","file":"vite.js","sourcesContent":["interface WebllmVitePlugin {\n name: string;\n enforce?: \"pre\" | \"post\";\n config: () => {\n optimizeDeps: { exclude: string[] };\n build: {\n commonjsOptions: { exclude: RegExp[] };\n };\n };\n resolveId?: (\n source: string,\n importer: string | undefined,\n options: { skipSelf?: boolean }\n ) => Promise<{ id: string; external?: boolean } | string | null>;\n load?: (id: string) => string | null;\n}\n\n/** Import this from `load-web-llm.vite.ts` so consumer graphs never mention `@mlc-ai/web-llm`. */\nexport const WEBLLM_VITE_ENTRY = \"virtual:arronqzy-webllm-entry\";\nconst RESOLVED_WEBLLM_VITE_ENTRY = \"\\0\" + WEBLLM_VITE_ENTRY;\n\nconst WEB_LLM_EXCLUDE = [\n /@mlc-ai[\\\\/]web-llm/,\n /@mlc-ai\\+web-llm/,\n /node_modules[\\\\/]\\.pnpm[\\\\/]@mlc-ai\\+web-llm/,\n];\n\nconst WEB_LLM_ID = [\"@mlc-ai\", \"web-llm\"].join(\"/\");\nconst WEB_LLM_ENTRY = `${WEB_LLM_ID}/lib/index.js`;\nconst ASSET_QUERY = [\"\", \"url\"].join(\"?\");\n\nfunction isWebLlmRequest(source: string): boolean {\n if (source === WEB_LLM_ID || source === WEB_LLM_ENTRY) return true;\n if (source.includes(\"@mlc-ai/web-llm\") || source.includes(\"@mlc-ai+web-llm\")) {\n return true;\n }\n return false;\n}\n\nfunction withAssetQuery(resolvedId: string): string {\n if (resolvedId.includes(ASSET_QUERY)) return resolvedId;\n return `${resolvedId}${ASSET_QUERY}`;\n}\n\n/**\n * Prevent Vite from running stripLiteral / commonjs transform on the huge\n * WebLLM bundle (Maximum call stack size exceeded).\n */\nexport function webllmAssistant(): WebllmVitePlugin {\n return {\n name: \"arronqzy-webllm-assistant\",\n enforce: \"pre\",\n config() {\n return {\n define: {\n __WEBLLM_VITE_LOADER__: JSON.stringify(true),\n },\n optimizeDeps: {\n exclude: [WEB_LLM_ID],\n },\n build: {\n commonjsOptions: {\n exclude: WEB_LLM_EXCLUDE,\n },\n },\n };\n },\n async resolveId(source, importer, options) {\n if (source === WEBLLM_VITE_ENTRY) {\n return RESOLVED_WEBLLM_VITE_ENTRY;\n }\n\n if (isWebLlmRequest(source)) {\n const resolved = await (\n this as unknown as {\n resolve: (\n id: string,\n importer: string | undefined,\n opts: { skipSelf?: boolean }\n ) => Promise<{ id: string } | null>;\n }\n ).resolve(WEB_LLM_ENTRY, importer, {\n ...options,\n skipSelf: true,\n });\n if (!resolved) return null;\n return withAssetQuery(resolved.id);\n }\n\n // Already-resolved absolute paths (e.g. prebundled graph) still hit commonjs.\n if (\n (source.includes(\"@mlc-ai/web-llm\") || source.includes(\"@mlc-ai+web-llm\")) &&\n source.endsWith(\"/lib/index.js\") &&\n !source.includes(ASSET_QUERY)\n ) {\n return withAssetQuery(source);\n }\n\n return null;\n },\n load(id) {\n if (id !== RESOLVED_WEBLLM_VITE_ENTRY) return null;\n // Dynamic import keeps the specifier out of Rollup's static graph until resolveId runs.\n return `export default import(\"${WEB_LLM_ID}\");`;\n },\n };\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@arronqzy/abuilder",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.28",
|
|
4
4
|
"description": "Abuilder 可视化编辑器 — 安装后即可通过 <App /> 渲染完整应用",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -20,15 +20,22 @@
|
|
|
20
20
|
"import": "./dist/index.js",
|
|
21
21
|
"require": "./dist/index.cjs"
|
|
22
22
|
},
|
|
23
|
-
"./styles.css": "./dist/styles.css"
|
|
23
|
+
"./styles.css": "./dist/styles.css",
|
|
24
|
+
"./vite": {
|
|
25
|
+
"types": "./dist/vite.d.ts",
|
|
26
|
+
"import": "./dist/vite.js",
|
|
27
|
+
"require": "./dist/vite.cjs",
|
|
28
|
+
"default": "./dist/vite.js"
|
|
29
|
+
}
|
|
24
30
|
},
|
|
25
31
|
"dependencies": {
|
|
26
32
|
"@arronqzy/blueprint-dsl": "1.0.14",
|
|
27
33
|
"@arronqzy/i18n": "0.1.11",
|
|
28
|
-
"@arronqzy/react-
|
|
34
|
+
"@arronqzy/react-blueprint": "1.0.16",
|
|
35
|
+
"@arronqzy/react-view": "1.0.27",
|
|
29
36
|
"@arronqzy/rx-store": "1.0.8",
|
|
30
37
|
"@arronqzy/ui": "1.0.9",
|
|
31
|
-
"@arronqzy/
|
|
38
|
+
"@arronqzy/webllm-assistant": "0.1.16"
|
|
32
39
|
},
|
|
33
40
|
"peerDependencies": {
|
|
34
41
|
"react": ">=18",
|
|
@@ -53,7 +60,7 @@
|
|
|
53
60
|
"lint": "eslint \"src/**/*.{ts,tsx}\"",
|
|
54
61
|
"typecheck": "tsc -p tsconfig.json --noEmit --skipLibCheck",
|
|
55
62
|
"build:css": "node ./scripts/build-css.mjs",
|
|
56
|
-
"build:js": "tsup",
|
|
63
|
+
"build:js": "tsup && cp src/vite.d.ts dist/vite.d.ts && cp src/vite.d.ts dist/vite.d.cts",
|
|
57
64
|
"build": "pnpm run build:js && pnpm run build:css",
|
|
58
65
|
"dev": "tsup --watch"
|
|
59
66
|
}
|