@base44-preview/cli 0.0.37-pr.357.020ced4 → 0.0.37-pr.357.32b66d6

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/cli/index.js CHANGED
@@ -244354,7 +244354,7 @@ function getDevCommand(context) {
244354
244354
 
244355
244355
  // src/cli/commands/exec.ts
244356
244356
  import { spawn as spawn3, spawnSync as spawnSync3 } from "node:child_process";
244357
- import { unlinkSync, writeFileSync as writeFileSync2 } from "node:fs";
244357
+ import { copyFileSync, unlinkSync, writeFileSync as writeFileSync2 } from "node:fs";
244358
244358
  import { tmpdir as tmpdir2 } from "node:os";
244359
244359
  import { dirname as dirname12, join as join16, resolve as resolve6 } from "node:path";
244360
244360
  import { fileURLToPath as fileURLToPath8 } from "node:url";
@@ -244387,11 +244387,13 @@ async function execAction(scriptArg, options8, extraArgs) {
244387
244387
  verifyDenoIsInstalled();
244388
244388
  let scriptPath;
244389
244389
  let tempFile = null;
244390
- const isStdinPipe = !process.stdin.isTTY;
244391
244390
  const hasFile = scriptArg !== undefined;
244392
244391
  const hasEval = options8.eval !== undefined;
244393
- const modeCount = [hasFile, hasEval, isStdinPipe].filter(Boolean).length;
244394
- if (modeCount === 0) {
244392
+ const isStdinPipe = !hasFile && !hasEval && !process.stdin.isTTY;
244393
+ if (hasFile && hasEval) {
244394
+ throw new InvalidInputError("Cannot use both a file path and -e flag. Provide only one input mode.");
244395
+ }
244396
+ if (!hasFile && !hasEval && !isStdinPipe) {
244395
244397
  throw new InvalidInputError("No script provided. Pass a file path, use -e for inline code, or pipe from stdin.", {
244396
244398
  hints: [
244397
244399
  { message: "File: base44 exec ./script.ts" },
@@ -244400,9 +244402,6 @@ async function execAction(scriptArg, options8, extraArgs) {
244400
244402
  ]
244401
244403
  });
244402
244404
  }
244403
- if (modeCount > 1) {
244404
- throw new InvalidInputError("Multiple input modes detected. Provide only one of: file path, -e flag, or stdin.");
244405
- }
244406
244405
  if (hasFile) {
244407
244406
  scriptPath = `file://${resolve6(scriptArg)}`;
244408
244407
  } else {
@@ -244419,9 +244418,11 @@ async function execAction(scriptArg, options8, extraArgs) {
244419
244418
  } catch (error48) {
244420
244419
  throw await ApiError.fromHttpError(error48, "exchanging platform token for app user token");
244421
244420
  }
244421
+ const tempWrapper = join16(tmpdir2(), `base44-exec-wrapper-${Date.now()}.js`);
244422
+ copyFileSync(EXEC_WRAPPER_PATH, tempWrapper);
244422
244423
  try {
244423
244424
  const exitCode = await new Promise((resolvePromise) => {
244424
- const child = spawn3("deno", ["run", "--allow-all", EXEC_WRAPPER_PATH, ...extraArgs], {
244425
+ const child = spawn3("deno", ["run", "--allow-all", "--node-modules-dir=auto", tempWrapper, ...extraArgs], {
244425
244426
  env: {
244426
244427
  ...process.env,
244427
244428
  SCRIPT_PATH: scriptPath,
@@ -244439,10 +244440,12 @@ async function execAction(scriptArg, options8, extraArgs) {
244439
244440
  process.exitCode = exitCode;
244440
244441
  }
244441
244442
  } finally {
244442
- if (tempFile) {
244443
- try {
244444
- unlinkSync(tempFile);
244445
- } catch {}
244443
+ for (const f7 of [tempFile, tempWrapper]) {
244444
+ if (f7) {
244445
+ try {
244446
+ unlinkSync(f7);
244447
+ } catch {}
244448
+ }
244446
244449
  }
244447
244450
  }
244448
244451
  return {};
@@ -248810,4 +248813,4 @@ export {
248810
248813
  CLIExitError
248811
248814
  };
248812
248815
 
248813
- //# debugId=2C074684B8F8F66564756E2164756E21
248816
+ //# debugId=D8A2BAE36472B6C264756E2164756E21