@elaraai/e3-cli 0.0.2-beta.2 → 0.0.2-beta.4
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/src/cli.js
CHANGED
|
@@ -21,6 +21,7 @@ import { logsCommand } from './commands/logs.js';
|
|
|
21
21
|
import { statusCommand } from './commands/status.js';
|
|
22
22
|
import { gcCommand } from './commands/gc.js';
|
|
23
23
|
import { convertCommand } from './commands/convert.js';
|
|
24
|
+
import { watchCommand } from './commands/watch.js';
|
|
24
25
|
const program = new Command();
|
|
25
26
|
program
|
|
26
27
|
.name('e3')
|
|
@@ -126,6 +127,13 @@ program
|
|
|
126
127
|
.option('--concurrency <n>', 'Max concurrent tasks', '4')
|
|
127
128
|
.option('--force', 'Force re-execution even if cached')
|
|
128
129
|
.action(startCommand);
|
|
130
|
+
program
|
|
131
|
+
.command('watch <repo> <workspace> <source>')
|
|
132
|
+
.description('Watch a TypeScript file and auto-deploy on changes')
|
|
133
|
+
.option('--start', 'Execute dataflow after each deploy')
|
|
134
|
+
.option('--concurrency <n>', 'Max concurrent tasks when using --start', '4')
|
|
135
|
+
.option('--abort-on-change', 'Abort running execution when file changes')
|
|
136
|
+
.action(watchCommand);
|
|
129
137
|
program
|
|
130
138
|
.command('logs <repo> <path>')
|
|
131
139
|
.description('View task logs (path format: ws or ws.taskName)')
|
package/dist/src/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":";AAEA;;;GAGG;AAEH;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
+
* Licensed under BSL 1.1. See LICENSE for details.
|
|
4
|
+
*/
|
|
5
|
+
interface WatchOptions {
|
|
6
|
+
start?: boolean;
|
|
7
|
+
concurrency?: string;
|
|
8
|
+
abortOnChange?: boolean;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Watch a TypeScript file and auto-deploy on changes
|
|
12
|
+
*/
|
|
13
|
+
export declare function watchCommand(repoArg: string, workspace: string, sourceFile: string, options: WatchOptions): Promise<void>;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=watch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../../src/commands/watch.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA4BH,UAAU,YAAY;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AA6FD;;GAEG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,IAAI,CAAC,CA+Pf"}
|
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
+
* Licensed under BSL 1.1. See LICENSE for details.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* e3 watch command - Live development with auto-deploy on save
|
|
7
|
+
*
|
|
8
|
+
* Usage:
|
|
9
|
+
* e3 watch . dev ./src/my-package.ts
|
|
10
|
+
* e3 watch . dev ./src/my-package.ts --start
|
|
11
|
+
* e3 watch . dev ./src/my-package.ts --start --abort-on-change
|
|
12
|
+
*/
|
|
13
|
+
import * as fs from 'node:fs';
|
|
14
|
+
import * as path from 'node:path';
|
|
15
|
+
import * as os from 'node:os';
|
|
16
|
+
import * as esbuild from 'esbuild';
|
|
17
|
+
import e3 from '@elaraai/e3';
|
|
18
|
+
import { packageImport, workspaceCreate, workspaceGetState, workspaceDeploy, dataflowExecute, DataflowAbortedError, } from '@elaraai/e3-core';
|
|
19
|
+
import { resolveRepo, formatError } from '../utils.js';
|
|
20
|
+
/**
|
|
21
|
+
* Load and execute a TypeScript file using esbuild for bundling.
|
|
22
|
+
* esbuild automatically finds and uses the nearest tsconfig.json.
|
|
23
|
+
* Returns both the package and list of files to watch.
|
|
24
|
+
*/
|
|
25
|
+
async function loadPackageFile(filePath) {
|
|
26
|
+
const absolutePath = path.resolve(filePath);
|
|
27
|
+
// Bundle with esbuild - handles multi-file TS, ESM packages, and tsconfig automatically
|
|
28
|
+
const result = esbuild.buildSync({
|
|
29
|
+
entryPoints: [absolutePath],
|
|
30
|
+
bundle: true,
|
|
31
|
+
platform: 'node',
|
|
32
|
+
format: 'esm', // ESM output for ESM-only packages like @elaraai/e3
|
|
33
|
+
write: false,
|
|
34
|
+
metafile: true,
|
|
35
|
+
external: ['@elaraai/*'],
|
|
36
|
+
logLevel: 'silent',
|
|
37
|
+
});
|
|
38
|
+
const jsCode = result.outputFiles?.[0]?.text;
|
|
39
|
+
if (!jsCode) {
|
|
40
|
+
throw new Error(`esbuild produced no output for ${filePath}`);
|
|
41
|
+
}
|
|
42
|
+
// Extract list of bundled source files for watching
|
|
43
|
+
// esbuild metafile paths are relative to cwd
|
|
44
|
+
const watchedFiles = result.metafile
|
|
45
|
+
? Object.keys(result.metafile.inputs)
|
|
46
|
+
.map(f => path.resolve(f)) // Resolve relative to cwd
|
|
47
|
+
.filter(f => !f.includes('node_modules'))
|
|
48
|
+
: [absolutePath];
|
|
49
|
+
// Write bundle to temp file in project directory and import it dynamically
|
|
50
|
+
// Must be in project dir so node_modules resolution works for external packages
|
|
51
|
+
// This avoids cross-realm instanceof issues that occur with vm.createContext
|
|
52
|
+
const tempDir = path.join(path.dirname(absolutePath), 'node_modules', '.cache', 'e3');
|
|
53
|
+
fs.mkdirSync(tempDir, { recursive: true });
|
|
54
|
+
const tempFile = path.join(tempDir, `bundle-${Date.now()}.mjs`);
|
|
55
|
+
let defaultExport;
|
|
56
|
+
try {
|
|
57
|
+
fs.writeFileSync(tempFile, jsCode);
|
|
58
|
+
// Use dynamic import for ESM
|
|
59
|
+
// Add cache-busting query param to avoid Node's ESM cache
|
|
60
|
+
const moduleExports = await import(`${tempFile}?t=${Date.now()}`);
|
|
61
|
+
defaultExport = moduleExports.default ?? moduleExports;
|
|
62
|
+
}
|
|
63
|
+
catch (err) {
|
|
64
|
+
if (err instanceof Error && err.stack) {
|
|
65
|
+
console.error('Stack trace:', err.stack);
|
|
66
|
+
}
|
|
67
|
+
throw new Error(`Failed to execute ${path.basename(filePath)}: ${err instanceof Error ? err.message : String(err)}`);
|
|
68
|
+
}
|
|
69
|
+
finally {
|
|
70
|
+
try {
|
|
71
|
+
fs.unlinkSync(tempFile);
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
// Ignore cleanup errors
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
// Validate it's a PackageDef
|
|
78
|
+
if (!defaultExport || defaultExport.kind !== 'package') {
|
|
79
|
+
throw new Error(`Default export must be a PackageDef (created with e3.package()).\n\n` +
|
|
80
|
+
`Expected:\n` +
|
|
81
|
+
` const pkg = e3.package('name', '1.0.0', ...tasks);\n` +
|
|
82
|
+
` export default pkg;\n\n` +
|
|
83
|
+
`Got: ${typeof defaultExport}${defaultExport.kind ? ` with kind="${defaultExport.kind}"` : ''}`);
|
|
84
|
+
}
|
|
85
|
+
return {
|
|
86
|
+
pkg: defaultExport,
|
|
87
|
+
watchedFiles,
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Format timestamp for log output
|
|
92
|
+
*/
|
|
93
|
+
function timestamp() {
|
|
94
|
+
return new Date().toLocaleTimeString('en-US', { hour12: false });
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Watch a TypeScript file and auto-deploy on changes
|
|
98
|
+
*/
|
|
99
|
+
export async function watchCommand(repoArg, workspace, sourceFile, options) {
|
|
100
|
+
const repoPath = resolveRepo(repoArg);
|
|
101
|
+
const absoluteSourcePath = path.resolve(sourceFile);
|
|
102
|
+
const concurrency = options.concurrency ? parseInt(options.concurrency, 10) : 4;
|
|
103
|
+
// Validate source file exists
|
|
104
|
+
if (!fs.existsSync(absoluteSourcePath)) {
|
|
105
|
+
console.error(`Error: Source file not found: ${absoluteSourcePath}`);
|
|
106
|
+
process.exit(1);
|
|
107
|
+
}
|
|
108
|
+
console.log(`Watching: ${sourceFile}`);
|
|
109
|
+
console.log(`Repository: ${repoPath}`);
|
|
110
|
+
console.log(`Target workspace: ${workspace}`);
|
|
111
|
+
if (options.start) {
|
|
112
|
+
console.log(`Auto-start: enabled (concurrency: ${concurrency})`);
|
|
113
|
+
if (options.abortOnChange) {
|
|
114
|
+
console.log(`Abort on change: enabled`);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
console.log('');
|
|
118
|
+
// State for managing concurrent execution
|
|
119
|
+
let isExecuting = false;
|
|
120
|
+
let pendingReload = false;
|
|
121
|
+
let currentAbortController = null;
|
|
122
|
+
/**
|
|
123
|
+
* Load, export, import, and deploy the package
|
|
124
|
+
*/
|
|
125
|
+
async function deployPackage() {
|
|
126
|
+
// Load package from TypeScript file
|
|
127
|
+
let pkg;
|
|
128
|
+
let watchedFiles;
|
|
129
|
+
try {
|
|
130
|
+
const result = await loadPackageFile(absoluteSourcePath);
|
|
131
|
+
pkg = result.pkg;
|
|
132
|
+
watchedFiles = result.watchedFiles;
|
|
133
|
+
console.log(`[${timestamp()}] Loaded: ${pkg.name}@${pkg.version} (${watchedFiles.length} files)`);
|
|
134
|
+
}
|
|
135
|
+
catch (err) {
|
|
136
|
+
console.log(`[${timestamp()}] Error loading package:`);
|
|
137
|
+
console.log(` ${err instanceof Error ? err.message : String(err)}`);
|
|
138
|
+
return null;
|
|
139
|
+
}
|
|
140
|
+
// Export to temp zip
|
|
141
|
+
const tempZip = path.join(os.tmpdir(), `e3-watch-${Date.now()}.zip`);
|
|
142
|
+
try {
|
|
143
|
+
await e3.export(pkg, tempZip);
|
|
144
|
+
}
|
|
145
|
+
catch (err) {
|
|
146
|
+
console.log(`[${timestamp()}] Error exporting package:`);
|
|
147
|
+
console.log(` ${err instanceof Error ? err.message : String(err)}`);
|
|
148
|
+
return null;
|
|
149
|
+
}
|
|
150
|
+
// Import into repository
|
|
151
|
+
try {
|
|
152
|
+
await packageImport(repoPath, tempZip);
|
|
153
|
+
}
|
|
154
|
+
catch (err) {
|
|
155
|
+
console.log(`[${timestamp()}] Error importing package:`);
|
|
156
|
+
console.log(` ${err instanceof Error ? err.message : String(err)}`);
|
|
157
|
+
return null;
|
|
158
|
+
}
|
|
159
|
+
finally {
|
|
160
|
+
// Clean up temp file
|
|
161
|
+
try {
|
|
162
|
+
fs.unlinkSync(tempZip);
|
|
163
|
+
}
|
|
164
|
+
catch {
|
|
165
|
+
// Ignore cleanup errors
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
// Ensure workspace exists
|
|
169
|
+
try {
|
|
170
|
+
await workspaceGetState(repoPath, workspace);
|
|
171
|
+
}
|
|
172
|
+
catch {
|
|
173
|
+
// Workspace doesn't exist, create it
|
|
174
|
+
try {
|
|
175
|
+
await workspaceCreate(repoPath, workspace);
|
|
176
|
+
console.log(`[${timestamp()}] Created workspace: ${workspace}`);
|
|
177
|
+
}
|
|
178
|
+
catch (err) {
|
|
179
|
+
console.log(`[${timestamp()}] Error creating workspace:`);
|
|
180
|
+
console.log(` ${err instanceof Error ? err.message : String(err)}`);
|
|
181
|
+
return null;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
// Deploy to workspace
|
|
185
|
+
try {
|
|
186
|
+
await workspaceDeploy(repoPath, workspace, pkg.name, pkg.version);
|
|
187
|
+
console.log(`[${timestamp()}] Deployed to workspace: ${workspace}`);
|
|
188
|
+
}
|
|
189
|
+
catch (err) {
|
|
190
|
+
console.log(`[${timestamp()}] Error deploying:`);
|
|
191
|
+
console.log(` ${err instanceof Error ? err.message : String(err)}`);
|
|
192
|
+
return null;
|
|
193
|
+
}
|
|
194
|
+
return { name: pkg.name, version: pkg.version, watchedFiles };
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Execute the dataflow in the workspace
|
|
198
|
+
*/
|
|
199
|
+
async function runDataflow(signal) {
|
|
200
|
+
console.log(`[${timestamp()}] Starting dataflow...`);
|
|
201
|
+
try {
|
|
202
|
+
const result = await dataflowExecute(repoPath, workspace, {
|
|
203
|
+
concurrency,
|
|
204
|
+
signal,
|
|
205
|
+
onTaskStart: (name) => {
|
|
206
|
+
console.log(` [START] ${name}`);
|
|
207
|
+
},
|
|
208
|
+
onTaskComplete: (taskResult) => {
|
|
209
|
+
const status = taskResult.state === 'success' ? 'DONE' :
|
|
210
|
+
taskResult.state === 'failed' ? 'FAIL' :
|
|
211
|
+
taskResult.state === 'skipped' ? 'SKIP' : 'ERR';
|
|
212
|
+
const cached = taskResult.cached ? ' (cached)' : '';
|
|
213
|
+
const duration = taskResult.duration > 0 ? ` [${taskResult.duration}ms]` : '';
|
|
214
|
+
console.log(` [${status}] ${taskResult.name}${cached}${duration}`);
|
|
215
|
+
},
|
|
216
|
+
});
|
|
217
|
+
if (result.success) {
|
|
218
|
+
console.log(`[${timestamp()}] Dataflow complete (${result.executed} executed, ${result.cached} cached)`);
|
|
219
|
+
}
|
|
220
|
+
else {
|
|
221
|
+
console.log(`[${timestamp()}] Dataflow failed (${result.failed} failed)`);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
catch (err) {
|
|
225
|
+
if (err instanceof DataflowAbortedError) {
|
|
226
|
+
console.log(`[${timestamp()}] Dataflow aborted`);
|
|
227
|
+
}
|
|
228
|
+
else {
|
|
229
|
+
console.log(`[${timestamp()}] Dataflow error:`);
|
|
230
|
+
console.log(` ${err instanceof Error ? err.message : String(err)}`);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Handle a file change event
|
|
236
|
+
*/
|
|
237
|
+
async function handleChange() {
|
|
238
|
+
if (isExecuting) {
|
|
239
|
+
if (options.abortOnChange && currentAbortController) {
|
|
240
|
+
console.log(`[${timestamp()}] File changed, aborting current execution...`);
|
|
241
|
+
currentAbortController.abort();
|
|
242
|
+
}
|
|
243
|
+
else {
|
|
244
|
+
console.log(`[${timestamp()}] File changed (queued, execution in progress)`);
|
|
245
|
+
pendingReload = true;
|
|
246
|
+
}
|
|
247
|
+
return;
|
|
248
|
+
}
|
|
249
|
+
isExecuting = true;
|
|
250
|
+
pendingReload = false;
|
|
251
|
+
console.log(`[${timestamp()}] File changed, reloading...`);
|
|
252
|
+
const deployed = await deployPackage();
|
|
253
|
+
if (deployed) {
|
|
254
|
+
setupWatchers(deployed.watchedFiles);
|
|
255
|
+
if (options.start) {
|
|
256
|
+
currentAbortController = new AbortController();
|
|
257
|
+
await runDataflow(currentAbortController.signal);
|
|
258
|
+
currentAbortController = null;
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
isExecuting = false;
|
|
262
|
+
// Process queued reload if any
|
|
263
|
+
if (pendingReload) {
|
|
264
|
+
console.log(`[${timestamp()}] Processing queued reload...`);
|
|
265
|
+
await handleChange();
|
|
266
|
+
}
|
|
267
|
+
else {
|
|
268
|
+
console.log(`[${timestamp()}] Waiting for changes...`);
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
// Track file watchers for all source files
|
|
272
|
+
const watchers = new Map();
|
|
273
|
+
let debounceTimer = null;
|
|
274
|
+
function setupWatchers(files) {
|
|
275
|
+
// Close watchers for files no longer in the list
|
|
276
|
+
for (const [filePath, watcher] of watchers) {
|
|
277
|
+
if (!files.includes(filePath)) {
|
|
278
|
+
watcher.close();
|
|
279
|
+
watchers.delete(filePath);
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
// Add watchers for new files
|
|
283
|
+
for (const filePath of files) {
|
|
284
|
+
if (!watchers.has(filePath) && fs.existsSync(filePath)) {
|
|
285
|
+
const watcher = fs.watch(filePath, () => {
|
|
286
|
+
if (debounceTimer) {
|
|
287
|
+
clearTimeout(debounceTimer);
|
|
288
|
+
}
|
|
289
|
+
debounceTimer = setTimeout(() => {
|
|
290
|
+
handleChange().catch(err => {
|
|
291
|
+
console.log(`[${timestamp()}] Unexpected error:`);
|
|
292
|
+
console.log(` ${formatError(err)}`);
|
|
293
|
+
});
|
|
294
|
+
}, 100);
|
|
295
|
+
});
|
|
296
|
+
watchers.set(filePath, watcher);
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
// Initial load
|
|
301
|
+
console.log(`[${timestamp()}] Initial load...`);
|
|
302
|
+
isExecuting = true;
|
|
303
|
+
const deployed = await deployPackage();
|
|
304
|
+
if (deployed) {
|
|
305
|
+
setupWatchers(deployed.watchedFiles);
|
|
306
|
+
if (options.start) {
|
|
307
|
+
currentAbortController = new AbortController();
|
|
308
|
+
await runDataflow(currentAbortController.signal);
|
|
309
|
+
currentAbortController = null;
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
isExecuting = false;
|
|
313
|
+
console.log(`[${timestamp()}] Ready. Waiting for changes...`);
|
|
314
|
+
console.log('');
|
|
315
|
+
// Handle signals for graceful shutdown
|
|
316
|
+
const cleanup = () => {
|
|
317
|
+
console.log('');
|
|
318
|
+
console.log('Stopping watch...');
|
|
319
|
+
for (const watcher of watchers.values()) {
|
|
320
|
+
watcher.close();
|
|
321
|
+
}
|
|
322
|
+
if (currentAbortController) {
|
|
323
|
+
currentAbortController.abort();
|
|
324
|
+
}
|
|
325
|
+
process.exit(0);
|
|
326
|
+
};
|
|
327
|
+
process.on('SIGINT', cleanup);
|
|
328
|
+
process.on('SIGTERM', cleanup);
|
|
329
|
+
// Debug: show what files are being watched
|
|
330
|
+
console.log(`Watching ${watchers.size} files:`);
|
|
331
|
+
for (const file of watchers.keys()) {
|
|
332
|
+
console.log(` - ${file}`);
|
|
333
|
+
}
|
|
334
|
+
// Keep process alive - the fs.watch handlers should do this,
|
|
335
|
+
// but use setInterval as backup
|
|
336
|
+
setInterval(() => { }, 1000 * 60 * 60); // 1 hour intervals
|
|
337
|
+
}
|
|
338
|
+
//# sourceMappingURL=watch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../../../src/commands/watch.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elaraai/e3-cli",
|
|
3
|
-
"version": "0.0.2-beta.
|
|
3
|
+
"version": "0.0.2-beta.4",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "East Execution Engine CLI - Command-line tool for managing e3 repositories and tasks",
|
|
6
6
|
"main": "dist/src/index.js",
|
|
@@ -34,9 +34,11 @@
|
|
|
34
34
|
"directory": "packages/e3-cli"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@elaraai/e3
|
|
38
|
-
"@elaraai/e3-
|
|
39
|
-
"
|
|
37
|
+
"@elaraai/e3": "*",
|
|
38
|
+
"@elaraai/e3-core": "^0.0.2-beta.4",
|
|
39
|
+
"@elaraai/e3-types": "^0.0.2-beta.4",
|
|
40
|
+
"commander": "^12.0.0",
|
|
41
|
+
"esbuild": "^0.24.0"
|
|
40
42
|
},
|
|
41
43
|
"peerDependencies": {
|
|
42
44
|
"@elaraai/east": "^0.0.1-beta.16"
|
|
@@ -46,7 +48,6 @@
|
|
|
46
48
|
"@typescript-eslint/eslint-plugin": "^8.47.0",
|
|
47
49
|
"@typescript-eslint/parser": "^8.47.0",
|
|
48
50
|
"eslint": "^9.0.0",
|
|
49
|
-
"eslint-plugin-headers": "^1.3.3"
|
|
50
|
-
"typescript": "^5.6.0"
|
|
51
|
+
"eslint-plugin-headers": "^1.3.3"
|
|
51
52
|
}
|
|
52
53
|
}
|