@zuplo/cli 6.38.9 → 6.38.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.
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/compile/handler.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE,SAAS,iBA6E5C"}
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/compile/handler.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE,SAAS,iBA2E5C"}
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/compile/handler.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EACL,aAAa,EACb,oCAAoC,EACpC,yBAAyB,EACzB,qCAAqC,GACtC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAUhE,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAe;IAC3C,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAMzE,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAC9B,mCAAmC,EACnC,MAAM,CAAC,IAAI,CAAC,GAAG,CAChB,CAAC;IACF,IAAI,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACjC,MAAM,CACJ,gBAAgB,EAChB,IAAI,CAAC,eAAe,EAAE,6BAA6B,CAAC,EACpD;YACE,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,IAAI;SAClB,CACF,CAAC;IACJ,CAAC;IAGD,OAAO,CAAC,GAAG,CAAC,sBAAsB,GAAG,aAAa,CAChD,IAAI,GAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAC/C,CAAC;IAGF,IAAI,QAAQ,GAA6B,EAAE,CAAC;IAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;IACzD,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;QAC5C,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAQD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAE7C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;IAE1B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,UAAU,EAAE,CAAC;IAEjD,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,oBAAoB,CAAC;YAC9B,OAAO;YACP,MAAM,EAAE,IAAI,aAAa,EAAE;YAC3B,eAAe;YACf,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC;YAC/B,IAAI,EAAE,OAAO;YACb,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC;YAC/B,+BAA+B,EAAE,QAAQ;gBACvC,CAAC,CAAC;oBACE,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;oBAC/C,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;oBAC/C,sBAAsB,EAAE,QAAQ,CAAC,sBAAsB;iBACxD;gBACH,CAAC;oBACC,SAAS;YACb,MAAM;YACN,kBAAkB;SACnB,CAAC,CAAC;QAEH,yBAAyB,CAAC,yCAAyC,CAAC,CAAC;QACrE,MAAM,qCAAqC,CACzC,8BAA8B,eAAe,SAAS,IAAI,CAAC,aAAa,CAAC,EAAE,CAC5E,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,yBAAyB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,oCAAoC,CACxC,kCAAkC,CACnC,CAAC;IACJ,CAAC;AACH,CAAC","sourcesContent":["/* eslint-disable node/no-process-env */\nimport dotenv from \"dotenv\";\nimport { randomUUID } from \"node:crypto\";\nimport { cpSync, existsSync, readFileSync } from \"node:fs\";\nimport { join, relative, resolve } from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\nimport { logger } from \"../common/logger.js\";\nimport {\n ConsoleOutput,\n printCriticalFailureToConsoleAndExit,\n printDiagnosticsToConsole,\n printResultToConsoleAndExitGracefully,\n} from \"../common/output.js\";\nimport { handleRuntimeStdio } from \"../common/worker-output.js\";\n\nexport interface Arguments {\n dir: string;\n \"bundled-dir\": string;\n port: number;\n \"binary-name\": string;\n \"build-id\": string;\n}\n\nexport async function compile(argv: Arguments) {\n const sourceDirectory = resolve(join(relative(process.cwd(), argv.dir)));\n\n // When we build, we MIGHT need to use the @zuplo/runtime from the node_modules if the user\n // has installed our packages using https://www.npmjs.com/package/zuplo in a global directory\n\n // Try to copy the @zuplo/runtime locally\n const zuploRuntimePath = new URL(\n \"../../node_modules/@zuplo/runtime\",\n import.meta.url\n );\n if (existsSync(zuploRuntimePath)) {\n cpSync(\n zuploRuntimePath,\n join(sourceDirectory, \"node_modules/@zuplo/runtime\"),\n {\n recursive: true,\n dereference: true,\n }\n );\n }\n\n // Set GLOBAL_MODULE_LOCATION to the location of the CLIs node_modules\n process.env.GLOBAL_MODULE_LOCATION = fileURLToPath(\n new URL(\"../../node_modules\", import.meta.url)\n );\n\n // Check if the user has a .env.zuplo file\n let envZuplo: dotenv.DotenvParseOutput = {};\n const envZuploFile = join(sourceDirectory, \".env.zuplo\");\n if (existsSync(envZuploFile)) {\n const contents = readFileSync(envZuploFile);\n envZuplo = dotenv.parse(contents);\n }\n // Set other variables using __ZUPLO_CONFIG as necessary\n // const config = {\n // build_asserts_url should point to something that is accessible outside the binary (it no longer has access to the file system)\n // build_assets_url: pathToFileURL(sourceDirectory),\n // };\n // process.env.__ZUPLO_CONFIG = btoa(JSON.stringify(config));\n // Use a dynamic import so that setting process.env has effect\n const core = await import(\"@zuplo/core/cli\");\n\n const zupPort = argv.port;\n\n const buildId = argv[\"build-id\"] || randomUUID();\n\n try {\n await core.compileWorkerdServer({\n buildId,\n output: new ConsoleOutput(),\n sourceDirectory,\n bundledDir: argv[\"bundled-dir\"],\n port: zupPort,\n binaryName: argv[\"binary-name\"],\n publicZuploEnvironmentVariables: envZuplo\n ? {\n ZUPLO_ACCOUNT_NAME: envZuplo.ZUPLO_ACCOUNT_NAME,\n ZUPLO_PROJECT_NAME: envZuplo.ZUPLO_PROJECT_NAME,\n ZUPLO_ENVIRONMENT_TYPE: envZuplo.ZUPLO_ENVIRONMENT_TYPE,\n }\n : // Leave this as undefined to simulate the old behavior\n undefined,\n logger,\n handleRuntimeStdio,\n });\n\n printDiagnosticsToConsole(\"📦 Compiled a self-contained zup binary\");\n await printResultToConsoleAndExitGracefully(\n `The binary is available at ${sourceDirectory}/dist/${argv[\"binary-name\"]}`\n );\n } catch (err) {\n printDiagnosticsToConsole(err.message);\n await printCriticalFailureToConsoleAndExit(\n \"Failed to compile the zup binary\"\n );\n }\n}\n"]}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/compile/handler.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EACL,aAAa,EACb,oCAAoC,EACpC,yBAAyB,EACzB,qCAAqC,GACtC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAUhE,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAe;IAC3C,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAMzE,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAC9B,mCAAmC,EACnC,MAAM,CAAC,IAAI,CAAC,GAAG,CAChB,CAAC;IACF,IAAI,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACjC,MAAM,CACJ,gBAAgB,EAChB,IAAI,CAAC,eAAe,EAAE,6BAA6B,CAAC,EACpD;YACE,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,IAAI;SAClB,CACF,CAAC;IACJ,CAAC;IAGD,OAAO,CAAC,GAAG,CAAC,sBAAsB,GAAG,aAAa,CAChD,IAAI,GAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAC/C,CAAC;IAGF,IAAI,QAAQ,GAA6B,EAAE,CAAC;IAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;IACzD,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;QAC5C,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAMD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAE7C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;IAE1B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,UAAU,EAAE,CAAC;IAEjD,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,oBAAoB,CAAC;YAC9B,OAAO;YACP,MAAM,EAAE,IAAI,aAAa,EAAE;YAC3B,eAAe;YACf,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC;YAC/B,IAAI,EAAE,OAAO;YACb,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC;YAC/B,+BAA+B,EAAE,QAAQ;gBACvC,CAAC,CAAC;oBACE,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;oBAC/C,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;oBAC/C,sBAAsB,EAAE,QAAQ,CAAC,sBAAsB;iBACxD;gBACH,CAAC;oBACC,SAAS;YACb,MAAM;YACN,kBAAkB;SACnB,CAAC,CAAC;QAEH,yBAAyB,CAAC,yCAAyC,CAAC,CAAC;QACrE,MAAM,qCAAqC,CACzC,8BAA8B,eAAe,SAAS,IAAI,CAAC,aAAa,CAAC,EAAE,CAC5E,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,yBAAyB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,oCAAoC,CACxC,kCAAkC,CACnC,CAAC;IACJ,CAAC;AACH,CAAC","sourcesContent":["/* eslint-disable node/no-process-env */\nimport dotenv from \"dotenv\";\nimport { randomUUID } from \"node:crypto\";\nimport { cpSync, existsSync, readFileSync } from \"node:fs\";\nimport { join, relative, resolve } from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\nimport { logger } from \"../common/logger.js\";\nimport {\n ConsoleOutput,\n printCriticalFailureToConsoleAndExit,\n printDiagnosticsToConsole,\n printResultToConsoleAndExitGracefully,\n} from \"../common/output.js\";\nimport { handleRuntimeStdio } from \"../common/worker-output.js\";\n\nexport interface Arguments {\n dir: string;\n \"bundled-dir\": string;\n port: number;\n \"binary-name\": string;\n \"build-id\": string;\n}\n\nexport async function compile(argv: Arguments) {\n const sourceDirectory = resolve(join(relative(process.cwd(), argv.dir)));\n\n // When we build, we MIGHT need to use the @zuplo/runtime from the node_modules if the user\n // has installed our packages using https://www.npmjs.com/package/zuplo in a global directory\n\n // Try to copy the @zuplo/runtime locally\n const zuploRuntimePath = new URL(\n \"../../node_modules/@zuplo/runtime\",\n import.meta.url\n );\n if (existsSync(zuploRuntimePath)) {\n cpSync(\n zuploRuntimePath,\n join(sourceDirectory, \"node_modules/@zuplo/runtime\"),\n {\n recursive: true,\n dereference: true,\n }\n );\n }\n\n // Set GLOBAL_MODULE_LOCATION to the location of the CLIs node_modules\n process.env.GLOBAL_MODULE_LOCATION = fileURLToPath(\n new URL(\"../../node_modules\", import.meta.url)\n );\n\n // Check if the user has a .env.zuplo file\n let envZuplo: dotenv.DotenvParseOutput = {};\n const envZuploFile = join(sourceDirectory, \".env.zuplo\");\n if (existsSync(envZuploFile)) {\n const contents = readFileSync(envZuploFile);\n envZuplo = dotenv.parse(contents);\n }\n // Set other variables using __ZUPLO_CONFIG as necessary\n // const config = {\n // };\n // process.env.__ZUPLO_CONFIG = btoa(JSON.stringify(config));\n // Use a dynamic import so that setting process.env has effect\n const core = await import(\"@zuplo/core/cli\");\n\n const zupPort = argv.port;\n\n const buildId = argv[\"build-id\"] || randomUUID();\n\n try {\n await core.compileWorkerdServer({\n buildId,\n output: new ConsoleOutput(),\n sourceDirectory,\n bundledDir: argv[\"bundled-dir\"],\n port: zupPort,\n binaryName: argv[\"binary-name\"],\n publicZuploEnvironmentVariables: envZuplo\n ? {\n ZUPLO_ACCOUNT_NAME: envZuplo.ZUPLO_ACCOUNT_NAME,\n ZUPLO_PROJECT_NAME: envZuplo.ZUPLO_PROJECT_NAME,\n ZUPLO_ENVIRONMENT_TYPE: envZuplo.ZUPLO_ENVIRONMENT_TYPE,\n }\n : // Leave this as undefined to simulate the old behavior\n undefined,\n logger,\n handleRuntimeStdio,\n });\n\n printDiagnosticsToConsole(\"📦 Compiled a self-contained zup binary\");\n await printResultToConsoleAndExitGracefully(\n `The binary is available at ${sourceDirectory}/dist/${argv[\"binary-name\"]}`\n );\n } catch (err) {\n printDiagnosticsToConsole(err.message);\n await printCriticalFailureToConsoleAndExit(\n \"Failed to compile the zup binary\"\n );\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/dev/handler.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE,OAAO,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,GAAG,CAAC,IAAI,EAAE,SAAS,iBAiKxC"}
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/dev/handler.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE,OAAO,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,GAAG,CAAC,IAAI,EAAE,SAAS,iBAgKxC"}
@@ -2,7 +2,7 @@ import dotenv from "dotenv";
2
2
  import { randomUUID } from "node:crypto";
3
3
  import { cpSync, existsSync, readFileSync } from "node:fs";
4
4
  import { join, relative, resolve } from "node:path";
5
- import { fileURLToPath, pathToFileURL } from "node:url";
5
+ import { fileURLToPath } from "node:url";
6
6
  import { logger } from "../common/logger.js";
7
7
  import { ConsoleOutput, printCriticalFailureToConsoleAndExit, printDiagnosticsToConsole, } from "../common/output.js";
8
8
  import { isPortAvailable } from "../common/utils/ports.js";
@@ -30,10 +30,6 @@ export async function dev(argv) {
30
30
  envZuplo = dotenv.parse(contents);
31
31
  loadedEnvFiles.push(".env.zuplo");
32
32
  }
33
- const config = {
34
- build_assets_url: pathToFileURL(sourceDirectory),
35
- };
36
- process.env.__ZUPLO_CONFIG = btoa(JSON.stringify(config));
37
33
  process.env.ZUPLO_IS_LOCAL_DEVELOPMENT = "true";
38
34
  const core = await import("@zuplo/core/cli");
39
35
  const zupPort = argv.port;
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/dev/handler.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable node/no-process-env */\nimport dotenv from \"dotenv\";\nimport { randomUUID } from \"node:crypto\";\nimport { cpSync, existsSync, readFileSync } from \"node:fs\";\nimport { join, relative, resolve } from \"node:path\";\nimport { fileURLToPath, pathToFileURL } from \"node:url\";\nimport { logger } from \"../common/logger.js\";\nimport {\n ConsoleOutput,\n printCriticalFailureToConsoleAndExit,\n printDiagnosticsToConsole,\n} from \"../common/output.js\";\nimport { isPortAvailable } from \"../common/utils/ports.js\";\nimport { handleRuntimeStdio } from \"../common/worker-output.js\";\nimport { ApiServer } from \"../editor/server/server.js\";\n\nexport interface Arguments {\n dir: string;\n \"start-editor\": boolean;\n port: number;\n editorPort: number;\n debugPort?: number;\n}\n\nexport async function dev(argv: Arguments) {\n const sourceDirectory = resolve(join(relative(process.cwd(), argv.dir)));\n\n // When we build, we MIGHT need to use the @zuplo/runtime from the node_modules if the user\n // has installed our packages using https://www.npmjs.com/package/zuplo in a global directory\n\n // Try to copy the @zuplo/runtime locally\n const zuploRuntimePath = new URL(\n \"../../node_modules/@zuplo/runtime\",\n import.meta.url\n );\n if (existsSync(zuploRuntimePath)) {\n cpSync(\n zuploRuntimePath,\n join(sourceDirectory, \"node_modules/@zuplo/runtime\"),\n {\n recursive: true,\n dereference: true,\n }\n );\n }\n\n // Set GLOBAL_MODULE_LOCATION to the location of the CLIs node_modules\n process.env.GLOBAL_MODULE_LOCATION = fileURLToPath(\n new URL(\"../../node_modules\", import.meta.url)\n );\n\n const loadedEnvFiles: string[] = [];\n\n // Check if the user has a .env file\n const envFile = join(sourceDirectory, \".env\");\n if (existsSync(envFile)) {\n loadedEnvFiles.push(\".env\");\n }\n\n // Check if the user has a .env.zuplo file\n let envZuplo: dotenv.DotenvParseOutput | undefined;\n const envZuploFile = join(sourceDirectory, \".env.zuplo\");\n if (existsSync(envZuploFile)) {\n const contents = readFileSync(envZuploFile);\n envZuplo = dotenv.parse(contents);\n loadedEnvFiles.push(\".env.zuplo\");\n }\n\n // Set other variables using __ZUPLO_CONFIG\n const config = {\n build_assets_url: pathToFileURL(sourceDirectory),\n };\n process.env.__ZUPLO_CONFIG = btoa(JSON.stringify(config));\n process.env.ZUPLO_IS_LOCAL_DEVELOPMENT = \"true\";\n\n // Use a dynamic import so that setting process.env has effect\n const core = await import(\"@zuplo/core/cli\");\n\n const zupPort = argv.port;\n const zupEditorPort = argv.editorPort;\n const zupDebugPort = argv.debugPort;\n\n const isZupPortAvailable = await isPortAvailable(\"localhost\", zupPort);\n if (!isZupPortAvailable) {\n await printCriticalFailureToConsoleAndExit(\n `Port ${zupPort} is already in use. Please specify a different port using --port.`\n );\n }\n\n const isZupEditorPortAvailable = await isPortAvailable(\n \"localhost\",\n zupEditorPort\n );\n if (!isZupEditorPortAvailable) {\n await printCriticalFailureToConsoleAndExit(\n `Port ${zupEditorPort} is already in use. Please specify a different port using --editor-port.`\n );\n }\n\n if (zupDebugPort) {\n const isZupDebugPortAvailable = await isPortAvailable(\n \"localhost\",\n zupDebugPort\n );\n if (!isZupDebugPortAvailable) {\n await printCriticalFailureToConsoleAndExit(\n `Port ${zupDebugPort} is already in use. Please specify a different port using --debug-port.`\n );\n }\n }\n\n const buildId = randomUUID();\n\n let firstLoad = true;\n\n await core.startDevServer({\n buildId,\n output: new ConsoleOutput(),\n sourceDirectory,\n port: zupPort,\n debugPort: argv.debugPort ?? undefined,\n publicZuploEnvironmentVariables: envZuplo\n ? {\n ZUPLO_ACCOUNT_NAME: envZuplo.ZUPLO_ACCOUNT_NAME,\n ZUPLO_PROJECT_NAME: envZuplo.ZUPLO_PROJECT_NAME,\n ZUPLO_ENVIRONMENT_TYPE: envZuplo.ZUPLO_ENVIRONMENT_TYPE,\n }\n : // Leave this as undefined to simulate the old behavior\n undefined,\n logger,\n handleRuntimeStdio,\n onReload: () => {\n if (firstLoad) {\n firstLoad = false;\n } else {\n printDiagnosticsToConsole(\"Code changed. Server reloaded...\");\n }\n },\n });\n\n let editor: ApiServer;\n\n if (argv[\"start-editor\"]) {\n editor = new ApiServer({\n cliArgs: argv,\n workingDir: sourceDirectory,\n port: argv.editorPort,\n isStandalone: false,\n });\n editor.start().catch((err) => logger.error(err));\n }\n\n printDiagnosticsToConsole(\"Started local development setup\");\n printDiagnosticsToConsole(\"Ctrl+C to exit\");\n printDiagnosticsToConsole(\"\");\n printDiagnosticsToConsole(`🚀 Zuplo Gateway: http://localhost:${zupPort}`);\n if (argv[\"start-editor\"]) {\n printDiagnosticsToConsole(\n `📘 Route Designer: http://localhost:${argv.editorPort}`\n );\n }\n if (loadedEnvFiles.length > 0) {\n printDiagnosticsToConsole(\n `⚙️ Loaded env files: \\n - ${loadedEnvFiles.join(\" \\n - \")}`\n );\n }\n printDiagnosticsToConsole(\"\");\n printDiagnosticsToConsole(\"\");\n\n return new Promise<void>((resolve) => {\n async function exit() {\n printDiagnosticsToConsole(\"\");\n printDiagnosticsToConsole(\"Stopping local development server...\");\n\n if (argv[\"start-editor\"]) {\n await editor.close();\n }\n resolve();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n process.on(\"SIGTERM\", exit);\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n process.on(\"SIGINT\", exit);\n });\n}\n"]}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/dev/handler.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable node/no-process-env */\nimport dotenv from \"dotenv\";\nimport { randomUUID } from \"node:crypto\";\nimport { cpSync, existsSync, readFileSync } from \"node:fs\";\nimport { join, relative, resolve } from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\nimport { logger } from \"../common/logger.js\";\nimport {\n ConsoleOutput,\n printCriticalFailureToConsoleAndExit,\n printDiagnosticsToConsole,\n} from \"../common/output.js\";\nimport { isPortAvailable } from \"../common/utils/ports.js\";\nimport { handleRuntimeStdio } from \"../common/worker-output.js\";\nimport { ApiServer } from \"../editor/server/server.js\";\n\nexport interface Arguments {\n dir: string;\n \"start-editor\": boolean;\n port: number;\n editorPort: number;\n debugPort?: number;\n}\n\nexport async function dev(argv: Arguments) {\n const sourceDirectory = resolve(join(relative(process.cwd(), argv.dir)));\n\n // When we build, we MIGHT need to use the @zuplo/runtime from the node_modules if the user\n // has installed our packages using https://www.npmjs.com/package/zuplo in a global directory\n\n // Try to copy the @zuplo/runtime locally\n const zuploRuntimePath = new URL(\n \"../../node_modules/@zuplo/runtime\",\n import.meta.url\n );\n if (existsSync(zuploRuntimePath)) {\n cpSync(\n zuploRuntimePath,\n join(sourceDirectory, \"node_modules/@zuplo/runtime\"),\n {\n recursive: true,\n dereference: true,\n }\n );\n }\n\n // Set GLOBAL_MODULE_LOCATION to the location of the CLIs node_modules\n process.env.GLOBAL_MODULE_LOCATION = fileURLToPath(\n new URL(\"../../node_modules\", import.meta.url)\n );\n\n const loadedEnvFiles: string[] = [];\n\n // Check if the user has a .env file\n const envFile = join(sourceDirectory, \".env\");\n if (existsSync(envFile)) {\n loadedEnvFiles.push(\".env\");\n }\n\n // Check if the user has a .env.zuplo file\n let envZuplo: dotenv.DotenvParseOutput | undefined;\n const envZuploFile = join(sourceDirectory, \".env.zuplo\");\n if (existsSync(envZuploFile)) {\n const contents = readFileSync(envZuploFile);\n envZuplo = dotenv.parse(contents);\n loadedEnvFiles.push(\".env.zuplo\");\n }\n\n // Set other variables using __ZUPLO_CONFIG as necessary\n // const config = {\n // };\n // process.env.__ZUPLO_CONFIG = btoa(JSON.stringify(config));\n process.env.ZUPLO_IS_LOCAL_DEVELOPMENT = \"true\";\n\n // Use a dynamic import so that setting process.env has effect\n const core = await import(\"@zuplo/core/cli\");\n\n const zupPort = argv.port;\n const zupEditorPort = argv.editorPort;\n const zupDebugPort = argv.debugPort;\n\n const isZupPortAvailable = await isPortAvailable(\"localhost\", zupPort);\n if (!isZupPortAvailable) {\n await printCriticalFailureToConsoleAndExit(\n `Port ${zupPort} is already in use. Please specify a different port using --port.`\n );\n }\n\n const isZupEditorPortAvailable = await isPortAvailable(\n \"localhost\",\n zupEditorPort\n );\n if (!isZupEditorPortAvailable) {\n await printCriticalFailureToConsoleAndExit(\n `Port ${zupEditorPort} is already in use. Please specify a different port using --editor-port.`\n );\n }\n\n if (zupDebugPort) {\n const isZupDebugPortAvailable = await isPortAvailable(\n \"localhost\",\n zupDebugPort\n );\n if (!isZupDebugPortAvailable) {\n await printCriticalFailureToConsoleAndExit(\n `Port ${zupDebugPort} is already in use. Please specify a different port using --debug-port.`\n );\n }\n }\n\n const buildId = randomUUID();\n\n let firstLoad = true;\n\n await core.startDevServer({\n buildId,\n output: new ConsoleOutput(),\n sourceDirectory,\n port: zupPort,\n debugPort: argv.debugPort ?? undefined,\n publicZuploEnvironmentVariables: envZuplo\n ? {\n ZUPLO_ACCOUNT_NAME: envZuplo.ZUPLO_ACCOUNT_NAME,\n ZUPLO_PROJECT_NAME: envZuplo.ZUPLO_PROJECT_NAME,\n ZUPLO_ENVIRONMENT_TYPE: envZuplo.ZUPLO_ENVIRONMENT_TYPE,\n }\n : // Leave this as undefined to simulate the old behavior\n undefined,\n logger,\n handleRuntimeStdio,\n onReload: () => {\n if (firstLoad) {\n firstLoad = false;\n } else {\n printDiagnosticsToConsole(\"Code changed. Server reloaded...\");\n }\n },\n });\n\n let editor: ApiServer;\n\n if (argv[\"start-editor\"]) {\n editor = new ApiServer({\n cliArgs: argv,\n workingDir: sourceDirectory,\n port: argv.editorPort,\n isStandalone: false,\n });\n editor.start().catch((err) => logger.error(err));\n }\n\n printDiagnosticsToConsole(\"Started local development setup\");\n printDiagnosticsToConsole(\"Ctrl+C to exit\");\n printDiagnosticsToConsole(\"\");\n printDiagnosticsToConsole(`🚀 Zuplo Gateway: http://localhost:${zupPort}`);\n if (argv[\"start-editor\"]) {\n printDiagnosticsToConsole(\n `📘 Route Designer: http://localhost:${argv.editorPort}`\n );\n }\n if (loadedEnvFiles.length > 0) {\n printDiagnosticsToConsole(\n `⚙️ Loaded env files: \\n - ${loadedEnvFiles.join(\" \\n - \")}`\n );\n }\n printDiagnosticsToConsole(\"\");\n printDiagnosticsToConsole(\"\");\n\n return new Promise<void>((resolve) => {\n async function exit() {\n printDiagnosticsToConsole(\"\");\n printDiagnosticsToConsole(\"Stopping local development server...\");\n\n if (argv[\"start-editor\"]) {\n await editor.close();\n }\n resolve();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n process.on(\"SIGTERM\", exit);\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n process.on(\"SIGINT\", exit);\n });\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zuplo/cli",
3
- "version": "6.38.9",
3
+ "version": "6.38.13",
4
4
  "repository": "https://github.com/zuplo/zuplo",
5
5
  "author": "Zuplo, Inc.",
6
6
  "type": "module",
@@ -29,8 +29,8 @@
29
29
  "@opentelemetry/api": "^1.8.0",
30
30
  "@sentry/node": "^8.50.0",
31
31
  "@swc/core": "1.7.22",
32
- "@zuplo/core": "^6.38.9",
33
- "@zuplo/runtime": "^6.38.9",
32
+ "@zuplo/core": "^6.38.13",
33
+ "@zuplo/runtime": "^6.38.13",
34
34
  "as-table": "^1.0.55",
35
35
  "chalk": "^5.3.0",
36
36
  "chokidar": "^3.5.3",