@linkdesk/plugin-sdk 0.1.32 → 0.1.34

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 (74) hide show
  1. package/dist/eslint/checks/appearance-ownership.d.ts +4 -3
  2. package/dist/eslint/checks/appearance-ownership.d.ts.map +1 -1
  3. package/dist/eslint/checks/appearance-ownership.js +22 -14
  4. package/dist/eslint/checks/appearance-ownership.js.map +1 -1
  5. package/dist/eslint/checks/appearance-ownership.test.d.ts +2 -0
  6. package/dist/eslint/checks/appearance-ownership.test.d.ts.map +1 -0
  7. package/dist/eslint/checks/appearance-ownership.test.js +348 -0
  8. package/dist/eslint/checks/appearance-ownership.test.js.map +1 -0
  9. package/dist/eslint/checks/command-ownership.d.ts +11 -1
  10. package/dist/eslint/checks/command-ownership.d.ts.map +1 -1
  11. package/dist/eslint/checks/command-ownership.js +10 -4
  12. package/dist/eslint/checks/command-ownership.js.map +1 -1
  13. package/dist/eslint/checks/command-ownership.test.d.ts +2 -0
  14. package/dist/eslint/checks/command-ownership.test.d.ts.map +1 -0
  15. package/dist/eslint/checks/command-ownership.test.js +207 -0
  16. package/dist/eslint/checks/command-ownership.test.js.map +1 -0
  17. package/dist/eslint/checks/config-ownership.d.ts +3 -3
  18. package/dist/eslint/checks/config-ownership.d.ts.map +1 -1
  19. package/dist/eslint/checks/config-ownership.js +15 -11
  20. package/dist/eslint/checks/config-ownership.js.map +1 -1
  21. package/dist/eslint/checks/config-ownership.test.d.ts +2 -0
  22. package/dist/eslint/checks/config-ownership.test.d.ts.map +1 -0
  23. package/dist/eslint/checks/config-ownership.test.js +252 -0
  24. package/dist/eslint/checks/config-ownership.test.js.map +1 -0
  25. package/dist/eslint/checks/context-ownership.d.ts +74 -0
  26. package/dist/eslint/checks/context-ownership.d.ts.map +1 -0
  27. package/dist/eslint/checks/context-ownership.js +177 -0
  28. package/dist/eslint/checks/context-ownership.js.map +1 -0
  29. package/dist/eslint/checks/context-ownership.test.d.ts +2 -0
  30. package/dist/eslint/checks/context-ownership.test.d.ts.map +1 -0
  31. package/dist/eslint/checks/context-ownership.test.js +205 -0
  32. package/dist/eslint/checks/context-ownership.test.js.map +1 -0
  33. package/dist/eslint/checks/disable.d.ts +5 -0
  34. package/dist/eslint/checks/disable.d.ts.map +1 -1
  35. package/dist/eslint/checks/disable.js +5 -0
  36. package/dist/eslint/checks/disable.js.map +1 -1
  37. package/dist/eslint/checks/plugin-prefix.test.d.ts +2 -0
  38. package/dist/eslint/checks/plugin-prefix.test.d.ts.map +1 -0
  39. package/dist/eslint/checks/plugin-prefix.test.js +229 -0
  40. package/dist/eslint/checks/plugin-prefix.test.js.map +1 -0
  41. package/dist/eslint/checks/reserved-classes.test.d.ts +2 -0
  42. package/dist/eslint/checks/reserved-classes.test.d.ts.map +1 -0
  43. package/dist/eslint/checks/reserved-classes.test.js +122 -0
  44. package/dist/eslint/checks/reserved-classes.test.js.map +1 -0
  45. package/dist/eslint/checks/selector-form.test.d.ts +2 -0
  46. package/dist/eslint/checks/selector-form.test.d.ts.map +1 -0
  47. package/dist/eslint/checks/selector-form.test.js +211 -0
  48. package/dist/eslint/checks/selector-form.test.js.map +1 -0
  49. package/dist/eslint/checks/token-scope.test.d.ts +2 -0
  50. package/dist/eslint/checks/token-scope.test.d.ts.map +1 -0
  51. package/dist/eslint/checks/token-scope.test.js +185 -0
  52. package/dist/eslint/checks/token-scope.test.js.map +1 -0
  53. package/dist/eslint/index.d.ts +12 -0
  54. package/dist/eslint/index.d.ts.map +1 -1
  55. package/dist/eslint/index.js +11 -0
  56. package/dist/eslint/index.js.map +1 -1
  57. package/dist/eslint/lint.d.ts +17 -0
  58. package/dist/eslint/lint.d.ts.map +1 -1
  59. package/dist/eslint/lint.js +64 -13
  60. package/dist/eslint/lint.js.map +1 -1
  61. package/dist/pack.test.d.ts +2 -0
  62. package/dist/pack.test.d.ts.map +1 -0
  63. package/dist/pack.test.js +58 -0
  64. package/dist/pack.test.js.map +1 -0
  65. package/dist/publish.test.d.ts +2 -0
  66. package/dist/publish.test.d.ts.map +1 -0
  67. package/dist/publish.test.js +340 -0
  68. package/dist/publish.test.js.map +1 -0
  69. package/dist/validate.test.d.ts +2 -0
  70. package/dist/validate.test.d.ts.map +1 -0
  71. package/dist/validate.test.js +107 -0
  72. package/dist/validate.test.js.map +1 -0
  73. package/package.json +68 -68
  74. package/schemas/host-reserved.json +9 -6
package/package.json CHANGED
@@ -1,68 +1,68 @@
1
- {
2
- "name": "@linkdesk/plugin-sdk",
3
- "version": "0.1.32",
4
- "description": "@linkdesk/plugin-sdk——LinkDesk 插件作者 SDK(对标 @types/vscode):window.linkdesk.* 类型 + 一键 build(.linkdesk-plugin) + dev 宿主 + plugin.json 验证 + eslint 门禁(E6#54d)。作者 npm i 后零壳源码依赖。",
5
- "type": "module",
6
- "main": "./dist/index.js",
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
- },
19
- "files": [
20
- "dist",
21
- "schemas",
22
- "dev-host"
23
- ],
24
- "sideEffects": false,
25
- "bin": {
26
- "linkdesk-plugin-sdk": "./dist/bin.js"
27
- },
28
- "publishConfig": {
29
- "access": "public"
30
- },
31
- "engines": {
32
- "node": ">=20.0.0"
33
- },
34
- "scripts": {
35
- "build": "tsc -p tsconfig.build.json",
36
- "typecheck": "tsc -p tsconfig.json --noEmit",
37
- "prepack": "tsc -p tsconfig.build.json"
38
- },
39
- "dependencies": {
40
- "@linkdesk/contracts": "^0.1.1",
41
- "@typescript-eslint/eslint-plugin": "^8.0.0",
42
- "@typescript-eslint/parser": "^8.0.0",
43
- "@vitejs/plugin-react": "^4.3.4",
44
- "ajv": "^8.17.1",
45
- "eslint": "^9.0.0",
46
- "eslint-import-resolver-typescript": "^4.4.5",
47
- "eslint-plugin-import-x": "^4.17.1",
48
- "eslint-plugin-react-hooks": "^7.1.1",
49
- "i18next": "^26.3.6",
50
- "jsonc-parser": "^3.3.1",
51
- "jszip": "^3.10.1",
52
- "react": "^18.3.1",
53
- "react-dom": "^18.3.1",
54
- "react-i18next": "^17.0.10",
55
- "vite": "^6.0.0"
56
- },
57
- "devDependencies": {
58
- "@types/node": "^24.0.0",
59
- "typescript": "^5.9.0"
60
- },
61
- "keywords": [
62
- "linkdesk",
63
- "plugin",
64
- "sdk",
65
- "vite"
66
- ],
67
- "license": "MIT"
68
- }
1
+ {
2
+ "name": "@linkdesk/plugin-sdk",
3
+ "version": "0.1.34",
4
+ "description": "@linkdesk/plugin-sdk——LinkDesk 插件作者 SDK(对标 @types/vscode):window.linkdesk.* 类型 + 一键 build(.linkdesk-plugin) + dev 宿主 + plugin.json 验证 + eslint 门禁(E6#54d)。作者 npm i 后零壳源码依赖。",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
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
+ },
19
+ "files": [
20
+ "dist",
21
+ "schemas",
22
+ "dev-host"
23
+ ],
24
+ "sideEffects": false,
25
+ "bin": {
26
+ "linkdesk-plugin-sdk": "./dist/bin.js"
27
+ },
28
+ "publishConfig": {
29
+ "access": "public"
30
+ },
31
+ "engines": {
32
+ "node": ">=20.0.0"
33
+ },
34
+ "scripts": {
35
+ "build": "tsc -p tsconfig.build.json",
36
+ "typecheck": "tsc -p tsconfig.json --noEmit",
37
+ "prepack": "tsc -p tsconfig.build.json"
38
+ },
39
+ "dependencies": {
40
+ "@linkdesk/contracts": "^0.1.1",
41
+ "@typescript-eslint/eslint-plugin": "^8.0.0",
42
+ "@typescript-eslint/parser": "^8.0.0",
43
+ "@vitejs/plugin-react": "^4.3.4",
44
+ "ajv": "^8.17.1",
45
+ "eslint": "^9.0.0",
46
+ "eslint-import-resolver-typescript": "^4.4.5",
47
+ "eslint-plugin-import-x": "^4.17.1",
48
+ "eslint-plugin-react-hooks": "^7.1.1",
49
+ "i18next": "^26.3.6",
50
+ "jsonc-parser": "^3.3.1",
51
+ "jszip": "^3.10.1",
52
+ "react": "^18.3.1",
53
+ "react-dom": "^18.3.1",
54
+ "react-i18next": "^17.0.10",
55
+ "vite": "^6.0.0"
56
+ },
57
+ "devDependencies": {
58
+ "@types/node": "^24.0.0",
59
+ "typescript": "^5.9.0"
60
+ },
61
+ "keywords": [
62
+ "linkdesk",
63
+ "plugin",
64
+ "sdk",
65
+ "vite"
66
+ ],
67
+ "license": "MIT"
68
+ }
@@ -1,5 +1,6 @@
1
1
  {
2
- "$comment": "宿主保留面账(生成式·定稿 E6#111b/1.32)——插件不得占用这些名字;改动本账 = 一次公共面决策,改完壳仓命令/设置/协议面必须重跑 scripts/gen-host-reserved.mjs(npm run audit:plugin-scope:regen)。⚠️ configKeys 含**退役键**(曾被宿主使用、现已不再写入的键):退役键**不腾出保留面**——老 settings.json 里可能还留着值,插件此刻占它 = 顶掉的是宿主的历史数据(且迁移代码仍会读它)。",
2
+ "$comment": "宿主保留面账(生成式·E6#111b/1.32 定稿,1.49 补 version)——插件不得占用这些名字。消费方有**两条腿,互不覆盖**:① **壳腿** = 壳仓 `scripts/audit-plugin-scope.mjs`(跨容器普查,读本账 + 反向核对实况)与 `src/core/registry/host-reserved.generated.ts`(壳**运行时**仲裁读的生成副本);② **SDK 腿** = `@linkdesk/plugin-sdk` 的四个 `check-*-ownership`(随包下发本账的副本 `schemas/host-reserved.json`,在**插件仓 CI** 判红)。为什么必须两条腿:壳腿看不见插件仓的源码,SDK 腿看不见壳的运行时——各自的射程都到不了对面。**改本表 = 一次公共面决策**:动手前先问「**这是公共面,还是漏网的借用?**」——公共面(多人正当读写、按约定共享)该进本账的设计里单列,借用(某插件用了宿主的名字)一律判红、不许宽恕;**新增条目要在这一段或对应家族的 why 里写明判据**,别只加一个名字。改完必须重跑生成器 `npm run audit:plugin-scope:regen`(scripts/gen-host-reserved.mjs)——账 + SDK 副本 + 运行时副本**三份同源**,手改任一份都会被判漂。**双向对账门禁在哪**:`node scripts/gen-host-reserved.mjs --check`(四向:实况→账 / 账→实况 / SDK 副本逐字节 / 运行时副本逐元素),已接在 `npm run check` 里;实况多一条报 `ledger-missing`、账多一条报 `ledger-stale`、家族整段缺失/为空另有专门的报警。`version` = 本账**形状**的修订号(见生成器 `LEDGER_VERSION` 的抬版规则),不是 settings 迁移版本。⚠️ configKeys 含**退役键**(曾被宿主使用、现已不再写入的键):退役键**不腾出保留面**——老 settings.json 里可能还留着值,插件此刻占它 = 顶掉的是宿主的历史数据(且迁移代码仍会读它)。",
3
+ "version": 1,
3
4
  "commandPrefixes": [
4
5
  "app.",
5
6
  "core.",
@@ -50,19 +51,21 @@
50
51
  "appearance",
51
52
  "update"
52
53
  ],
53
- "contextKeys": [
54
+ "contextKeysHostOnly": [
54
55
  "activeEditor",
55
56
  "editorCount",
56
57
  "editorHasSelection",
57
58
  "inputFocus",
58
- "settingFollowTheme",
59
- "settingKey",
60
- "settingModified",
61
- "settingResetsToDefault",
62
59
  "sidebarPosition",
63
60
  "updateActionable",
64
61
  "updateButtonLabel"
65
62
  ],
63
+ "contextKeysPublic": [
64
+ "settingFollowTheme",
65
+ "settingKey",
66
+ "settingModified",
67
+ "settingResetsToDefault"
68
+ ],
66
69
  "appearanceRecipeIds": [
67
70
  "dark",
68
71
  "light"