@edge-base/cli 0.2.7 → 0.2.9

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.
Files changed (53) hide show
  1. package/dist/commands/build-app.d.ts +3 -0
  2. package/dist/commands/build-app.d.ts.map +1 -0
  3. package/dist/commands/build-app.js +45 -0
  4. package/dist/commands/build-app.js.map +1 -0
  5. package/dist/commands/deploy.d.ts.map +1 -1
  6. package/dist/commands/deploy.js +14 -14
  7. package/dist/commands/deploy.js.map +1 -1
  8. package/dist/commands/dev.d.ts.map +1 -1
  9. package/dist/commands/dev.js +43 -36
  10. package/dist/commands/dev.js.map +1 -1
  11. package/dist/commands/docker.d.ts +5 -0
  12. package/dist/commands/docker.d.ts.map +1 -1
  13. package/dist/commands/docker.js +83 -5
  14. package/dist/commands/docker.js.map +1 -1
  15. package/dist/commands/pack.d.ts +3 -0
  16. package/dist/commands/pack.d.ts.map +1 -0
  17. package/dist/commands/pack.js +117 -0
  18. package/dist/commands/pack.js.map +1 -0
  19. package/dist/index.js +6 -2
  20. package/dist/index.js.map +1 -1
  21. package/dist/lib/app-bundle.d.ts +48 -0
  22. package/dist/lib/app-bundle.d.ts.map +1 -0
  23. package/dist/lib/app-bundle.js +240 -0
  24. package/dist/lib/app-bundle.js.map +1 -0
  25. package/dist/lib/deploy-shared.d.ts +4 -0
  26. package/dist/lib/deploy-shared.d.ts.map +1 -1
  27. package/dist/lib/deploy-shared.js +40 -8
  28. package/dist/lib/deploy-shared.js.map +1 -1
  29. package/dist/lib/frontend-config.d.ts +7 -0
  30. package/dist/lib/frontend-config.d.ts.map +1 -0
  31. package/dist/lib/frontend-config.js +8 -0
  32. package/dist/lib/frontend-config.js.map +1 -0
  33. package/dist/lib/function-registry.d.ts +1 -0
  34. package/dist/lib/function-registry.d.ts.map +1 -1
  35. package/dist/lib/function-registry.js +3 -1
  36. package/dist/lib/function-registry.js.map +1 -1
  37. package/dist/lib/managed-resource-names.d.ts +2 -0
  38. package/dist/lib/managed-resource-names.d.ts.map +1 -1
  39. package/dist/lib/managed-resource-names.js +19 -1
  40. package/dist/lib/managed-resource-names.js.map +1 -1
  41. package/dist/lib/node-tools.d.ts +3 -1
  42. package/dist/lib/node-tools.d.ts.map +1 -1
  43. package/dist/lib/node-tools.js +2 -2
  44. package/dist/lib/node-tools.js.map +1 -1
  45. package/dist/lib/pack.d.ts +102 -0
  46. package/dist/lib/pack.d.ts.map +1 -0
  47. package/dist/lib/pack.js +1047 -0
  48. package/dist/lib/pack.js.map +1 -0
  49. package/dist/lib/runtime-scaffold.d.ts +43 -3
  50. package/dist/lib/runtime-scaffold.d.ts.map +1 -1
  51. package/dist/lib/runtime-scaffold.js +455 -38
  52. package/dist/lib/runtime-scaffold.js.map +1 -1
  53. package/package.json +7 -4
@@ -10,7 +10,7 @@ import { loadConfigSafe } from '../lib/load-config.js';
10
10
  import { checkWranglerAuth } from '../lib/cf-auth.js';
11
11
  import { parseDevVars } from '../lib/dev-sidecar.js';
12
12
  import { writeLocalSecrets } from '../lib/local-secrets.js';
13
- import { ensureLocalWranglerToml, ensureRuntimeScaffold, getRuntimeServerSrcDir, resolveWranglerCommand, writeRuntimeConfigShim, } from '../lib/runtime-scaffold.js';
13
+ import { resolveWranglerCommand, } from '../lib/runtime-scaffold.js';
14
14
  import { resolveLocalDevBindings } from '../lib/project-runtime.js';
15
15
  import { generateFunctionRegistry, scanFunctions, validateRouteNames, } from '../lib/function-registry.js';
16
16
  import { extractDatabases, generateTempWranglerToml, } from '../lib/deploy-shared.js';
@@ -18,6 +18,7 @@ import { buildSnapshot, loadSnapshot, detectDestructiveChanges, filterAutoPassCh
18
18
  import { dumpCurrentData, restoreToNewProvider, promptMigration, } from '../lib/migrator.js';
19
19
  import { isCliStructuredError, raiseCliError } from '../lib/agent-contract.js';
20
20
  import { isNonInteractive } from '../lib/cli-context.js';
21
+ import { createAppBundle, syncAppBundle } from '../lib/app-bundle.js';
21
22
  const FULL_CONFIG_EVAL = { allowRegexFallback: false };
22
23
  const DEFAULT_DEV_PORT = 8787;
23
24
  const DEFAULT_WRANGLER_INSPECTOR_PORT = 9231;
@@ -544,6 +545,8 @@ export const devCommand = new Command('dev')
544
545
  const projectDir = resolve('.');
545
546
  const configPath = join(projectDir, 'edgebase.config.ts');
546
547
  const configDir = join(projectDir, 'config');
548
+ const devBundleOutput = join('.edgebase', 'targets', 'dev-app');
549
+ let devBundleDir = resolve(projectDir, devBundleOutput);
547
550
  if (!existsSync(configPath)) {
548
551
  raiseCliError({
549
552
  code: 'dev_config_not_found',
@@ -606,12 +609,16 @@ export const devCommand = new Command('dev')
606
609
  const label = generatedDevSecrets.generatedKeys.length === 1 ? 'secret' : 'secrets';
607
610
  console.log(chalk.green('✓'), `Generated missing local JWT ${label} in ${generatedDevSecrets.primaryPath.replace(`${projectDir}/`, '')}`);
608
611
  }
609
- ensureRuntimeScaffold(projectDir);
610
- ensureLocalWranglerToml(projectDir);
611
612
  // Display release mode
612
613
  try {
613
- syncDevEnvToProcess(projectDir);
614
+ const envValues = syncDevEnvToProcess(projectDir);
614
615
  const config = loadConfigSafe(configPath, projectDir, FULL_CONFIG_EVAL);
616
+ const initialBundle = createAppBundle(projectDir, {
617
+ outputDir: devBundleOutput,
618
+ overwrite: true,
619
+ injectedEnv: envValues,
620
+ });
621
+ devBundleDir = initialBundle.outputDir;
615
622
  if (config.release) {
616
623
  console.log(chalk.yellow('🔒'), 'Release mode (release: true) — local dev enforces explicit access rules.');
617
624
  console.log(chalk.dim(' Add public.* and access.* rules to match production behavior and avoid unexpected access-denied errors.'));
@@ -620,6 +627,7 @@ export const devCommand = new Command('dev')
620
627
  console.log(chalk.green('🔓'), 'Development mode (release: false) — missing access rules fall back to allow-by-default locally.');
621
628
  console.log(chalk.dim(' This is dev-only behavior. Add explicit public.* and access.* rules to preview production behavior and silence fallback warnings.'));
622
629
  }
630
+ console.log(chalk.dim(` Bundle: ${relative(projectDir, devBundleDir) || devBundleDir}`));
623
631
  checkWranglerAuth(projectDir);
624
632
  }
625
633
  catch (err) {
@@ -633,11 +641,22 @@ export const devCommand = new Command('dev')
633
641
  console.error(chalk.dim(' → Fix the config file; dev server will retry on save.'));
634
642
  }
635
643
  console.log();
636
- // ─── Initial Build: Functions + Config ───
637
- // Plugin functions are registered at runtime from config.plugins[] (Explicit Import Pattern).
638
644
  const functionsDir = join(projectDir, 'functions');
639
- const serverSrcDir = getRuntimeServerSrcDir(projectDir);
640
- const registryPath = join(serverSrcDir, '_functions-registry.ts');
645
+ const syncDevBundle = () => {
646
+ const envValues = syncDevEnvToProcess(projectDir);
647
+ try {
648
+ const result = syncAppBundle(projectDir, devBundleDir, {
649
+ injectedEnv: envValues,
650
+ });
651
+ devBundleDir = result.outputDir;
652
+ return true;
653
+ }
654
+ catch (err) {
655
+ console.error(chalk.red('✗'), 'App bundle refresh failed:', err.message?.split('\n')[0] ?? 'Unknown app bundle error.');
656
+ console.log(chalk.dim(` → Check ${configPath} and the frontend/functions inputs, then save again.`));
657
+ return false;
658
+ }
659
+ };
641
660
  let configDebounce = null;
642
661
  let wranglerProcess = null;
643
662
  let lastConfigSignature = getPathSignature(configPath);
@@ -650,9 +669,6 @@ export const devCommand = new Command('dev')
650
669
  let pendingDevRestore = null;
651
670
  let interruptionSignal = null;
652
671
  let sessionSettled = false;
653
- rebuildFunctionsRegistry(functionsDir, registryPath);
654
- // Hidden runtime imports edgebase.config.ts directly from the project root.
655
- void rebundleConfig(projectDir, configPath);
656
672
  // ─── Watch: functions/ → 자동 재생성 ───
657
673
  if (existsSync(functionsDir)) {
658
674
  let functionsDebounce = null;
@@ -665,8 +681,10 @@ export const devCommand = new Command('dev')
665
681
  clearTimeout(functionsDebounce);
666
682
  functionsDebounce = setTimeout(() => {
667
683
  console.log();
668
- console.log(chalk.blue('🔄'), `functions/${filename} changed — rebuilding registry...`);
669
- rebuildFunctionsRegistry(functionsDir, registryPath);
684
+ console.log(chalk.blue('🔄'), `functions/${filename} changed — refreshing app bundle...`);
685
+ if (syncDevBundle()) {
686
+ console.log(chalk.green('✓'), 'Dev app bundle refreshed');
687
+ }
670
688
  }, 300);
671
689
  });
672
690
  cleanupHandles.push(watcher);
@@ -732,7 +750,10 @@ export const devCommand = new Command('dev')
732
750
  configDebounce = setTimeout(() => {
733
751
  console.log();
734
752
  console.log(chalk.blue('🔄'), `${label} changed — reloading config...`);
735
- void rebundleConfig(projectDir, configPath).then(async () => {
753
+ if (!syncDevBundle()) {
754
+ return;
755
+ }
756
+ void (async () => {
736
757
  // Schema destructive change detection + provider change migration
737
758
  // Returns true if wrangler was already restarted (reset/migration action)
738
759
  const handled = await checkSchemaChanges(projectDir, configPath, wranglerProcess, resolvedPorts.port, persistence.persistTo, (data) => {
@@ -746,7 +767,7 @@ export const devCommand = new Command('dev')
746
767
  restartRequested = true;
747
768
  void terminateChildProcessTree(wranglerProcess, 'SIGTERM');
748
769
  }
749
- });
770
+ })();
750
771
  }, 500);
751
772
  };
752
773
  let configPathDebounce = null;
@@ -854,13 +875,14 @@ export const devCommand = new Command('dev')
854
875
  // ─── Start wrangler dev (with auto-restart) ───
855
876
  function refreshTempWrangler() {
856
877
  cleanupTempWrangler();
857
- const wranglerPath = join(projectDir, 'wrangler.toml');
858
- if (!existsSync(wranglerPath))
859
- return;
860
878
  let config;
861
879
  try {
862
- syncDevEnvToProcess(projectDir);
880
+ const envValues = syncDevEnvToProcess(projectDir);
863
881
  config = loadConfigSafe(configPath, projectDir, FULL_CONFIG_EVAL);
882
+ const bundle = syncAppBundle(projectDir, devBundleDir, {
883
+ injectedEnv: envValues,
884
+ });
885
+ devBundleDir = bundle.outputDir;
864
886
  }
865
887
  catch (err) {
866
888
  const detail = err.message ?? String(err);
@@ -868,7 +890,7 @@ export const devCommand = new Command('dev')
868
890
  throw new Error(`Failed to evaluate edgebase.config.ts for dev runtime:\n ${firstLine}` +
869
891
  (detail.includes('\n') ? '\n ' + detail.split('\n').slice(1, 5).map(l => l.trim()).filter(Boolean).join('\n ') : ''));
870
892
  }
871
- tempWranglerPath = generateTempWranglerToml(wranglerPath, {
893
+ tempWranglerPath = generateTempWranglerToml(join(devBundleDir, 'wrangler.toml'), {
872
894
  bindings: resolveLocalDevBindings(config),
873
895
  triggerMode: 'preserve',
874
896
  rateLimitBindings: resolveDevRateLimitBindings(),
@@ -910,7 +932,7 @@ export const devCommand = new Command('dev')
910
932
  wranglerArgs.push('--config', tempWranglerPath);
911
933
  }
912
934
  wranglerProcess = spawn(wranglerTool.command, wranglerArgs, {
913
- cwd: projectDir,
935
+ cwd: devBundleDir,
914
936
  stdio: ['inherit', 'inherit', 'pipe'],
915
937
  detached: process.platform !== 'win32',
916
938
  });
@@ -1172,21 +1194,6 @@ export const _devInternals = {
1172
1194
  shouldSuppressWranglerStderrLine,
1173
1195
  filterWranglerStderrChunkForDisplay,
1174
1196
  };
1175
- // ─── Helper: Config Sync ───
1176
- /**
1177
- * Hidden runtime imports edgebase.config.ts directly.
1178
- * Preserve .dev.vars secrets copied from .env.development.
1179
- */
1180
- async function rebundleConfig(projectDir, configPath) {
1181
- const envValues = syncDevEnvToProcess(projectDir);
1182
- try {
1183
- writeRuntimeConfigShim(projectDir, envValues);
1184
- }
1185
- catch (err) {
1186
- console.error(chalk.red('✗'), 'Config sync failed:', err.message?.split('\n')[0] ?? 'Unknown config sync error. Check the filesystem permissions and worker config paths.');
1187
- console.log(chalk.dim(` → Check that ${configPath} is readable and .dev.vars is writable.`));
1188
- }
1189
- }
1190
1197
  /**
1191
1198
  * Check for destructive schema changes and provider changes after config rebundle.
1192
1199
  * In dev mode, snapshot is NOT updated (§5) — only reset action updates it.
@@ -1 +1 @@
1
- {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,12 @@
1
1
  import { Command } from 'commander';
2
+ import { execFileSync } from 'node:child_process';
3
+ declare function isDockerDaemonResponsive(runner?: typeof execFileSync): boolean;
2
4
  declare function findProjectRoot(startDir?: string): string;
3
5
  declare function buildDockerBuildArgs(options: {
4
6
  tag: string;
5
7
  cache: boolean;
6
8
  }): string[];
9
+ declare function prepareDockerBuildContext(projectDir: string, dockerBundleDir: string): string;
7
10
  declare function buildDockerRunArgs(options: {
8
11
  tag: string;
9
12
  port: string;
@@ -16,6 +19,8 @@ export declare const _internals: {
16
19
  findProjectRoot: typeof findProjectRoot;
17
20
  buildDockerBuildArgs: typeof buildDockerBuildArgs;
18
21
  buildDockerRunArgs: typeof buildDockerRunArgs;
22
+ prepareDockerBuildContext: typeof prepareDockerBuildContext;
23
+ isDockerDaemonResponsive: typeof isDockerDaemonResponsive;
19
24
  };
20
25
  export declare const dockerCommand: Command;
21
26
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"docker.d.ts","sourceRoot":"","sources":["../../src/commands/docker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4KpC,iBAAS,eAAe,CAAC,QAAQ,SAAe,GAAG,MAAM,CAkBxD;AAED,iBAAS,oBAAoB,CAAC,OAAO,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,EAAE,CAOhF;AAED,iBAAS,kBAAkB,CAAC,OAAO,EAAE;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,MAAM,EAAE,CAmBX;AAmFD,eAAO,MAAM,UAAU;;;;CAItB,CAAC;AAEF,eAAO,MAAM,aAAa,SACoB,CAAC"}
1
+ {"version":3,"file":"docker.d.ts","sourceRoot":"","sources":["../../src/commands/docker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAS,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAgIzD,iBAAS,wBAAwB,CAC/B,MAAM,GAAE,OAAO,YAA2B,GACzC,OAAO,CAUT;AAqDD,iBAAS,eAAe,CAAC,QAAQ,SAAe,GAAG,MAAM,CAkBxD;AAED,iBAAS,oBAAoB,CAAC,OAAO,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,EAAE,CAOhF;AAsBD,iBAAS,yBAAyB,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,CAkBtF;AAED,iBAAS,kBAAkB,CAAC,OAAO,EAAE;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,MAAM,EAAE,CAmBX;AAmFD,eAAO,MAAM,UAAU;;;;;;CAMtB,CAAC;AAEF,eAAO,MAAM,aAAa,SACoB,CAAC"}
@@ -1,13 +1,14 @@
1
1
  import { Command } from 'commander';
2
- import { spawn, execSync, execFileSync } from 'node:child_process';
3
- import { existsSync, readFileSync, writeFileSync, chmodSync } from 'node:fs';
4
- import { resolve } from 'node:path';
2
+ import { spawn, execFileSync } from 'node:child_process';
3
+ import { copyFileSync, cpSync, existsSync, mkdirSync, readFileSync, rmSync, writeFileSync, chmodSync } from 'node:fs';
4
+ import { join, resolve } from 'node:path';
5
5
  import { randomBytes } from 'node:crypto';
6
6
  import chalk from 'chalk';
7
7
  import { raiseCliError, raiseNeedsInput } from '../lib/agent-contract.js';
8
8
  import { isJson, isNonInteractive, isQuiet } from '../lib/cli-context.js';
9
9
  import { parseEnvFile } from '../lib/dev-sidecar.js';
10
10
  import { ensureBootstrapAdmin, normalizeAdminEmail, promptValue, validateAdminEmail, } from '../lib/admin-bootstrap.js';
11
+ import { createAppBundle } from '../lib/app-bundle.js';
11
12
  const EDGEBASE_CONFIG_FILES = ['edgebase.config.ts', 'edgebase.config.js'];
12
13
  const SELF_HOSTING_GUIDE_URL = 'https://edgebase.fun/docs/getting-started/self-hosting';
13
14
  const RELEASE_ENV_HEADER = '# EdgeBase Production Environment Variables';
@@ -79,7 +80,7 @@ async function runDockerProcess(args, options) {
79
80
  }
80
81
  function ensureDockerAvailable() {
81
82
  try {
82
- execSync('docker --version', { stdio: 'ignore' });
83
+ execFileSync('docker', ['--version'], { stdio: 'ignore', timeout: 5_000 });
83
84
  }
84
85
  catch {
85
86
  raiseCliError({
@@ -91,6 +92,25 @@ function ensureDockerAvailable() {
91
92
  },
92
93
  });
93
94
  }
95
+ if (!isDockerDaemonResponsive()) {
96
+ raiseCliError({
97
+ code: 'docker_daemon_unavailable',
98
+ message: 'Docker is installed, but the Docker daemon is not responding.',
99
+ hint: 'Start Docker Desktop and wait for the engine to become ready before retrying.',
100
+ });
101
+ }
102
+ }
103
+ function isDockerDaemonResponsive(runner = execFileSync) {
104
+ try {
105
+ runner('docker', ['info', '--format', '{{json .ServerVersion}}'], {
106
+ stdio: 'ignore',
107
+ timeout: 5_000,
108
+ });
109
+ return true;
110
+ }
111
+ catch {
112
+ return false;
113
+ }
94
114
  }
95
115
  function assertImageExists(tag) {
96
116
  try {
@@ -157,6 +177,40 @@ function buildDockerBuildArgs(options) {
157
177
  args.push('.');
158
178
  return args;
159
179
  }
180
+ function buildSyntheticDockerignore(sourceDockerignore) {
181
+ const preservedRules = existsSync(sourceDockerignore)
182
+ ? readFileSync(sourceDockerignore, 'utf-8').replace(/\s+$/, '')
183
+ : '';
184
+ const requiredIncludes = [
185
+ '# Preserve the generated bundle in the synthetic Docker context.',
186
+ '!Dockerfile',
187
+ '!.dockerignore',
188
+ '!.edgebase',
189
+ '!.edgebase/targets',
190
+ '!.edgebase/targets/docker-app',
191
+ '!.edgebase/targets/docker-app/**',
192
+ ].join('\n');
193
+ return preservedRules.length > 0
194
+ ? `${preservedRules}\n\n${requiredIncludes}\n`
195
+ : `${requiredIncludes}\n`;
196
+ }
197
+ function prepareDockerBuildContext(projectDir, dockerBundleDir) {
198
+ const contextDir = resolve(projectDir, '.edgebase', 'targets', 'docker-context');
199
+ const contextBundleDir = join(contextDir, '.edgebase', 'targets', 'docker-app');
200
+ const sourceDockerfile = resolve(projectDir, 'Dockerfile');
201
+ const sourceDockerignore = resolve(projectDir, '.dockerignore');
202
+ rmSync(contextDir, { recursive: true, force: true });
203
+ mkdirSync(join(contextDir, '.edgebase', 'targets'), { recursive: true });
204
+ copyFileSync(sourceDockerfile, join(contextDir, 'Dockerfile'));
205
+ writeFileSync(join(contextDir, '.dockerignore'), buildSyntheticDockerignore(sourceDockerignore));
206
+ cpSync(dockerBundleDir, contextBundleDir, {
207
+ recursive: true,
208
+ force: true,
209
+ dereference: false,
210
+ verbatimSymlinks: true,
211
+ });
212
+ return contextDir;
213
+ }
160
214
  function buildDockerRunArgs(options) {
161
215
  const args = [
162
216
  'run',
@@ -239,6 +293,8 @@ export const _internals = {
239
293
  findProjectRoot,
240
294
  buildDockerBuildArgs,
241
295
  buildDockerRunArgs,
296
+ prepareDockerBuildContext,
297
+ isDockerDaemonResponsive,
242
298
  };
243
299
  export const dockerCommand = new Command('docker')
244
300
  .description('Docker self-hosting commands');
@@ -258,15 +314,35 @@ dockerCommand
258
314
  });
259
315
  }
260
316
  ensureDockerAvailable();
317
+ let dockerBundle;
318
+ try {
319
+ dockerBundle = createAppBundle(projectDir, {
320
+ outputDir: join('.edgebase', 'targets', 'docker-app'),
321
+ overwrite: true,
322
+ portableDependencies: true,
323
+ dependencyProfile: 'docker',
324
+ });
325
+ }
326
+ catch (error) {
327
+ const message = error instanceof Error ? error.message : String(error);
328
+ raiseCliError({
329
+ code: 'docker_bundle_failed',
330
+ message,
331
+ hint: 'Run the command from an EdgeBase app project with edgebase.config.ts, then retry `npx edgebase docker build`.',
332
+ });
333
+ }
261
334
  const args = buildDockerBuildArgs(options);
335
+ const contextDir = prepareDockerBuildContext(projectDir, dockerBundle.outputDir);
262
336
  if (!isQuiet()) {
263
337
  console.log(chalk.blue('🐳 Building EdgeBase Docker image...'));
264
338
  console.log(chalk.dim(` Tag: ${options.tag}`));
339
+ console.log(chalk.dim(` Bundle: ${dockerBundle.outputDir}`));
340
+ console.log(chalk.dim(` Context: ${contextDir}`));
265
341
  console.log();
266
342
  }
267
343
  try {
268
344
  await runDockerProcess(args, {
269
- cwd: projectDir,
345
+ cwd: contextDir,
270
346
  inheritOutput: !isJson(),
271
347
  });
272
348
  }
@@ -289,6 +365,8 @@ dockerCommand
289
365
  operation: 'build',
290
366
  tag: options.tag,
291
367
  projectDir,
368
+ bundleDir: dockerBundle.outputDir,
369
+ contextDir,
292
370
  }));
293
371
  return;
294
372
  }