aspectcode 0.2.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/bin/aspectcode.js +4 -0
- package/dist/cli.d.ts +102 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +46 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/deps.d.ts +3 -0
- package/dist/commands/deps.d.ts.map +1 -0
- package/dist/commands/deps.js +39 -0
- package/dist/commands/deps.js.map +1 -0
- package/dist/commands/generate.d.ts +8 -0
- package/dist/commands/generate.d.ts.map +1 -0
- package/dist/commands/generate.js +176 -0
- package/dist/commands/generate.js.map +1 -0
- package/dist/commands/impact.d.ts +9 -0
- package/dist/commands/impact.d.ts.map +1 -0
- package/dist/commands/impact.js +162 -0
- package/dist/commands/impact.js.map +1 -0
- package/dist/commands/init.d.ts +11 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +204 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/settings.d.ts +13 -0
- package/dist/commands/settings.d.ts.map +1 -0
- package/dist/commands/settings.js +196 -0
- package/dist/commands/settings.js.map +1 -0
- package/dist/commands/watch.d.ts +6 -0
- package/dist/commands/watch.d.ts.map +1 -0
- package/dist/commands/watch.js +181 -0
- package/dist/commands/watch.js.map +1 -0
- package/dist/config.d.ts +38 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +119 -0
- package/dist/config.js.map +1 -0
- package/dist/connections.d.ts +24 -0
- package/dist/connections.d.ts.map +1 -0
- package/dist/connections.js +89 -0
- package/dist/connections.js.map +1 -0
- package/dist/logger.d.ts +45 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +116 -0
- package/dist/logger.js.map +1 -0
- package/dist/main.d.ts +12 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +275 -0
- package/dist/main.js.map +1 -0
- package/dist/version.d.ts +8 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +55 -0
- package/dist/version.js.map +1 -0
- package/dist/workspace.d.ts +34 -0
- package/dist/workspace.d.ts.map +1 -0
- package/dist/workspace.js +94 -0
- package/dist/workspace.js.map +1 -0
- package/package.json +53 -0
package/dist/main.js
ADDED
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* aspectcode CLI — main entry point.
|
|
4
|
+
*
|
|
5
|
+
* Hand-rolled argv parser (no external deps). Routes to command handlers.
|
|
6
|
+
* Flag definitions live in cli.ts (FLAG_DEFS) — parseArgs and printHelp
|
|
7
|
+
* derive from that single source of truth.
|
|
8
|
+
*/
|
|
9
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
12
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
13
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
14
|
+
}
|
|
15
|
+
Object.defineProperty(o, k2, desc);
|
|
16
|
+
}) : (function(o, m, k, k2) {
|
|
17
|
+
if (k2 === undefined) k2 = k;
|
|
18
|
+
o[k2] = m[k];
|
|
19
|
+
}));
|
|
20
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
21
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
22
|
+
}) : function(o, v) {
|
|
23
|
+
o["default"] = v;
|
|
24
|
+
});
|
|
25
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
26
|
+
var ownKeys = function(o) {
|
|
27
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
28
|
+
var ar = [];
|
|
29
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
30
|
+
return ar;
|
|
31
|
+
};
|
|
32
|
+
return ownKeys(o);
|
|
33
|
+
};
|
|
34
|
+
return function (mod) {
|
|
35
|
+
if (mod && mod.__esModule) return mod;
|
|
36
|
+
var result = {};
|
|
37
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
38
|
+
__setModuleDefault(result, mod);
|
|
39
|
+
return result;
|
|
40
|
+
};
|
|
41
|
+
})();
|
|
42
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
|
+
exports.parseArgs = parseArgs;
|
|
44
|
+
exports.run = run;
|
|
45
|
+
const path = __importStar(require("path"));
|
|
46
|
+
const cli_1 = require("./cli");
|
|
47
|
+
const config_1 = require("./config");
|
|
48
|
+
const logger_1 = require("./logger");
|
|
49
|
+
const version_1 = require("./version");
|
|
50
|
+
const init_1 = require("./commands/init");
|
|
51
|
+
const generate_1 = require("./commands/generate");
|
|
52
|
+
const deps_1 = require("./commands/deps");
|
|
53
|
+
const watch_1 = require("./commands/watch");
|
|
54
|
+
const impact_1 = require("./commands/impact");
|
|
55
|
+
const settings_1 = require("./commands/settings");
|
|
56
|
+
// ── Build lookup tables from FLAG_DEFS ───────────────────────
|
|
57
|
+
/** Map --long-name → FlagDef */
|
|
58
|
+
const longMap = new Map(cli_1.FLAG_DEFS.map((d) => [`--${d.name}`, d]));
|
|
59
|
+
/** Map -x → FlagDef */
|
|
60
|
+
const shortMap = new Map(cli_1.FLAG_DEFS.filter((d) => d.short).map((d) => [`-${d.short}`, d]));
|
|
61
|
+
// ── Argv parsing ─────────────────────────────────────────────
|
|
62
|
+
function parseArgs(argv) {
|
|
63
|
+
const flags = {
|
|
64
|
+
help: false,
|
|
65
|
+
version: false,
|
|
66
|
+
verbose: false,
|
|
67
|
+
quiet: false,
|
|
68
|
+
listConnections: false,
|
|
69
|
+
json: false,
|
|
70
|
+
force: false,
|
|
71
|
+
kbOnly: false,
|
|
72
|
+
copilot: false,
|
|
73
|
+
cursor: false,
|
|
74
|
+
claude: false,
|
|
75
|
+
other: false,
|
|
76
|
+
noColor: false,
|
|
77
|
+
};
|
|
78
|
+
const positionals = [];
|
|
79
|
+
let command = '';
|
|
80
|
+
const args = argv.slice(2); // skip node + script
|
|
81
|
+
let i = 0;
|
|
82
|
+
while (i < args.length) {
|
|
83
|
+
const arg = args[i];
|
|
84
|
+
// Try --long-name or -x lookup
|
|
85
|
+
const eqIdx = arg.indexOf('=');
|
|
86
|
+
const key = eqIdx > 0 ? arg.slice(0, eqIdx) : arg;
|
|
87
|
+
const def = longMap.get(key) ?? shortMap.get(key);
|
|
88
|
+
if (def) {
|
|
89
|
+
const prop = (0, cli_1.flagPropName)(def);
|
|
90
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
91
|
+
const record = flags;
|
|
92
|
+
if (def.type === 'boolean') {
|
|
93
|
+
record[prop] = true;
|
|
94
|
+
}
|
|
95
|
+
else if (def.type === 'string') {
|
|
96
|
+
const val = eqIdx > 0 ? arg.slice(eqIdx + 1) : args[++i];
|
|
97
|
+
record[prop] = val;
|
|
98
|
+
}
|
|
99
|
+
else if (def.type === 'enum' && def.values) {
|
|
100
|
+
const val = eqIdx > 0 ? arg.slice(eqIdx + 1) : args[++i];
|
|
101
|
+
if (def.values.includes(val)) {
|
|
102
|
+
record[prop] = val;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
else if (arg.startsWith('--') && eqIdx > 0) {
|
|
107
|
+
// Unknown --flag=value — try lookup by prefix before '='
|
|
108
|
+
const stderr = process.stderr;
|
|
109
|
+
if (stderr && typeof stderr.write === 'function') {
|
|
110
|
+
stderr.write(`Warning: unknown flag ${key}\n`);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
else if (arg.startsWith('-')) {
|
|
114
|
+
// Unknown flag — warn but keep going for forward compat
|
|
115
|
+
const stderr = process.stderr;
|
|
116
|
+
if (stderr && typeof stderr.write === 'function') {
|
|
117
|
+
stderr.write(`Warning: unknown flag ${arg}\n`);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
else if (!command) {
|
|
121
|
+
command = arg;
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
positionals.push(arg);
|
|
125
|
+
}
|
|
126
|
+
i++;
|
|
127
|
+
}
|
|
128
|
+
return { command, flags, positionals };
|
|
129
|
+
}
|
|
130
|
+
// ── Help text ────────────────────────────────────────────────
|
|
131
|
+
function printHelp() {
|
|
132
|
+
const optionLines = [];
|
|
133
|
+
for (const def of cli_1.FLAG_DEFS) {
|
|
134
|
+
const shortPart = def.short ? `-${def.short}, ` : ' ';
|
|
135
|
+
const longPart = `--${def.name}`;
|
|
136
|
+
const valuePart = def.type === 'string' ? ' <value>' :
|
|
137
|
+
def.type === 'enum' ? ` <${(def.values ?? []).join('|')}>` : '';
|
|
138
|
+
const left = ` ${shortPart}${longPart}${valuePart}`;
|
|
139
|
+
const pad = Math.max(2, 30 - left.length);
|
|
140
|
+
optionLines.push(`${left}${' '.repeat(pad)}${def.description}`);
|
|
141
|
+
}
|
|
142
|
+
console.log(`
|
|
143
|
+
${logger_1.fmt.bold('aspectcode')} — generate AI-assistant knowledge bases from your codebase
|
|
144
|
+
|
|
145
|
+
${logger_1.fmt.bold('USAGE')}
|
|
146
|
+
aspectcode <command> [options]
|
|
147
|
+
|
|
148
|
+
${logger_1.fmt.bold('COMMANDS')}
|
|
149
|
+
init Create an ${logger_1.fmt.cyan('aspectcode.json')} config file
|
|
150
|
+
generate ${logger_1.fmt.dim('(gen, g)')} Discover, analyze, and emit KB artifacts
|
|
151
|
+
watch Watch source files and regenerate on changes
|
|
152
|
+
impact Compute impact analysis for a file
|
|
153
|
+
deps list List dependency connections
|
|
154
|
+
show-config Show current ${logger_1.fmt.cyan('aspectcode.json')} values
|
|
155
|
+
set-update-rate <mode> Set updateRate to manual|onChange|idle
|
|
156
|
+
set-out-dir <path> Set outDir
|
|
157
|
+
clear-out-dir Remove outDir
|
|
158
|
+
add-exclude <path> Add an exclude path
|
|
159
|
+
remove-exclude <path> Remove an exclude path
|
|
160
|
+
|
|
161
|
+
${logger_1.fmt.bold('OPTIONS')}
|
|
162
|
+
${optionLines.join('\n')}
|
|
163
|
+
|
|
164
|
+
${logger_1.fmt.bold('EXAMPLES')}
|
|
165
|
+
aspectcode init
|
|
166
|
+
aspectcode generate
|
|
167
|
+
aspectcode gen --copilot --cursor
|
|
168
|
+
aspectcode g --json
|
|
169
|
+
aspectcode impact --file src/app.ts
|
|
170
|
+
aspectcode deps list --file src/app.ts
|
|
171
|
+
aspectcode watch --mode idle
|
|
172
|
+
`.trimStart());
|
|
173
|
+
}
|
|
174
|
+
// ── Main ─────────────────────────────────────────────────────
|
|
175
|
+
async function main() {
|
|
176
|
+
const parsed = parseArgs(process.argv);
|
|
177
|
+
const { command, flags } = parsed;
|
|
178
|
+
// Global flags that exit early
|
|
179
|
+
if (flags.version) {
|
|
180
|
+
console.log((0, version_1.getVersion)());
|
|
181
|
+
process.exitCode = cli_1.ExitCode.OK;
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
if (flags.help) {
|
|
185
|
+
printHelp();
|
|
186
|
+
process.exitCode = cli_1.ExitCode.OK;
|
|
187
|
+
return;
|
|
188
|
+
}
|
|
189
|
+
if (!command) {
|
|
190
|
+
printHelp();
|
|
191
|
+
process.exitCode = cli_1.ExitCode.USAGE;
|
|
192
|
+
return;
|
|
193
|
+
}
|
|
194
|
+
// Apply --no-color before any output
|
|
195
|
+
if (flags.noColor) {
|
|
196
|
+
(0, logger_1.disableColor)();
|
|
197
|
+
}
|
|
198
|
+
const log = (0, logger_1.createLogger)({ verbose: flags.verbose, quiet: flags.quiet });
|
|
199
|
+
const root = path.resolve(flags.root ?? process.cwd());
|
|
200
|
+
// Build shared context — loadConfig returns undefined when no aspectcode.json exists
|
|
201
|
+
const config = (0, config_1.loadConfig)(root);
|
|
202
|
+
const ctx = {
|
|
203
|
+
root,
|
|
204
|
+
flags,
|
|
205
|
+
config,
|
|
206
|
+
log,
|
|
207
|
+
positionals: parsed.positionals,
|
|
208
|
+
};
|
|
209
|
+
let result;
|
|
210
|
+
switch (command) {
|
|
211
|
+
case 'init':
|
|
212
|
+
result = await (0, init_1.runInit)(ctx);
|
|
213
|
+
break;
|
|
214
|
+
case 'generate':
|
|
215
|
+
case 'gen':
|
|
216
|
+
case 'g':
|
|
217
|
+
result = await (0, generate_1.runGenerate)(ctx);
|
|
218
|
+
break;
|
|
219
|
+
case 'deps': {
|
|
220
|
+
const sub = parsed.positionals[0] ?? 'list';
|
|
221
|
+
if (sub !== 'list') {
|
|
222
|
+
log.error(`Unknown deps subcommand: ${logger_1.fmt.bold(sub)}`);
|
|
223
|
+
result = { exitCode: cli_1.ExitCode.USAGE };
|
|
224
|
+
break;
|
|
225
|
+
}
|
|
226
|
+
result = await (0, deps_1.runDepsList)(ctx);
|
|
227
|
+
break;
|
|
228
|
+
}
|
|
229
|
+
case 'watch':
|
|
230
|
+
result = await (0, watch_1.runWatch)(ctx);
|
|
231
|
+
break;
|
|
232
|
+
case 'impact':
|
|
233
|
+
result = await (0, impact_1.runImpact)(ctx);
|
|
234
|
+
break;
|
|
235
|
+
case 'show-config':
|
|
236
|
+
result = await (0, settings_1.runShowConfig)(ctx);
|
|
237
|
+
break;
|
|
238
|
+
case 'set-update-rate': {
|
|
239
|
+
const value = parsed.positionals[0] ?? '';
|
|
240
|
+
result = await (0, settings_1.runSetUpdateRate)(ctx, value);
|
|
241
|
+
break;
|
|
242
|
+
}
|
|
243
|
+
case 'set-out-dir': {
|
|
244
|
+
const value = parsed.positionals[0] ?? '';
|
|
245
|
+
result = await (0, settings_1.runSetOutDir)(ctx, value);
|
|
246
|
+
break;
|
|
247
|
+
}
|
|
248
|
+
case 'clear-out-dir':
|
|
249
|
+
result = await (0, settings_1.runClearOutDir)(ctx);
|
|
250
|
+
break;
|
|
251
|
+
case 'add-exclude': {
|
|
252
|
+
const value = parsed.positionals[0] ?? '';
|
|
253
|
+
result = await (0, settings_1.runAddExclude)(ctx, value);
|
|
254
|
+
break;
|
|
255
|
+
}
|
|
256
|
+
case 'remove-exclude': {
|
|
257
|
+
const value = parsed.positionals[0] ?? '';
|
|
258
|
+
result = await (0, settings_1.runRemoveExclude)(ctx, value);
|
|
259
|
+
break;
|
|
260
|
+
}
|
|
261
|
+
default:
|
|
262
|
+
log.error(`Unknown command: ${logger_1.fmt.bold(command)}`);
|
|
263
|
+
log.info(`Run ${logger_1.fmt.bold('aspectcode --help')} for usage.`);
|
|
264
|
+
result = { exitCode: cli_1.ExitCode.USAGE };
|
|
265
|
+
}
|
|
266
|
+
process.exitCode = result.exitCode;
|
|
267
|
+
}
|
|
268
|
+
/** Entry point — called from bin/aspectcode.js. */
|
|
269
|
+
function run() {
|
|
270
|
+
main().catch((err) => {
|
|
271
|
+
console.error(err.message);
|
|
272
|
+
process.exitCode = cli_1.ExitCode.ERROR;
|
|
273
|
+
});
|
|
274
|
+
}
|
|
275
|
+
//# sourceMappingURL=main.js.map
|
package/dist/main.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,wBAAgB,UAAU,IAAI,MAAM,CAQnC"}
|
package/dist/version.js
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* aspectcode CLI — version helper.
|
|
4
|
+
*
|
|
5
|
+
* Reads the version from cli/package.json at runtime, so it stays in sync
|
|
6
|
+
* without a build step.
|
|
7
|
+
*/
|
|
8
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
9
|
+
if (k2 === undefined) k2 = k;
|
|
10
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
11
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
12
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
13
|
+
}
|
|
14
|
+
Object.defineProperty(o, k2, desc);
|
|
15
|
+
}) : (function(o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
o[k2] = m[k];
|
|
18
|
+
}));
|
|
19
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
20
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
21
|
+
}) : function(o, v) {
|
|
22
|
+
o["default"] = v;
|
|
23
|
+
});
|
|
24
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
25
|
+
var ownKeys = function(o) {
|
|
26
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
27
|
+
var ar = [];
|
|
28
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
29
|
+
return ar;
|
|
30
|
+
};
|
|
31
|
+
return ownKeys(o);
|
|
32
|
+
};
|
|
33
|
+
return function (mod) {
|
|
34
|
+
if (mod && mod.__esModule) return mod;
|
|
35
|
+
var result = {};
|
|
36
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
37
|
+
__setModuleDefault(result, mod);
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
})();
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
exports.getVersion = getVersion;
|
|
43
|
+
const path = __importStar(require("path"));
|
|
44
|
+
const fs = __importStar(require("fs"));
|
|
45
|
+
let _cached;
|
|
46
|
+
function getVersion() {
|
|
47
|
+
if (_cached)
|
|
48
|
+
return _cached;
|
|
49
|
+
const pkgPath = path.resolve(__dirname, '..', 'package.json');
|
|
50
|
+
const raw = fs.readFileSync(pkgPath, 'utf-8');
|
|
51
|
+
const pkg = JSON.parse(raw);
|
|
52
|
+
_cached = pkg.version;
|
|
53
|
+
return _cached;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOH,gCAQC;AAbD,2CAA6B;AAC7B,uCAAyB;AAEzB,IAAI,OAA2B,CAAC;AAEhC,SAAgB,UAAU;IACxB,IAAI,OAAO;QAAE,OAAO,OAAO,CAAC;IAE5B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;IAC9D,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAwB,CAAC;IACnD,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;IACtB,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared workspace file-loading utilities for CLI commands.
|
|
3
|
+
*
|
|
4
|
+
* Encapsulates the discover → read → Map pipeline that deps, impact,
|
|
5
|
+
* and generate all need, eliminating repeated boilerplate.
|
|
6
|
+
*/
|
|
7
|
+
import { type CoreHost } from '@aspectcode/core';
|
|
8
|
+
import type { AspectCodeConfig } from './config';
|
|
9
|
+
import type { Logger } from './logger';
|
|
10
|
+
export interface WorkspaceFiles {
|
|
11
|
+
/** Map of relative (posix) path → file content */
|
|
12
|
+
relativeFiles: Map<string, string>;
|
|
13
|
+
/** Map of absolute path → file content */
|
|
14
|
+
absoluteFiles: Map<string, string>;
|
|
15
|
+
/** Absolute paths returned by discoverFiles */
|
|
16
|
+
discoveredPaths: string[];
|
|
17
|
+
/** Pre-built host for the workspace (undefined when WASM dir cannot be resolved) */
|
|
18
|
+
host: CoreHost | undefined;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Discover and read all source files in the workspace.
|
|
22
|
+
*
|
|
23
|
+
* Returns both relative-keyed and absolute-keyed maps (the former for
|
|
24
|
+
* `analyzeRepo`, the latter for `DependencyAnalyzer`).
|
|
25
|
+
*
|
|
26
|
+
* @param root Absolute workspace root
|
|
27
|
+
* @param config Loaded config (used for exclude patterns)
|
|
28
|
+
* @param log Logger for debug output
|
|
29
|
+
* @param opts Options: quiet suppresses spinners
|
|
30
|
+
*/
|
|
31
|
+
export declare function loadWorkspaceFiles(root: string, config: AspectCodeConfig | undefined, log: Logger, opts?: {
|
|
32
|
+
quiet?: boolean;
|
|
33
|
+
}): Promise<WorkspaceFiles>;
|
|
34
|
+
//# sourceMappingURL=workspace.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAGL,KAAK,QAAQ,EACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGvC,MAAM,WAAW,cAAc;IAC7B,kDAAkD;IAClD,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,0CAA0C;IAC1C,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,+CAA+C;IAC/C,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,oFAAoF;IACpF,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC5B;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,gBAAgB,GAAG,SAAS,EACpC,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GACzB,OAAO,CAAC,cAAc,CAAC,CAqCzB"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Shared workspace file-loading utilities for CLI commands.
|
|
4
|
+
*
|
|
5
|
+
* Encapsulates the discover → read → Map pipeline that deps, impact,
|
|
6
|
+
* and generate all need, eliminating repeated boilerplate.
|
|
7
|
+
*/
|
|
8
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
9
|
+
if (k2 === undefined) k2 = k;
|
|
10
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
11
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
12
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
13
|
+
}
|
|
14
|
+
Object.defineProperty(o, k2, desc);
|
|
15
|
+
}) : (function(o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
o[k2] = m[k];
|
|
18
|
+
}));
|
|
19
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
20
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
21
|
+
}) : function(o, v) {
|
|
22
|
+
o["default"] = v;
|
|
23
|
+
});
|
|
24
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
25
|
+
var ownKeys = function(o) {
|
|
26
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
27
|
+
var ar = [];
|
|
28
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
29
|
+
return ar;
|
|
30
|
+
};
|
|
31
|
+
return ownKeys(o);
|
|
32
|
+
};
|
|
33
|
+
return function (mod) {
|
|
34
|
+
if (mod && mod.__esModule) return mod;
|
|
35
|
+
var result = {};
|
|
36
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
37
|
+
__setModuleDefault(result, mod);
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
})();
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
exports.loadWorkspaceFiles = loadWorkspaceFiles;
|
|
43
|
+
const fs = __importStar(require("fs"));
|
|
44
|
+
const path = __importStar(require("path"));
|
|
45
|
+
const core_1 = require("@aspectcode/core");
|
|
46
|
+
const logger_1 = require("./logger");
|
|
47
|
+
/**
|
|
48
|
+
* Discover and read all source files in the workspace.
|
|
49
|
+
*
|
|
50
|
+
* Returns both relative-keyed and absolute-keyed maps (the former for
|
|
51
|
+
* `analyzeRepo`, the latter for `DependencyAnalyzer`).
|
|
52
|
+
*
|
|
53
|
+
* @param root Absolute workspace root
|
|
54
|
+
* @param config Loaded config (used for exclude patterns)
|
|
55
|
+
* @param log Logger for debug output
|
|
56
|
+
* @param opts Options: quiet suppresses spinners
|
|
57
|
+
*/
|
|
58
|
+
async function loadWorkspaceFiles(root, config, log, opts) {
|
|
59
|
+
const exclude = config?.exclude;
|
|
60
|
+
const spin = (0, logger_1.createSpinner)('Discovering files…', { quiet: opts?.quiet });
|
|
61
|
+
const discoveredPaths = await (0, core_1.discoverFiles)(root, exclude ? { exclude } : undefined);
|
|
62
|
+
if (discoveredPaths.length === 0) {
|
|
63
|
+
spin.stop('No files found');
|
|
64
|
+
return {
|
|
65
|
+
relativeFiles: new Map(),
|
|
66
|
+
absoluteFiles: new Map(),
|
|
67
|
+
discoveredPaths: [],
|
|
68
|
+
host: (0, core_1.createNodeHostForWorkspace)(root),
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
spin.stop(`Discovered ${discoveredPaths.length} files`);
|
|
72
|
+
const spinRead = (0, logger_1.createSpinner)(`Reading ${discoveredPaths.length} files…`, { quiet: opts?.quiet });
|
|
73
|
+
const relativeFiles = new Map();
|
|
74
|
+
const absoluteFiles = new Map();
|
|
75
|
+
for (const abs of discoveredPaths) {
|
|
76
|
+
const rel = path.relative(root, abs).replace(/\\/g, '/');
|
|
77
|
+
try {
|
|
78
|
+
const content = fs.readFileSync(abs, 'utf-8');
|
|
79
|
+
relativeFiles.set(rel, content);
|
|
80
|
+
absoluteFiles.set(abs, content);
|
|
81
|
+
}
|
|
82
|
+
catch {
|
|
83
|
+
log.debug(` skip (unreadable): ${rel}`);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
spinRead.stop(`Read ${relativeFiles.size} files`);
|
|
87
|
+
return {
|
|
88
|
+
relativeFiles,
|
|
89
|
+
absoluteFiles,
|
|
90
|
+
discoveredPaths,
|
|
91
|
+
host: (0, core_1.createNodeHostForWorkspace)(root),
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=workspace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCH,gDA0CC;AA3ED,uCAAyB;AACzB,2CAA6B;AAC7B,2CAI0B;AAG1B,qCAAyC;AAazC;;;;;;;;;;GAUG;AACI,KAAK,UAAU,kBAAkB,CACtC,IAAY,EACZ,MAAoC,EACpC,GAAW,EACX,IAA0B;IAE1B,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,CAAC;IAEhC,MAAM,IAAI,GAAG,IAAA,sBAAa,EAAC,oBAAoB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACzE,MAAM,eAAe,GAAG,MAAM,IAAA,oBAAa,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACrF,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC5B,OAAO;YACL,aAAa,EAAE,IAAI,GAAG,EAAE;YACxB,aAAa,EAAE,IAAI,GAAG,EAAE;YACxB,eAAe,EAAE,EAAE;YACnB,IAAI,EAAE,IAAA,iCAA0B,EAAC,IAAI,CAAC;SACvC,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,cAAc,eAAe,CAAC,MAAM,QAAQ,CAAC,CAAC;IAExD,MAAM,QAAQ,GAAG,IAAA,sBAAa,EAAC,WAAW,eAAe,CAAC,MAAM,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACnG,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAChD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAChD,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACzD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAC9C,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAChC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAClC,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,CAAC,KAAK,CAAC,wBAAwB,GAAG,EAAE,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IACD,QAAQ,CAAC,IAAI,CAAC,QAAQ,aAAa,CAAC,IAAI,QAAQ,CAAC,CAAC;IAElD,OAAO;QACL,aAAa;QACb,aAAa;QACb,eAAe;QACf,IAAI,EAAE,IAAA,iCAA0B,EAAC,IAAI,CAAC;KACvC,CAAC;AACJ,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "aspectcode",
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "CLI for Aspect Code — generate knowledge-base artifacts from the command line",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"main": "dist/main.js",
|
|
7
|
+
"types": "dist/main.d.ts",
|
|
8
|
+
"bin": {
|
|
9
|
+
"aspectcode": "bin/aspectcode.js",
|
|
10
|
+
"aspect": "bin/aspectcode.js"
|
|
11
|
+
},
|
|
12
|
+
"files": [
|
|
13
|
+
"bin",
|
|
14
|
+
"dist"
|
|
15
|
+
],
|
|
16
|
+
"engines": {
|
|
17
|
+
"node": ">=18"
|
|
18
|
+
},
|
|
19
|
+
"keywords": [
|
|
20
|
+
"aspectcode",
|
|
21
|
+
"knowledge-base",
|
|
22
|
+
"ai",
|
|
23
|
+
"copilot",
|
|
24
|
+
"cursor",
|
|
25
|
+
"claude",
|
|
26
|
+
"code-analysis",
|
|
27
|
+
"static-analysis",
|
|
28
|
+
"dependency-graph"
|
|
29
|
+
],
|
|
30
|
+
"repository": {
|
|
31
|
+
"type": "git",
|
|
32
|
+
"url": "https://github.com/asashepard/aspectcode.git",
|
|
33
|
+
"directory": "packages/cli"
|
|
34
|
+
},
|
|
35
|
+
"scripts": {
|
|
36
|
+
"build": "tsc",
|
|
37
|
+
"typecheck": "tsc --noEmit",
|
|
38
|
+
"prepublishOnly": "npm run build",
|
|
39
|
+
"test": "mocha --require ts-node/register 'test/**/*.test.ts'"
|
|
40
|
+
},
|
|
41
|
+
"dependencies": {
|
|
42
|
+
"@aspectcode/core": "0.2.0",
|
|
43
|
+
"@aspectcode/emitters": "0.2.0",
|
|
44
|
+
"chokidar": "^4.0.3"
|
|
45
|
+
},
|
|
46
|
+
"devDependencies": {
|
|
47
|
+
"@types/mocha": "^10.0.0",
|
|
48
|
+
"@types/node": "^22.0.0",
|
|
49
|
+
"mocha": "^10.4.0",
|
|
50
|
+
"ts-node": "^10.9.2",
|
|
51
|
+
"typescript": "^5.5.4"
|
|
52
|
+
}
|
|
53
|
+
}
|