@linkdesk/plugin-sdk 0.1.0 → 0.1.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.
- package/dist/bin.js +12 -0
- package/dist/bin.js.map +1 -1
- package/dist/eslint/checks/css-hardcode.d.ts +14 -0
- package/dist/eslint/checks/css-hardcode.d.ts.map +1 -0
- package/dist/eslint/checks/css-hardcode.js +87 -0
- package/dist/eslint/checks/css-hardcode.js.map +1 -0
- package/dist/eslint/checks/disable.d.ts +29 -0
- package/dist/eslint/checks/disable.d.ts.map +1 -0
- package/dist/eslint/checks/disable.js +151 -0
- package/dist/eslint/checks/disable.js.map +1 -0
- package/dist/eslint/checks/font-scale.d.ts +19 -0
- package/dist/eslint/checks/font-scale.d.ts.map +1 -0
- package/dist/eslint/checks/font-scale.js +127 -0
- package/dist/eslint/checks/font-scale.js.map +1 -0
- package/dist/eslint/checks/scan.d.ts +20 -0
- package/dist/eslint/checks/scan.d.ts.map +1 -0
- package/dist/eslint/checks/scan.js +63 -0
- package/dist/eslint/checks/scan.js.map +1 -0
- package/dist/eslint/checks/spacing-grid.d.ts +14 -0
- package/dist/eslint/checks/spacing-grid.d.ts.map +1 -0
- package/dist/eslint/checks/spacing-grid.js +54 -0
- package/dist/eslint/checks/spacing-grid.js.map +1 -0
- package/dist/eslint/index.d.ts +15 -0
- package/dist/eslint/index.d.ts.map +1 -0
- package/dist/eslint/index.js +13 -0
- package/dist/eslint/index.js.map +1 -0
- package/dist/eslint/lint.d.ts +26 -0
- package/dist/eslint/lint.d.ts.map +1 -0
- package/dist/eslint/lint.js +112 -0
- package/dist/eslint/lint.js.map +1 -0
- package/dist/eslint/preset.d.ts +11 -0
- package/dist/eslint/preset.d.ts.map +1 -0
- package/dist/eslint/preset.js +88 -0
- package/dist/eslint/preset.js.map +1 -0
- package/dist/eslint/rules.d.ts +28 -0
- package/dist/eslint/rules.d.ts.map +1 -0
- package/dist/eslint/rules.js +441 -0
- package/dist/eslint/rules.js.map +1 -0
- package/dist/vite-config.d.ts +29 -8
- package/dist/vite-config.d.ts.map +1 -1
- package/dist/vite-config.js +377 -67
- package/dist/vite-config.js.map +1 -1
- package/package.json +20 -3
- package/schemas/plugin.schema.json +696 -687
package/dist/vite-config.js
CHANGED
|
@@ -10,37 +10,110 @@
|
|
|
10
10
|
* 构建裁决:
|
|
11
11
|
* - React/react-dom/react-i18next/**i18next** external(壳提供——插件自打 i18next 实例 → 翻译全空,
|
|
12
12
|
* B3 教训);其他依赖 inline 完全自包含。
|
|
13
|
-
* -
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
13
|
+
* - 🔥 E6#15(多表面打包):一个插件 = 主入口 + 每 contributes.views[].render 一个编译表面。
|
|
14
|
+
* **每个表面一次独立 vite lib build**(closeBundle 编排 N 次内层 `build()`)→ 每表面单文件自包含。
|
|
15
|
+
* 不赌 vite 单 build 多 JS 入口(实测 entry facade 空 chunk——rollup 把共享图并进首个入口却丢
|
|
16
|
+
* 其余入口 default 导出;E6#15 实证)。各表面共享模块在表面间重复打包(react 等 external 除外,
|
|
17
|
+
* css 内联进各表面再合并去重)——zip 大一点,换来入口导出零失真 + 逐表面失败隔离。
|
|
18
|
+
* zip 内布局:
|
|
19
|
+
* index.bundle.js 主入口(entry default 组件 + 模块级贡献副作用)
|
|
20
|
+
* views/<View>.bundle.js 每 contributes.views[].render 的独立表面(独立 lib build 产物)
|
|
21
|
+
* index.bundle.css 全插件聚合 css(有则 loader <link> 注入,与 js 并列)
|
|
22
|
+
* dist/ 内 plugin.json 的 render 字段改写指向 `views/<View>.bundle.js`(编译产物路径)——
|
|
23
|
+
* 源码 plugin.json 保持作者视角 `src/views/X.tsx`;壳 loader 读 dist manifest 后
|
|
24
|
+
* dynamic-import `${root}/views/X.bundle.js`(既有 glob 外回退分支,E5.7#98)即命中。
|
|
25
|
+
* - CSS:每表面 lib build cssCodeSplit 强制 false → 各产单 css → packager 合并为 `index.bundle.css`
|
|
26
|
+
* (各表面 css 规则全局性,合并 = 源码模式壳 build 全插件 css 合一语义)。壳 loader 激活 bundle
|
|
27
|
+
* 插件时 `<link rel=stylesheet>` 注入、卸载移除(对标 VS Code extension css 由宿主 link 的架构模型;
|
|
28
|
+
* 入口同步 css 不会被 vite style-inject,entry css 期待 html <link>,插件 chunk 无 html 消费方)。
|
|
29
|
+
* - Worker(monaco 等):`worker.format:"es"`——lib 模式 worker 默认 iife 撞 code-split 报错
|
|
30
|
+
* (Invalid value "iife" for worker.format),es 允许 worker 内动态 import。
|
|
31
|
+
* - 打包 = 内嵌私有插件 `linkdesk-plugin-packager` 的 Vite hook 序列。外层 build 只做哑入口
|
|
32
|
+
* (虚拟模块)承载 closeBundle——真实工作全在 closeBundle:逐表面 lib build → 汇总 pkgDir →
|
|
33
|
+
* 静态清单 + jszip。归属唯一(packager),bin 只编排不重复 zip。
|
|
17
34
|
* - 静态清单从**源码 pluginRoot** 拷贝(非 outDir——outDir 每次 emptyOutDir 清空),含 plugin.json/
|
|
18
|
-
* icon/README.md/CHANGELOG.md(K2 缝隙)/ i18n
|
|
19
|
-
* outDir 深拷贝进 pkgDir。
|
|
35
|
+
* icon/README.md/CHANGELOG.md(K2 缝隙)/ i18n 声明文件。
|
|
20
36
|
* - zip 条目相对 pkgDir、正斜杠、无外层目录(loader 解压期待 plugin.json 在顶,E6#7 契约)。
|
|
21
37
|
* - dev/serve 不触发 build 系 hook → packager 天然只在 build 跑。
|
|
22
38
|
*/
|
|
23
39
|
import { copyFileSync, existsSync, mkdirSync, readdirSync, readFileSync, rmSync, writeFileSync } from "node:fs";
|
|
24
|
-
import { basename, dirname, join, relative, resolve } from "node:path";
|
|
40
|
+
import { basename, dirname, extname, join, relative, resolve } from "node:path";
|
|
41
|
+
import { build as viteBuild } from "vite";
|
|
25
42
|
import react from "@vitejs/plugin-react";
|
|
26
43
|
import JSZip from "jszip";
|
|
27
44
|
import { collectI18nDecls, derivePluginId, isWithinRoot, readPluginManifest, validatePluginJson, } from "./validate.js";
|
|
28
|
-
/** 壳提供、插件不得重复打包的依赖——i18next 必须 external(B3:自打实例 →
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
*
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
45
|
+
/** 壳提供、插件不得重复打包的依赖——i18next 必须 external(B3:自打实例 → 翻译全空)。
|
|
46
|
+
* E6#15d 消费切换实证:`react-dom/client` 必须同列 external——池 import-map 已提供 clean 副本,
|
|
47
|
+
* 否则作者 import react-dom/client 时其 dev wrapper(createRoot 解析读 `process.env.NODE_ENV`,
|
|
48
|
+
* 顶层执行)被内联进 bundle → 池运行态 ReferenceError: process is not defined → 视图全崩。 */
|
|
49
|
+
export const DEFAULT_EXTERNAL = ["react", "react-dom", "react-dom/client", "react/jsx-runtime", "react-i18next", "i18next"];
|
|
50
|
+
/** E6#15m:打包红标记——includeLspRuntimePackages 对不可解 .bin 抛带此前缀的错,
|
|
51
|
+
* closeBundle 据此把它**重新抛出**(真红拦 build),其余一般打包错仍走 warn(失败隔离)。 */
|
|
52
|
+
const PACKAGER_RED = "[linkdesk-plugin-packager:red]";
|
|
53
|
+
/** 收集可编译表面 = [entry?] + 每唯一 contributes.views[].render */
|
|
54
|
+
function collectSurfaces(root, manifest, options) {
|
|
55
|
+
const entry = options.entry ?? manifest?.entry;
|
|
56
|
+
const entryAbs = typeof entry === "string" ? resolve(root, entry) : undefined;
|
|
57
|
+
if (entryAbs && !existsSync(entryAbs)) {
|
|
58
|
+
throw new Error(`入口不存在:${relative(root, entryAbs)}——在 plugin.json 声明 entry 或传 defineLinkdeskPluginConfig({ entry })`);
|
|
59
|
+
}
|
|
60
|
+
const surfaces = [];
|
|
61
|
+
const usedKeys = new Set();
|
|
62
|
+
if (entryAbs) {
|
|
63
|
+
surfaces.push({ key: "index", finalName: "index.bundle.js", abs: entryAbs });
|
|
64
|
+
usedKeys.add("index");
|
|
65
|
+
}
|
|
66
|
+
const contributes = manifest?.contributes;
|
|
67
|
+
const views = contributes?.views ?? {};
|
|
68
|
+
const seenRel = new Set();
|
|
69
|
+
for (const viewDefs of Object.values(views)) {
|
|
70
|
+
if (!Array.isArray(viewDefs))
|
|
71
|
+
continue;
|
|
72
|
+
for (const vd of viewDefs) {
|
|
73
|
+
const rel = typeof vd?.render === "string" ? vd.render : undefined;
|
|
74
|
+
if (!rel || !rel.endsWith(".tsx") || seenRel.has(rel))
|
|
75
|
+
continue;
|
|
76
|
+
const abs = resolve(root, rel);
|
|
77
|
+
if (!existsSync(abs))
|
|
78
|
+
continue; // render 指向缺失文件——validate 已报,build 不 abort
|
|
79
|
+
seenRel.add(rel);
|
|
80
|
+
let key = basename(rel, extname(rel)).replace(/[^A-Za-z0-9_.-]/g, "_");
|
|
81
|
+
while (usedKeys.has(key))
|
|
82
|
+
key += "_";
|
|
83
|
+
usedKeys.add(key);
|
|
84
|
+
surfaces.push({ key, finalName: `views/${key}.bundle.js`, abs });
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return surfaces;
|
|
88
|
+
}
|
|
89
|
+
/** dist plugin.json 深变换——把每 render 改写为编译 chunk 相对路径(按 rel → finalName 映射) */
|
|
90
|
+
function rewriteDistManifest(manifest, surfaceByRel) {
|
|
91
|
+
const clone = JSON.parse(JSON.stringify(manifest));
|
|
92
|
+
const contributes = clone?.contributes;
|
|
93
|
+
const views = contributes?.views;
|
|
94
|
+
if (!views)
|
|
95
|
+
return clone;
|
|
96
|
+
for (const viewDefs of Object.values(views)) {
|
|
97
|
+
if (!Array.isArray(viewDefs))
|
|
98
|
+
continue;
|
|
99
|
+
for (const vd of viewDefs) {
|
|
100
|
+
const rel = typeof vd?.render === "string" ? vd.render : undefined;
|
|
101
|
+
if (rel && surfaceByRel.has(rel))
|
|
102
|
+
vd.render = surfaceByRel.get(rel);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
return clone;
|
|
106
|
+
}
|
|
107
|
+
/** 从 srcDir 深拷贝到 destDir——packager 把内层 build 的 assets/ 等子夹汇总进 pkgDir。
|
|
108
|
+
* 同名冲突 = 同内容同哈希的重复文件(多表面共享同一资产),跳过即对(逐字节一致)。 */
|
|
109
|
+
function copyTree(srcDir, destDir) {
|
|
35
110
|
mkdirSync(destDir, { recursive: true });
|
|
36
111
|
for (const e of readdirSync(srcDir, { withFileTypes: true })) {
|
|
37
|
-
if (skipNames.has(e.name))
|
|
38
|
-
continue;
|
|
39
112
|
const s = join(srcDir, e.name);
|
|
40
113
|
const d = join(destDir, e.name);
|
|
41
114
|
if (e.isDirectory())
|
|
42
|
-
copyTree(s, d
|
|
43
|
-
else
|
|
115
|
+
copyTree(s, d);
|
|
116
|
+
else if (!existsSync(d))
|
|
44
117
|
copyFileSync(s, d);
|
|
45
118
|
}
|
|
46
119
|
}
|
|
@@ -65,6 +138,141 @@ function zipTree(zip, dir, prefix) {
|
|
|
65
138
|
zip.file(rel, readFileSync(full));
|
|
66
139
|
}
|
|
67
140
|
}
|
|
141
|
+
/** E6#15m:node_modules 各包 package.json `bin` 声明反查表——name(.bin shim 名)→ 归属包 + 真入口相对路径。
|
|
142
|
+
* 扫插件根 node_modules 顶层包 + @scope 子包;`bin` 为 string(bin 名 = 包名末段)或 object(键即 bin 名)。
|
|
143
|
+
* 真入口须在包内(resolve 后仍处 node_modules 下)且物理存在——npm 单根安装禁止同名 bin 冲突,重复取首。
|
|
144
|
+
* 惰性构建(首个 .bin arg 才扫;pyright 等直路 node_modules/<pkg> 零扫描成本)。 */
|
|
145
|
+
function buildBinIndex(root) {
|
|
146
|
+
const bins = new Map();
|
|
147
|
+
const nmDir = join(root, "node_modules");
|
|
148
|
+
if (!existsSync(nmDir))
|
|
149
|
+
return bins;
|
|
150
|
+
const record = (pkgRel, binName, rel) => {
|
|
151
|
+
if (!rel || rel.startsWith("..") || rel.startsWith("/") || /^[a-zA-Z]:[\\/]/.test(rel))
|
|
152
|
+
return; // 逸出/绝对 → 忽略
|
|
153
|
+
const targetAbs = resolve(nmDir, pkgRel, rel);
|
|
154
|
+
if (relative(nmDir, targetAbs).startsWith(".."))
|
|
155
|
+
return; // 真入口必须落在 node_modules 内
|
|
156
|
+
if (!existsSync(targetAbs))
|
|
157
|
+
return;
|
|
158
|
+
if (!bins.has(binName))
|
|
159
|
+
bins.set(binName, { pkg: pkgRel, rel: rel.replace(/\\/g, "/") });
|
|
160
|
+
};
|
|
161
|
+
const readBin = (pkgJsonPath, pkgRel) => {
|
|
162
|
+
let pkg;
|
|
163
|
+
try {
|
|
164
|
+
pkg = JSON.parse(readFileSync(pkgJsonPath, "utf-8"));
|
|
165
|
+
}
|
|
166
|
+
catch {
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
169
|
+
const bin = pkg?.bin;
|
|
170
|
+
if (typeof bin === "string") {
|
|
171
|
+
record(pkgRel, pkgRel.split("/").pop() ?? "", bin); // string bin:bin 名 = 包名末段(@scope/pkg → pkg)
|
|
172
|
+
}
|
|
173
|
+
else if (bin && typeof bin === "object") {
|
|
174
|
+
for (const [name, rel] of Object.entries(bin)) {
|
|
175
|
+
if (typeof rel === "string")
|
|
176
|
+
record(pkgRel, name, rel);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
};
|
|
180
|
+
for (const top of readdirSync(nmDir)) {
|
|
181
|
+
if (top.startsWith("."))
|
|
182
|
+
continue;
|
|
183
|
+
if (top.startsWith("@")) {
|
|
184
|
+
for (const sub of readdirSync(join(nmDir, top))) {
|
|
185
|
+
readBin(join(nmDir, top, sub, "package.json"), `${top}/${sub}`);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
readBin(join(nmDir, top, "package.json"), top);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
return bins;
|
|
193
|
+
}
|
|
194
|
+
/** E6#15e:langDef.lsp 引用的 node_modules 运行时依赖随 zip——只带真正 spawn 的二进制(见 closeBundle 调用注)。
|
|
195
|
+
* lsp.args 相对路径**以插件根目录为基准解析**(E6#15l 锚词「插件根目录为基准」,与 schema 描述同源,
|
|
196
|
+
* 门禁 scripts/check-lsp-args-base.mjs 钉本文件)——从 args 解析 `node_modules/<pkg>/…` 顶层包名 →
|
|
197
|
+
* 整树拷入 pkgDir/node_modules/<pkg>。
|
|
198
|
+
* E6#15m:`node_modules/.bin/<name>` shim 形态(clangd/jdtls/rust-analyzer 等 npm 包二进制的作者最自然写法)
|
|
199
|
+
* 解引用——buildBinIndex 反查 <name> 归属包,把**归属包整树**拷入 pkgDir(真入口在包里),并把本函数收到的
|
|
200
|
+
* manifest(= dist plugin.json,closeBundle 传入改写副本)arg 从 `.bin/<name>` 改写成 `node_modules/<pkg>/<rel>`:
|
|
201
|
+
* `.bin/<name>` 是 npm 转发 shim(shell/.cmd 脚本),zip 无 node_modules/.bin 且 node 直接跑 shim 必崩——
|
|
202
|
+
* 打包即改写,让安装后注册绝对化(electron lsp-arg-resolve.ts)直接指向 zip 内真 js 入口。解不出归属
|
|
203
|
+
* (未 npm install / bin 名错 / 多层路径)→ 抛 PACKAGER_RED 错真红拦 build——宁打包时红脸,不把转发壳带进
|
|
204
|
+
* zip 让装上才炸。manifest 只改路径式 arg 串;flag 类(--stdio)与 .bin 之外的 node_modules 直路行为零变。 */
|
|
205
|
+
function includeLspRuntimePackages(root, pkgDir, manifest, warn) {
|
|
206
|
+
const langDefs = manifest
|
|
207
|
+
?.contributes?.langDefs;
|
|
208
|
+
if (!Array.isArray(langDefs))
|
|
209
|
+
return;
|
|
210
|
+
const wanted = new Set(); // node_modules/<pkg>(可含 @scope/)整树待拷
|
|
211
|
+
const binRewrites = new Map(); // 原 arg → 改写后相对 arg
|
|
212
|
+
let binIndex = null;
|
|
213
|
+
for (const ld of langDefs) {
|
|
214
|
+
const args = ld?.lsp?.args;
|
|
215
|
+
if (!Array.isArray(args))
|
|
216
|
+
continue;
|
|
217
|
+
for (const arg of args) {
|
|
218
|
+
if (typeof arg !== "string")
|
|
219
|
+
continue;
|
|
220
|
+
const norm = arg.replace(/\\/g, "/");
|
|
221
|
+
if (!norm.includes("node_modules/"))
|
|
222
|
+
continue;
|
|
223
|
+
const seg = norm.split("node_modules/")[1];
|
|
224
|
+
if (!seg)
|
|
225
|
+
continue;
|
|
226
|
+
const top = seg.split("/")[0];
|
|
227
|
+
if (!top)
|
|
228
|
+
continue;
|
|
229
|
+
if (top === ".bin") {
|
|
230
|
+
const rest = seg.split("/");
|
|
231
|
+
const name = rest[1];
|
|
232
|
+
if (!name || rest.length > 2) {
|
|
233
|
+
throw new Error(`${PACKAGER_RED} lsp.args "${arg}" 的 .bin 形态只支持单层 bin 名(node_modules/.bin/<name>)`);
|
|
234
|
+
}
|
|
235
|
+
binIndex ??= buildBinIndex(root);
|
|
236
|
+
const owner = binIndex.get(name);
|
|
237
|
+
if (!owner) {
|
|
238
|
+
throw new Error(`${PACKAGER_RED} lsp.args "${arg}" 经 node_modules/.bin shim,但插件根 node_modules 无包声明 bin ` +
|
|
239
|
+
`"${name}"——SDK 无法把 LSP 服务器真入口随包。请确认插件根已 npm install 且 bin 名拼写正确,` +
|
|
240
|
+
"或改指真实包路径(node_modules/<pkg>/…)。");
|
|
241
|
+
}
|
|
242
|
+
wanted.add(owner.pkg);
|
|
243
|
+
binRewrites.set(arg, `node_modules/${owner.pkg}/${owner.rel}`);
|
|
244
|
+
continue;
|
|
245
|
+
}
|
|
246
|
+
if (top.startsWith("."))
|
|
247
|
+
continue; // 隐藏目录非包
|
|
248
|
+
wanted.add(top);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
for (const name of wanted) {
|
|
252
|
+
const segs = name.split("/");
|
|
253
|
+
const src = join(root, "node_modules", ...segs);
|
|
254
|
+
if (!existsSync(src)) {
|
|
255
|
+
warn(`[linkdesk-plugin-packager] lsp.args 引用依赖 "${name}" 不在插件根 node_modules——未随包(插件根须先 npm install)`);
|
|
256
|
+
continue;
|
|
257
|
+
}
|
|
258
|
+
const dest = join(pkgDir, "node_modules", ...segs);
|
|
259
|
+
mkdirSync(dest, { recursive: true });
|
|
260
|
+
copyTree(src, dest);
|
|
261
|
+
}
|
|
262
|
+
// E6#15m:dist plugin.json arg 改写 .bin → 真入口(安装注册绝对化即指向 zip 内真 js)
|
|
263
|
+
if (binRewrites.size > 0) {
|
|
264
|
+
for (const ld of langDefs) {
|
|
265
|
+
const args = ld?.lsp?.args;
|
|
266
|
+
if (!Array.isArray(args))
|
|
267
|
+
continue;
|
|
268
|
+
for (let i = 0; i < args.length; i++) {
|
|
269
|
+
const rewritten = binRewrites.get(args[i]);
|
|
270
|
+
if (rewritten)
|
|
271
|
+
args[i] = rewritten;
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
}
|
|
68
276
|
export function defineLinkdeskPluginConfig(options = {}) {
|
|
69
277
|
const root = process.cwd();
|
|
70
278
|
const manifestPath = join(root, "plugin.json");
|
|
@@ -75,17 +283,90 @@ export function defineLinkdeskPluginConfig(options = {}) {
|
|
|
75
283
|
catch (err) {
|
|
76
284
|
throw new Error(`defineLinkdeskPluginConfig 须在插件工程根运行——${err instanceof Error ? err.message : String(err)}`);
|
|
77
285
|
}
|
|
78
|
-
const
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
286
|
+
const surfaces = collectSurfaces(root, manifest, options);
|
|
287
|
+
if (surfaces.length === 0) {
|
|
288
|
+
throw new Error(`无可编译表面——plugin.json 需声明 entry 或 contributes.views[].render(当前两者皆缺)`);
|
|
289
|
+
}
|
|
290
|
+
const relToFinal = new Map();
|
|
291
|
+
for (const s of surfaces) {
|
|
292
|
+
if (s.key !== "index") {
|
|
293
|
+
const rel = relative(root, s.abs).replace(/\\/g, "/");
|
|
294
|
+
relToFinal.set(rel, s.finalName);
|
|
295
|
+
relToFinal.set(s.abs, s.finalName);
|
|
296
|
+
}
|
|
84
297
|
}
|
|
85
298
|
const id = derivePluginId(manifest, basename(root));
|
|
86
299
|
const outDir = resolve(root, options.outDir ?? "dist");
|
|
87
300
|
const pkgName = `${id}.linkdesk-plugin`;
|
|
88
301
|
const pkgDir = join(outDir, pkgName);
|
|
302
|
+
const external = [...DEFAULT_EXTERNAL, ...(options.external ?? [])];
|
|
303
|
+
/** 单表面 lib build——独立 outDir 子夹(.s/<key>),产物 surface.bundle.js(+ css/assets/worker) */
|
|
304
|
+
async function buildSurface(surface) {
|
|
305
|
+
const surfaceOut = join(outDir, ".s", surface.key);
|
|
306
|
+
await viteBuild({
|
|
307
|
+
root,
|
|
308
|
+
configFile: false, // 内层不重载作者 vite.config——避免递归
|
|
309
|
+
// E6#15o(2026-09-06):base "./"——插件独立构建产物自锚定 import.meta.url。
|
|
310
|
+
// Vite 默认 base "/" 把 worker/资产引用烤成宿主绝对路径(/assets/x),运行时按宿主 document
|
|
311
|
+
// 基址解析(打包态池页 = file:// app.asar)→ Monaco web worker 全灭(.ts 跳转挂,实机实证)。
|
|
312
|
+
// base "./" 才走 customRelativeUrlMechanisms.es = new URL(rel, import.meta.url)——锚到插件自身
|
|
313
|
+
// 服务根(prod linkdesk://<id>/、dev dev-server origin),worker/图片/字体引用全对。
|
|
314
|
+
base: "./",
|
|
315
|
+
plugins: [react()],
|
|
316
|
+
define: {
|
|
317
|
+
// E6#15d:生产 define——任何仍被内联的 CJS/dev 模块(react-dom 等)的 process.env.NODE_ENV
|
|
318
|
+
// guard 都静态替换为 "production",池运行态零 process 依赖(防御层;external 已挡主路)。
|
|
319
|
+
"process.env.NODE_ENV": JSON.stringify("production"),
|
|
320
|
+
},
|
|
321
|
+
worker: { format: "es" }, // monaco 等真 worker:es 允许动态 import(lib 默认 iife 撞 code-split)
|
|
322
|
+
build: {
|
|
323
|
+
lib: {
|
|
324
|
+
entry: surface.abs,
|
|
325
|
+
formats: ["es"],
|
|
326
|
+
// 全名含 .js——fileName 不带后缀时 Rollup 不自动补
|
|
327
|
+
fileName: () => "surface.bundle.js",
|
|
328
|
+
},
|
|
329
|
+
outDir: surfaceOut,
|
|
330
|
+
emptyOutDir: true,
|
|
331
|
+
cssCodeSplit: false, // 单 css/表面 → 汇总 index.bundle.css
|
|
332
|
+
rollupOptions: { external },
|
|
333
|
+
sourcemap: false,
|
|
334
|
+
minify: "esbuild",
|
|
335
|
+
},
|
|
336
|
+
});
|
|
337
|
+
}
|
|
338
|
+
/** 汇总:逐表面 surface.bundle.js → 终名;css 合并;assets/ 同深拷贝 */
|
|
339
|
+
async function assemblePkgDir() {
|
|
340
|
+
rmSync(pkgDir, { recursive: true, force: true });
|
|
341
|
+
mkdirSync(pkgDir, { recursive: true });
|
|
342
|
+
let cssBuffer = Buffer.alloc(0);
|
|
343
|
+
for (const s of surfaces) {
|
|
344
|
+
const surfaceOut = join(outDir, ".s", s.key);
|
|
345
|
+
const mainJs = join(surfaceOut, "surface.bundle.js");
|
|
346
|
+
if (!existsSync(mainJs))
|
|
347
|
+
continue; // 该表面 build 失败/无产物——跳过(失败隔离)
|
|
348
|
+
const dest = join(pkgDir, s.finalName);
|
|
349
|
+
mkdirSync(dirname(dest), { recursive: true });
|
|
350
|
+
copyFileSync(mainJs, dest);
|
|
351
|
+
// css + 其余(assets/ worker 等):排除 surface.bundle.js 后整夹同深拷入,css 汇聚暂存
|
|
352
|
+
for (const e of readdirSync(surfaceOut, { withFileTypes: true })) {
|
|
353
|
+
if (e.name === "surface.bundle.js")
|
|
354
|
+
continue;
|
|
355
|
+
const sPath = join(surfaceOut, e.name);
|
|
356
|
+
if (e.isFile() && e.name.endsWith(".css")) {
|
|
357
|
+
cssBuffer = Buffer.concat([cssBuffer, readFileSync(sPath)]);
|
|
358
|
+
continue;
|
|
359
|
+
}
|
|
360
|
+
if (e.isDirectory())
|
|
361
|
+
copyTree(sPath, join(pkgDir, e.name));
|
|
362
|
+
else
|
|
363
|
+
copyFileSync(sPath, join(pkgDir, e.name));
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
if (cssBuffer.length > 0) {
|
|
367
|
+
writeFileSync(join(pkgDir, "index.bundle.css"), cssBuffer);
|
|
368
|
+
}
|
|
369
|
+
}
|
|
89
370
|
/** 打包器——zip/校验的唯一归属点 */
|
|
90
371
|
let failed = false;
|
|
91
372
|
const packager = {
|
|
@@ -97,67 +378,96 @@ export function defineLinkdeskPluginConfig(options = {}) {
|
|
|
97
378
|
}
|
|
98
379
|
},
|
|
99
380
|
buildEnd(err) {
|
|
100
|
-
// Rollup 在 build 失败(含 buildStart 抛错)时也调 buildEnd(err) + closeBundle——
|
|
101
|
-
// failed 是权威闸门,防残留 outDir 产物被陈旧 zip(emptyOutDir 只在正常 generate 清 outDir)
|
|
102
381
|
if (err) {
|
|
103
382
|
failed = true;
|
|
104
|
-
this.warn(`[linkdesk-plugin-packager] build 失败(${err.message}),跳过打包`);
|
|
383
|
+
this.warn(`[linkdesk-plugin-packager] 校验/哑 build 失败(${err.message}),跳过打包`);
|
|
105
384
|
}
|
|
106
385
|
},
|
|
107
386
|
async closeBundle() {
|
|
108
387
|
if (failed)
|
|
109
388
|
return;
|
|
110
|
-
if (!existsSync(join(outDir, "index.bundle.js")))
|
|
111
|
-
return;
|
|
112
|
-
let latest;
|
|
113
389
|
try {
|
|
114
|
-
|
|
390
|
+
rmSync(join(outDir, ".s"), { recursive: true, force: true });
|
|
391
|
+
// 逐表面独立 lib build(fail 隔离:某一表面炸不阻断其他表面)
|
|
392
|
+
const results = [];
|
|
393
|
+
for (const s of surfaces) {
|
|
394
|
+
try {
|
|
395
|
+
await buildSurface(s);
|
|
396
|
+
results.push({ key: s.key, ok: true });
|
|
397
|
+
}
|
|
398
|
+
catch (e) {
|
|
399
|
+
results.push({ key: s.key, ok: false });
|
|
400
|
+
this.warn(`[linkdesk-plugin-packager] 表面 "${s.key}" build 失败:${e instanceof Error ? e.message : String(e)}`);
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
const ok = results.filter((r) => r.ok);
|
|
404
|
+
if (ok.length === 0) {
|
|
405
|
+
this.warn("[linkdesk-plugin-packager] 全部表面 build 失败,跳过打包");
|
|
406
|
+
return;
|
|
407
|
+
}
|
|
408
|
+
await assemblePkgDir();
|
|
409
|
+
// 静态清单(jsonc 归一 + E6#15 render 改写)先算——includeLspRuntimePackages 需对改写副本动
|
|
410
|
+
// .bin args(E6#15m 解引用改写进 dist plugin.json,源码 plugin.json 保持作者视角 .bin 形态)
|
|
411
|
+
const distManifest = rewriteDistManifest(manifest, relToFinal);
|
|
412
|
+
// E6#15e/#15m:插件自带的 LSP 二进制随包——扫本插件 langDefs[].lsp.args,凡路径式 arg 指向
|
|
413
|
+
// `node_modules/<pkg>/…` 的,把 <pkg> 整树从插件根 node_modules 拷进 zip(pyright 等是 spawn 二进制,
|
|
414
|
+
// 不经 bundle import——knip/rollup 图外,只能显式随包);`node_modules/.bin/<name>` shim 形态解引用
|
|
415
|
+
// 归属包拷入 + args 改写真路径(见函数 docblock)。按 lsp.args 引用驱动而非全量 dependencies:
|
|
416
|
+
// react/@linkdesk/ui 等构建期被 external/内联,不需要也不该进包(全量拷 = 纯增重);无 langDef.lsp
|
|
417
|
+
// 的插件(既有 zip)零影响。不可解 .bin → PACKAGER_RED 抛错(catch 见下:真红拦 build)。
|
|
418
|
+
includeLspRuntimePackages(root, pkgDir, distManifest, (m) => this.warn(m));
|
|
419
|
+
writeFileSync(join(pkgDir, "plugin.json"), `${JSON.stringify(distManifest, null, 2)}\n`, "utf8");
|
|
420
|
+
for (const decl of collectI18nDecls(manifest))
|
|
421
|
+
copyFileInto(root, pkgDir, decl.rel);
|
|
422
|
+
copyFileInto(root, pkgDir, "icon.svg");
|
|
423
|
+
copyFileInto(root, pkgDir, "README.md");
|
|
424
|
+
copyFileInto(root, pkgDir, "CHANGELOG.md");
|
|
425
|
+
const iconRel = manifest?.icon;
|
|
426
|
+
if (typeof iconRel === "string" && !iconRel.includes("\\"))
|
|
427
|
+
copyFileInto(root, pkgDir, iconRel);
|
|
428
|
+
// jszip 打包 → 项目根单文件
|
|
429
|
+
const zip = new JSZip();
|
|
430
|
+
zipTree(zip, pkgDir, "");
|
|
431
|
+
const buf = await zip.generateAsync({ type: "nodebuffer", compression: "DEFLATE" });
|
|
432
|
+
const zipPath = join(root, pkgName);
|
|
433
|
+
writeFileSync(zipPath, buf);
|
|
434
|
+
const kb = (buf.byteLength / 1024).toFixed(1);
|
|
435
|
+
const failedKeys = results.filter((r) => !r.ok).map((r) => r.key);
|
|
436
|
+
const warnSuffix = failedKeys.length > 0 ? `(⚠ 失败表面: ${failedKeys.join(", ")})` : "";
|
|
437
|
+
console.log(`[linkdesk-plugin-sdk] ✔ ${pkgName}(${kb} KB, ${ok.length}/${surfaces.length} 表面)→ ${relative(process.cwd(), zipPath)}${warnSuffix}`);
|
|
438
|
+
rmSync(join(outDir, ".s"), { recursive: true, force: true });
|
|
115
439
|
}
|
|
116
|
-
catch {
|
|
117
|
-
|
|
440
|
+
catch (e) {
|
|
441
|
+
const msg = e instanceof Error ? e.message : String(e);
|
|
442
|
+
if (msg.startsWith(PACKAGER_RED))
|
|
443
|
+
throw e; // E6#15m:.bin 不可解 = 作者配置错——真红拦 build,不吞(失败隔离只护表面级错误)
|
|
444
|
+
this.warn(`[linkdesk-plugin-packager] 打包失败:${msg}`);
|
|
118
445
|
}
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
copyFileInto(root, pkgDir, "CHANGELOG.md");
|
|
133
|
-
const iconRel = latest?.icon;
|
|
134
|
-
if (typeof iconRel === "string" && !iconRel.includes("\\"))
|
|
135
|
-
copyFileInto(root, pkgDir, iconRel);
|
|
136
|
-
// 4) jszip 打包 → 项目根单文件
|
|
137
|
-
const zip = new JSZip();
|
|
138
|
-
zipTree(zip, pkgDir, "");
|
|
139
|
-
const buf = await zip.generateAsync({ type: "nodebuffer", compression: "DEFLATE" });
|
|
140
|
-
const zipPath = join(root, pkgName);
|
|
141
|
-
writeFileSync(zipPath, buf);
|
|
142
|
-
const kb = (buf.byteLength / 1024).toFixed(1);
|
|
143
|
-
console.log(`[linkdesk-plugin-sdk] ✔ ${pkgName}(${kb} KB)→ ${relative(process.cwd(), zipPath)}`);
|
|
446
|
+
},
|
|
447
|
+
};
|
|
448
|
+
/** 哑虚拟入口——外层 build 只为承载 closeBundle(真实构建在 closeBundle 内逐表面执行) */
|
|
449
|
+
const dummyEntry = "__linkdesk_dummy__";
|
|
450
|
+
const virtualDummy = {
|
|
451
|
+
name: "linkdesk-plugin-dummy-entry",
|
|
452
|
+
resolveId(source) {
|
|
453
|
+
if (source === dummyEntry)
|
|
454
|
+
return "\0" + dummyEntry;
|
|
455
|
+
},
|
|
456
|
+
load(id) {
|
|
457
|
+
if (id === "\0" + dummyEntry)
|
|
458
|
+
return "export {};";
|
|
144
459
|
},
|
|
145
460
|
};
|
|
146
461
|
return {
|
|
147
462
|
root,
|
|
148
|
-
plugins: [react(), packager],
|
|
463
|
+
plugins: [react(), virtualDummy, packager],
|
|
149
464
|
build: {
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
// 全名含 .js——fileName 不带后缀时 Rollup 不自动补,closeBundle 的 index.bundle.js 断言会扑空
|
|
154
|
-
fileName: () => "index.bundle.js",
|
|
465
|
+
rollupOptions: {
|
|
466
|
+
input: dummyEntry,
|
|
467
|
+
output: { format: "es" },
|
|
155
468
|
},
|
|
156
469
|
outDir,
|
|
157
470
|
emptyOutDir: true,
|
|
158
|
-
rollupOptions: {
|
|
159
|
-
external: [...DEFAULT_EXTERNAL, ...(options.external ?? [])],
|
|
160
|
-
},
|
|
161
471
|
sourcemap: false,
|
|
162
472
|
minify: "esbuild",
|
|
163
473
|
},
|
package/dist/vite-config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-config.js","sourceRoot":"","sources":["../src/vite-config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vite-config.js","sourceRoot":"","sources":["../src/vite-config.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,10 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@linkdesk/plugin-sdk",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "@linkdesk/plugin-sdk——LinkDesk 插件作者 SDK(对标 @types/vscode):window.linkdesk.* 类型 + 一键 build(.linkdesk-plugin) + plugin.json
|
|
3
|
+
"version": "0.1.1",
|
|
4
|
+
"description": "@linkdesk/plugin-sdk——LinkDesk 插件作者 SDK(对标 @types/vscode):window.linkdesk.* 类型 + 一键 build(.linkdesk-plugin) + plugin.json 验证 + eslint 门禁(E6#54d)。作者 npm i 后零壳源码依赖。",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"default": "./dist/index.js"
|
|
12
|
+
},
|
|
13
|
+
"./eslint": {
|
|
14
|
+
"types": "./dist/eslint/index.d.ts",
|
|
15
|
+
"default": "./dist/eslint/index.js"
|
|
16
|
+
},
|
|
17
|
+
"./package.json": "./package.json"
|
|
18
|
+
},
|
|
8
19
|
"files": [
|
|
9
20
|
"dist",
|
|
10
21
|
"schemas"
|
|
@@ -25,9 +36,15 @@
|
|
|
25
36
|
"prepack": "tsc"
|
|
26
37
|
},
|
|
27
38
|
"dependencies": {
|
|
28
|
-
"@linkdesk/contracts": "^0.1.
|
|
39
|
+
"@linkdesk/contracts": "^0.1.1",
|
|
40
|
+
"@typescript-eslint/eslint-plugin": "^8.0.0",
|
|
41
|
+
"@typescript-eslint/parser": "^8.0.0",
|
|
29
42
|
"@vitejs/plugin-react": "^4.3.4",
|
|
30
43
|
"ajv": "^8.17.1",
|
|
44
|
+
"eslint": "^9.0.0",
|
|
45
|
+
"eslint-import-resolver-typescript": "^4.4.5",
|
|
46
|
+
"eslint-plugin-import-x": "^4.17.1",
|
|
47
|
+
"eslint-plugin-react-hooks": "^7.1.1",
|
|
31
48
|
"jsonc-parser": "^3.3.1",
|
|
32
49
|
"jszip": "^3.10.1",
|
|
33
50
|
"vite": "^6.0.0"
|