@linkdesk/plugin-sdk 0.1.13 → 0.1.14
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 +28 -1
- package/dist/bin.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/pack.d.ts +46 -0
- package/dist/pack.d.ts.map +1 -0
- package/dist/pack.js +140 -0
- package/dist/pack.js.map +1 -0
- package/dist/validate.d.ts.map +1 -1
- package/dist/validate.js +28 -2
- package/dist/validate.js.map +1 -1
- package/package.json +1 -1
- package/schemas/plugin.schema.json +687 -682
package/dist/bin.js
CHANGED
|
@@ -9,10 +9,11 @@
|
|
|
9
9
|
* - validate:跑 validatePluginJson 逐行打错,exit 1/0
|
|
10
10
|
*/
|
|
11
11
|
import { existsSync } from "node:fs";
|
|
12
|
-
import { join } from "node:path";
|
|
12
|
+
import { join, relative } from "node:path";
|
|
13
13
|
import { build } from "vite";
|
|
14
14
|
import { validatePluginJson } from "./validate.js";
|
|
15
15
|
import { defineLinkdeskPluginConfig } from "./vite-config.js";
|
|
16
|
+
import { packPluginData } from "./pack.js";
|
|
16
17
|
import { runPluginDev } from "./dev-server.js";
|
|
17
18
|
import { runPluginDevReal } from "./dev-real.js";
|
|
18
19
|
import { runPluginPublish } from "./publish.js";
|
|
@@ -35,6 +36,9 @@ const USAGE = `linkdesk-plugin-sdk <command>
|
|
|
35
36
|
真 IPC/串口/LSP 类插件的秒级真机调试(壳零新代码;LINKDESK_USER_PLUGINS_DIR /
|
|
36
37
|
LINKDESK_CDP_PORT 可覆盖)
|
|
37
38
|
build 在插件工程根构建 .linkdesk-plugin(读 plugin.json → Vite build → zip)
|
|
39
|
+
pack 纯数据插件(主题/语言/图标集——无 entry、无可编译表面)的打包通道(E6#98c):
|
|
40
|
+
打包目录整树(plugin.json 在顶)→ <pluginId>.linkdesk-plugin。排除 node_modules/dist/
|
|
41
|
+
package.json/隐藏项。--out <path> 可指定输出文件(缺省 = 插件根 <pluginId>.linkdesk-plugin)
|
|
38
42
|
publish 一键发布(E6#26)——自动链路:建 GitHub Release → 上传 .linkdesk-plugin → 更新工程
|
|
39
43
|
origin 仓库根 marketplace.json(多市场源模型)。发前预览确认;--yes 跳过(CI);
|
|
40
44
|
--dry-run 只预览不碰网络。token:env LINKDESK_GITHUB_TOKEN,或首跑交互输入存入本机
|
|
@@ -100,6 +104,29 @@ async function main() {
|
|
|
100
104
|
case "build":
|
|
101
105
|
code = await cmdBuild();
|
|
102
106
|
break;
|
|
107
|
+
case "pack": {
|
|
108
|
+
// pack [--out <path>]——纯数据包通道(E6#98c)。只认这一个 flag,多余参数直接报用法(防拼错静默)
|
|
109
|
+
const outIdx = rest.indexOf("--out");
|
|
110
|
+
const unknown = rest.filter((a, i) => a !== "--out" && (outIdx < 0 || i !== outIdx + 1));
|
|
111
|
+
if (outIdx >= 0 && rest[outIdx + 1] === undefined) {
|
|
112
|
+
console.error("pack --out 需要一个路径参数");
|
|
113
|
+
code = 1;
|
|
114
|
+
break;
|
|
115
|
+
}
|
|
116
|
+
if (unknown.length > 0) {
|
|
117
|
+
console.error(USAGE);
|
|
118
|
+
code = 1;
|
|
119
|
+
break;
|
|
120
|
+
}
|
|
121
|
+
const result = await packPluginData({ root: process.cwd(), outFile: outIdx >= 0 ? rest[outIdx + 1] : undefined });
|
|
122
|
+
console.log(`[linkdesk-plugin-sdk] ✔ ${result.id}.linkdesk-plugin(${(result.bytes / 1024).toFixed(1)} KB, ` +
|
|
123
|
+
`${result.entryCount} 条目)→ ${relative(process.cwd(), result.outPath) || result.outPath}`);
|
|
124
|
+
if (result.normalizedCount > 0) {
|
|
125
|
+
console.log(`[linkdesk-plugin-sdk] 行尾归一到 LF 的条目:${result.normalizedCount}(二进制条目原样,未计入)`);
|
|
126
|
+
}
|
|
127
|
+
code = 0;
|
|
128
|
+
break;
|
|
129
|
+
}
|
|
103
130
|
case "publish": {
|
|
104
131
|
// publish [--yes|--dry-run]——E6#26 自动发布链路(发前预览确认)
|
|
105
132
|
const flags = rest.filter((a) => a.startsWith("-"));
|
package/dist/bin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AACA;;;;;;;;GAQG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -12,5 +12,7 @@ export type { LinkdeskPluginOptions } from "./vite-config.js";
|
|
|
12
12
|
export { validatePluginJson } from "./validate.js";
|
|
13
13
|
export { validateThemeJson, validateIconThemeJson } from "./validate.js";
|
|
14
14
|
export type { ValidationResult } from "./validate.js";
|
|
15
|
+
export { packPluginData } from "./pack.js";
|
|
16
|
+
export type { PackResult } from "./pack.js";
|
|
15
17
|
export type * from "./types.js";
|
|
16
18
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACzE,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,mBAAmB,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACzE,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,YAAY,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,mBAAmB,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -10,4 +10,5 @@
|
|
|
10
10
|
export { defineLinkdeskPluginConfig } from "./vite-config.js";
|
|
11
11
|
export { validatePluginJson } from "./validate.js";
|
|
12
12
|
export { validateThemeJson, validateIconThemeJson } from "./validate.js";
|
|
13
|
+
export { packPluginData } from "./pack.js";
|
|
13
14
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAE9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAE9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEzE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC"}
|
package/dist/pack.d.ts
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 条目时间戳固定——值本身无意义,只要跨机器恒定。与壳仓 `scripts/pack-bundled-plugins.mjs` 同值。
|
|
3
|
+
*/
|
|
4
|
+
export declare const ZIP_ENTRY_DATE: Date;
|
|
5
|
+
/**
|
|
6
|
+
* 文本条目行尾归一——**判据照抄 git 的 `text=auto`**(不另立一套分类):前 8000 字节含 NUL ⇒ 二进制,
|
|
7
|
+
* 原样;其余按 UTF-8 **严格**解码(解不开也当二进制);文本一律 `\r\n → \n`——与 `.gitattributes`
|
|
8
|
+
* 的 `eol=lf` 同规。没有 `\r\n` 就逐字节原样(连 BOM 决策也不动),调用方可用 `normalized` 分辨
|
|
9
|
+
* 「这次到底动没动」。
|
|
10
|
+
*
|
|
11
|
+
* 🔴 为什么必须是这条规则(壳仓实测的病根,不是推测):`core.autocrlf=true` + `.gitattributes`
|
|
12
|
+
* `text=auto eol=lf` ⇒ **索引里是 LF,工作区却是 CRLF**(`git ls-files --eol` 实测 `i/lf w/crlf`——
|
|
13
|
+
* `.gitattributes` 管不住**已检出**的存量文件)。于是同一份源码在一台机器上重打一次,zip 的内容
|
|
14
|
+
* 指纹就变了 ⇒ 版本门禁判「改内容没 bump」满屏红,而源码一个字没改。
|
|
15
|
+
*/
|
|
16
|
+
export declare function normalizeEol(buf: Buffer): {
|
|
17
|
+
buf: Buffer;
|
|
18
|
+
normalized: boolean;
|
|
19
|
+
};
|
|
20
|
+
/** 相对路径是否进包——见文件头「排除清单」。路径一律正斜杠 */
|
|
21
|
+
export declare function isPackableRelPath(rel: string): boolean;
|
|
22
|
+
/** 目录递归收集相对路径文件——正斜杠,**排序**(条目顺序确定性 = 跨机器同字节) */
|
|
23
|
+
export declare function collectPluginFiles(root: string): string[];
|
|
24
|
+
export interface PackResult {
|
|
25
|
+
/** 插件身份(`pluginId` 声明值;缺声明时退回目录名兜底) */
|
|
26
|
+
id: string;
|
|
27
|
+
version: string;
|
|
28
|
+
/** 产物绝对路径 */
|
|
29
|
+
outPath: string;
|
|
30
|
+
bytes: number;
|
|
31
|
+
entryCount: number;
|
|
32
|
+
/** 被归一行尾(CRLF → LF)的条目数——不为零 = 这台机器的检出是 CRLF,产物已与工作区行尾解耦 */
|
|
33
|
+
normalizedCount: number;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* 把一个插件目录打成 `.linkdesk-plugin`(纯数据包)。
|
|
37
|
+
*
|
|
38
|
+
* - 先跑 `validatePluginJson`:**manifest 不合法不产 zip**(宁打包时红脸,不把坏包带进分发链)
|
|
39
|
+
* - `outFile` 缺省 = `<root>/<pluginId>.linkdesk-plugin`(与 `build` 同款落点,作者零心智)
|
|
40
|
+
* - **不抛异常给「属性不合法」之外的场景**——文件读不了就抛,调用方自己决定怎么报
|
|
41
|
+
*/
|
|
42
|
+
export declare function packPluginData(options: {
|
|
43
|
+
root: string;
|
|
44
|
+
outFile?: string;
|
|
45
|
+
}): Promise<PackResult>;
|
|
46
|
+
//# sourceMappingURL=pack.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pack.d.ts","sourceRoot":"","sources":["../src/pack.ts"],"names":[],"mappings":"AAwCA;;GAEG;AACH,eAAO,MAAM,cAAc,MAA0C,CAAC;AAQtE;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,CAU9E;AAED,mCAAmC;AACnC,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAQtD;AAED,iDAAiD;AACjD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAWzD;AAED,MAAM,WAAW,UAAU;IACzB,uCAAuC;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,4DAA4D;IAC5D,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAkCrG"}
|
package/dist/pack.js
ADDED
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 纯数据插件的打包通道(E6#98c,L7 第 7.1 轮)——`linkdesk-plugin-sdk pack`。
|
|
3
|
+
*
|
|
4
|
+
* 为什么需要它:主题 / 语言/图标集这类插件**没有 entry、没有可编译表面**——`build` 的 collectSurfaces
|
|
5
|
+
* 会直接抛「无可编译表面」。此前它们的 zip 只由**壳仓脚本** `scripts/pack-bundled-plugins.mjs` 产出,
|
|
6
|
+
* 而源码搬进各自独立的仓之后,插件仓里没有那条路径 ⇒ 产不出 zip。
|
|
7
|
+
*
|
|
8
|
+
* 语义 = 打包「**目录整树**」:`plugin.json` + 全部随包资源,条目相对插件根、正斜杠、**无外层目录**
|
|
9
|
+
* (loader 解压期待 plugin.json 在顶,E6#7 契约)。与 `build` 的静态清单不同——`build` 只拷一份
|
|
10
|
+
* 白名单(plugin.json / i18n / icon / README / CHANGELOG),纯数据包的**本体**恰恰是白名单之外的
|
|
11
|
+
* 数据文件(`themes/*.json` / `icons/**` / `en.json`),只能走「整树」。
|
|
12
|
+
*
|
|
13
|
+
* 排除清单(两个理由,缺一不可):
|
|
14
|
+
* - **构建/工具产物**:`node_modules/`、`dist/`、`<id>.linkdesk-plugin`(自己上一次的产物)、`*.tgz`
|
|
15
|
+
* ——独立仓里跑过 `npm install` 之后,不排会把整个 node_modules 打进 zip。
|
|
16
|
+
* - **npm 元数据**:`package.json` / `package-lock.json`——它们描述「怎么构建这个包」,不是插件内容。
|
|
17
|
+
* 这个取舍与 `build` 一致(build 的静态清单从不拷 package.json)。
|
|
18
|
+
* 隐藏项(`.` 开头,含 `.git` / `.github` / `.gitignore` / `.npmrc`)一并排除——同属工具面。
|
|
19
|
+
*
|
|
20
|
+
* 🔴 **两条与壳仓脚本必须逐字节一致的行为**(否则同一插件走「壳内」与「插件仓」两条路径产出的内容
|
|
21
|
+
* 指纹不同,`scripts/check-bundled-version-bump.mjs` 的内容指纹门禁会互相打架):
|
|
22
|
+
* ① **文本条目行尾归一 LF**——让产物与「打包时工作区的行尾」解耦。规则本体在 `normalizeEol`(本文件),
|
|
23
|
+
* 壳仓侧的同源实现是 `scripts/lib/text-eol.mjs`(判据:前 8000 字节含 NUL ⇒ 二进制原样;否则严格
|
|
24
|
+
* UTF-8 解码,解不开也当二进制;文本一律 `\r\n → \n`)。**SDK 是独立发布的 npm 包,不能 import
|
|
25
|
+
* 壳仓文件**,故只能是一份同源实现——改一处必须同笔改另一处。
|
|
26
|
+
* ⚠️ 壳仓的 `pack-bundled-plugins.mjs` 已改为调用本模块(打包实现只此一份),因此这条「两处同源」
|
|
27
|
+
* 当前只剩「行尾规则」这一份判据需要人工对齐。
|
|
28
|
+
* ② **条目时间戳固定**(`ZIP_ENTRY_DATE`)——JSZip 默认给每个条目盖 `new Date()`,于是内容一个字没改
|
|
29
|
+
* 重打一次字节也全变 ⇒ 产物不可复现(`git status` 恒脏、无法用「重打一遍」验证、也判断不了某次
|
|
30
|
+
* diff 是真改内容还是只换时间)。值本身无意义,只要跨机器恒定。
|
|
31
|
+
*
|
|
32
|
+
* 用法:
|
|
33
|
+
* `linkdesk-plugin-sdk pack` → 插件根 `./<pluginId>.linkdesk-plugin`
|
|
34
|
+
* `linkdesk-plugin-sdk pack --out <p>` → 指定输出文件(壳仓编排脚本用)
|
|
35
|
+
*/
|
|
36
|
+
import { existsSync, readdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
37
|
+
import { join, resolve } from "node:path";
|
|
38
|
+
import JSZip from "jszip";
|
|
39
|
+
import { derivePluginId, readPluginManifest, validatePluginJson } from "./validate.js";
|
|
40
|
+
/**
|
|
41
|
+
* 条目时间戳固定——值本身无意义,只要跨机器恒定。与壳仓 `scripts/pack-bundled-plugins.mjs` 同值。
|
|
42
|
+
*/
|
|
43
|
+
export const ZIP_ENTRY_DATE = new Date(Date.UTC(2020, 0, 1, 0, 0, 0));
|
|
44
|
+
/** 排除的目录名(任意层级)——构建/工具产物 */
|
|
45
|
+
const EXCLUDED_DIRS = new Set(["node_modules", "dist"]);
|
|
46
|
+
/** 排除的文件名(任意层级)——npm 元数据 + 本通道自己的产物 */
|
|
47
|
+
const EXCLUDED_FILES = new Set(["package.json", "package-lock.json"]);
|
|
48
|
+
/**
|
|
49
|
+
* 文本条目行尾归一——**判据照抄 git 的 `text=auto`**(不另立一套分类):前 8000 字节含 NUL ⇒ 二进制,
|
|
50
|
+
* 原样;其余按 UTF-8 **严格**解码(解不开也当二进制);文本一律 `\r\n → \n`——与 `.gitattributes`
|
|
51
|
+
* 的 `eol=lf` 同规。没有 `\r\n` 就逐字节原样(连 BOM 决策也不动),调用方可用 `normalized` 分辨
|
|
52
|
+
* 「这次到底动没动」。
|
|
53
|
+
*
|
|
54
|
+
* 🔴 为什么必须是这条规则(壳仓实测的病根,不是推测):`core.autocrlf=true` + `.gitattributes`
|
|
55
|
+
* `text=auto eol=lf` ⇒ **索引里是 LF,工作区却是 CRLF**(`git ls-files --eol` 实测 `i/lf w/crlf`——
|
|
56
|
+
* `.gitattributes` 管不住**已检出**的存量文件)。于是同一份源码在一台机器上重打一次,zip 的内容
|
|
57
|
+
* 指纹就变了 ⇒ 版本门禁判「改内容没 bump」满屏红,而源码一个字没改。
|
|
58
|
+
*/
|
|
59
|
+
export function normalizeEol(buf) {
|
|
60
|
+
if (buf.subarray(0, 8000).includes(0))
|
|
61
|
+
return { buf, normalized: false };
|
|
62
|
+
let text;
|
|
63
|
+
try {
|
|
64
|
+
text = new TextDecoder("utf-8", { fatal: true }).decode(buf);
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
return { buf, normalized: false }; // 不是合法 UTF-8 —— 当二进制,一个字节都不碰
|
|
68
|
+
}
|
|
69
|
+
if (!text.includes("\r\n"))
|
|
70
|
+
return { buf, normalized: false }; // 已是 LF,逐字节原样
|
|
71
|
+
return { buf: Buffer.from(text.replace(/\r\n/g, "\n"), "utf8"), normalized: true };
|
|
72
|
+
}
|
|
73
|
+
/** 相对路径是否进包——见文件头「排除清单」。路径一律正斜杠 */
|
|
74
|
+
export function isPackableRelPath(rel) {
|
|
75
|
+
const parts = rel.split("/");
|
|
76
|
+
if (parts.some((p) => p.startsWith(".")))
|
|
77
|
+
return false; // 隐藏项(.git/.github/.gitignore/.npmrc…)
|
|
78
|
+
if (parts.some((p) => EXCLUDED_DIRS.has(p)))
|
|
79
|
+
return false;
|
|
80
|
+
const name = parts[parts.length - 1];
|
|
81
|
+
if (EXCLUDED_FILES.has(name))
|
|
82
|
+
return false;
|
|
83
|
+
if (name.endsWith(".linkdesk-plugin") || name.endsWith(".tgz"))
|
|
84
|
+
return false;
|
|
85
|
+
return true;
|
|
86
|
+
}
|
|
87
|
+
/** 目录递归收集相对路径文件——正斜杠,**排序**(条目顺序确定性 = 跨机器同字节) */
|
|
88
|
+
export function collectPluginFiles(root) {
|
|
89
|
+
const out = [];
|
|
90
|
+
const walk = (dir, prefix) => {
|
|
91
|
+
for (const e of readdirSync(dir, { withFileTypes: true })) {
|
|
92
|
+
const rel = prefix ? `${prefix}/${e.name}` : e.name;
|
|
93
|
+
if (e.isDirectory())
|
|
94
|
+
walk(join(dir, e.name), rel);
|
|
95
|
+
else if (isPackableRelPath(rel))
|
|
96
|
+
out.push(rel);
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
walk(root, "");
|
|
100
|
+
return out.sort();
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* 把一个插件目录打成 `.linkdesk-plugin`(纯数据包)。
|
|
104
|
+
*
|
|
105
|
+
* - 先跑 `validatePluginJson`:**manifest 不合法不产 zip**(宁打包时红脸,不把坏包带进分发链)
|
|
106
|
+
* - `outFile` 缺省 = `<root>/<pluginId>.linkdesk-plugin`(与 `build` 同款落点,作者零心智)
|
|
107
|
+
* - **不抛异常给「属性不合法」之外的场景**——文件读不了就抛,调用方自己决定怎么报
|
|
108
|
+
*/
|
|
109
|
+
export async function packPluginData(options) {
|
|
110
|
+
const root = resolve(options.root);
|
|
111
|
+
const manifestPath = join(root, "plugin.json");
|
|
112
|
+
if (!existsSync(manifestPath)) {
|
|
113
|
+
throw new Error(`插件根没有 plugin.json:${root}`);
|
|
114
|
+
}
|
|
115
|
+
const res = validatePluginJson(manifestPath);
|
|
116
|
+
if (!res.valid) {
|
|
117
|
+
throw new Error(`plugin.json 验证失败:\n ${res.errors.join("\n ")}`);
|
|
118
|
+
}
|
|
119
|
+
const manifest = readPluginManifest(manifestPath);
|
|
120
|
+
const id = derivePluginId(manifest, root.split(/[\\/]/).filter(Boolean).pop() ?? "");
|
|
121
|
+
const version = typeof manifest?.version === "string" ? manifest.version : "";
|
|
122
|
+
const zip = new JSZip();
|
|
123
|
+
let normalizedCount = 0;
|
|
124
|
+
let entryCount = 0;
|
|
125
|
+
for (const rel of collectPluginFiles(root)) {
|
|
126
|
+
const { buf, normalized } = normalizeEol(readFileSync(join(root, rel)));
|
|
127
|
+
if (normalized)
|
|
128
|
+
normalizedCount += 1;
|
|
129
|
+
zip.file(rel, buf, { date: ZIP_ENTRY_DATE });
|
|
130
|
+
entryCount += 1;
|
|
131
|
+
}
|
|
132
|
+
if (entryCount === 0) {
|
|
133
|
+
throw new Error(`插件根没有任何可打包条目:${root}(plugin.json 之外全被排除?)`);
|
|
134
|
+
}
|
|
135
|
+
const buf = await zip.generateAsync({ type: "nodebuffer", compression: "DEFLATE" });
|
|
136
|
+
const outPath = resolve(options.outFile ?? join(root, `${id}.linkdesk-plugin`));
|
|
137
|
+
writeFileSync(outPath, buf);
|
|
138
|
+
return { id, version, outPath, bytes: buf.byteLength, entryCount, normalizedCount };
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=pack.js.map
|
package/dist/pack.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pack.js","sourceRoot":"","sources":["../src/pack.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC/E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEvF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAEtE,4BAA4B;AAC5B,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;AAExD,uCAAuC;AACvC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC,CAAC;AAEtE;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IACzE,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,6BAA6B;IAClE,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,cAAc;IAC7E,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;AACrF,CAAC;AAED,mCAAmC;AACnC,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC3C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC,CAAC,uCAAuC;IAC/F,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1D,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACrC,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3C,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7E,OAAO,IAAI,CAAC;AACd,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,MAAc,EAAQ,EAAE;QACjD,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YAC1D,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACpD,IAAI,CAAC,CAAC,WAAW,EAAE;gBAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;iBAC7C,IAAI,iBAAiB,CAAC,GAAG,CAAC;gBAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjD,CAAC;IACH,CAAC,CAAC;IACF,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACf,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;AACpB,CAAC;AAcD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAA2C;IAC9E,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAC/C,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,GAAG,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAC7C,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,QAAQ,GAAG,kBAAkB,CAAC,YAAY,CAA0B,CAAC;IAC3E,MAAM,EAAE,GAAG,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;IACrF,MAAM,OAAO,GAAG,OAAO,QAAQ,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAE9E,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;IACxB,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,KAAK,MAAM,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3C,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QACxE,IAAI,UAAU;YAAE,eAAe,IAAI,CAAC,CAAC;QACrC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QAC7C,UAAU,IAAI,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,uBAAuB,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;IACpF,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAChF,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAE5B,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC;AACtF,CAAC"}
|
package/dist/validate.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAuBH;;;GAGG;AACH,eAAO,MAAM,cAAc,QAAiC,CAAC;AAE7D,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAuBH;;;GAGG;AACH,eAAO,MAAM,cAAc,QAAiC,CAAC;AAE7D,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AA2DD,+DAA+D;AAC/D,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,kBAAkB,GAAG,MAAM,CAAC;CACrC;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,EAAE,CAc9D;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAkB/E;AAED,yEAAyE;AACzE,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAWxD;AA+FD,oDAAoD;AACpD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAGlE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAqCjE;AA8BD,uFAAuF;AACvF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAEhE;AAED,yHAAyH;AACzH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAEpE"}
|
package/dist/validate.js
CHANGED
|
@@ -77,6 +77,31 @@ function collectRemovedFieldWarnings(manifest, base) {
|
|
|
77
77
|
}
|
|
78
78
|
return out;
|
|
79
79
|
}
|
|
80
|
+
/**
|
|
81
|
+
* pluginId 显式声明提醒(E6#98g,L7 第 7.1 轮)——**警告不是错误**(`valid` 不变)。
|
|
82
|
+
*
|
|
83
|
+
* 为什么必须有这道提醒:插件身份今天可以靠「项目目录名」兜底(`derivePluginId`),而目录名与仓库名
|
|
84
|
+
* 是**自由**的。L7 把源码搬进各自独立的仓(名字自由)之后,目录名一改,构建出的分发件就换了身份,
|
|
85
|
+
* 且五条后果——安装目录并存两份 / 卸载墓碑对不上 / 市场出现两条不同 id 的条目 / 更新链静默断 /
|
|
86
|
+
* 插件数据看似丢失——**没有一条会报错**。
|
|
87
|
+
*
|
|
88
|
+
* 兜底路径**不删**(仓外已有存量第三方插件在吃它),但作者必须被告知它不该被依赖。官方插件由仓库侧
|
|
89
|
+
* 门禁兜底(18 只全部显式声明),此处是作者侧软提醒。
|
|
90
|
+
*/
|
|
91
|
+
function collectPluginIdWarning(manifest, base) {
|
|
92
|
+
if (!manifest || typeof manifest !== "object")
|
|
93
|
+
return [];
|
|
94
|
+
const m = manifest;
|
|
95
|
+
// 空白串/shape 非法由 schema 的 pattern 先拦(那走 errors 分支、不会到这里);此处 trim 只为
|
|
96
|
+
// 「schema 无 pattern 的未来」与「直接调用本函数」两条路留一道等价守卫——两条路判据必须一致。
|
|
97
|
+
if (typeof m.pluginId === "string" && m.pluginId.trim() !== "")
|
|
98
|
+
return [];
|
|
99
|
+
return [
|
|
100
|
+
`${base} 未声明 "pluginId"——插件身份将退回「项目目录名」兜底。目录名与仓库名是自由的,` +
|
|
101
|
+
`一旦它们与插件身份不一致,构建出的分发件就会换一个身份,且不会有任何报错。` +
|
|
102
|
+
`请在 plugin.json 顶层显式声明 pluginId(值 = 当前目录名;发布后永不可改)。`,
|
|
103
|
+
];
|
|
104
|
+
}
|
|
80
105
|
/**
|
|
81
106
|
* 收集插件 i18n 声明——顶层**废弃** `manifest.i18n` + `contributes.i18n` 两层(schema 243/623 行:
|
|
82
107
|
* 顶层 i18n @deprecated,contributes 为现役)。shape = { 语言代码: 相对路径 }。
|
|
@@ -255,8 +280,9 @@ export function validatePluginJson(path) {
|
|
|
255
280
|
errors.push(`${decl.rel}: 在 ${decl.origin} 中声明但文件不存在`);
|
|
256
281
|
}
|
|
257
282
|
}
|
|
258
|
-
// 3) 已移除字段墓碑提示(E6#91d)——schema 顶层
|
|
259
|
-
|
|
283
|
+
// 3) 已移除字段墓碑提示(E6#91d)+ pluginId 显式声明提醒(E6#98g)——schema 顶层
|
|
284
|
+
// additionalProperties: true ⇒ 这两步是作者**唯一**能被告知的通道
|
|
285
|
+
const warnings = [...collectRemovedFieldWarnings(manifest, base), ...collectPluginIdWarning(manifest, base)];
|
|
260
286
|
return { valid: errors.length === 0, errors, ...(warnings.length > 0 ? { warnings } : {}) };
|
|
261
287
|
}
|
|
262
288
|
/* ── 数据文件校验器(E6#60:主题/图标主题 authors 面,镜像 check-theme-schema.mjs 同规则) ── */
|
package/dist/validate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@linkdesk/plugin-sdk",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.14",
|
|
4
4
|
"description": "@linkdesk/plugin-sdk——LinkDesk 插件作者 SDK(对标 @types/vscode):window.linkdesk.* 类型 + 一键 build(.linkdesk-plugin) + dev 宿主 + plugin.json 验证 + eslint 门禁(E6#54d)。作者 npm i 后零壳源码依赖。",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|