@antelopejs/core 1.10.2 → 1.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/README.md +1 -1
- package/dist/core/cli/cancellation.d.ts +4 -0
- package/dist/core/cli/cancellation.js +19 -0
- package/dist/core/cli/cancellation.js.map +1 -0
- package/dist/core/cli/cli-ui.d.ts +8 -13
- package/dist/core/cli/cli-ui.js +36 -116
- package/dist/core/cli/cli-ui.js.map +1 -1
- package/dist/core/cli/command.d.ts +11 -0
- package/dist/core/cli/command.js +30 -4
- package/dist/core/cli/command.js.map +1 -1
- package/dist/core/cli/commands/config/get-action.d.ts +6 -0
- package/dist/core/cli/commands/config/get-action.js +39 -0
- package/dist/core/cli/commands/config/get-action.js.map +1 -0
- package/dist/core/cli/commands/config/get.d.ts +2 -1
- package/dist/core/cli/commands/config/get.js +50 -33
- package/dist/core/cli/commands/config/get.js.map +1 -1
- package/dist/core/cli/commands/config/index.js +2 -2
- package/dist/core/cli/commands/config/index.js.map +1 -1
- package/dist/core/cli/commands/config/keys.d.ts +3 -0
- package/dist/core/cli/commands/config/keys.js +13 -0
- package/dist/core/cli/commands/config/keys.js.map +1 -0
- package/dist/core/cli/commands/config/reset-action.d.ts +5 -0
- package/dist/core/cli/commands/config/reset-action.js +45 -0
- package/dist/core/cli/commands/config/reset-action.js.map +1 -0
- package/dist/core/cli/commands/config/reset.js +13 -49
- package/dist/core/cli/commands/config/reset.js.map +1 -1
- package/dist/core/cli/commands/config/set-action.d.ts +1 -0
- package/dist/core/cli/commands/config/set-action.js +24 -0
- package/dist/core/cli/commands/config/set-action.js.map +1 -0
- package/dist/core/cli/commands/config/set.js +48 -34
- package/dist/core/cli/commands/config/set.js.map +1 -1
- package/dist/core/cli/commands/config/show-action.d.ts +6 -0
- package/dist/core/cli/commands/config/show-action.js +38 -0
- package/dist/core/cli/commands/config/show-action.js.map +1 -0
- package/dist/core/cli/commands/config/show.d.ts +2 -1
- package/dist/core/cli/commands/config/show.js +45 -23
- package/dist/core/cli/commands/config/show.js.map +1 -1
- package/dist/core/cli/commands/module/index.js +2 -1
- package/dist/core/cli/commands/module/index.js.map +1 -1
- package/dist/core/cli/commands/module/init-action.d.ts +20 -0
- package/dist/core/cli/commands/module/init-action.js +311 -0
- package/dist/core/cli/commands/module/init-action.js.map +1 -0
- package/dist/core/cli/commands/module/init.d.ts +0 -5
- package/dist/core/cli/commands/module/init.js +29 -168
- package/dist/core/cli/commands/module/init.js.map +1 -1
- package/dist/core/cli/commands/module/test-action.d.ts +5 -0
- package/dist/core/cli/commands/module/test-action.js +45 -0
- package/dist/core/cli/commands/module/test-action.js.map +1 -0
- package/dist/core/cli/commands/module/test.d.ts +0 -5
- package/dist/core/cli/commands/module/test.js +51 -30
- package/dist/core/cli/commands/module/test.js.map +1 -1
- package/dist/core/cli/commands/plugins-action.d.ts +7 -0
- package/dist/core/cli/commands/plugins-action.js +17 -0
- package/dist/core/cli/commands/plugins-action.js.map +1 -0
- package/dist/core/cli/commands/plugins.d.ts +2 -1
- package/dist/core/cli/commands/plugins.js +58 -25
- package/dist/core/cli/commands/plugins.js.map +1 -1
- package/dist/core/cli/commands/project/build-action.d.ts +7 -0
- package/dist/core/cli/commands/project/build-action.js +54 -0
- package/dist/core/cli/commands/project/build-action.js.map +1 -0
- package/dist/core/cli/commands/project/build.js +48 -64
- package/dist/core/cli/commands/project/build.js.map +1 -1
- package/dist/core/cli/commands/project/dev-action.d.ts +13 -0
- package/dist/core/cli/commands/project/dev-action.js +231 -0
- package/dist/core/cli/commands/project/dev-action.js.map +1 -0
- package/dist/core/cli/commands/project/dev.d.ts +1 -2
- package/dist/core/cli/commands/project/dev.js +28 -206
- package/dist/core/cli/commands/project/dev.js.map +1 -1
- package/dist/core/cli/commands/project/index.js +2 -2
- package/dist/core/cli/commands/project/index.js.map +1 -1
- package/dist/core/cli/commands/project/init-action.d.ts +10 -0
- package/dist/core/cli/commands/project/init-action.js +183 -0
- package/dist/core/cli/commands/project/init-action.js.map +1 -0
- package/dist/core/cli/commands/project/init.js +62 -111
- package/dist/core/cli/commands/project/init.js.map +1 -1
- package/dist/core/cli/commands/project/logging/index.js +2 -2
- package/dist/core/cli/commands/project/logging/index.js.map +1 -1
- package/dist/core/cli/commands/project/logging/logging-draft.d.ts +14 -0
- package/dist/core/cli/commands/project/logging/logging-draft.js +34 -0
- package/dist/core/cli/commands/project/logging/logging-draft.js.map +1 -0
- package/dist/core/cli/commands/project/logging/set-action.d.ts +2 -0
- package/dist/core/cli/commands/project/logging/set-action.js +217 -0
- package/dist/core/cli/commands/project/logging/set-action.js.map +1 -0
- package/dist/core/cli/commands/project/logging/set-operations.d.ts +24 -0
- package/dist/core/cli/commands/project/logging/set-operations.js +115 -0
- package/dist/core/cli/commands/project/logging/set-operations.js.map +1 -0
- package/dist/core/cli/commands/project/logging/set-usage.d.ts +8 -0
- package/dist/core/cli/commands/project/logging/set-usage.js +71 -0
- package/dist/core/cli/commands/project/logging/set-usage.js.map +1 -0
- package/dist/core/cli/commands/project/logging/set.js +98 -355
- package/dist/core/cli/commands/project/logging/set.js.map +1 -1
- package/dist/core/cli/commands/project/logging/show-action.d.ts +8 -0
- package/dist/core/cli/commands/project/logging/show-action.js +71 -0
- package/dist/core/cli/commands/project/logging/show-action.js.map +1 -0
- package/dist/core/cli/commands/project/logging/show.d.ts +2 -1
- package/dist/core/cli/commands/project/logging/show.js +54 -89
- package/dist/core/cli/commands/project/logging/show.js.map +1 -1
- package/dist/core/cli/commands/project/modules/add-action.d.ts +17 -0
- package/dist/core/cli/commands/project/modules/add-action.js +240 -0
- package/dist/core/cli/commands/project/modules/add-action.js.map +1 -0
- package/dist/core/cli/commands/project/modules/add.d.ts +1 -15
- package/dist/core/cli/commands/project/modules/add.js +56 -261
- package/dist/core/cli/commands/project/modules/add.js.map +1 -1
- package/dist/core/cli/commands/project/modules/index.js +2 -2
- package/dist/core/cli/commands/project/modules/index.js.map +1 -1
- package/dist/core/cli/commands/project/modules/install-action.d.ts +17 -0
- package/dist/core/cli/commands/project/modules/install-action.js +265 -0
- package/dist/core/cli/commands/project/modules/install-action.js.map +1 -0
- package/dist/core/cli/commands/project/modules/install.d.ts +0 -9
- package/dist/core/cli/commands/project/modules/install.js +54 -240
- package/dist/core/cli/commands/project/modules/install.js.map +1 -1
- package/dist/core/cli/commands/project/modules/list-action.d.ts +8 -0
- package/dist/core/cli/commands/project/modules/list-action.js +85 -0
- package/dist/core/cli/commands/project/modules/list-action.js.map +1 -0
- package/dist/core/cli/commands/project/modules/list.d.ts +2 -1
- package/dist/core/cli/commands/project/modules/list.js +54 -116
- package/dist/core/cli/commands/project/modules/list.js.map +1 -1
- package/dist/core/cli/commands/project/modules/remove-action.d.ts +7 -0
- package/dist/core/cli/commands/project/modules/remove-action.js +81 -0
- package/dist/core/cli/commands/project/modules/remove-action.js.map +1 -0
- package/dist/core/cli/commands/project/modules/remove.d.ts +0 -7
- package/dist/core/cli/commands/project/modules/remove.js +50 -100
- package/dist/core/cli/commands/project/modules/remove.js.map +1 -1
- package/dist/core/cli/commands/project/modules/update-action.d.ts +7 -0
- package/dist/core/cli/commands/project/modules/update-action.js +117 -0
- package/dist/core/cli/commands/project/modules/update-action.js.map +1 -0
- package/dist/core/cli/commands/project/modules/update.js +54 -86
- package/dist/core/cli/commands/project/modules/update.js.map +1 -1
- package/dist/core/cli/commands/project/run.js +2 -2
- package/dist/core/cli/commands/project/run.js.map +1 -1
- package/dist/core/cli/commands/project/start-action.d.ts +8 -0
- package/dist/core/cli/commands/project/start-action.js +47 -0
- package/dist/core/cli/commands/project/start-action.js.map +1 -0
- package/dist/core/cli/commands/project/start.js +53 -55
- package/dist/core/cli/commands/project/start.js.map +1 -1
- package/dist/core/cli/commands/shared/names.d.ts +1 -0
- package/dist/core/cli/commands/shared/names.js +10 -0
- package/dist/core/cli/commands/shared/names.js.map +1 -0
- package/dist/core/cli/commands/shared/next-steps.d.ts +5 -0
- package/dist/core/cli/commands/shared/next-steps.js +26 -0
- package/dist/core/cli/commands/shared/next-steps.js.map +1 -0
- package/dist/core/cli/commands/shared/project-command.d.ts +9 -0
- package/dist/core/cli/commands/shared/project-command.js +79 -14
- package/dist/core/cli/commands/shared/project-command.js.map +1 -1
- package/dist/core/cli/commands/update.js +47 -9
- package/dist/core/cli/commands/update.js.map +1 -1
- package/dist/core/cli/common.d.ts +3 -8
- package/dist/core/cli/common.js +26 -32
- package/dist/core/cli/common.js.map +1 -1
- package/dist/core/cli/exit-codes.d.ts +2 -0
- package/dist/core/cli/exit-codes.js +4 -1
- package/dist/core/cli/exit-codes.js.map +1 -1
- package/dist/core/cli/full-cli.js +62 -41
- package/dist/core/cli/full-cli.js.map +1 -1
- package/dist/core/cli/git-operations.js +10 -17
- package/dist/core/cli/git-operations.js.map +1 -1
- package/dist/core/cli/help.d.ts +8 -0
- package/dist/core/cli/help.js +34 -0
- package/dist/core/cli/help.js.map +1 -0
- package/dist/core/cli/index.js +7 -15
- package/dist/core/cli/index.js.map +1 -1
- package/dist/core/cli/lazy-action.d.ts +4 -0
- package/dist/core/cli/lazy-action.js +10 -0
- package/dist/core/cli/lazy-action.js.map +1 -0
- package/dist/core/cli/logging-utils.js +18 -14
- package/dist/core/cli/logging-utils.js.map +1 -1
- package/dist/core/cli/options.d.ts +20 -0
- package/dist/core/cli/options.js +51 -0
- package/dist/core/cli/options.js.map +1 -0
- package/dist/core/cli/output/boundary.d.ts +6 -0
- package/dist/core/cli/output/boundary.js +38 -0
- package/dist/core/cli/output/boundary.js.map +1 -0
- package/dist/core/cli/output/capabilities.d.ts +9 -0
- package/dist/core/cli/output/capabilities.js +113 -0
- package/dist/core/cli/output/capabilities.js.map +1 -0
- package/dist/core/cli/output/data.d.ts +7 -0
- package/dist/core/cli/output/data.js +11 -0
- package/dist/core/cli/output/data.js.map +1 -0
- package/dist/core/cli/output/errors.d.ts +14 -0
- package/dist/core/cli/output/errors.js +67 -0
- package/dist/core/cli/output/errors.js.map +1 -0
- package/dist/core/cli/output/failures.d.ts +3 -0
- package/dist/core/cli/output/failures.js +94 -0
- package/dist/core/cli/output/failures.js.map +1 -0
- package/dist/core/cli/output/format.d.ts +7 -0
- package/dist/core/cli/output/format.js +64 -0
- package/dist/core/cli/output/format.js.map +1 -0
- package/dist/core/cli/output/index.d.ts +13 -0
- package/dist/core/cli/output/index.js +30 -0
- package/dist/core/cli/output/index.js.map +1 -0
- package/dist/core/cli/output/prompt.d.ts +15 -0
- package/dist/core/cli/output/prompt.js +145 -0
- package/dist/core/cli/output/prompt.js.map +1 -0
- package/dist/core/cli/output/symbols.d.ts +4 -0
- package/dist/core/cli/output/symbols.js +44 -0
- package/dist/core/cli/output/symbols.js.map +1 -0
- package/dist/core/cli/output/tasks.d.ts +57 -0
- package/dist/core/cli/output/tasks.js +310 -0
- package/dist/core/cli/output/tasks.js.map +1 -0
- package/dist/core/cli/output/translations.d.ts +4 -0
- package/dist/core/cli/output/translations.js +109 -0
- package/dist/core/cli/output/translations.js.map +1 -0
- package/dist/core/cli/output/types.d.ts +139 -0
- package/dist/core/cli/output/types.js +3 -0
- package/dist/core/cli/output/types.js.map +1 -0
- package/dist/core/cli/output/ui.d.ts +2 -0
- package/dist/core/cli/output/ui.js +155 -0
- package/dist/core/cli/output/ui.js.map +1 -0
- package/dist/core/cli/output/verbosity.d.ts +5 -0
- package/dist/core/cli/output/verbosity.js +17 -0
- package/dist/core/cli/output/verbosity.js.map +1 -0
- package/dist/core/cli/package-manager.js +11 -4
- package/dist/core/cli/package-manager.js.map +1 -1
- package/dist/core/cli/plugin-compatibility.d.ts +5 -2
- package/dist/core/cli/plugin-compatibility.js +22 -15
- package/dist/core/cli/plugin-compatibility.js.map +1 -1
- package/dist/core/cli/plugin-management.d.ts +19 -1
- package/dist/core/cli/plugin-management.js +102 -48
- package/dist/core/cli/plugin-management.js.map +1 -1
- package/dist/core/cli/plugin-registry.d.ts +0 -1
- package/dist/core/cli/plugin-registry.js +2 -3
- package/dist/core/cli/plugin-registry.js.map +1 -1
- package/dist/core/cli/plugin.js +39 -53
- package/dist/core/cli/plugin.js.map +1 -1
- package/dist/core/cli/production-start.d.ts +0 -1
- package/dist/core/cli/production-start.js +12 -21
- package/dist/core/cli/production-start.js.map +1 -1
- package/dist/core/cli/usage-errors.d.ts +2 -0
- package/dist/core/cli/usage-errors.js +50 -0
- package/dist/core/cli/usage-errors.js.map +1 -0
- package/dist/core/cli/version-check.d.ts +22 -3
- package/dist/core/cli/version-check.js +140 -16
- package/dist/core/cli/version-check.js.map +1 -1
- package/dist/core/config/config-loader.d.ts +2 -1
- package/dist/core/config/config-loader.js +6 -2
- package/dist/core/config/config-loader.js.map +1 -1
- package/dist/core/downloaders/git.js +26 -20
- package/dist/core/downloaders/git.js.map +1 -1
- package/dist/core/downloaders/local.js +0 -1
- package/dist/core/downloaders/local.js.map +1 -1
- package/dist/core/downloaders/package.js +4 -5
- package/dist/core/downloaders/package.js.map +1 -1
- package/dist/core/downloaders/utils.d.ts +3 -1
- package/dist/core/downloaders/utils.js +39 -29
- package/dist/core/downloaders/utils.js.map +1 -1
- package/dist/core/runtime/launch-sequence.js +4 -4
- package/dist/core/runtime/launch-sequence.js.map +1 -1
- package/dist/core/runtime/module-loading.js +43 -36
- package/dist/core/runtime/module-loading.js.map +1 -1
- package/dist/core/version-checker.js +19 -13
- package/dist/core/version-checker.js.map +1 -1
- package/dist/logging/index.js +31 -7
- package/dist/logging/index.js.map +1 -1
- package/dist/logging/log-template.d.ts +8 -0
- package/dist/logging/log-template.js +45 -0
- package/dist/logging/log-template.js.map +1 -0
- package/dist/utils/object.d.ts +1 -0
- package/dist/utils/object.js +12 -0
- package/dist/utils/object.js.map +1 -1
- package/package.json +6 -5
- package/dist/core/cli/terminal-display.d.ts +0 -17
- package/dist/core/cli/terminal-display.js +0 -113
- package/dist/core/cli/terminal-display.js.map +0 -1
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.terminateChildProcess = terminateChildProcess;
|
|
40
|
+
exports.executeDevCommand = executeDevCommand;
|
|
41
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
42
|
+
const node_fs_1 = __importStar(require("node:fs"));
|
|
43
|
+
const node_child_process_1 = require("node:child_process");
|
|
44
|
+
const module_cache_1 = require("../../../module-cache");
|
|
45
|
+
const cli_ui_1 = require("../../cli-ui");
|
|
46
|
+
const output_1 = require("../../output");
|
|
47
|
+
const __1 = __importStar(require("../../../.."));
|
|
48
|
+
const shutdown_1 = require("../../../shutdown");
|
|
49
|
+
const project_command_1 = require("../shared/project-command");
|
|
50
|
+
const DEFAULT_INSPECTOR = "--inspect";
|
|
51
|
+
const ENABLED_LABEL = "enabled";
|
|
52
|
+
const DISABLED_LABEL = "disabled";
|
|
53
|
+
const RUNNER_PREFIX = "antelope-runner-";
|
|
54
|
+
const DEFAULT_INSPECT_HOST = "127.0.0.1:9229";
|
|
55
|
+
const CHILD_TERMINATE_HEADROOM_MS = 2000;
|
|
56
|
+
const CHILD_TERMINATE_TIMEOUT_MS = shutdown_1.DEFAULT_SHUTDOWN_TIMEOUT_MS + CHILD_TERMINATE_HEADROOM_MS;
|
|
57
|
+
const SHUTDOWN_PRIORITY_CHILD = 20;
|
|
58
|
+
const SHUTDOWN_PRIORITY_CLEANUP = 10;
|
|
59
|
+
const SHUTDOWN_PRIORITY_SIGNAL_CLEANUP = 5;
|
|
60
|
+
function resolveInspectLabel(options) {
|
|
61
|
+
if (!options.inspect) {
|
|
62
|
+
return undefined;
|
|
63
|
+
}
|
|
64
|
+
return options.inspect === true ? DEFAULT_INSPECT_HOST : options.inspect;
|
|
65
|
+
}
|
|
66
|
+
function showRunConfiguration(options) {
|
|
67
|
+
const ui = (0, output_1.getProcessUi)();
|
|
68
|
+
const disabled = ui.palette().dim(DISABLED_LABEL);
|
|
69
|
+
ui.details([
|
|
70
|
+
{ label: "Environment", value: options.env || __1.DEFAULT_ENV },
|
|
71
|
+
{ label: "Watch mode", value: options.watch ? ENABLED_LABEL : disabled },
|
|
72
|
+
{ label: "Inspector", value: resolveInspectLabel(options) ?? disabled },
|
|
73
|
+
], "feedback");
|
|
74
|
+
}
|
|
75
|
+
function buildRunnerScript(entryPath) {
|
|
76
|
+
return `
|
|
77
|
+
const entry = require(${JSON.stringify(entryPath)});
|
|
78
|
+
const start = entry.default ?? entry;
|
|
79
|
+
if (typeof start !== 'function') {
|
|
80
|
+
throw new TypeError('Antelope entrypoint is not a function');
|
|
81
|
+
}
|
|
82
|
+
start(
|
|
83
|
+
process.env.ANTELOPE_PROJECT_PATH,
|
|
84
|
+
process.env.ANTELOPE_ENV,
|
|
85
|
+
{
|
|
86
|
+
watch: process.env.ANTELOPE_WATCH === 'true',
|
|
87
|
+
concurrency: process.env.ANTELOPE_CONCURRENCY ? parseInt(process.env.ANTELOPE_CONCURRENCY, 10) : undefined,
|
|
88
|
+
verbose: process.env.ANTELOPE_VERBOSE?.split(',') ?? undefined
|
|
89
|
+
}
|
|
90
|
+
).catch(err => {
|
|
91
|
+
console.error('Error running AntelopeJS:', err instanceof Error ? err.message : String(err));
|
|
92
|
+
process.exit(1);
|
|
93
|
+
});
|
|
94
|
+
`;
|
|
95
|
+
}
|
|
96
|
+
function buildRunnerEnv(options) {
|
|
97
|
+
return {
|
|
98
|
+
...process.env,
|
|
99
|
+
ANTELOPE_PROJECT_PATH: options.project,
|
|
100
|
+
ANTELOPE_ENV: options.env,
|
|
101
|
+
ANTELOPE_WATCH: options.watch ? "true" : "false",
|
|
102
|
+
ANTELOPE_CONCURRENCY: options.concurrency?.toString() || "",
|
|
103
|
+
ANTELOPE_VERBOSE: options.verbose?.join(","),
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
async function cleanupRunner(tempDir, runnerPath) {
|
|
107
|
+
(0, node_fs_1.unlinkSync)(runnerPath);
|
|
108
|
+
try {
|
|
109
|
+
await node_fs_1.default.promises.rm(tempDir, { recursive: true, force: true });
|
|
110
|
+
}
|
|
111
|
+
catch {
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
function terminateChildProcess(child, timeoutMs = CHILD_TERMINATE_TIMEOUT_MS) {
|
|
116
|
+
return new Promise((resolve) => {
|
|
117
|
+
if (typeof child.kill !== "function" || typeof child.on !== "function") {
|
|
118
|
+
resolve();
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
const detachExitListener = () => {
|
|
122
|
+
if (typeof child.removeListener !== "function") {
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
child.removeListener("exit", onExit);
|
|
126
|
+
};
|
|
127
|
+
const onExit = () => {
|
|
128
|
+
clearTimeout(timer);
|
|
129
|
+
detachExitListener();
|
|
130
|
+
resolve();
|
|
131
|
+
};
|
|
132
|
+
const timer = setTimeout(() => {
|
|
133
|
+
detachExitListener();
|
|
134
|
+
try {
|
|
135
|
+
child.kill("SIGKILL");
|
|
136
|
+
}
|
|
137
|
+
catch {
|
|
138
|
+
resolve();
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
resolve();
|
|
142
|
+
}, timeoutMs);
|
|
143
|
+
child.on("exit", onExit);
|
|
144
|
+
try {
|
|
145
|
+
child.kill("SIGTERM");
|
|
146
|
+
}
|
|
147
|
+
catch {
|
|
148
|
+
clearTimeout(timer);
|
|
149
|
+
detachExitListener();
|
|
150
|
+
resolve();
|
|
151
|
+
}
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
async function launchWithInspector(options) {
|
|
155
|
+
const inspectArg = options.inspect === true
|
|
156
|
+
? DEFAULT_INSPECTOR
|
|
157
|
+
: `--inspect=${options.inspect}`;
|
|
158
|
+
const entryPath = node_path_1.default.resolve(__dirname, "../../../..");
|
|
159
|
+
const runnerScript = buildRunnerScript(entryPath);
|
|
160
|
+
const tempDir = await module_cache_1.ModuleCache.getTemp();
|
|
161
|
+
const runnerPath = node_path_1.default.join(tempDir, `${RUNNER_PREFIX}${Date.now()}.js`);
|
|
162
|
+
const shutdownManager = new shutdown_1.ShutdownManager();
|
|
163
|
+
let cleanupDone = false;
|
|
164
|
+
let childRunning = true;
|
|
165
|
+
const runCleanup = async () => {
|
|
166
|
+
if (cleanupDone) {
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
169
|
+
cleanupDone = true;
|
|
170
|
+
await cleanupRunner(tempDir, runnerPath);
|
|
171
|
+
};
|
|
172
|
+
(0, node_fs_1.writeFileSync)(runnerPath, runnerScript);
|
|
173
|
+
const child = (0, node_child_process_1.fork)(runnerPath, [], {
|
|
174
|
+
stdio: "inherit",
|
|
175
|
+
execArgv: [inspectArg],
|
|
176
|
+
env: buildRunnerEnv(options),
|
|
177
|
+
});
|
|
178
|
+
shutdownManager.register(async () => {
|
|
179
|
+
if (!childRunning) {
|
|
180
|
+
return;
|
|
181
|
+
}
|
|
182
|
+
await terminateChildProcess(child);
|
|
183
|
+
}, SHUTDOWN_PRIORITY_CHILD);
|
|
184
|
+
shutdownManager.register(runCleanup, SHUTDOWN_PRIORITY_CLEANUP);
|
|
185
|
+
shutdownManager.register(async () => {
|
|
186
|
+
shutdownManager.removeSignalHandlers();
|
|
187
|
+
}, SHUTDOWN_PRIORITY_SIGNAL_CLEANUP);
|
|
188
|
+
shutdownManager.setupSignalHandlers();
|
|
189
|
+
child.on("error", () => {
|
|
190
|
+
childRunning = false;
|
|
191
|
+
void shutdownManager.shutdown(1);
|
|
192
|
+
});
|
|
193
|
+
child.on("exit", (code) => {
|
|
194
|
+
childRunning = false;
|
|
195
|
+
const exitCode = code !== 0 ? code || 1 : 0;
|
|
196
|
+
void shutdownManager.shutdown(exitCode);
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
async function launchDirect(options) {
|
|
200
|
+
await (0, __1.default)(options.project, options.env, options);
|
|
201
|
+
}
|
|
202
|
+
function withCommandVerbose(command, options) {
|
|
203
|
+
const inheritedVerbose = (0, project_command_1.resolveInheritedVerbose)(command, options.verbose);
|
|
204
|
+
return {
|
|
205
|
+
...options,
|
|
206
|
+
verbose: inheritedVerbose,
|
|
207
|
+
};
|
|
208
|
+
}
|
|
209
|
+
async function executeDevCommand(options) {
|
|
210
|
+
const runOptions = withCommandVerbose(this, options);
|
|
211
|
+
const hasProject = await (0, project_command_1.validateProjectExists)(runOptions.project);
|
|
212
|
+
if (!hasProject) {
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
215
|
+
showRunConfiguration(runOptions);
|
|
216
|
+
if (runOptions.watch) {
|
|
217
|
+
(0, cli_ui_1.warning)(`Watch mode enabled - project will automatically restart when files change`);
|
|
218
|
+
}
|
|
219
|
+
(0, cli_ui_1.info)(`Starting AntelopeJS project`);
|
|
220
|
+
try {
|
|
221
|
+
if (runOptions.inspect) {
|
|
222
|
+
await launchWithInspector(runOptions);
|
|
223
|
+
return;
|
|
224
|
+
}
|
|
225
|
+
await launchDirect(runOptions);
|
|
226
|
+
}
|
|
227
|
+
catch (err) {
|
|
228
|
+
process.exitCode = (0, output_1.reportFailure)(err);
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
//# sourceMappingURL=dev-action.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev-action.js","sourceRoot":"","sources":["../../../../../src/core/cli/commands/project/dev-action.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { Command } from "commander";
|
|
2
|
-
import { type ChildProcess } from "node:child_process";
|
|
3
2
|
interface DevCommandDefinition {
|
|
4
3
|
name: string;
|
|
4
|
+
summary: string;
|
|
5
5
|
description: string;
|
|
6
6
|
}
|
|
7
|
-
export declare function terminateChildProcess(child: ChildProcess, timeoutMs?: number): Promise<void>;
|
|
8
7
|
export declare function createDevCommand(definition?: DevCommandDefinition): Command;
|
|
9
8
|
export default function (): Command;
|
|
10
9
|
export {};
|
|
@@ -32,228 +32,50 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
32
32
|
return result;
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
-
};
|
|
38
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.terminateChildProcess = terminateChildProcess;
|
|
40
36
|
exports.createDevCommand = createDevCommand;
|
|
41
37
|
exports.default = default_1;
|
|
42
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
43
|
-
const node_path_1 = __importDefault(require("node:path"));
|
|
44
38
|
const commander_1 = require("commander");
|
|
45
|
-
const
|
|
46
|
-
const
|
|
47
|
-
const
|
|
48
|
-
const
|
|
49
|
-
const cli_ui_1 = require("../../cli-ui");
|
|
50
|
-
const __1 = __importStar(require("../../../.."));
|
|
51
|
-
const shutdown_1 = require("../../../shutdown");
|
|
52
|
-
const project_command_1 = require("../shared/project-command");
|
|
53
|
-
const DEFAULT_INSPECTOR = "--inspect";
|
|
54
|
-
const RUNNER_PREFIX = "antelope-runner-";
|
|
55
|
-
const DEFAULT_INSPECT_HOST = "127.0.0.1:9229";
|
|
56
|
-
const CHILD_TERMINATE_HEADROOM_MS = 2000;
|
|
57
|
-
const CHILD_TERMINATE_TIMEOUT_MS = shutdown_1.DEFAULT_SHUTDOWN_TIMEOUT_MS + CHILD_TERMINATE_HEADROOM_MS;
|
|
58
|
-
const SHUTDOWN_PRIORITY_CHILD = 20;
|
|
59
|
-
const SHUTDOWN_PRIORITY_CLEANUP = 10;
|
|
60
|
-
const SHUTDOWN_PRIORITY_SIGNAL_CLEANUP = 5;
|
|
61
|
-
const ENV_OPTION = new commander_1.Option("-e, --env <environment>", "Environment to use (development, production, etc.)").env("ANTELOPEJS_LAUNCH_ENV");
|
|
62
|
-
const WATCH_OPTION = new commander_1.Option("-w, --watch", "Watch for changes and automatically restart");
|
|
39
|
+
const options_1 = require("../../options");
|
|
40
|
+
const help_1 = require("../../help");
|
|
41
|
+
const lazy_action_1 = require("../../lazy-action");
|
|
42
|
+
const WATCH_OPTION = new commander_1.Option("-w, --watch", "Reload modules when their source files change");
|
|
63
43
|
const CONCURRENCY_OPTION = new commander_1.Option("-c, --concurrency <number>", "Number of modules to load concurrently").argParser(parseInt);
|
|
64
|
-
const INSPECT_OPTION = new commander_1.Option("--inspect [host:port]", "Enable
|
|
65
|
-
const INTERACTIVE_OPTION = new commander_1.Option("-i, --interactive", "
|
|
44
|
+
const INSPECT_OPTION = new commander_1.Option("--inspect [host:port]", "Enable the Node.js inspector (default: 127.0.0.1:9229)");
|
|
45
|
+
const INTERACTIVE_OPTION = new commander_1.Option("-i, --interactive", "Open a REPL with the project loaded");
|
|
66
46
|
const DEV_COMMAND_DEFINITION = {
|
|
67
47
|
name: "dev",
|
|
68
|
-
|
|
69
|
-
|
|
48
|
+
summary: "Run the project in development mode",
|
|
49
|
+
description: "Run the project in development mode: download and install its modules, then load and connect them. Add --watch to reload modules when their files change.",
|
|
70
50
|
};
|
|
51
|
+
const DEV_EXAMPLES = [
|
|
52
|
+
{
|
|
53
|
+
description: "Run the project and reload it on changes",
|
|
54
|
+
command: "ajs project dev --watch",
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
description: "Run another project with its staging environment",
|
|
58
|
+
command: "ajs project dev -p ./my-app -e staging",
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
description: "Enable the Node.js inspector",
|
|
62
|
+
command: "ajs project dev --inspect 0.0.0.0:9229",
|
|
63
|
+
},
|
|
64
|
+
];
|
|
71
65
|
function withDevCommandOptions(command) {
|
|
72
66
|
return command
|
|
73
|
-
.addOption(
|
|
74
|
-
.addOption(
|
|
75
|
-
.addOption(ENV_OPTION)
|
|
67
|
+
.addOption(options_1.Options.project)
|
|
68
|
+
.addOption(options_1.Options.env)
|
|
76
69
|
.addOption(WATCH_OPTION)
|
|
77
70
|
.addOption(CONCURRENCY_OPTION)
|
|
78
71
|
.addOption(INSPECT_OPTION)
|
|
79
72
|
.addOption(INTERACTIVE_OPTION);
|
|
80
73
|
}
|
|
81
|
-
function resolveInspectLabel(options) {
|
|
82
|
-
if (!options.inspect) {
|
|
83
|
-
return "disabled";
|
|
84
|
-
}
|
|
85
|
-
return options.inspect === true ? DEFAULT_INSPECT_HOST : options.inspect;
|
|
86
|
-
}
|
|
87
|
-
async function showRunConfiguration(options) {
|
|
88
|
-
const inspector = resolveInspectLabel(options);
|
|
89
|
-
await (0, cli_ui_1.displayBox)(`Environment: ${chalk_1.default.cyan(options.env || __1.DEFAULT_ENV)}\n` +
|
|
90
|
-
`Watch mode: ${options.watch ? chalk_1.default.green("enabled") : chalk_1.default.gray("disabled")}\n` +
|
|
91
|
-
`Inspector: ${options.inspect ? chalk_1.default.green(inspector) : chalk_1.default.gray(inspector)}`, " Launch Configuration", { padding: 1 });
|
|
92
|
-
}
|
|
93
|
-
function buildRunnerScript(entryPath) {
|
|
94
|
-
return `
|
|
95
|
-
const entry = require(${JSON.stringify(entryPath)});
|
|
96
|
-
const start = entry.default ?? entry;
|
|
97
|
-
if (typeof start !== 'function') {
|
|
98
|
-
throw new TypeError('Antelope entrypoint is not a function');
|
|
99
|
-
}
|
|
100
|
-
start(
|
|
101
|
-
process.env.ANTELOPE_PROJECT_PATH,
|
|
102
|
-
process.env.ANTELOPE_ENV,
|
|
103
|
-
{
|
|
104
|
-
watch: process.env.ANTELOPE_WATCH === 'true',
|
|
105
|
-
concurrency: process.env.ANTELOPE_CONCURRENCY ? parseInt(process.env.ANTELOPE_CONCURRENCY, 10) : undefined,
|
|
106
|
-
verbose: process.env.ANTELOPE_VERBOSE?.split(',') ?? undefined
|
|
107
|
-
}
|
|
108
|
-
).catch(err => {
|
|
109
|
-
console.error('Error running AntelopeJS:', err instanceof Error ? err.message : String(err));
|
|
110
|
-
process.exit(1);
|
|
111
|
-
});
|
|
112
|
-
`;
|
|
113
|
-
}
|
|
114
|
-
function buildRunnerEnv(options) {
|
|
115
|
-
return {
|
|
116
|
-
...process.env,
|
|
117
|
-
ANTELOPE_PROJECT_PATH: options.project,
|
|
118
|
-
ANTELOPE_ENV: options.env,
|
|
119
|
-
ANTELOPE_WATCH: options.watch ? "true" : "false",
|
|
120
|
-
ANTELOPE_CONCURRENCY: options.concurrency?.toString() || "",
|
|
121
|
-
ANTELOPE_VERBOSE: options.verbose?.join(","),
|
|
122
|
-
};
|
|
123
|
-
}
|
|
124
|
-
async function cleanupRunner(tempDir, runnerPath) {
|
|
125
|
-
(0, node_fs_1.unlinkSync)(runnerPath);
|
|
126
|
-
try {
|
|
127
|
-
await node_fs_1.default.promises.rm(tempDir, { recursive: true, force: true });
|
|
128
|
-
}
|
|
129
|
-
catch {
|
|
130
|
-
return;
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
function terminateChildProcess(child, timeoutMs = CHILD_TERMINATE_TIMEOUT_MS) {
|
|
134
|
-
return new Promise((resolve) => {
|
|
135
|
-
if (typeof child.kill !== "function" || typeof child.on !== "function") {
|
|
136
|
-
resolve();
|
|
137
|
-
return;
|
|
138
|
-
}
|
|
139
|
-
const detachExitListener = () => {
|
|
140
|
-
if (typeof child.removeListener !== "function") {
|
|
141
|
-
return;
|
|
142
|
-
}
|
|
143
|
-
child.removeListener("exit", onExit);
|
|
144
|
-
};
|
|
145
|
-
const onExit = () => {
|
|
146
|
-
clearTimeout(timer);
|
|
147
|
-
detachExitListener();
|
|
148
|
-
resolve();
|
|
149
|
-
};
|
|
150
|
-
const timer = setTimeout(() => {
|
|
151
|
-
detachExitListener();
|
|
152
|
-
try {
|
|
153
|
-
child.kill("SIGKILL");
|
|
154
|
-
}
|
|
155
|
-
catch {
|
|
156
|
-
resolve();
|
|
157
|
-
return;
|
|
158
|
-
}
|
|
159
|
-
resolve();
|
|
160
|
-
}, timeoutMs);
|
|
161
|
-
child.on("exit", onExit);
|
|
162
|
-
try {
|
|
163
|
-
child.kill("SIGTERM");
|
|
164
|
-
}
|
|
165
|
-
catch {
|
|
166
|
-
clearTimeout(timer);
|
|
167
|
-
detachExitListener();
|
|
168
|
-
resolve();
|
|
169
|
-
}
|
|
170
|
-
});
|
|
171
|
-
}
|
|
172
|
-
async function launchWithInspector(options) {
|
|
173
|
-
const inspectArg = options.inspect === true
|
|
174
|
-
? DEFAULT_INSPECTOR
|
|
175
|
-
: `--inspect=${options.inspect}`;
|
|
176
|
-
const entryPath = node_path_1.default.resolve(__dirname, "../../../..");
|
|
177
|
-
const runnerScript = buildRunnerScript(entryPath);
|
|
178
|
-
const tempDir = await module_cache_1.ModuleCache.getTemp();
|
|
179
|
-
const runnerPath = node_path_1.default.join(tempDir, `${RUNNER_PREFIX}${Date.now()}.js`);
|
|
180
|
-
const shutdownManager = new shutdown_1.ShutdownManager();
|
|
181
|
-
let cleanupDone = false;
|
|
182
|
-
let childRunning = true;
|
|
183
|
-
const runCleanup = async () => {
|
|
184
|
-
if (cleanupDone) {
|
|
185
|
-
return;
|
|
186
|
-
}
|
|
187
|
-
cleanupDone = true;
|
|
188
|
-
await cleanupRunner(tempDir, runnerPath);
|
|
189
|
-
};
|
|
190
|
-
(0, node_fs_1.writeFileSync)(runnerPath, runnerScript);
|
|
191
|
-
const child = (0, node_child_process_1.fork)(runnerPath, [], {
|
|
192
|
-
stdio: "inherit",
|
|
193
|
-
execArgv: [inspectArg],
|
|
194
|
-
env: buildRunnerEnv(options),
|
|
195
|
-
});
|
|
196
|
-
shutdownManager.register(async () => {
|
|
197
|
-
if (!childRunning) {
|
|
198
|
-
return;
|
|
199
|
-
}
|
|
200
|
-
await terminateChildProcess(child);
|
|
201
|
-
}, SHUTDOWN_PRIORITY_CHILD);
|
|
202
|
-
shutdownManager.register(runCleanup, SHUTDOWN_PRIORITY_CLEANUP);
|
|
203
|
-
shutdownManager.register(async () => {
|
|
204
|
-
shutdownManager.removeSignalHandlers();
|
|
205
|
-
}, SHUTDOWN_PRIORITY_SIGNAL_CLEANUP);
|
|
206
|
-
shutdownManager.setupSignalHandlers();
|
|
207
|
-
child.on("error", () => {
|
|
208
|
-
childRunning = false;
|
|
209
|
-
void shutdownManager.shutdown(1);
|
|
210
|
-
});
|
|
211
|
-
child.on("exit", (code) => {
|
|
212
|
-
childRunning = false;
|
|
213
|
-
const exitCode = code !== 0 ? code || 1 : 0;
|
|
214
|
-
void shutdownManager.shutdown(exitCode);
|
|
215
|
-
});
|
|
216
|
-
}
|
|
217
|
-
async function launchDirect(options) {
|
|
218
|
-
await (0, __1.default)(options.project, options.env, options);
|
|
219
|
-
}
|
|
220
|
-
function withCommandVerbose(command, options) {
|
|
221
|
-
const inheritedVerbose = (0, project_command_1.resolveInheritedVerbose)(command, options.verbose);
|
|
222
|
-
return {
|
|
223
|
-
...options,
|
|
224
|
-
verbose: inheritedVerbose,
|
|
225
|
-
};
|
|
226
|
-
}
|
|
227
|
-
async function executeDevCommand(options) {
|
|
228
|
-
const runOptions = withCommandVerbose(this, options);
|
|
229
|
-
console.log("");
|
|
230
|
-
const hasProject = await (0, project_command_1.validateProjectExists)(runOptions.project);
|
|
231
|
-
if (!hasProject) {
|
|
232
|
-
return;
|
|
233
|
-
}
|
|
234
|
-
console.log("");
|
|
235
|
-
await showRunConfiguration(runOptions);
|
|
236
|
-
if (runOptions.watch) {
|
|
237
|
-
console.log("");
|
|
238
|
-
(0, cli_ui_1.warning)(`Watch mode enabled - project will automatically restart when files change`);
|
|
239
|
-
}
|
|
240
|
-
console.log("");
|
|
241
|
-
(0, cli_ui_1.info)(`Starting AntelopeJS project`);
|
|
242
|
-
try {
|
|
243
|
-
if (runOptions.inspect) {
|
|
244
|
-
await launchWithInspector(runOptions);
|
|
245
|
-
return;
|
|
246
|
-
}
|
|
247
|
-
await launchDirect(runOptions);
|
|
248
|
-
}
|
|
249
|
-
catch (err) {
|
|
250
|
-
(0, cli_ui_1.error)(err instanceof Error ? err : String(err));
|
|
251
|
-
process.exitCode = 1;
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
74
|
function createDevCommand(definition = DEV_COMMAND_DEFINITION) {
|
|
255
|
-
const command = new commander_1.Command(definition.name)
|
|
256
|
-
|
|
75
|
+
const command = new commander_1.Command(definition.name)
|
|
76
|
+
.summary(definition.summary)
|
|
77
|
+
.description(definition.description);
|
|
78
|
+
return (0, help_1.withExamples)(withDevCommandOptions(command), DEV_EXAMPLES).action((0, lazy_action_1.lazyAction)(async () => (await Promise.resolve().then(() => __importStar(require("./dev-action")))).executeDevCommand));
|
|
257
79
|
}
|
|
258
80
|
function default_1() {
|
|
259
81
|
return createDevCommand();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../../../../../src/core/cli/commands/project/dev.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../../../../../src/core/cli/commands/project/dev.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6DA,4CASC;AAED,4BAEC;AA1ED,yCAA4C;AAE5C,2CAAwC;AACxC,qCAA0C;AAC1C,mDAA+C;AAE/C,MAAM,YAAY,GAAG,IAAI,kBAAM,CAC7B,aAAa,EACb,+CAA+C,CAChD,CAAC;AACF,MAAM,kBAAkB,GAAG,IAAI,kBAAM,CACnC,4BAA4B,EAC5B,wCAAwC,CACzC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AACtB,MAAM,cAAc,GAAG,IAAI,kBAAM,CAC/B,uBAAuB,EACvB,wDAAwD,CACzD,CAAC;AACF,MAAM,kBAAkB,GAAG,IAAI,kBAAM,CACnC,mBAAmB,EACnB,qCAAqC,CACtC,CAAC;AAQF,MAAM,sBAAsB,GAAyB;IACnD,IAAI,EAAE,KAAK;IACX,OAAO,EAAE,qCAAqC;IAC9C,WAAW,EACT,2JAA2J;CAC9J,CAAC;AAEF,MAAM,YAAY,GAAG;IACnB;QACE,WAAW,EAAE,0CAA0C;QACvD,OAAO,EAAE,yBAAyB;KACnC;IACD;QACE,WAAW,EAAE,kDAAkD;QAC/D,OAAO,EAAE,wCAAwC;KAClD;IACD;QACE,WAAW,EAAE,8BAA8B;QAC3C,OAAO,EAAE,wCAAwC;KAClD;CACF,CAAC;AAEF,SAAS,qBAAqB,CAAC,OAAgB;IAC7C,OAAO,OAAO;SACX,SAAS,CAAC,iBAAO,CAAC,OAAO,CAAC;SAC1B,SAAS,CAAC,iBAAO,CAAC,GAAG,CAAC;SACtB,SAAS,CAAC,YAAY,CAAC;SACvB,SAAS,CAAC,kBAAkB,CAAC;SAC7B,SAAS,CAAC,cAAc,CAAC;SACzB,SAAS,CAAC,kBAAkB,CAAC,CAAC;AACnC,CAAC;AAED,SAAgB,gBAAgB,CAC9B,aAAmC,sBAAsB;IAEzD,MAAM,OAAO,GAAG,IAAI,mBAAO,CAAC,UAAU,CAAC,IAAI,CAAC;SACzC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;SAC3B,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IACvC,OAAO,IAAA,mBAAY,EAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,MAAM,CACtE,IAAA,wBAAU,EAAC,KAAK,IAAI,EAAE,CAAC,CAAC,wDAAa,cAAc,GAAC,CAAC,CAAC,iBAAiB,CAAC,CACzE,CAAC;AACJ,CAAC;AAED;IACE,OAAO,gBAAgB,EAAE,CAAC;AAC5B,CAAC"}
|
|
@@ -14,8 +14,8 @@ const modules_1 = __importDefault(require("./modules"));
|
|
|
14
14
|
const logging_1 = __importDefault(require("./logging"));
|
|
15
15
|
function default_1() {
|
|
16
16
|
return new commander_1.Command("project")
|
|
17
|
-
.
|
|
18
|
-
|
|
17
|
+
.summary("Create, run, build and configure projects")
|
|
18
|
+
.description("Create, run and build AntelopeJS projects, and manage their modules and logging settings.")
|
|
19
19
|
.addCommand((0, init_1.default)())
|
|
20
20
|
.addCommand((0, modules_1.default)())
|
|
21
21
|
.addCommand((0, logging_1.default)())
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/cli/commands/project/index.ts"],"names":[],"mappings":";;;;;AAUA,4BAaC;AAvBD,yCAAoC;AAEpC,gDAA2B;AAC3B,gDAA2B;AAC3B,kDAA6B;AAC7B,oDAA+B;AAC/B,oDAA+B;AAC/B,wDAAkC;AAClC,wDAAmC;AAEnC;IACE,OAAO,IAAI,mBAAO,CAAC,SAAS,CAAC;SAC1B,WAAW,CACV,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/cli/commands/project/index.ts"],"names":[],"mappings":";;;;;AAUA,4BAaC;AAvBD,yCAAoC;AAEpC,gDAA2B;AAC3B,gDAA2B;AAC3B,kDAA6B;AAC7B,oDAA+B;AAC/B,oDAA+B;AAC/B,wDAAkC;AAClC,wDAAmC;AAEnC;IACE,OAAO,IAAI,mBAAO,CAAC,SAAS,CAAC;SAC1B,OAAO,CAAC,2CAA2C,CAAC;SACpD,WAAW,CACV,2FAA2F,CAC5F;SACA,UAAU,CAAC,IAAA,cAAO,GAAE,CAAC;SACrB,UAAU,CAAC,IAAA,iBAAS,GAAE,CAAC;SACvB,UAAU,CAAC,IAAA,iBAAU,GAAE,CAAC;SACxB,UAAU,CAAC,IAAA,aAAM,GAAE,CAAC;SACpB,UAAU,CAAC,IAAA,eAAQ,GAAE,CAAC;SACtB,UAAU,CAAC,IAAA,eAAQ,GAAE,CAAC;SACtB,UAAU,CAAC,IAAA,aAAM,GAAE,CAAC,CAAC;AAC1B,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { PackageManagerName } from "../../package-manager-name";
|
|
2
|
+
export interface ProjectInitOptions {
|
|
3
|
+
name?: string;
|
|
4
|
+
template?: string;
|
|
5
|
+
interfaces?: string[];
|
|
6
|
+
pm?: PackageManagerName;
|
|
7
|
+
gitInit?: boolean;
|
|
8
|
+
yes?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare function projectInitCommand(project: string, options?: ProjectInitOptions): Promise<void>;
|