@guandata/guanetl 0.1.11 → 0.1.12

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/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## @guandata/guanetl 0.1.12 - 2026-06-03
4
+
5
+ - `import` 去掉对 guanetl-server 的依赖,改为基于 BI 数据集 schema 在本地生成 SQL。
6
+ - 新增本地 SQL 生成与 schema provider 测试覆盖,提升 ETL 导入链路稳定性。
7
+ - `create` / `edit` / `import` 路径适配新的本地导入链路。
8
+ - `install-skill` 增加 WorkBuddy skill 安装路径支持。
9
+
3
10
  ## @guandata/guanetl 0.1.11 - 2026-05-28
4
11
 
5
12
  - 优化试用账号场景下的运行上下文识别,提升命令执行记录与问题排查的一致性。
package/README.md CHANGED
@@ -35,6 +35,13 @@ guanetl install-skill
35
35
 
36
36
  ## 版本更新
37
37
 
38
+ ### @guandata/guanetl 0.1.12
39
+
40
+ - `import` 去掉对 guanetl-server 的依赖,改为基于 BI 数据集 schema 在本地生成 SQL。
41
+ - 新增本地 SQL 生成与 schema provider 测试覆盖,提升 ETL 导入链路稳定性。
42
+ - `create` / `edit` / `import` 路径适配新的本地导入链路。
43
+ - `install-skill` 增加 WorkBuddy skill 安装路径支持。
44
+
38
45
  ### 0.1.11
39
46
 
40
47
  - 优化试用账号场景下的运行上下文识别,提升命令执行记录与问题排查的一致性。
package/bin/run.js CHANGED
@@ -5,6 +5,7 @@
5
5
  const { execFileSync, execSync, spawnSync } = require("child_process");
6
6
  const path = require("path");
7
7
  const fs = require("fs");
8
+ const os = require("os");
8
9
 
9
10
  const PLATFORM_MAP = {
10
11
  "darwin-arm64": "guanetl-darwin-arm64",
@@ -35,6 +36,38 @@ function getBinaryPath() {
35
36
  return binaryPath;
36
37
  }
37
38
 
39
+ function copyDirectory(src, dest) {
40
+ fs.mkdirSync(dest, { recursive: true });
41
+ for (const entry of fs.readdirSync(src, { withFileTypes: true })) {
42
+ const srcPath = path.join(src, entry.name);
43
+ const destPath = path.join(dest, entry.name);
44
+ if (entry.isDirectory()) {
45
+ copyDirectory(srcPath, destPath);
46
+ } else if (entry.isSymbolicLink()) {
47
+ fs.symlinkSync(fs.readlinkSync(srcPath), destPath);
48
+ } else {
49
+ fs.copyFileSync(srcPath, destPath);
50
+ }
51
+ }
52
+ }
53
+
54
+ function installCodeBuddySkill(pkgRoot, skill) {
55
+ try {
56
+ const srcDir = path.join(pkgRoot, "skills", skill);
57
+ if (!fs.existsSync(path.join(srcDir, "SKILL.md"))) {
58
+ console.warn(`Warning: skipping CodeBuddy/WorkBuddy install; skill not found: ${srcDir}`);
59
+ return;
60
+ }
61
+
62
+ const configDir = process.env.CODEBUDDY_CONFIG_DIR || path.join(os.homedir(), ".codebuddy");
63
+ const destDir = path.join(configDir, "skills", skill);
64
+ copyDirectory(srcDir, destDir);
65
+ console.log(`Installed ${skill} to CodeBuddy/WorkBuddy: ${destDir}`);
66
+ } catch (err) {
67
+ console.warn(`Warning: CodeBuddy/WorkBuddy install failed for ${skill}: ${err.message}`);
68
+ }
69
+ }
70
+
38
71
  if (process.argv[2] === "version" && process.argv.length === 3) {
39
72
  const pkg = JSON.parse(fs.readFileSync(path.join(__dirname, "..", "package.json"), "utf8"));
40
73
  console.log(pkg.version);
@@ -57,7 +90,9 @@ if (process.argv[2] === "install-skill") {
57
90
  console.log("Installing guanetl to AI coding assistants...");
58
91
  const result = spawnSync("npx", args, { stdio: "inherit", env: process.env, shell: true });
59
92
  if (result.error) throw result.error;
60
- process.exit(result.status || 0);
93
+ const status = result.status || 0;
94
+ if (status === 0) installCodeBuddySkill(pkgRoot, "guanetl");
95
+ process.exit(status);
61
96
  }
62
97
 
63
98
  const binary = getBinaryPath();
Binary file
Binary file
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -1,10 +1,17 @@
1
1
  {
2
2
  "name": "@guandata/guanetl",
3
- "version": "0.1.11",
3
+ "version": "0.1.12",
4
4
  "description": "观远 ETL 本地开发工具 - 拉取、编辑、导出、预览、保存 ETL",
5
5
  "bin": {
6
6
  "guanetl": "bin/run.js"
7
7
  },
8
+ "scripts": {
9
+ "build": "node scripts/build.js && node scripts/sync-skill.js",
10
+ "test:build-script": "node scripts/build.test.js",
11
+ "changelog": "node ../../scripts/generate-release-changelog.js .",
12
+ "check-changelog": "node ../../scripts/check-release-changelog.js .",
13
+ "prepublishOnly": "npm run test:build-script && npm run check-changelog && npm run build && node scripts/preflight.js"
14
+ },
8
15
  "files": [
9
16
  "bin/",
10
17
  "binaries/",
@@ -28,6 +35,7 @@
28
35
  "node": ">=14"
29
36
  },
30
37
  "publishConfig": {
38
+ "registry": "https://registry.npmjs.org/",
31
39
  "access": "public"
32
40
  }
33
41
  }