@vreko/cli 3.2.0 → 3.3.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vreko/cli",
3
- "version": "3.2.0",
3
+ "version": "3.3.0",
4
4
  "description": "Vreko CLI — AI-aware developer intelligence for the command line",
5
5
  "homepage": "https://vreko.dev",
6
6
  "repository": {
@@ -41,11 +41,10 @@
41
41
  "LICENSE"
42
42
  ],
43
43
  "dependencies": {
44
- "@asteasolutions/zod-to-openapi": "7.3.4",
45
44
  "@babel/parser": "7.28.5",
46
45
  "@babel/traverse": "7.28.5",
47
- "@better-auth/passkey": "1.6.18",
48
- "@better-auth/sso": "1.6.18",
46
+ "@better-auth/passkey": "1.6.19",
47
+ "@better-auth/sso": "1.6.19",
49
48
  "@clack/prompts": "^1.1.0",
50
49
  "@electric-sql/pglite": "0.2.0",
51
50
  "@hubspot/api-client": "13.0.0",
@@ -62,7 +61,7 @@
62
61
  "@sentry/node": "10.32.1",
63
62
  "@sindresorhus/slugify": "3.0.0",
64
63
  "@typescript-eslint/parser": "8.46.2",
65
- "better-auth": "1.6.18",
64
+ "better-auth": "1.6.19",
66
65
  "boxen": "8.0.1",
67
66
  "chalk": "4.1.2",
68
67
  "chokidar": "4.0.3",
@@ -110,6 +109,7 @@
110
109
  "keytar": "7.9.0"
111
110
  },
112
111
  "bundledDependencies": [
112
+ "@asteasolutions/zod-to-openapi",
113
113
  "@vreko/auth",
114
114
  "@vreko/claims-ledger",
115
115
  "@vreko/intelligence",
@@ -61,55 +61,52 @@ try {
61
61
  mkdirSync(tmpDir, { recursive: true });
62
62
  execFileSync("tar", ["-xzf", tgzPath, "-C", tmpDir]);
63
63
 
64
- // Step 3: Strip unresolvable dep fields from bundled @vreko/* package.jsons.
64
+ // Step 3: Strip unresolvable dep fields from ALL bundled packages' package.jsons.
65
65
  // Their code is already inlined into dist/index.js via tsup noExternal, or the
66
66
  // daemon bundles its own deps. npm doesn't need to resolve their transitive deps
67
- // and the catalog:/workspace:* specs cause empty stub directories that shadow
68
- // real packages.
69
- const vrekoModDir = join(tmpDir, "package", "node_modules", "@vreko");
70
- if (existsSync(vrekoModDir)) {
71
- const pkgs = readdirSync(vrekoModDir);
72
- console.log(`🔧 Stripping catalog: deps from ${pkgs.length} bundled @vreko packages...`);
73
- for (const pkg of pkgs) {
74
- const pkgJsonPath = join(vrekoModDir, pkg, "package.json");
75
- if (!existsSync(pkgJsonPath)) continue;
76
- const pkgJson = JSON.parse(readFileSync(pkgJsonPath, "utf8"));
77
- const stripped =
78
- "dependencies" in pkgJson ||
79
- "devDependencies" in pkgJson ||
80
- "peerDependencies" in pkgJson ||
81
- "optionalDependencies" in pkgJson;
82
- if (stripped) {
83
- delete pkgJson.dependencies;
84
- delete pkgJson.devDependencies;
85
- delete pkgJson.peerDependencies;
86
- delete pkgJson.optionalDependencies;
87
- delete pkgJson.peerDependenciesMeta;
88
- writeFileSync(pkgJsonPath, JSON.stringify(pkgJson, null, 2) + "\n");
89
- console.log(` cleaned: @vreko/${pkg}`);
90
- }
67
+ // and the catalog:/workspace:* specs (or peer dep conflicts) cause install failures.
68
+ const extractedRootPkg = JSON.parse(readFileSync(join(tmpDir, "package", "package.json"), "utf8"));
69
+ const allBundled = extractedRootPkg.bundledDependencies || [];
70
+ const nodeModulesDir = join(tmpDir, "package", "node_modules");
71
+ console.log(`🔧 Stripping dep fields from ${allBundled.length} bundled packages...`);
72
+ for (const bundledPkg of allBundled) {
73
+ const pkgJsonPath = join(nodeModulesDir, bundledPkg, "package.json");
74
+ if (!existsSync(pkgJsonPath)) continue;
75
+ const pkgJson = JSON.parse(readFileSync(pkgJsonPath, "utf8"));
76
+ const hasDeps =
77
+ "dependencies" in pkgJson ||
78
+ "devDependencies" in pkgJson ||
79
+ "peerDependencies" in pkgJson ||
80
+ "optionalDependencies" in pkgJson;
81
+ if (hasDeps) {
82
+ delete pkgJson.dependencies;
83
+ delete pkgJson.devDependencies;
84
+ delete pkgJson.peerDependencies;
85
+ delete pkgJson.optionalDependencies;
86
+ delete pkgJson.peerDependenciesMeta;
87
+ writeFileSync(pkgJsonPath, JSON.stringify(pkgJson, null, 2) + "\n");
88
+ console.log(` cleaned: ${bundledPkg}`);
91
89
  }
92
90
  }
93
91
 
94
- // Step 3b: Fix root package.json — strip bundled @vreko/* from dependencies.
95
- // pnpm rewrites workspace:* to local semvers; those semvers don't exist on npm.
96
- // npm will 404 trying to resolve them even when the package is in bundledDependencies.
97
- // Rule: a bundled @vreko/* package ships via bundledDependencies; it must not appear
98
- // in dependencies at all. External (published) @vreko/* like @vreko/contracts are NOT
99
- // in bundledDependencies and must remain in dependencies at their real semver.
92
+ // Step 3b: Fix root package.json — strip ALL bundled packages from dependencies.
93
+ // pnpm rewrites workspace:* to local semvers (don't exist on npm) and some bundled
94
+ // third-party packages carry peer dep conflicts. A bundled package ships via
95
+ // bundledDependencies; it must not appear in dependencies so npm never tries to
96
+ // resolve it from the registry.
100
97
  const rootPkgPath = join(tmpDir, "package", "package.json");
101
98
  const rootPkg = JSON.parse(readFileSync(rootPkgPath, "utf8"));
102
99
  const bundledSet = new Set(rootPkg.bundledDependencies || []);
103
100
  const removedFromDeps = [];
104
101
  for (const key of Object.keys(rootPkg.dependencies || {})) {
105
- if (key.startsWith("@vreko/") && bundledSet.has(key)) {
102
+ if (bundledSet.has(key)) {
106
103
  delete rootPkg.dependencies[key];
107
104
  removedFromDeps.push(key);
108
105
  }
109
106
  }
110
107
  if (removedFromDeps.length > 0) {
111
108
  writeFileSync(rootPkgPath, JSON.stringify(rootPkg, null, 2) + "\n");
112
- console.log(`🔧 Removed ${removedFromDeps.length} bundled @vreko/* from root dependencies:`);
109
+ console.log(`🔧 Removed ${removedFromDeps.length} bundled packages from root dependencies:`);
113
110
  for (const k of removedFromDeps) console.log(` stripped: ${k}`);
114
111
  }
115
112
 
@@ -143,9 +140,9 @@ try {
143
140
  if (v.startsWith("workspace:")) failures.push(`3a FAIL: ${k} still has workspace:${v.slice(10)}`);
144
141
  }
145
142
 
146
- // 3b: no bundled @vreko/* appears in dependencies (local semvers don't exist on npm)
143
+ // 3b: no bundled package appears in dependencies (avoids registry resolution conflicts)
147
144
  for (const key of Object.keys(verifyDeps)) {
148
- if (key.startsWith("@vreko/") && verifyBundled.has(key)) {
145
+ if (verifyBundled.has(key)) {
149
146
  failures.push(`3b FAIL: bundled ${key} still in dependencies as ${verifyDeps[key]}`);
150
147
  }
151
148
  }