@stackbilt/cli 0.9.2 → 0.11.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/LICENSE +17 -1
- package/README.md +57 -0
- package/dist/__tests__/auth-wiring.test.d.ts +2 -0
- package/dist/__tests__/auth-wiring.test.d.ts.map +1 -0
- package/dist/__tests__/auth-wiring.test.js +158 -0
- package/dist/__tests__/auth-wiring.test.js.map +1 -0
- package/dist/__tests__/bootstrap.test.d.ts +2 -0
- package/dist/__tests__/bootstrap.test.d.ts.map +1 -0
- package/dist/__tests__/bootstrap.test.js +134 -0
- package/dist/__tests__/bootstrap.test.js.map +1 -0
- package/dist/__tests__/credentials.test.d.ts +2 -0
- package/dist/__tests__/credentials.test.d.ts.map +1 -0
- package/dist/__tests__/credentials.test.js +145 -0
- package/dist/__tests__/credentials.test.js.map +1 -0
- package/dist/__tests__/integration/precommit-hook.test.js +4 -4
- package/dist/__tests__/login.test.d.ts +2 -0
- package/dist/__tests__/login.test.d.ts.map +1 -0
- package/dist/__tests__/login.test.js +43 -0
- package/dist/__tests__/login.test.js.map +1 -0
- package/dist/__tests__/named-scaffolds.test.d.ts +2 -0
- package/dist/__tests__/named-scaffolds.test.d.ts.map +1 -0
- package/dist/__tests__/named-scaffolds.test.js +58 -0
- package/dist/__tests__/named-scaffolds.test.js.map +1 -0
- package/dist/__tests__/score.test.d.ts +2 -0
- package/dist/__tests__/score.test.d.ts.map +1 -0
- package/dist/__tests__/score.test.js +234 -0
- package/dist/__tests__/score.test.js.map +1 -0
- package/dist/commands/adf-named-scaffolds.d.ts +45 -0
- package/dist/commands/adf-named-scaffolds.d.ts.map +1 -0
- package/dist/commands/adf-named-scaffolds.js +114 -0
- package/dist/commands/adf-named-scaffolds.js.map +1 -0
- package/dist/commands/adf-tidy.d.ts.map +1 -1
- package/dist/commands/adf-tidy.js +6 -3
- package/dist/commands/adf-tidy.js.map +1 -1
- package/dist/commands/adf.d.ts +1 -0
- package/dist/commands/adf.d.ts.map +1 -1
- package/dist/commands/adf.js +39 -15
- package/dist/commands/adf.js.map +1 -1
- package/dist/commands/architect.d.ts.map +1 -1
- package/dist/commands/architect.js +7 -3
- package/dist/commands/architect.js.map +1 -1
- package/dist/commands/audit.js +24 -7
- package/dist/commands/audit.js.map +1 -1
- package/dist/commands/blast.d.ts +13 -0
- package/dist/commands/blast.d.ts.map +1 -0
- package/dist/commands/blast.js +226 -0
- package/dist/commands/blast.js.map +1 -0
- package/dist/commands/bootstrap.d.ts.map +1 -1
- package/dist/commands/bootstrap.js +300 -101
- package/dist/commands/bootstrap.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +9 -2
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +127 -8
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/login.d.ts +4 -1
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +27 -6
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +8 -5
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/score.d.ts +9 -0
- package/dist/commands/score.d.ts.map +1 -0
- package/dist/commands/score.js +1273 -0
- package/dist/commands/score.js.map +1 -0
- package/dist/commands/serve.d.ts.map +1 -1
- package/dist/commands/serve.js +44 -0
- package/dist/commands/serve.js.map +1 -1
- package/dist/commands/setup.js +2 -2
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/surface.d.ts +15 -0
- package/dist/commands/surface.d.ts.map +1 -0
- package/dist/commands/surface.js +112 -0
- package/dist/commands/surface.js.map +1 -0
- package/dist/commands/validate-ontology.d.ts +14 -0
- package/dist/commands/validate-ontology.d.ts.map +1 -0
- package/dist/commands/validate-ontology.js +328 -0
- package/dist/commands/validate-ontology.js.map +1 -0
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +44 -0
- package/dist/commands/validate.js.map +1 -1
- package/dist/config.d.ts +25 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +1 -0
- package/dist/config.js.map +1 -1
- package/dist/credentials.d.ts +22 -1
- package/dist/credentials.d.ts.map +1 -1
- package/dist/credentials.js +35 -1
- package/dist/credentials.js.map +1 -1
- package/dist/http-client.d.ts +13 -4
- package/dist/http-client.d.ts.map +1 -1
- package/dist/http-client.js +3 -2
- package/dist/http-client.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -3
- package/dist/index.js.map +1 -1
- package/dist/types/scaffold-contract-types.d.ts +90 -0
- package/dist/types/scaffold-contract-types.d.ts.map +1 -0
- package/dist/types/scaffold-contract-types.js +22 -0
- package/dist/types/scaffold-contract-types.js.map +1 -0
- package/package.json +12 -9
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* charter blast <file> [<file> ...]
|
|
4
|
+
*
|
|
5
|
+
* Computes blast radius for the given seed files: which other files
|
|
6
|
+
* transitively import them, up to a configurable depth.
|
|
7
|
+
*
|
|
8
|
+
* Pure heuristic — no LLM, no runtime type checking. Uses regex-based
|
|
9
|
+
* import extraction (see @stackbilt/blast).
|
|
10
|
+
*/
|
|
11
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
12
|
+
if (k2 === undefined) k2 = k;
|
|
13
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
14
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
15
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
16
|
+
}
|
|
17
|
+
Object.defineProperty(o, k2, desc);
|
|
18
|
+
}) : (function(o, m, k, k2) {
|
|
19
|
+
if (k2 === undefined) k2 = k;
|
|
20
|
+
o[k2] = m[k];
|
|
21
|
+
}));
|
|
22
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
23
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
24
|
+
}) : function(o, v) {
|
|
25
|
+
o["default"] = v;
|
|
26
|
+
});
|
|
27
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
28
|
+
var ownKeys = function(o) {
|
|
29
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
30
|
+
var ar = [];
|
|
31
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
32
|
+
return ar;
|
|
33
|
+
};
|
|
34
|
+
return ownKeys(o);
|
|
35
|
+
};
|
|
36
|
+
return function (mod) {
|
|
37
|
+
if (mod && mod.__esModule) return mod;
|
|
38
|
+
var result = {};
|
|
39
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
40
|
+
__setModuleDefault(result, mod);
|
|
41
|
+
return result;
|
|
42
|
+
};
|
|
43
|
+
})();
|
|
44
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
|
+
exports.blastCommand = blastCommand;
|
|
46
|
+
exports.detectTsconfigAliases = detectTsconfigAliases;
|
|
47
|
+
const path = __importStar(require("path"));
|
|
48
|
+
const fs = __importStar(require("fs"));
|
|
49
|
+
const index_1 = require("../index");
|
|
50
|
+
const flags_1 = require("../flags");
|
|
51
|
+
const blast_1 = require("@stackbilt/blast");
|
|
52
|
+
const zod_1 = require("zod");
|
|
53
|
+
// Flags that consume a value (so the next positional should not be treated as a seed file).
|
|
54
|
+
// Includes local flags (--root, --depth) and global CLI flags (--format, --config).
|
|
55
|
+
const VALUE_FLAGS = new Set(['--root', '--depth', '--format', '--config']);
|
|
56
|
+
async function blastCommand(options, args) {
|
|
57
|
+
const seedArgs = [];
|
|
58
|
+
for (let i = 0; i < args.length; i++) {
|
|
59
|
+
const a = args[i];
|
|
60
|
+
if (a.startsWith('--')) {
|
|
61
|
+
if (VALUE_FLAGS.has(a))
|
|
62
|
+
i++; // skip the flag's value
|
|
63
|
+
continue;
|
|
64
|
+
}
|
|
65
|
+
seedArgs.push(a);
|
|
66
|
+
}
|
|
67
|
+
if (seedArgs.length === 0) {
|
|
68
|
+
throw new index_1.CLIError('Usage: charter blast <file> [<file> ...] [--root <dir>] [--depth <n>]\n' +
|
|
69
|
+
'Example: charter blast src/kernel/dispatch.ts --depth 4');
|
|
70
|
+
}
|
|
71
|
+
const rootArg = (0, flags_1.getFlag)(args, '--root') || '.';
|
|
72
|
+
const depthStr = (0, flags_1.getFlag)(args, '--depth');
|
|
73
|
+
const root = path.resolve(rootArg);
|
|
74
|
+
const aliases = detectTsconfigAliases(root);
|
|
75
|
+
// Route argv through the schema. BlastInputSchema owns the depth default
|
|
76
|
+
// and the "positive integer" rule.
|
|
77
|
+
let input;
|
|
78
|
+
try {
|
|
79
|
+
input = blast_1.BlastInputSchema.parse({
|
|
80
|
+
seeds: seedArgs,
|
|
81
|
+
root: rootArg,
|
|
82
|
+
maxDepth: depthStr !== undefined ? Number(depthStr) : undefined,
|
|
83
|
+
aliases,
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
catch (err) {
|
|
87
|
+
if (err instanceof zod_1.z.ZodError) {
|
|
88
|
+
const msg = err.issues
|
|
89
|
+
.map((i) => `${i.path.join('.') || '<root>'}: ${i.message}`)
|
|
90
|
+
.join('; ');
|
|
91
|
+
throw new index_1.CLIError(`Invalid arguments: ${msg}`);
|
|
92
|
+
}
|
|
93
|
+
throw err;
|
|
94
|
+
}
|
|
95
|
+
// Pre-flight existence check — matches prior CLI error text.
|
|
96
|
+
for (const seed of input.seeds) {
|
|
97
|
+
if (!fs.existsSync(path.resolve(seed))) {
|
|
98
|
+
throw new index_1.CLIError(`Seed file not found: ${seed}`);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
const result = (0, blast_1.analyze)(input);
|
|
102
|
+
if (options.format === 'json') {
|
|
103
|
+
console.log(JSON.stringify({
|
|
104
|
+
root: path.relative(process.cwd(), result.root),
|
|
105
|
+
fileCount: result.fileCount,
|
|
106
|
+
seeds: result.seeds,
|
|
107
|
+
affected: result.affected,
|
|
108
|
+
maxDepth: result.maxDepth,
|
|
109
|
+
hotFiles: result.hotFiles,
|
|
110
|
+
summary: result.summary,
|
|
111
|
+
}, null, 2));
|
|
112
|
+
return index_1.EXIT_CODE.SUCCESS;
|
|
113
|
+
}
|
|
114
|
+
console.log('');
|
|
115
|
+
console.log(` Blast radius analysis`);
|
|
116
|
+
console.log(` root: ${path.relative(process.cwd(), result.root) || '.'}`);
|
|
117
|
+
console.log(` scanned: ${result.fileCount} files`);
|
|
118
|
+
console.log(` seeds: ${result.seeds.length}`);
|
|
119
|
+
for (const seed of result.seeds) {
|
|
120
|
+
console.log(` - ${seed}`);
|
|
121
|
+
}
|
|
122
|
+
console.log(` max depth: ${input.maxDepth} (reached: ${result.maxDepth})`);
|
|
123
|
+
console.log(` affected: ${result.summary.totalAffected} file(s)`);
|
|
124
|
+
console.log('');
|
|
125
|
+
if (result.affected.length > 0) {
|
|
126
|
+
console.log(' Affected files:');
|
|
127
|
+
const limit = 50;
|
|
128
|
+
for (const file of result.affected.slice(0, limit)) {
|
|
129
|
+
console.log(` - ${file}`);
|
|
130
|
+
}
|
|
131
|
+
if (result.affected.length > limit) {
|
|
132
|
+
console.log(` ... (${result.affected.length - limit} more)`);
|
|
133
|
+
}
|
|
134
|
+
console.log('');
|
|
135
|
+
}
|
|
136
|
+
if (result.hotFiles.length > 0) {
|
|
137
|
+
console.log(' Hot files (most imported):');
|
|
138
|
+
for (const hot of result.hotFiles.slice(0, 10)) {
|
|
139
|
+
console.log(` ${String(hot.importers).padStart(4)}x ${hot.file}`);
|
|
140
|
+
}
|
|
141
|
+
console.log('');
|
|
142
|
+
}
|
|
143
|
+
// Governance signal: high blast radius = cross-cutting
|
|
144
|
+
if (result.summary.totalAffected >= 20) {
|
|
145
|
+
console.log(` [warn] Blast radius is large (${result.summary.totalAffected} files). ` +
|
|
146
|
+
`Consider classifying this change as CROSS_CUTTING.`);
|
|
147
|
+
console.log('');
|
|
148
|
+
}
|
|
149
|
+
return index_1.EXIT_CODE.SUCCESS;
|
|
150
|
+
}
|
|
151
|
+
function readTsconfig(tsconfigPath) {
|
|
152
|
+
if (!fs.existsSync(tsconfigPath))
|
|
153
|
+
return null;
|
|
154
|
+
try {
|
|
155
|
+
const raw = fs.readFileSync(tsconfigPath, 'utf8');
|
|
156
|
+
// Strip JSON comments (tsconfig allows them)
|
|
157
|
+
const cleaned = raw.replace(/\/\/[^\n]*/g, '').replace(/\/\*[\s\S]*?\*\//g, '');
|
|
158
|
+
return JSON.parse(cleaned);
|
|
159
|
+
}
|
|
160
|
+
catch {
|
|
161
|
+
return null;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Walk the tsconfig `extends` chain and merge compilerOptions.paths from
|
|
166
|
+
* parents into the child. Shallower (closer to the child) wins on conflicts.
|
|
167
|
+
*/
|
|
168
|
+
function loadTsconfigChain(tsconfigPath, seen = new Set()) {
|
|
169
|
+
const abs = path.resolve(tsconfigPath);
|
|
170
|
+
if (seen.has(abs))
|
|
171
|
+
return {};
|
|
172
|
+
seen.add(abs);
|
|
173
|
+
const parsed = readTsconfig(abs);
|
|
174
|
+
if (!parsed)
|
|
175
|
+
return {};
|
|
176
|
+
const merged = { compilerOptions: { baseUrl: '.', paths: {} } };
|
|
177
|
+
// Resolve extends first, then overlay current file's options on top
|
|
178
|
+
const extendsRaw = parsed.extends;
|
|
179
|
+
const extendsList = Array.isArray(extendsRaw) ? extendsRaw : extendsRaw ? [extendsRaw] : [];
|
|
180
|
+
for (const ext of extendsList) {
|
|
181
|
+
let extPath = ext;
|
|
182
|
+
if (!extPath.endsWith('.json'))
|
|
183
|
+
extPath += '.json';
|
|
184
|
+
if (!path.isAbsolute(extPath))
|
|
185
|
+
extPath = path.resolve(path.dirname(abs), extPath);
|
|
186
|
+
const parent = loadTsconfigChain(extPath, seen);
|
|
187
|
+
if (parent.compilerOptions?.paths) {
|
|
188
|
+
Object.assign(merged.compilerOptions.paths, parent.compilerOptions.paths);
|
|
189
|
+
}
|
|
190
|
+
if (parent.compilerOptions?.baseUrl) {
|
|
191
|
+
// baseUrl is relative to the tsconfig that declared it
|
|
192
|
+
merged.compilerOptions.baseUrl = path.resolve(path.dirname(extPath), parent.compilerOptions.baseUrl);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
if (parsed.compilerOptions?.paths) {
|
|
196
|
+
Object.assign(merged.compilerOptions.paths, parsed.compilerOptions.paths);
|
|
197
|
+
}
|
|
198
|
+
if (parsed.compilerOptions?.baseUrl) {
|
|
199
|
+
merged.compilerOptions.baseUrl = path.resolve(path.dirname(abs), parsed.compilerOptions.baseUrl);
|
|
200
|
+
}
|
|
201
|
+
return merged;
|
|
202
|
+
}
|
|
203
|
+
function detectTsconfigAliases(root) {
|
|
204
|
+
const tsconfigPath = path.join(root, 'tsconfig.json');
|
|
205
|
+
const merged = loadTsconfigChain(tsconfigPath);
|
|
206
|
+
const paths = merged.compilerOptions?.paths;
|
|
207
|
+
const baseUrl = merged.compilerOptions?.baseUrl ?? root;
|
|
208
|
+
if (!paths || Object.keys(paths).length === 0)
|
|
209
|
+
return {};
|
|
210
|
+
const aliases = {};
|
|
211
|
+
for (const [key, targets] of Object.entries(paths)) {
|
|
212
|
+
if (!targets || targets.length === 0)
|
|
213
|
+
continue;
|
|
214
|
+
// Normalize "@/*" -> "@/", "src/*" -> "src/"
|
|
215
|
+
const aliasKey = key.replace(/\*$/, '');
|
|
216
|
+
const targetPath = targets[0].replace(/\*$/, '');
|
|
217
|
+
// baseUrl is already absolute after loadTsconfigChain; produce an absolute alias target
|
|
218
|
+
const absoluteTarget = path.isAbsolute(targetPath)
|
|
219
|
+
? targetPath
|
|
220
|
+
: path.resolve(baseUrl, targetPath);
|
|
221
|
+
// Express target as relative to root so buildGraph's resolveSpecifier can join it
|
|
222
|
+
aliases[aliasKey] = path.relative(root, absoluteTarget) || '.';
|
|
223
|
+
}
|
|
224
|
+
return aliases;
|
|
225
|
+
}
|
|
226
|
+
//# sourceMappingURL=blast.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blast.js","sourceRoot":"","sources":["../../src/commands/blast.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/commands/bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/commands/bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AA+D3C,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAyS3F"}
|