@lumerahq/cli 0.19.1 → 0.19.3-dev.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.
|
@@ -137,19 +137,59 @@ function isPortInUse(port, host = "127.0.0.1") {
|
|
|
137
137
|
});
|
|
138
138
|
});
|
|
139
139
|
}
|
|
140
|
-
function
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
return
|
|
140
|
+
function commandAvailable(command) {
|
|
141
|
+
try {
|
|
142
|
+
execSync(`${command} --version`, { stdio: "ignore" });
|
|
143
|
+
return true;
|
|
144
|
+
} catch {
|
|
145
|
+
return false;
|
|
146
146
|
}
|
|
147
|
+
}
|
|
148
|
+
function parsePackageManagerSpecifier(value) {
|
|
149
|
+
const raw = (value || "").trim();
|
|
150
|
+
if (!raw) return void 0;
|
|
151
|
+
const name = raw.split("@")[0];
|
|
152
|
+
return ["bun", "pnpm", "yarn", "npm"].includes(name) ? name : void 0;
|
|
153
|
+
}
|
|
154
|
+
function packageManagerFromPackageJson(projectRoot) {
|
|
147
155
|
try {
|
|
148
|
-
|
|
149
|
-
return
|
|
156
|
+
const pkg = JSON.parse(readFileSync(resolve(projectRoot, "package.json"), "utf-8"));
|
|
157
|
+
return parsePackageManagerSpecifier(pkg.packageManager);
|
|
150
158
|
} catch {
|
|
151
|
-
return
|
|
159
|
+
return void 0;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
function runnerForPackageManager(pm) {
|
|
163
|
+
if (pm === "pnpm") return ["pnpm", "exec"];
|
|
164
|
+
if (pm === "bun") return ["bunx"];
|
|
165
|
+
if (pm === "yarn") return ["yarn"];
|
|
166
|
+
return ["npx"];
|
|
167
|
+
}
|
|
168
|
+
function detectRunner(projectRoot) {
|
|
169
|
+
const requested = parsePackageManagerSpecifier(process.env.LUMERA_PACKAGE_MANAGER);
|
|
170
|
+
if (requested && commandAvailable(runnerForPackageManager(requested)[0])) {
|
|
171
|
+
return runnerForPackageManager(requested);
|
|
172
|
+
}
|
|
173
|
+
const declared = packageManagerFromPackageJson(projectRoot);
|
|
174
|
+
if (declared && commandAvailable(runnerForPackageManager(declared)[0])) {
|
|
175
|
+
return runnerForPackageManager(declared);
|
|
176
|
+
}
|
|
177
|
+
const lockfileManagers = [
|
|
178
|
+
{ pm: "pnpm", file: "pnpm-lock.yaml" },
|
|
179
|
+
{ pm: "bun", file: "bun.lockb" },
|
|
180
|
+
{ pm: "bun", file: "bun.lock" },
|
|
181
|
+
{ pm: "yarn", file: "yarn.lock" },
|
|
182
|
+
{ pm: "npm", file: "package-lock.json" }
|
|
183
|
+
];
|
|
184
|
+
for (const { pm, file } of lockfileManagers) {
|
|
185
|
+
const runner = runnerForPackageManager(pm);
|
|
186
|
+
if (existsSync(resolve(projectRoot, file)) && commandAvailable(runner[0])) return runner;
|
|
187
|
+
}
|
|
188
|
+
for (const pm of ["pnpm", "bun", "yarn", "npm"]) {
|
|
189
|
+
const runner = runnerForPackageManager(pm);
|
|
190
|
+
if (commandAvailable(runner[0])) return runner;
|
|
152
191
|
}
|
|
192
|
+
return ["npx"];
|
|
153
193
|
}
|
|
154
194
|
function getParentOrigin(apiUrl) {
|
|
155
195
|
return apiUrl.replace(/\/api\/?$/, "").replace(/\/$/, "");
|
package/dist/index.js
CHANGED
|
@@ -219,29 +219,29 @@ async function main() {
|
|
|
219
219
|
switch (command) {
|
|
220
220
|
// Resource commands
|
|
221
221
|
case "plan":
|
|
222
|
-
await import("./resources-
|
|
222
|
+
await import("./resources-4IUZYKGX.js").then((m) => m.plan(args.slice(1)));
|
|
223
223
|
break;
|
|
224
224
|
case "apply":
|
|
225
|
-
await import("./resources-
|
|
225
|
+
await import("./resources-4IUZYKGX.js").then((m) => m.apply(args.slice(1)));
|
|
226
226
|
break;
|
|
227
227
|
case "pull":
|
|
228
|
-
await import("./resources-
|
|
228
|
+
await import("./resources-4IUZYKGX.js").then((m) => m.pull(args.slice(1)));
|
|
229
229
|
break;
|
|
230
230
|
case "destroy":
|
|
231
|
-
await import("./resources-
|
|
231
|
+
await import("./resources-4IUZYKGX.js").then((m) => m.destroy(args.slice(1)));
|
|
232
232
|
break;
|
|
233
233
|
case "list":
|
|
234
|
-
await import("./resources-
|
|
234
|
+
await import("./resources-4IUZYKGX.js").then((m) => m.list(args.slice(1)));
|
|
235
235
|
break;
|
|
236
236
|
case "show":
|
|
237
|
-
await import("./resources-
|
|
237
|
+
await import("./resources-4IUZYKGX.js").then((m) => m.show(args.slice(1)));
|
|
238
238
|
break;
|
|
239
239
|
case "diff":
|
|
240
|
-
await import("./resources-
|
|
240
|
+
await import("./resources-4IUZYKGX.js").then((m) => m.diff(args.slice(1)));
|
|
241
241
|
break;
|
|
242
242
|
// Development
|
|
243
243
|
case "dev":
|
|
244
|
-
await import("./dev-
|
|
244
|
+
await import("./dev-5JMHMS4U.js").then((m) => m.dev(args.slice(1)));
|
|
245
245
|
break;
|
|
246
246
|
case "run":
|
|
247
247
|
await import("./run-5ZOSPBGO.js").then((m) => m.run(args.slice(1)));
|