@nepopsx/cli 0.0.11 → 0.0.13
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/dist/agents/remote-config.d.ts +20 -0
- package/dist/agents/remote-config.d.ts.map +1 -1
- package/dist/agents/remote-config.js +52 -0
- package/dist/agents/remote-config.js.map +1 -1
- package/dist/commands/install.d.ts +1 -0
- package/dist/commands/install.d.ts.map +1 -1
- package/dist/commands/install.js +77 -23
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/push-learnings.d.ts.map +1 -1
- package/dist/commands/push-learnings.js +36 -4
- package/dist/commands/push-learnings.js.map +1 -1
- package/dist/commands/scan.d.ts.map +1 -1
- package/dist/commands/scan.js +88 -37
- package/dist/commands/scan.js.map +1 -1
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +97 -20
- package/dist/commands/sync.js.map +1 -1
- package/dist/generator/package-renderer.d.ts +16 -7
- package/dist/generator/package-renderer.d.ts.map +1 -1
- package/dist/generator/package-renderer.js +112 -56
- package/dist/generator/package-renderer.js.map +1 -1
- package/dist/generator/provider-transform.d.ts +15 -0
- package/dist/generator/provider-transform.d.ts.map +1 -0
- package/dist/generator/provider-transform.js +163 -0
- package/dist/generator/provider-transform.js.map +1 -0
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/learnings/yaml-learnings.d.ts +29 -0
- package/dist/learnings/yaml-learnings.d.ts.map +1 -0
- package/dist/learnings/yaml-learnings.js +132 -0
- package/dist/learnings/yaml-learnings.js.map +1 -0
- package/dist/scan/config.d.ts.map +1 -1
- package/dist/scan/config.js +144 -20
- package/dist/scan/config.js.map +1 -1
- package/dist/scan/prompt/agent.d.ts.map +1 -1
- package/dist/scan/prompt/agent.js +12 -5
- package/dist/scan/prompt/agent.js.map +1 -1
- package/package.json +11 -11
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"yaml-learnings.js","sourceRoot":"","sources":["../../src/learnings/yaml-learnings.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/scan/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/scan/config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,OAAO,CAAC;IACb,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;CACjB;AAgDD,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,GAAG,GAAE,MAAsB,GAC1B,OAAO,CAAC,kBAAkB,CAAC,CA8E7B"}
|
package/dist/scan/config.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// @nepopsx/cli — Provider config resolution for scan command
|
|
2
|
-
import { existsSync, readFileSync } from 'node:fs';
|
|
2
|
+
import { existsSync, readFileSync, writeFileSync } from 'node:fs';
|
|
3
3
|
import { join } from 'node:path';
|
|
4
|
+
import { select, input, password, confirm } from '@inquirer/prompts';
|
|
4
5
|
function readConfigFile(cwd) {
|
|
5
6
|
const configPath = join(cwd, '.nepopsx', 'config.json');
|
|
6
7
|
if (!existsSync(configPath))
|
|
@@ -13,6 +14,20 @@ function readConfigFile(cwd) {
|
|
|
13
14
|
return {};
|
|
14
15
|
}
|
|
15
16
|
}
|
|
17
|
+
function writeConfigFile(cwd, patch) {
|
|
18
|
+
const configPath = join(cwd, '.nepopsx', 'config.json');
|
|
19
|
+
let existing = {};
|
|
20
|
+
if (existsSync(configPath)) {
|
|
21
|
+
try {
|
|
22
|
+
existing = JSON.parse(readFileSync(configPath, 'utf-8'));
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
// ignore
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
existing.scan = { ...(existing.scan ?? {}), ...patch };
|
|
29
|
+
writeFileSync(configPath, JSON.stringify(existing, null, 2) + '\n', 'utf-8');
|
|
30
|
+
}
|
|
16
31
|
const PROVIDER_DEFAULTS = {
|
|
17
32
|
openai: 'gpt-4o',
|
|
18
33
|
anthropic: 'claude-3-5-sonnet-20241022',
|
|
@@ -25,33 +40,51 @@ function parseIntSafe(value, fallback) {
|
|
|
25
40
|
}
|
|
26
41
|
export async function resolveScanConfig(flags, cwd = process.cwd()) {
|
|
27
42
|
const fileConf = readConfigFile(cwd);
|
|
28
|
-
// Resolve provider: CLI flags > env > config file >
|
|
29
|
-
const
|
|
43
|
+
// Resolve provider: CLI flags > env > config file > interactive prompt
|
|
44
|
+
const explicitProvider = flags.provider ??
|
|
30
45
|
process.env.NEPOPSX_LLM_PROVIDER ??
|
|
31
|
-
fileConf.provider
|
|
32
|
-
|
|
46
|
+
fileConf.provider;
|
|
47
|
+
let providerRaw;
|
|
48
|
+
let resolvedApiKey;
|
|
49
|
+
let resolvedEndpoint;
|
|
50
|
+
let resolvedModel;
|
|
51
|
+
if (explicitProvider) {
|
|
52
|
+
providerRaw = explicitProvider;
|
|
53
|
+
resolvedEndpoint = flags.endpoint ?? fileConf.endpoint;
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
// No provider configured anywhere — ask interactively
|
|
57
|
+
const chosen = await promptForProvider(cwd);
|
|
58
|
+
providerRaw = chosen.provider;
|
|
59
|
+
resolvedApiKey = chosen.apiKey;
|
|
60
|
+
resolvedEndpoint = chosen.endpoint;
|
|
61
|
+
resolvedModel = chosen.model;
|
|
62
|
+
}
|
|
33
63
|
const provider = providerRaw;
|
|
34
|
-
// Resolve model:
|
|
35
|
-
const model =
|
|
64
|
+
// Resolve model: explicit arg > interactive choice > env > config file > provider default
|
|
65
|
+
const model = resolvedModel ??
|
|
66
|
+
flags.model ??
|
|
36
67
|
process.env.NEPOPSX_LLM_MODEL ??
|
|
37
68
|
fileConf.model ??
|
|
38
69
|
PROVIDER_DEFAULTS[provider] ??
|
|
39
70
|
'gpt-4o';
|
|
40
71
|
// Resolve API key from env only — never from config file (C3)
|
|
41
|
-
let apiKey;
|
|
42
|
-
if (
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
72
|
+
let apiKey = resolvedApiKey;
|
|
73
|
+
if (!apiKey) {
|
|
74
|
+
if (provider === 'openai' || provider === 'compatible') {
|
|
75
|
+
apiKey =
|
|
76
|
+
flags.apiKey ??
|
|
77
|
+
process.env.OPENAI_API_KEY ??
|
|
78
|
+
process.env.NEPOPSX_LLM_API_KEY;
|
|
79
|
+
}
|
|
80
|
+
else if (provider === 'anthropic') {
|
|
81
|
+
apiKey =
|
|
82
|
+
flags.apiKey ??
|
|
83
|
+
process.env.ANTHROPIC_API_KEY ??
|
|
84
|
+
process.env.NEPOPSX_LLM_API_KEY;
|
|
85
|
+
}
|
|
53
86
|
}
|
|
54
|
-
const endpoint = flags.endpoint ?? fileConf.endpoint;
|
|
87
|
+
const endpoint = resolvedEndpoint ?? flags.endpoint ?? fileConf.endpoint;
|
|
55
88
|
const budget = parseIntSafe(flags.budget ?? fileConf.budget, 30_000);
|
|
56
89
|
const agentBudget = parseIntSafe(flags.agentBudget ?? fileConf.agentBudget, 60_000);
|
|
57
90
|
const parallel = parseIntSafe(flags.parallel ?? fileConf.parallel, 1);
|
|
@@ -74,4 +107,95 @@ export async function resolveScanConfig(flags, cwd = process.cwd()) {
|
|
|
74
107
|
resume: Boolean(flags.resume),
|
|
75
108
|
};
|
|
76
109
|
}
|
|
110
|
+
async function promptForProvider(cwd) {
|
|
111
|
+
console.log('');
|
|
112
|
+
const providerChoice = await select({
|
|
113
|
+
message: 'Choose your LLM provider:',
|
|
114
|
+
choices: [
|
|
115
|
+
{
|
|
116
|
+
name: 'OpenAI (gpt-4o · requires OPENAI_API_KEY)',
|
|
117
|
+
value: 'openai',
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
name: 'Anthropic (claude-3-5-sonnet · requires ANTHROPIC_API_KEY)',
|
|
121
|
+
value: 'anthropic',
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
name: 'Ollama (local · requires ollama serve)',
|
|
125
|
+
value: 'ollama',
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
name: 'OpenAI-compatible / GitHub Copilot proxy / VS Code LLM endpoint',
|
|
129
|
+
value: 'compatible',
|
|
130
|
+
},
|
|
131
|
+
],
|
|
132
|
+
});
|
|
133
|
+
const result = { provider: providerChoice };
|
|
134
|
+
if (providerChoice === 'openai') {
|
|
135
|
+
const existing = process.env.OPENAI_API_KEY ?? process.env.NEPOPSX_LLM_API_KEY;
|
|
136
|
+
if (existing) {
|
|
137
|
+
console.log(' ✓ Using OPENAI_API_KEY from environment.');
|
|
138
|
+
result.apiKey = existing;
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
result.apiKey = await password({ message: 'OpenAI API key (sk-...):', mask: '*' });
|
|
142
|
+
}
|
|
143
|
+
result.model = await input({
|
|
144
|
+
message: 'Model:',
|
|
145
|
+
default: PROVIDER_DEFAULTS.openai,
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
else if (providerChoice === 'anthropic') {
|
|
149
|
+
const existing = process.env.ANTHROPIC_API_KEY ?? process.env.NEPOPSX_LLM_API_KEY;
|
|
150
|
+
if (existing) {
|
|
151
|
+
console.log(' ✓ Using ANTHROPIC_API_KEY from environment.');
|
|
152
|
+
result.apiKey = existing;
|
|
153
|
+
}
|
|
154
|
+
else {
|
|
155
|
+
result.apiKey = await password({ message: 'Anthropic API key (sk-ant-...):', mask: '*' });
|
|
156
|
+
}
|
|
157
|
+
result.model = await input({
|
|
158
|
+
message: 'Model:',
|
|
159
|
+
default: PROVIDER_DEFAULTS.anthropic,
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
else if (providerChoice === 'ollama') {
|
|
163
|
+
result.endpoint = await input({
|
|
164
|
+
message: 'Ollama base URL:',
|
|
165
|
+
default: 'http://localhost:11434',
|
|
166
|
+
});
|
|
167
|
+
result.model = await input({
|
|
168
|
+
message: 'Model:',
|
|
169
|
+
default: PROVIDER_DEFAULTS.ollama,
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
else if (providerChoice === 'compatible') {
|
|
173
|
+
result.endpoint = await input({
|
|
174
|
+
message: 'API base URL (e.g. http://localhost:1234/v1):',
|
|
175
|
+
});
|
|
176
|
+
const rawKey = await password({
|
|
177
|
+
message: 'API key (leave blank if not required):',
|
|
178
|
+
mask: '*',
|
|
179
|
+
});
|
|
180
|
+
if (rawKey.trim())
|
|
181
|
+
result.apiKey = rawKey.trim();
|
|
182
|
+
result.model = await input({ message: 'Model name:', default: PROVIDER_DEFAULTS.compatible });
|
|
183
|
+
}
|
|
184
|
+
// Offer to persist the choice (not the API key) to .nepopsx/config.json
|
|
185
|
+
const save = await confirm({
|
|
186
|
+
message: 'Save this provider choice to .nepopsx/config.json for future runs?',
|
|
187
|
+
default: true,
|
|
188
|
+
});
|
|
189
|
+
if (save) {
|
|
190
|
+
const patch = { provider: providerChoice };
|
|
191
|
+
if (result.model)
|
|
192
|
+
patch.model = result.model;
|
|
193
|
+
if (result.endpoint)
|
|
194
|
+
patch.endpoint = result.endpoint;
|
|
195
|
+
writeConfigFile(cwd, patch);
|
|
196
|
+
console.log(' ✓ Saved to .nepopsx/config.json (API keys are never stored)');
|
|
197
|
+
}
|
|
198
|
+
console.log('');
|
|
199
|
+
return result;
|
|
200
|
+
}
|
|
77
201
|
//# sourceMappingURL=config.js.map
|
package/dist/scan/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/scan/config.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/scan/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/scan/prompt/agent.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,WAAW,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,kBAAkB,EAAE,EAC9B,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GACpB,MAAM,
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/scan/prompt/agent.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,WAAW,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,kBAAkB,EAAE,EAC9B,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GACpB,MAAM,CAoER;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAczE;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,kBAAkB,EAAE,EAC9B,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CAoBtD"}
|
|
@@ -18,7 +18,7 @@ export function generateScanContextFile(services, existingConfig, schema, agentB
|
|
|
18
18
|
const tokens = Math.ceil(content.length / 3.5);
|
|
19
19
|
const absPath = resolve(workspaceRoot, service.path, relPath);
|
|
20
20
|
const relToRoot = relative(workspaceRoot, absPath);
|
|
21
|
-
fileEntries.push({ relToRoot, tokens });
|
|
21
|
+
fileEntries.push({ relToRoot, content, tokens });
|
|
22
22
|
}
|
|
23
23
|
// Trim from end (lowest-priority files) until fits within remaining budget
|
|
24
24
|
let serviceTokens = fileEntries.reduce((s, f) => s + f.tokens, 0);
|
|
@@ -29,14 +29,21 @@ export function generateScanContextFile(services, existingConfig, schema, agentB
|
|
|
29
29
|
if (fileEntries.length === 0)
|
|
30
30
|
continue;
|
|
31
31
|
totalTokens += serviceTokens;
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
// Embed actual file content so this context file works when pasted directly into
|
|
33
|
+
// any LLM (Claude.ai, ChatGPT, etc.) — not just VS Code Copilot where #file: resolves.
|
|
34
|
+
const fileBlocks = fileEntries.map((f) => {
|
|
35
|
+
const ext = f.relToRoot.split('.').pop() ?? '';
|
|
36
|
+
return `#### ${f.relToRoot}\n\`\`\`${ext}\n${f.content}\n\`\`\``;
|
|
37
|
+
}).join('\n\n');
|
|
38
|
+
serviceSections.push(`### Service: ${service.name}\n\n${fileBlocks}`);
|
|
34
39
|
}
|
|
35
40
|
return [
|
|
36
41
|
'# NEPOPSX Scan Context',
|
|
37
42
|
'',
|
|
38
|
-
'> Generated by `nepopsx scan --agent`.
|
|
39
|
-
'>
|
|
43
|
+
'> Generated by `nepopsx scan --agent`.',
|
|
44
|
+
'> **VS Code Copilot**: Use the prompt at `.github/prompts/nepopsx-scan.prompt.md`.',
|
|
45
|
+
'> **Manual LLM (Claude.ai, ChatGPT, etc.)**: Paste this entire file into the chat.',
|
|
46
|
+
'> After the LLM responds with JSON, save it and run: `nepopsx scan --apply <response-file.json>`',
|
|
40
47
|
'',
|
|
41
48
|
'## Task',
|
|
42
49
|
'',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/scan/prompt/agent.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASvD;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACrC,QAA8B,EAC9B,cAAsB,EACtB,MAAc,EACd,WAAmB,EACnB,aAAqB;IAErB,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAEnD,mEAAmE;IACnE,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,MAAM,eAAe,GAAa,EAAE,CAAC;IAErC,uFAAuF;IACvF,MAAM,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAE3F,KAAK,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,MAAM,EAAE,CAAC;QAC1C,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/scan/prompt/agent.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nepopsx/cli",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.13",
|
|
4
4
|
"description": "NEPOPSX CLI — generate AI agent workspaces from configuration",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"type": "module",
|
|
@@ -12,12 +12,20 @@
|
|
|
12
12
|
"publishConfig": {
|
|
13
13
|
"access": "public"
|
|
14
14
|
},
|
|
15
|
+
"scripts": {
|
|
16
|
+
"build": "tsc",
|
|
17
|
+
"clean": "rm -rf dist",
|
|
18
|
+
"dev": "tsc --watch",
|
|
19
|
+
"lint": "tsc --noEmit",
|
|
20
|
+
"test": "node --test dist/**/*.test.js"
|
|
21
|
+
},
|
|
15
22
|
"files": [
|
|
16
23
|
"dist",
|
|
17
24
|
"bin"
|
|
18
25
|
],
|
|
19
26
|
"dependencies": {
|
|
20
27
|
"@inquirer/prompts": "^8.4.1",
|
|
28
|
+
"@nepopsx/core": "workspace:*",
|
|
21
29
|
"archiver": "^7.0.1",
|
|
22
30
|
"chalk": "^5.4.1",
|
|
23
31
|
"commander": "^13.1.0",
|
|
@@ -26,8 +34,7 @@
|
|
|
26
34
|
"ignore": "^7.0.0",
|
|
27
35
|
"inquirer": "^12.3.2",
|
|
28
36
|
"ora": "^8.2.0",
|
|
29
|
-
"yaml": "^2.7.0"
|
|
30
|
-
"@nepopsx/core": "0.0.7"
|
|
37
|
+
"yaml": "^2.7.0"
|
|
31
38
|
},
|
|
32
39
|
"devDependencies": {
|
|
33
40
|
"@types/archiver": "^7.0.0",
|
|
@@ -36,12 +43,5 @@
|
|
|
36
43
|
},
|
|
37
44
|
"engines": {
|
|
38
45
|
"node": ">=20"
|
|
39
|
-
},
|
|
40
|
-
"scripts": {
|
|
41
|
-
"build": "tsc",
|
|
42
|
-
"clean": "rm -rf dist",
|
|
43
|
-
"dev": "tsc --watch",
|
|
44
|
-
"lint": "tsc --noEmit",
|
|
45
|
-
"test": "node --test dist/**/*.test.js"
|
|
46
46
|
}
|
|
47
|
-
}
|
|
47
|
+
}
|