devflare 1.0.0-next.14 → 1.0.0-next.15

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 (49) hide show
  1. package/LLM.md +36 -1
  2. package/README.md +85 -0
  3. package/dist/{account-8psavtg6.js → account-spa7gzsn.js} +3 -2
  4. package/dist/bridge/miniflare.d.ts.map +1 -1
  5. package/dist/browser.d.ts +7 -0
  6. package/dist/browser.d.ts.map +1 -1
  7. package/dist/{build-n639efmn.js → build-zv25ke4s.js} +9 -8
  8. package/dist/cli/commands/build.d.ts.map +1 -1
  9. package/dist/cli/commands/config.d.ts +4 -0
  10. package/dist/cli/commands/config.d.ts.map +1 -0
  11. package/dist/cli/commands/deploy.d.ts.map +1 -1
  12. package/dist/cli/index.d.ts.map +1 -1
  13. package/dist/config/compiler.d.ts.map +1 -1
  14. package/dist/config/index.d.ts +3 -2
  15. package/dist/config/index.d.ts.map +1 -1
  16. package/dist/config/loader.d.ts +1 -0
  17. package/dist/config/loader.d.ts.map +1 -1
  18. package/dist/config/resource-resolution.d.ts +44 -0
  19. package/dist/config/resource-resolution.d.ts.map +1 -0
  20. package/dist/config/schema.d.ts +193 -28
  21. package/dist/config/schema.d.ts.map +1 -1
  22. package/dist/config-v9tr4rts.js +57 -0
  23. package/dist/{deploy-zvnq6xh7.js → deploy-6xmqvv06.js} +9 -8
  24. package/dist/dev-server/server.d.ts.map +1 -1
  25. package/dist/{dev-c1xc1gq9.js → dev-ymtphbkg.js} +10 -4
  26. package/dist/{doctor-z4ffybce.js → doctor-xv4gm1h4.js} +3 -2
  27. package/dist/{index-xxwbb2nt.js → index-0rsa2c1t.js} +5 -2
  28. package/dist/{index-0kzg8wed.js → index-3a4mmn57.js} +12 -6
  29. package/dist/{index-rfhx0yd5.js → index-5s1bz1e0.js} +12 -12
  30. package/dist/{index-n7rs26ft.js → index-6nb7w45m.js} +15 -13
  31. package/dist/index-7bq4xq84.js +197 -0
  32. package/dist/{index-dr6sbp8d.js → index-k8vh558d.js} +1 -1
  33. package/dist/{index-wyf3s77s.js → index-tksw7gpy.js} +162 -2
  34. package/dist/{index-f4q0jbnj.js → index-v43z02tr.js} +18 -8
  35. package/dist/{index-tfyxa77h.js → index-xdq9ery1.js} +1 -187
  36. package/dist/{index-zbvmtcn2.js → index-zvgc3e0c.js} +25 -19
  37. package/dist/index.d.ts +1 -1
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/src/browser.js +17 -0
  40. package/dist/src/cli/index.js +1 -1
  41. package/dist/src/cloudflare/index.js +3 -2
  42. package/dist/src/index.js +16 -7
  43. package/dist/src/sveltekit/index.js +4 -3
  44. package/dist/src/test/index.js +6 -5
  45. package/dist/src/vite/index.js +4 -3
  46. package/dist/test/simple-context.d.ts.map +1 -1
  47. package/dist/{types-sffr9681.js → types-158m16vd.js} +4 -3
  48. package/dist/vite/plugin.d.ts.map +1 -1
  49. package/package.json +1 -1
package/LLM.md CHANGED
@@ -468,6 +468,38 @@ This is the stable public flow for Devflare config:
468
468
 
469
469
  Current implementation note: Devflare validates config against its schema before compilation, and some commands write generated `wrangler.jsonc` files as build artifacts. Treat generated Wrangler config as output, not source of truth.
470
470
 
471
+ ### D1 by name, resolution modes, and resolved config reuse
472
+
473
+ `bindings.d1` currently accepts three shapes:
474
+
475
+ - `DB: 'database-id'`
476
+ - `DB: { id: 'database-id' }`
477
+ - `DB: { name: 'database-name' }`
478
+
479
+ That split is intentional.
480
+
481
+ - string and `{ id }` are already concrete Cloudflare ids
482
+ - `{ name }` keeps stable naming in `devflare.config.*` and lets Devflare resolve the opaque id later
483
+
484
+ Current resolution behavior is part of the contract:
485
+
486
+ - local dev and `createTestContext()` use a stable local identifier derived from `id ?? name`, so D1-by-name does **not** require Cloudflare auth for local work
487
+ - `build`, `deploy`, `devflare/vite`, and `devflare config print` resolve `{ name }` into a real Cloudflare D1 id before they emit Wrangler-facing config
488
+ - `compileConfig()` can only emit Wrangler `d1_databases` from concrete ids, so callers using `{ name }` should first call `loadResolvedConfig()` or `resolveConfigResources()`
489
+
490
+ That is the key separation to preserve when documenting or generating code:
491
+
492
+ - stable non-secret resource names belong in config
493
+ - opaque provider ids belong in resolved/generated output
494
+ - secret values still belong in `secrets`, Cloudflare secrets, or host-provided env inputs
495
+
496
+ Public Node-side reuse path:
497
+
498
+ - `loadResolvedConfig()` loads config, applies `config.env[name]`, and resolves D1-by-name bindings
499
+ - `resolveConfigResources()` resolves an already-loaded config object
500
+ - `resolveConfigForLocalRuntime()` materializes the local-runtime shape without remote lookup
501
+ - `devflare config print --json` and `devflare config print --format wrangler` expose the same resolved data from the CLI
502
+
471
503
  ### Supported config files and `defineConfig()`
472
504
 
473
505
  Supported config filenames:
@@ -594,7 +626,7 @@ Current `files` rules worth keeping explicit:
594
626
  | Key | Shape | Meaning |
595
627
  |---|---|---|
596
628
  | `kv` | `Record<string, string>` | KV namespace binding name → namespace id |
597
- | `d1` | `Record<string, string>` | D1 binding name → database id |
629
+ | `d1` | `Record<string, string \| { id: string } \| { name: string }>` | D1 binding name → database id or stable database name |
598
630
  | `r2` | `Record<string, string>` | R2 binding name → bucket name |
599
631
  | `durableObjects` | `Record<string, string \| { className: string; scriptName?: string }>` | Durable Object namespace binding. String form is shorthand for `{ className }`. Object form also covers cross-worker DOs and `ref()`-driven bindings. |
600
632
  | `queues` | `{ producers?: Record<string, string>; consumers?: QueueConsumer[] }` | Queue producer bindings plus consumer settings |
@@ -622,6 +654,7 @@ Two `bindings` details that matter in practice:
622
654
 
623
655
  - `bindings.sendEmail` must use either `destinationAddress` or `allowedDestinationAddresses`, not both
624
656
  - `bindings.durableObjects.*.scriptName` is how you point a binding at another worker when the class does not live in the main worker bundle
657
+ - `bindings.d1.*.{ name }` is the stable-name form; local runtime uses the name directly, while Wrangler-facing flows must resolve it to a real Cloudflare id first
625
658
 
626
659
  #### `triggers`, `routes`, and `wsRoutes`
627
660
 
@@ -1046,6 +1079,7 @@ Practical rule of thumb:
1046
1079
 
1047
1080
  - if a value is needed while evaluating config, put it in the `.env*` / `process.env` bucket
1048
1081
  - if a value should exist as a runtime binding but must not be committed, declare it in `secrets`
1082
+ - if a value is a stable non-secret infrastructure name such as an R2 bucket name or D1 database name, keep it in `devflare.config.*`
1049
1083
  - if a project wants local runtime secret files, treat `.dev.vars*` as an upstream convention and document it explicitly per project
1050
1084
 
1051
1085
  #### `devflare types`
@@ -1635,6 +1669,7 @@ Use `--env <name>` on build and deploy when you want Devflare to resolve a named
1635
1669
  | `devflare deploy` | build and deploy | supports `--env` and `--dry-run` |
1636
1670
  | `devflare types` | generate `env.d.ts` | supports `--output` |
1637
1671
  | `devflare doctor` | check project configuration | supports `--config` |
1672
+ | `devflare config` | print resolved Devflare config or resolved Wrangler JSON | supports `print`, `--json`, `--format`, `--env`, and `--config` |
1638
1673
  | `devflare account` | inspect accounts, resources, usage, and limits | `global` and `workspace` are account-selection flows, not resource-reporting subcommands |
1639
1674
  | `devflare ai` | show Workers AI model pricing | informational command |
1640
1675
  | `devflare remote` | manage remote test mode | helper flow for remote-oriented services |
package/README.md CHANGED
@@ -336,6 +336,7 @@ Practical convention:
336
336
 
337
337
  - use `.env.example` for config-time/build-time variables read from `process.env`
338
338
  - use `.dev.vars.example` only if your project intentionally relies on upstream `.dev.vars` local-runtime workflows
339
+ - keep non-secret infrastructure names such as R2 bucket names and D1 database names in `devflare.config.*`, not in `secrets` or ad-hoc CI env vars
339
340
 
340
341
  ### `config.env`
341
342
 
@@ -343,6 +344,69 @@ Practical convention:
343
344
 
344
345
  When you select `--env name`, Devflare merges `config.env[name]` into the base config before compiling.
345
346
 
347
+ ### D1 by name and resolved config reuse
348
+
349
+ `bindings.d1` accepts three shapes:
350
+
351
+ - `'database-id'`
352
+ - `{ id: 'database-id' }`
353
+ - `{ name: 'database-name' }`
354
+
355
+ Use `{ name }` when you want `devflare.config.*` to stay the source of truth for stable D1 naming.
356
+
357
+ - local dev and tests normalize `{ name }` into a stable local identifier, so you do **not** need Cloudflare auth just to run locally
358
+ - `build`, `deploy`, `devflare/vite`, and `devflare config print` resolve `{ name }` into a real Cloudflare D1 database id before they emit Wrangler-facing config
359
+
360
+ That means stable names stay in config, while opaque Cloudflare ids are resolved only for the flows that actually need them.
361
+
362
+ If you want to inspect or reuse those resolved values in automation, use either:
363
+
364
+ - `bunx --bun devflare config print --json`
365
+ - `bunx --bun devflare config print --json --format wrangler`
366
+ - `loadResolvedConfig()` from Node-side tooling
367
+
368
+ ```ts
369
+ import { loadResolvedConfig } from 'devflare'
370
+
371
+ const config = await loadResolvedConfig({
372
+ cwd: process.cwd(),
373
+ environment: 'production'
374
+ })
375
+
376
+ console.log(config.bindings?.r2?.ASSETS)
377
+ console.log(config.bindings?.d1?.DB)
378
+ ```
379
+
380
+ If you need Cloudflare account/resource data while computing config, use an async config with `devflare/cloudflare` helpers:
381
+
382
+ ```ts
383
+ import { defineConfig } from 'devflare'
384
+ import { account } from 'devflare/cloudflare'
385
+
386
+ export default defineConfig(async () => {
387
+ const primary = await account.getPrimaryAccount()
388
+ const buckets = await account.r2(primary.id)
389
+
390
+ if (!buckets.some((bucket) => bucket.name === 'app-assets')) {
391
+ throw new Error('Missing R2 bucket "app-assets" in the selected Cloudflare account')
392
+ }
393
+
394
+ return {
395
+ accountId: primary.id,
396
+ name: 'app-worker',
397
+ compatibilityDate: '2026-03-17',
398
+ bindings: {
399
+ d1: {
400
+ DB: { name: 'app-db' }
401
+ },
402
+ r2: {
403
+ ASSETS: 'app-assets'
404
+ }
405
+ }
406
+ }
407
+ })
408
+ ```
409
+
346
410
  ### Native config vs Wrangler coverage
347
411
 
348
412
  Devflare natively models the Worker config it actively composes around:
@@ -409,6 +473,24 @@ Devflare natively models:
409
473
 
410
474
  For R2 delivery strategy guidance, see [`R2.md`](./R2.md).
411
475
 
476
+ For D1, prefer stable config names when you can:
477
+
478
+ ```ts
479
+ export default {
480
+ bindings: {
481
+ d1: {
482
+ DB: { name: 'app-db' },
483
+ AUDIT: { id: 'existing-d1-id' }
484
+ },
485
+ r2: {
486
+ ASSETS: 'app-assets'
487
+ }
488
+ }
489
+ }
490
+ ```
491
+
492
+ Use `.env*` and `secrets` for values that are actually secret or genuinely process-specific. Do **not** move stable bucket/database names into env vars just to make other tooling happy.
493
+
412
494
  ---
413
495
 
414
496
  ## Dev, build, deploy, Vite, and Rolldown
@@ -492,6 +574,7 @@ It also auto-detects conventional `src/fetch.ts`, `src/queue.ts`, `src/scheduled
492
574
  | `devflare deploy` | build and deploy with Wrangler |
493
575
  | `devflare types` | generate `env.d.ts` |
494
576
  | `devflare doctor` | check project configuration and generated artifacts |
577
+ | `devflare config` | print resolved Devflare config or resolved Wrangler JSON |
495
578
  | `devflare account` | inspect accounts, resources, usage, and limits |
496
579
  | `devflare ai` | show Workers AI model pricing info |
497
580
  | `devflare remote` | manage remote test mode |
@@ -501,6 +584,8 @@ Useful flags:
501
584
  - `build --env <name>`
502
585
  - `deploy --env <name>`
503
586
  - `deploy --dry-run`
587
+ - `config print --json`
588
+ - `config print --format wrangler`
504
589
  - `types --output <path>`
505
590
  - `doctor --config <path>`
506
591
  - `account --account <id>`
@@ -7,7 +7,8 @@ import {
7
7
  } from "./index-3t6rypgc.js";
8
8
  import {
9
9
  account
10
- } from "./index-n7rs26ft.js";
10
+ } from "./index-6nb7w45m.js";
11
+ import"./index-7bq4xq84.js";
11
12
  import {
12
13
  AuthenticationError,
13
14
  CloudflareAPIError,
@@ -15,7 +16,7 @@ import {
15
16
  getWorkspaceAccountId,
16
17
  setGlobalDefaultAccountId,
17
18
  setWorkspaceAccountId
18
- } from "./index-tfyxa77h.js";
19
+ } from "./index-xdq9ery1.js";
19
20
  import"./index-37x76zdn.js";
20
21
 
21
22
  // src/cli/commands/account.ts
@@ -1 +1 @@
1
- {"version":3,"file":"miniflare.d.ts","sourceRoot":"","sources":["../../src/bridge/miniflare.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"miniflare.d.ts","sourceRoot":"","sources":["../../src/bridge/miniflare.ts"],"names":[],"mappings":"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"}
package/dist/browser.d.ts CHANGED
@@ -8,9 +8,12 @@ export { BridgeClient, getClient } from './bridge/client';
8
8
  export type { BridgeClientOptions } from './bridge/client';
9
9
  export { durableObject, getDurableObjectOptions, type DurableObjectOptions } from './decorators';
10
10
  export declare function loadConfig(..._args: any[]): Promise<never>;
11
+ export declare function loadResolvedConfig(..._args: any[]): Promise<never>;
11
12
  export declare const compileConfig: (...args: any[]) => any;
12
13
  export declare const stringifyConfig: (...args: any[]) => any;
13
14
  export declare const configSchema: Record<string, unknown>;
15
+ export declare const resolveConfigForLocalRuntime: (...args: any[]) => any;
16
+ export declare const resolveConfigResources: (...args: any[]) => any;
14
17
  export declare class ConfigNotFoundError extends Error {
15
18
  readonly code = "CONFIG_NOT_FOUND";
16
19
  constructor(..._args: any[]);
@@ -19,6 +22,10 @@ export declare class ConfigValidationError extends Error {
19
22
  readonly code = "CONFIG_VALIDATION_ERROR";
20
23
  constructor(..._args: any[]);
21
24
  }
25
+ export declare class ConfigResourceResolutionError extends Error {
26
+ readonly code = "CONFIG_RESOURCE_RESOLUTION_ERROR";
27
+ constructor(..._args: any[]);
28
+ }
22
29
  export declare const runCli: (...args: any[]) => any;
23
30
  export declare const parseArgs: (...args: any[]) => any;
24
31
  export declare const findDurableObjectClasses: (...args: any[]) => any;
@@ -1 +1 @@
1
- {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAG9D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAG3B,OAAO,EACN,eAAe,EACf,cAAc,EACd,OAAO,GACP,MAAM,gBAAgB,CAAA;AACvB,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACnE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AACzD,YAAY,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAG1D,OAAO,EACN,aAAa,EACb,uBAAuB,EACvB,KAAK,oBAAoB,EACzB,MAAM,cAAc,CAAA;AAgCrB,wBAAsB,UAAU,CAAC,GAAG,KAAK,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAEhE;AAED,eAAO,MAAM,aAAa,yBAAuC,CAAA;AACjE,eAAO,MAAM,eAAe,yBAAyC,CAAA;AACrE,eAAO,MAAM,YAAY,yBAAmE,CAAA;AAE5F,qBAAa,mBAAoB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,IAAI,sBAAqB;IAElC,YAAY,GAAG,KAAK,EAAE,GAAG,EAAE,EAG1B;CACD;AAED,qBAAa,qBAAsB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,IAAI,6BAA4B;IAEzC,YAAY,GAAG,KAAK,EAAE,GAAG,EAAE,EAG1B;CACD;AAED,eAAO,MAAM,MAAM,yBAAgC,CAAA;AACnD,eAAO,MAAM,SAAS,yBAAmC,CAAA;AAEzD,eAAO,MAAM,wBAAwB,yBAAkD,CAAA;AACvF,eAAO,MAAM,gCAAgC,yBAA0D,CAAA;AACvG,eAAO,MAAM,eAAe,yBAAyC,CAAA;AACrE,eAAO,MAAM,sBAAsB,yBAAgD,CAAA;AACnF,eAAO,MAAM,yBAAyB,yBAAmD,CAAA;AACzF,eAAO,MAAM,qBAAqB,yBAA+C,CAAA;AACjF,eAAO,MAAM,qBAAqB,yBAA+C,CAAA;AACjF,eAAO,MAAM,oBAAoB,yBAA8C,CAAA;AAE/E,eAAO,MAAM,cAAc,yBAAwC,CAAA;AACnE,eAAO,MAAM,wBAAwB,yBAAkD,CAAA;AACvF,eAAO,MAAM,YAAY,yBAAsC,CAAA;AAC/D,eAAO,MAAM,aAAa,yBAAuC,CAAA;AACjE,eAAO,MAAM,OAAO,yBAA8D,CAAA;AAElF,eAAO,MAAM,iBAAiB,yBAA2C,CAAA;AACzE,eAAO,MAAM,qBAAqB,yBAA+C,CAAA;AACjF,eAAO,MAAM,YAAY,yBAAsC,CAAA;AAC/D,eAAO,MAAM,YAAY,yBAAsC,CAAA;AAC/D,eAAO,MAAM,YAAY,yBAAsC,CAAA;AAC/D,eAAO,MAAM,eAAe,yBAAyC,CAAA;AACrE,eAAO,MAAM,aAAa,yBAAuC,CAAA;AACjE,eAAO,MAAM,eAAe,yBAAyC,CAAA;AACrE,eAAO,MAAM,uBAAuB,yBAAiD,CAAA;AACrF,eAAO,MAAM,qBAAqB,yBAA+C,CAAA;AACjF,eAAO,MAAM,oBAAoB,yBAA8C,CAAA;AAC/E,eAAO,MAAM,OAAO,yBAA8D,CAAA;AAElF,OAAO,EAAE,YAAY,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAA"}
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
@@ -11,18 +11,19 @@ import {
11
11
  prepareComposedWorkerEntrypoint,
12
12
  resolveEffectiveViteProject,
13
13
  writeGeneratedViteConfig
14
- } from "./index-zbvmtcn2.js";
14
+ } from "./index-zvgc3e0c.js";
15
15
  import"./index-1p814k7s.js";
16
16
  import"./index-rbht7m9r.js";
17
17
  import"./index-9wt9x09k.js";
18
18
  import {
19
19
  compileConfig,
20
20
  writeWranglerConfig
21
- } from "./index-rfhx0yd5.js";
21
+ } from "./index-5s1bz1e0.js";
22
22
  import {
23
- loadConfig
24
- } from "./index-wyf3s77s.js";
23
+ loadResolvedConfig
24
+ } from "./index-tksw7gpy.js";
25
25
  import"./index-v8vvsn9x.js";
26
+ import"./index-xdq9ery1.js";
26
27
  import"./index-37x76zdn.js";
27
28
 
28
29
  // src/cli/commands/build.ts
@@ -33,12 +34,12 @@ async function runBuildCommand(parsed, logger, options) {
33
34
  const environment = parsed.options.env;
34
35
  logger.info("Building for production...");
35
36
  try {
36
- const config = await loadConfig({ cwd, configFile: configPath });
37
+ const config = await loadResolvedConfig({ cwd, configFile: configPath, environment });
37
38
  logger.info(`Building: ${config.name}`);
38
- const composedMainEntry = await prepareComposedWorkerEntrypoint(cwd, config, environment);
39
+ const composedMainEntry = await prepareComposedWorkerEntrypoint(cwd, config);
39
40
  const deps = await getDependencies();
40
- const viteProject = resolveEffectiveViteProject(await detectViteProject(cwd, deps.fs), config, environment);
41
- const wranglerConfig = compileConfig(config, environment);
41
+ const viteProject = resolveEffectiveViteProject(await detectViteProject(cwd, deps.fs), config);
42
+ const wranglerConfig = compileConfig(config);
42
43
  if (viteProject.shouldStartVite) {
43
44
  if (composedMainEntry) {
44
45
  wranglerConfig.main = composedMainEntry;
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AASjE,wBAAsB,eAAe,CACpC,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,UAAU,GACjB,OAAO,CAAC,SAAS,CAAC,CAqFpB"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AASjE,wBAAsB,eAAe,CACpC,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,UAAU,GACjB,OAAO,CAAC,SAAS,CAAC,CAoFpB"}
@@ -0,0 +1,4 @@
1
+ import { type ConsolaInstance } from 'consola';
2
+ import type { ParsedArgs, CliOptions, CliResult } from '../index';
3
+ export declare function runConfigCommand(parsed: ParsedArgs, logger: ConsolaInstance, options: CliOptions): Promise<CliResult>;
4
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,SAAS,CAAA;AAG9C,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAMjE,wBAAsB,gBAAgB,CACrC,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,UAAU,GACjB,OAAO,CAAC,SAAS,CAAC,CA6CpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/deploy.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AASjE,wBAAsB,gBAAgB,CACrC,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,UAAU,GACjB,OAAO,CAAC,SAAS,CAAC,CA2GpB"}
1
+ {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/deploy.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AASjE,wBAAsB,gBAAgB,CACrC,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,UAAU,GACjB,OAAO,CAAC,SAAS,CAAC,CA0GpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,UAAU;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAA;IACzC,cAAc,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,UAAU;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,SAAS;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;CACf;AAaD;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAmDpD;AA0ED;;GAEG;AACH,wBAAsB,MAAM,CAC3B,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE,UAAe,GACtB,OAAO,CAAC,SAAS,CAAC,CA2DpB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,UAAU;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAA;IACzC,cAAc,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,UAAU;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,SAAS;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;CACf;AAaD;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAmDpD;AA8ED;;GAEG;AACH,wBAAsB,MAAM,CAC3B,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE,UAAe,GACtB,OAAO,CAAC,SAAS,CAAC,CA8DpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../../src/config/compiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../../src/config/compiler.ts"],"names":[],"mappings":"AAIA,OAAO,EAGN,KAAK,cAAc,EAGnB,MAAM,UAAU,CAAA;AAGjB;;GAEG;AACH,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,kBAAkB,EAAE,MAAM,CAAA;IAC1B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAA;IAG9B,aAAa,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACtD,YAAY,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC9D,UAAU,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC5D,eAAe,CAAC,EAAE;QACjB,QAAQ,EAAE,KAAK,CAAC;YACf,IAAI,EAAE,MAAM,CAAA;YACZ,UAAU,EAAE,MAAM,CAAA;YAClB,WAAW,CAAC,EAAE,MAAM,CAAA;SACpB,CAAC,CAAA;KACF,CAAA;IACD,MAAM,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,KAAK,CAAC;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;QACrD,SAAS,CAAC,EAAE,KAAK,CAAC;YACjB,KAAK,EAAE,MAAM,CAAA;YACb,cAAc,CAAC,EAAE,MAAM,CAAA;YACvB,iBAAiB,CAAC,EAAE,MAAM,CAAA;YAC1B,WAAW,CAAC,EAAE,MAAM,CAAA;YACpB,iBAAiB,CAAC,EAAE,MAAM,CAAA;YAC1B,eAAe,CAAC,EAAE,MAAM,CAAA;YACxB,WAAW,CAAC,EAAE,MAAM,CAAA;SACpB,CAAC,CAAA;KACF,CAAA;IACD,QAAQ,CAAC,EAAE,KAAK,CAAC;QAChB,OAAO,EAAE,MAAM,CAAA;QACf,OAAO,EAAE,MAAM,CAAA;QACf,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,WAAW,CAAC,EAAE,MAAM,CAAA;KACpB,CAAC,CAAA;IACF,EAAE,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;IACxB,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC1D,UAAU,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACnD,OAAO,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;IAC7B,yBAAyB,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACvE,UAAU,CAAC,EAAE,KAAK,CAAC;QAClB,IAAI,EAAE,MAAM,CAAA;QACZ,mBAAmB,CAAC,EAAE,MAAM,CAAA;QAC5B,6BAA6B,CAAC,EAAE,MAAM,EAAE,CAAA;QACxC,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAA;KACnC,CAAC,CAAA;IAGF,QAAQ,CAAC,EAAE;QACV,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;KAChB,CAAA;IAGD,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAG7B,MAAM,CAAC,EAAE,KAAK,CAAC;QACd,OAAO,EAAE,MAAM,CAAA;QACf,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,aAAa,CAAC,EAAE,OAAO,CAAA;KACvB,CAAC,CAAA;IAGF,MAAM,CAAC,EAAE;QACR,SAAS,EAAE,MAAM,CAAA;QACjB,OAAO,CAAC,EAAE,MAAM,CAAA;KAChB,CAAA;IAGD,aAAa,CAAC,EAAE;QACf,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,kBAAkB,CAAC,EAAE,MAAM,CAAA;KAC3B,CAAA;IAGD,MAAM,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAA;KACf,CAAA;IAGD,UAAU,CAAC,EAAE,KAAK,CAAC;QAClB,GAAG,EAAE,MAAM,CAAA;QACX,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;QACtB,eAAe,CAAC,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;QACrD,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;QAC1B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;KAC7B,CAAC,CAAA;IAGF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACtB;AAaD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC5B,MAAM,EAAE,cAAc,EACtB,WAAW,CAAC,EAAE,MAAM,GAClB,cAAc,CA0FhB;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CAC1C,MAAM,EAAE,cAAc,EACtB,WAAW,CAAC,EAAE,MAAM,GAClB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAOzB;AAwID;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAM9D;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACxC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,cAAc,EACtB,QAAQ,GAAE,MAAyB,GACjC,OAAO,CAAC,MAAM,CAAC,CAejB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACpC,MAAM,EAAE,cAAc,EACtB,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAChD,cAAc,GAAG,IAAI,CAoFvB"}
@@ -1,7 +1,8 @@
1
1
  export { defineConfig } from './define';
2
- export { configSchema, normalizeDOBinding, type DevflareConfig, type DevflareConfigInput, type DevflareEnvConfig, type DurableObjectBinding, type NormalizedDOBinding, type QueueConsumer, type QueuesConfig, type ServiceBinding, type RouteConfig, type WsRouteConfig, type AssetsConfig, type ViteConfig, type RolldownConfig, type BuildConfig, type MigrationConfig } from './schema';
2
+ export { configSchema, getLocalD1DatabaseIdentifier, normalizeD1Binding, normalizeDOBinding, type D1Binding, type DevflareConfig, type DevflareConfigInput, type DevflareEnvConfig, type DurableObjectBinding, type NormalizedD1Binding, type NormalizedDOBinding, type QueueConsumer, type QueuesConfig, type ServiceBinding, type RouteConfig, type WsRouteConfig, type AssetsConfig, type ViteConfig, type RolldownConfig, type BuildConfig, type MigrationConfig } from './schema';
3
3
  export { compileConfig, stringifyConfig, writeWranglerConfig, type WranglerConfig } from './compiler';
4
- export { loadConfig, resolveConfigPath, ConfigNotFoundError, ConfigValidationError, type LoadConfigOptions } from './loader';
4
+ export { loadConfig, loadResolvedConfig, resolveConfigPath, ConfigNotFoundError, ConfigValidationError, ConfigResourceResolutionError, type LoadConfigOptions } from './loader';
5
5
  export { resolveConfigForEnvironment } from './resolve';
6
+ export { resolveConfigForLocalRuntime, resolveConfigResources, type LoadResolvedConfigOptions, type ResolveConfigResourcesOptions } from './resource-resolution';
6
7
  export { ref, resolveRef, serviceBinding, type RefResult, type WorkerBinding, type WorkerBindingAccessor, type DOBindingRef } from './ref';
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EACN,YAAY,EACZ,kBAAkB,EAClB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,mBAAmB,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAA;AACrG,OAAO,EACN,UAAU,EACV,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,KAAK,iBAAiB,EACtB,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAA;AAGvD,OAAO,EACN,GAAG,EACH,UAAU,EACV,cAAc,EACd,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAC1B,KAAK,YAAY,EACjB,MAAM,OAAO,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EACN,YAAY,EACZ,4BAA4B,EAC5B,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,mBAAmB,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAA;AACrG,OAAO,EACN,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,6BAA6B,EAC7B,KAAK,iBAAiB,EACtB,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAA;AACvD,OAAO,EACN,4BAA4B,EAC5B,sBAAsB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,6BAA6B,EAClC,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EACN,GAAG,EACH,UAAU,EACV,cAAc,EACd,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAC1B,KAAK,YAAY,EACjB,MAAM,OAAO,CAAA"}
@@ -49,4 +49,5 @@ export declare class ConfigValidationError extends Error {
49
49
  message: string;
50
50
  }>, configFile: string);
51
51
  }
52
+ export { loadResolvedConfig, ConfigResourceResolutionError, type LoadResolvedConfigOptions } from './resource-resolution';
52
53
  //# sourceMappingURL=loader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAOA,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,UAAU,CAAA;AAE5D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC,6CAA6C;IAC7C,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,8BAA8B;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAA;CACpB;AAYD;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAQhF;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,cAAc,CAAC,CA2BzF;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;aAI5B,GAAG,EAAE,MAAM;aACX,UAAU,EAAE,MAAM;IAJnC,QAAQ,CAAC,IAAI,sBAAqB;IAElC,YACiB,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAQlC;CACD;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;aAI9B,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;aAC7D,UAAU,EAAE,MAAM;IAJnC,QAAQ,CAAC,IAAI,6BAA4B;IAEzC,YACiB,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,EAC7D,UAAU,EAAE,MAAM,EAUlC;CACD"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAOA,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,UAAU,CAAA;AAE5D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC,6CAA6C;IAC7C,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,8BAA8B;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAA;CACpB;AAYD;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAQhF;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,cAAc,CAAC,CA2BzF;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;aAI5B,GAAG,EAAE,MAAM;aACX,UAAU,EAAE,MAAM;IAJnC,QAAQ,CAAC,IAAI,sBAAqB;IAElC,YACiB,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAQlC;CACD;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;aAI9B,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;aAC7D,UAAU,EAAE,MAAM;IAJnC,QAAQ,CAAC,IAAI,6BAA4B;IAEzC,YACiB,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,EAC7D,UAAU,EAAE,MAAM,EAUlC;CACD;AAED,OAAO,EACN,kBAAkB,EAClB,6BAA6B,EAC7B,KAAK,yBAAyB,EAC9B,MAAM,uBAAuB,CAAA"}
@@ -0,0 +1,44 @@
1
+ import { getPrimaryAccount, listD1Databases } from '../cloudflare/account';
2
+ import { getEffectiveAccountId } from '../cloudflare/preferences';
3
+ import { type LoadConfigOptions } from './loader';
4
+ import { type DevflareConfig } from './schema';
5
+ interface CloudflareConfigResolutionApi {
6
+ getPrimaryAccount: typeof getPrimaryAccount;
7
+ getEffectiveAccountId: typeof getEffectiveAccountId;
8
+ listD1Databases: typeof listD1Databases;
9
+ }
10
+ export interface ResolveConfigResourcesOptions {
11
+ environment?: string;
12
+ accountId?: string;
13
+ cloudflare?: Partial<CloudflareConfigResolutionApi>;
14
+ }
15
+ export interface LoadResolvedConfigOptions extends LoadConfigOptions {
16
+ accountId?: string;
17
+ cloudflare?: Partial<CloudflareConfigResolutionApi>;
18
+ }
19
+ export declare class ConfigResourceResolutionError extends Error {
20
+ readonly code = "CONFIG_RESOURCE_RESOLUTION_ERROR";
21
+ constructor(message: string, cause?: unknown);
22
+ }
23
+ /**
24
+ * Resolve environment overrides and normalize D1 bindings for purely local runtimes.
25
+ *
26
+ * Local Miniflare/workerd flows can use either an explicit database ID or the
27
+ * stable database name as the backing identifier, so this path avoids requiring
28
+ * Cloudflare auth for local development and tests.
29
+ */
30
+ export declare function resolveConfigForLocalRuntime(config: DevflareConfig, environment?: string): DevflareConfig;
31
+ /**
32
+ * Resolve Cloudflare-backed resource references such as D1-by-name bindings into
33
+ * concrete IDs for build, deploy, and automation workflows.
34
+ */
35
+ export declare function resolveConfigResources(config: DevflareConfig, options?: ResolveConfigResourcesOptions): Promise<DevflareConfig>;
36
+ /**
37
+ * Load devflare.config.* and resolve any Cloudflare-backed resource references.
38
+ *
39
+ * This is the public Node-side API for external automation that needs the same
40
+ * resolved values Devflare build/deploy flows use.
41
+ */
42
+ export declare function loadResolvedConfig(options?: LoadResolvedConfigOptions): Promise<DevflareConfig>;
43
+ export {};
44
+ //# sourceMappingURL=resource-resolution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource-resolution.d.ts","sourceRoot":"","sources":["../../src/config/resource-resolution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AACjE,OAAO,EAAc,KAAK,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAE7D,OAAO,EAGN,KAAK,cAAc,EACnB,MAAM,UAAU,CAAA;AAEjB,UAAU,6BAA6B;IACtC,iBAAiB,EAAE,OAAO,iBAAiB,CAAA;IAC3C,qBAAqB,EAAE,OAAO,qBAAqB,CAAA;IACnD,eAAe,EAAE,OAAO,eAAe,CAAA;CACvC;AAQD,MAAM,WAAW,6BAA6B;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC,6BAA6B,CAAC,CAAA;CACnD;AAED,MAAM,WAAW,yBAA0B,SAAQ,iBAAiB;IACnE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC,6BAA6B,CAAC,CAAA;CACnD;AAED,qBAAa,6BAA8B,SAAQ,KAAK;IACvD,QAAQ,CAAC,IAAI,sCAAqC;IAElD,YAAY,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,EAM3C;CACD;AAgED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAC3C,MAAM,EAAE,cAAc,EACtB,WAAW,CAAC,EAAE,MAAM,GAClB,cAAc,CAchB;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAC3C,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,6BAAkC,GACzC,OAAO,CAAC,cAAc,CAAC,CAwEzB;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACvC,OAAO,GAAE,yBAA8B,GACrC,OAAO,CAAC,cAAc,CAAC,CAGzB"}