@aiot-nexus/plugin-sdk 3.1.0 → 3.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/README.md +8 -8
- package/dist/src/sdk-info.d.ts +1 -1
- package/dist/src/sdk-info.js +1 -1
- package/dist/src/upgrade.js +13 -4
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @aiot-nexus/plugin-sdk
|
|
2
2
|
|
|
3
|
-
> 当前 SDK 包版本为 `3.1.
|
|
3
|
+
> 当前 SDK 包版本为 `3.1.1`,Framework API 为 `3.1.0`,manifest schema 保持 `1`。Framework 3 将可信插件的 `mainEntry` 直接加载到 Nexus Electron 主进程;它不是安全沙箱。PluginFrame iframe 仍保持 sandbox、无 Node/Electron 访问。宿主运行模型见 [Framework v3 架构](../docs/plugin-framework-v3-architecture.md)。
|
|
4
4
|
|
|
5
5
|
本包提供公开 TypeScript 契约、PluginFrame 浏览器客户端和 `nexus-plugin` CLI。v2 项目升级前请先阅读 [v2 到 v3 迁移说明](../docs/plugin-framework-v2-v3-migration.md)。完整开发流程见 [独立插件开发指南](../docs/standalone-plugin-development-guide.md)。
|
|
6
6
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
| 项目 | 固定值 |
|
|
10
10
|
| --- | --- |
|
|
11
|
-
| SDK | `3.1.
|
|
11
|
+
| SDK | `3.1.1` |
|
|
12
12
|
| Framework API | `3.1.0` |
|
|
13
13
|
| Manifest schema | `1` |
|
|
14
14
|
| Node 安装和构建 | `>=16.20.0 <17` |
|
|
@@ -48,15 +48,15 @@ npm run publish:sdk
|
|
|
48
48
|
registry 升级与只读预检:
|
|
49
49
|
|
|
50
50
|
```bash
|
|
51
|
-
npx --package=@aiot-nexus/plugin-sdk@3.1.
|
|
52
|
-
npx --package=@aiot-nexus/plugin-sdk@3.1.
|
|
51
|
+
npx --package=@aiot-nexus/plugin-sdk@3.1.1 nexus-plugin upgrade . --check
|
|
52
|
+
npx --package=@aiot-nexus/plugin-sdk@3.1.1 nexus-plugin upgrade .
|
|
53
53
|
```
|
|
54
54
|
|
|
55
55
|
发布前或本地 tgz:
|
|
56
56
|
|
|
57
57
|
```bash
|
|
58
|
-
npx --package=./aiot-nexus-plugin-sdk-3.1.
|
|
59
|
-
--sdk-source ./aiot-nexus-plugin-sdk-3.1.
|
|
58
|
+
npx --package=./aiot-nexus-plugin-sdk-3.1.1.tgz nexus-plugin upgrade . \
|
|
59
|
+
--sdk-source ./aiot-nexus-plugin-sdk-3.1.1.tgz
|
|
60
60
|
```
|
|
61
61
|
|
|
62
62
|
CI 可以追加 `--json` 获得 `up-to-date`、`upgrade-available`、`upgraded`、`rolled-back` 或 `blocked`。`--allow-major` 只解除 major 保护,不会改写业务源码;跨 major 必须先阅读迁移指南。`--skip-project-checks` 只跳过项目 typecheck/build,安装后的 SDK、package 和 lockfile 一致性仍会验证。
|
|
@@ -67,7 +67,7 @@ CI 可以追加 `--json` 获得 `up-to-date`、`upgrade-available`、`upgraded`
|
|
|
67
67
|
|
|
68
68
|
安装或项目验证失败时恢复备份,并在原 lockfile 存在时运行 `npm ci`。没有原 lockfile 时会运行 `npm install` 并恢复原 SDK,但无法证明完整传递依赖树与升级前一致,因此返回 `blocked` 并保留恢复数据。标准脚手架 build 的 `dist/<pluginId>` 在回滚范围内;自定义 typecheck/build 若修改其他路径,这些副作用不属于升级事务,项目必须自行管理。
|
|
69
69
|
|
|
70
|
-
SDK `3.0.2`
|
|
70
|
+
SDK `3.0.2` 或 `3.1.0` 升级到 `3.1.1` 后,原有 `hostApiVersion: 3.0.0` 可以保持不变。只有实际使用 `showHostStatusBar` 等 3.1 专属字段时,才把 manifest 声明提升到 `3.1.0`。SDK 3.1.1 修复了 registry 升级时把裸版本号误传给 `npm install` 的问题;全局安装 3.1.0 的用户应先把全局 CLI 更新到 3.1.1。
|
|
71
71
|
|
|
72
72
|
## 创建插件
|
|
73
73
|
|
|
@@ -90,7 +90,7 @@ nexus-plugin create my-frame-plugin \
|
|
|
90
90
|
|
|
91
91
|
```bash
|
|
92
92
|
npm run pack:sdk
|
|
93
|
-
nexus-plugin create my-frame-plugin --sdk-source ./package/aiot-nexus-plugin-sdk-3.1.
|
|
93
|
+
nexus-plugin create my-frame-plugin --sdk-source ./package/aiot-nexus-plugin-sdk-3.1.1.tgz --install
|
|
94
94
|
```
|
|
95
95
|
|
|
96
96
|
生成插件后,可以在 `src/manifest.json` 的业务入口中静态控制 Nexus 宿主状态栏。相关 manifest 片段如下,其余必填字段沿用脚手架生成值:
|
package/dist/src/sdk-info.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const PLUGIN_SDK_VERSION = "3.1.
|
|
1
|
+
export declare const PLUGIN_SDK_VERSION = "3.1.1";
|
|
2
2
|
export declare const PLUGIN_SDK_NODE_ENGINE = ">=16.20.0 <17";
|
|
3
3
|
export declare const PLUGIN_SDK_NPM_ENGINE = ">=6.13.4";
|
|
4
4
|
export declare const PLUGIN_SDK_ELECTRON_VERSION = "22.3.27";
|
package/dist/src/sdk-info.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getPluginSdkInfo = exports.PLUGIN_SDK_TYPES_NODE_VERSION = exports.PLUGIN_SDK_TYPESCRIPT_VERSION = exports.PLUGIN_SDK_ELECTRON_VERSION = exports.PLUGIN_SDK_NPM_ENGINE = exports.PLUGIN_SDK_NODE_ENGINE = exports.PLUGIN_SDK_VERSION = void 0;
|
|
4
4
|
const plugin_framework_version_1 = require("../.generated/plugin-framework-version");
|
|
5
|
-
exports.PLUGIN_SDK_VERSION = "3.1.
|
|
5
|
+
exports.PLUGIN_SDK_VERSION = "3.1.1";
|
|
6
6
|
exports.PLUGIN_SDK_NODE_ENGINE = ">=16.20.0 <17";
|
|
7
7
|
exports.PLUGIN_SDK_NPM_ENGINE = ">=6.13.4";
|
|
8
8
|
exports.PLUGIN_SDK_ELECTRON_VERSION = "22.3.27";
|
package/dist/src/upgrade.js
CHANGED
|
@@ -225,7 +225,7 @@ function applyUpgrade(inspection, options, runtime) {
|
|
|
225
225
|
"install",
|
|
226
226
|
saveFlag,
|
|
227
227
|
"--save-exact",
|
|
228
|
-
inspection.normalizedSource.
|
|
228
|
+
inspection.normalizedSource.installSpec,
|
|
229
229
|
], result.projectDirectory);
|
|
230
230
|
if (!commandSucceeded(installResult)) {
|
|
231
231
|
throw new Error(commandFailure("npm install", installResult));
|
|
@@ -455,7 +455,11 @@ function normalizeSdkSource(value, workingDirectory, projectDirectory, runtime,
|
|
|
455
455
|
else {
|
|
456
456
|
addCheck(result, "SDK source", "passed", "Using exact registry version " + version + ".");
|
|
457
457
|
}
|
|
458
|
-
return {
|
|
458
|
+
return {
|
|
459
|
+
display: version,
|
|
460
|
+
dependencySpec: version,
|
|
461
|
+
installSpec: sdkPackageName + "@" + version,
|
|
462
|
+
};
|
|
459
463
|
}
|
|
460
464
|
let localArchivePath;
|
|
461
465
|
if (source.startsWith("file:")) {
|
|
@@ -471,14 +475,18 @@ function normalizeSdkSource(value, workingDirectory, projectDirectory, runtime,
|
|
|
471
475
|
}
|
|
472
476
|
if (!localArchivePath) {
|
|
473
477
|
addCheck(result, "SDK source", "failed", "SDK source must be an exact X.Y.Z version or a local .tgz path.");
|
|
474
|
-
return { display: source, dependencySpec: source };
|
|
478
|
+
return { display: source, dependencySpec: source, installSpec: source };
|
|
475
479
|
}
|
|
476
480
|
try {
|
|
477
481
|
assertRegularFile(localArchivePath, "Local SDK archive", ".tgz");
|
|
478
482
|
}
|
|
479
483
|
catch (error) {
|
|
480
484
|
addCheck(result, "SDK source", "failed", errorMessage(error));
|
|
481
|
-
return {
|
|
485
|
+
return {
|
|
486
|
+
display: localArchivePath,
|
|
487
|
+
dependencySpec: source,
|
|
488
|
+
installSpec: source,
|
|
489
|
+
};
|
|
482
490
|
}
|
|
483
491
|
const archiveInfo = runtime.runNpm([
|
|
484
492
|
"pack",
|
|
@@ -520,6 +528,7 @@ function normalizeSdkSource(value, workingDirectory, projectDirectory, runtime,
|
|
|
520
528
|
return {
|
|
521
529
|
display: localArchivePath,
|
|
522
530
|
dependencySpec: "file:" + vendoredRelativePath,
|
|
531
|
+
installSpec: "file:" + vendoredRelativePath,
|
|
523
532
|
localArchivePath,
|
|
524
533
|
vendoredArchivePath: path.join(projectDirectory, ...vendoredRelativePath.split("/")),
|
|
525
534
|
};
|