@byline/cli 3.21.0 → 4.0.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.
Files changed (179) hide show
  1. package/README.md +29 -3
  2. package/dist/cli.js +5 -2
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/doctor.d.ts.map +1 -1
  5. package/dist/commands/doctor.js +1 -0
  6. package/dist/commands/doctor.js.map +1 -1
  7. package/dist/commands/init.d.ts +3 -0
  8. package/dist/commands/init.d.ts.map +1 -1
  9. package/dist/commands/init.js +10 -14
  10. package/dist/commands/init.js.map +1 -1
  11. package/dist/commands/setup-checks.d.ts +9 -0
  12. package/dist/commands/setup-checks.d.ts.map +1 -1
  13. package/dist/commands/setup-checks.js +43 -18
  14. package/dist/commands/setup-checks.js.map +1 -1
  15. package/dist/commands/setup.js +1 -1
  16. package/dist/commands/setup.js.map +1 -1
  17. package/dist/context.d.ts +2 -0
  18. package/dist/context.d.ts.map +1 -1
  19. package/dist/context.js +6 -0
  20. package/dist/context.js.map +1 -1
  21. package/dist/lib/dependency-version.d.ts +12 -0
  22. package/dist/lib/dependency-version.d.ts.map +1 -0
  23. package/dist/lib/dependency-version.js +101 -0
  24. package/dist/lib/dependency-version.js.map +1 -0
  25. package/dist/lib/planned-writes.d.ts +8 -0
  26. package/dist/lib/planned-writes.d.ts.map +1 -0
  27. package/dist/lib/planned-writes.js +177 -0
  28. package/dist/lib/planned-writes.js.map +1 -0
  29. package/dist/lib/planned-writes.test.d.ts +2 -0
  30. package/dist/lib/planned-writes.test.d.ts.map +1 -0
  31. package/dist/lib/planned-writes.test.js +113 -0
  32. package/dist/lib/planned-writes.test.js.map +1 -0
  33. package/dist/lib/release-policy.d.ts +12 -0
  34. package/dist/lib/release-policy.d.ts.map +1 -0
  35. package/dist/lib/release-policy.js +20 -0
  36. package/dist/lib/release-policy.js.map +1 -0
  37. package/dist/lib/release-policy.test.d.ts +2 -0
  38. package/dist/lib/release-policy.test.d.ts.map +1 -0
  39. package/dist/lib/release-policy.test.js +36 -0
  40. package/dist/lib/release-policy.test.js.map +1 -0
  41. package/dist/lib/route-config.d.ts +40 -0
  42. package/dist/lib/route-config.d.ts.map +1 -0
  43. package/dist/lib/route-config.js +322 -0
  44. package/dist/lib/route-config.js.map +1 -0
  45. package/dist/lib/static-config.d.ts +20 -0
  46. package/dist/lib/static-config.d.ts.map +1 -0
  47. package/dist/lib/static-config.js +444 -0
  48. package/dist/lib/static-config.js.map +1 -0
  49. package/dist/lib/static-config.test.d.ts +2 -0
  50. package/dist/lib/static-config.test.d.ts.map +1 -0
  51. package/dist/lib/static-config.test.js +105 -0
  52. package/dist/lib/static-config.test.js.map +1 -0
  53. package/dist/lib/template-hook-boundary.test.node.d.ts +2 -0
  54. package/dist/lib/template-hook-boundary.test.node.d.ts.map +1 -0
  55. package/dist/lib/template-hook-boundary.test.node.js +30 -0
  56. package/dist/lib/template-hook-boundary.test.node.js.map +1 -0
  57. package/dist/lib/template-path.d.ts +5 -0
  58. package/dist/lib/template-path.d.ts.map +1 -0
  59. package/dist/lib/template-path.js +9 -0
  60. package/dist/lib/template-path.js.map +1 -0
  61. package/dist/lib/workspace-root.d.ts +28 -0
  62. package/dist/lib/workspace-root.d.ts.map +1 -0
  63. package/dist/lib/workspace-root.js +205 -0
  64. package/dist/lib/workspace-root.js.map +1 -0
  65. package/dist/manifest/deps.d.ts +1 -1
  66. package/dist/manifest/deps.d.ts.map +1 -1
  67. package/dist/manifest/deps.js +18 -8
  68. package/dist/manifest/deps.js.map +1 -1
  69. package/dist/phases/deps.d.ts +14 -1
  70. package/dist/phases/deps.d.ts.map +1 -1
  71. package/dist/phases/deps.js +312 -137
  72. package/dist/phases/deps.js.map +1 -1
  73. package/dist/phases/deps.test.d.ts +2 -0
  74. package/dist/phases/deps.test.d.ts.map +1 -0
  75. package/dist/phases/deps.test.js +343 -0
  76. package/dist/phases/deps.test.js.map +1 -0
  77. package/dist/phases/preflight.d.ts.map +1 -1
  78. package/dist/phases/preflight.js +59 -11
  79. package/dist/phases/preflight.js.map +1 -1
  80. package/dist/phases/prompts.d.ts +2 -0
  81. package/dist/phases/prompts.d.ts.map +1 -1
  82. package/dist/phases/prompts.js +51 -2
  83. package/dist/phases/prompts.js.map +1 -1
  84. package/dist/phases/routes-ui.test.d.ts +2 -0
  85. package/dist/phases/routes-ui.test.d.ts.map +1 -0
  86. package/dist/phases/routes-ui.test.js +766 -0
  87. package/dist/phases/routes-ui.test.js.map +1 -0
  88. package/dist/phases/routes.d.ts +4 -1
  89. package/dist/phases/routes.d.ts.map +1 -1
  90. package/dist/phases/routes.js +610 -122
  91. package/dist/phases/routes.js.map +1 -1
  92. package/dist/phases/scaffold-smoke.test.d.ts +2 -0
  93. package/dist/phases/scaffold-smoke.test.d.ts.map +1 -0
  94. package/dist/phases/scaffold-smoke.test.js +168 -0
  95. package/dist/phases/scaffold-smoke.test.js.map +1 -0
  96. package/dist/phases/scaffold.d.ts +3 -2
  97. package/dist/phases/scaffold.d.ts.map +1 -1
  98. package/dist/phases/scaffold.js +268 -91
  99. package/dist/phases/scaffold.js.map +1 -1
  100. package/dist/phases/scaffold.test.js +171 -22
  101. package/dist/phases/scaffold.test.js.map +1 -1
  102. package/dist/phases/ui.d.ts +4 -1
  103. package/dist/phases/ui.d.ts.map +1 -1
  104. package/dist/phases/ui.js +51 -59
  105. package/dist/phases/ui.js.map +1 -1
  106. package/dist/phases/wire/index.d.ts.map +1 -1
  107. package/dist/phases/wire/index.js +10 -6
  108. package/dist/phases/wire/index.js.map +1 -1
  109. package/dist/phases/wire/shared.d.ts +4 -1
  110. package/dist/phases/wire/shared.d.ts.map +1 -1
  111. package/dist/phases/wire/vite-config.d.ts.map +1 -1
  112. package/dist/phases/wire/vite-config.js +69 -20
  113. package/dist/phases/wire/vite-config.js.map +1 -1
  114. package/dist/phases/wire/vite-config.test.d.ts +2 -0
  115. package/dist/phases/wire/vite-config.test.d.ts.map +1 -0
  116. package/dist/phases/wire/vite-config.test.js +97 -0
  117. package/dist/phases/wire/vite-config.test.js.map +1 -0
  118. package/dist/prompts.d.ts +1 -0
  119. package/dist/prompts.d.ts.map +1 -1
  120. package/dist/prompts.js +7 -2
  121. package/dist/prompts.js.map +1 -1
  122. package/dist/runner.js +1 -1
  123. package/dist/runner.js.map +1 -1
  124. package/dist/templates/byline/clients.server.ts +77 -0
  125. package/dist/templates/byline/collection-types.contract.ts +25 -0
  126. package/dist/templates/byline/collections/server-hooks.ts +7 -0
  127. package/dist/templates/byline/routes.ts +7 -6
  128. package/dist/templates/byline/server.config.ts +3 -1
  129. package/dist/templates/byline-examples/admin.config.ts +7 -12
  130. package/dist/templates/byline-examples/blocks/photo-block.ts +3 -2
  131. package/dist/templates/byline-examples/clients.server.ts +77 -0
  132. package/dist/templates/byline-examples/collection-types.contract.ts +25 -0
  133. package/dist/templates/byline-examples/collections/docs/hooks.ts +23 -13
  134. package/dist/templates/byline-examples/collections/docs/schema.ts +2 -11
  135. package/dist/templates/byline-examples/collections/media/components/media-list-view.tsx +11 -6
  136. package/dist/templates/byline-examples/collections/media/schema.ts +3 -0
  137. package/dist/templates/byline-examples/collections/news/schema.ts +4 -3
  138. package/dist/templates/byline-examples/collections/server-hooks.ts +8 -0
  139. package/dist/templates/byline-examples/fields/ai-text.ts +1 -1
  140. package/dist/templates/byline-examples/fields/ai-textarea.ts +1 -1
  141. package/dist/templates/byline-examples/fields/lexical-richtext-ai.tsx +3 -3
  142. package/dist/templates/byline-examples/routes.ts +7 -6
  143. package/dist/templates/byline-examples/scripts/backfill-version-locales.ts +1 -1
  144. package/dist/templates/byline-examples/scripts/import-docs.ts +11 -12
  145. package/dist/templates/byline-examples/scripts/lib/mdast-to-lexical.test.node.ts +93 -233
  146. package/dist/templates/byline-examples/scripts/lib/mdast-to-lexical.ts +2 -2
  147. package/dist/templates/byline-examples/scripts/lib/strip-leading-h1.test.node.ts +0 -4
  148. package/dist/templates/byline-examples/scripts/re-anchor.ts +3 -3
  149. package/dist/templates/byline-examples/scripts/regenerate-media.ts +6 -5
  150. package/dist/templates/byline-examples/server.config.ts +5 -4
  151. package/dist/templates/host/vite.config.ts +2 -0
  152. package/dist/templates/routes/_byline/route.lazy.tsx +1 -2
  153. package/dist/templates/routes/_byline/route.tsx +1 -1
  154. package/dist/templates/ui-byline/blocks/photo-block/index.tsx +18 -22
  155. package/dist/templates/ui-byline/components/admonition/index.tsx +11 -8
  156. package/dist/templates/ui-byline/components/code/code.tsx +6 -4
  157. package/dist/templates/ui-byline/components/link/lang-link.tsx +4 -8
  158. package/dist/templates/ui-byline/components/link/link-field.tsx +3 -2
  159. package/dist/templates/ui-byline/components/link/link-lexical.tsx +9 -8
  160. package/dist/templates/ui-byline/render-blocks.tsx +38 -34
  161. package/dist/templates/ui-byline/types/content.ts +25 -0
  162. package/dist/templates/ui-byline/types/i18n.ts +4 -8
  163. package/dist/test-helpers.d.ts +5 -0
  164. package/dist/test-helpers.d.ts.map +1 -0
  165. package/dist/test-helpers.js +52 -0
  166. package/dist/test-helpers.js.map +1 -0
  167. package/dist/types.d.ts +21 -1
  168. package/dist/types.d.ts.map +1 -1
  169. package/dist/ui-template-contract.test.d.ts +2 -0
  170. package/dist/ui-template-contract.test.d.ts.map +1 -0
  171. package/dist/ui-template-contract.test.js +130 -0
  172. package/dist/ui-template-contract.test.js.map +1 -0
  173. package/dist/workspace-root.test.d.ts +2 -0
  174. package/dist/workspace-root.test.d.ts.map +1 -0
  175. package/dist/workspace-root.test.js +307 -0
  176. package/dist/workspace-root.test.js.map +1 -0
  177. package/package.json +9 -1
  178. package/dist/templates/byline/client.server.ts +0 -32
  179. package/dist/templates/byline-examples/client.server.ts +0 -32
package/README.md CHANGED
@@ -9,14 +9,15 @@ cd <your-tanstack-start-app>
9
9
  npx @byline/cli init
10
10
  ```
11
11
 
12
- The installer is a step-by-step wizard. For each phase that mutates files, it prints a unified diff and waits for your confirmation before writing — you can apply the change, skip it, or copy a snippet to make the change yourself.
12
+ The installer is a step-by-step wizard. It prints unified diffs for planned file writes. Confirm-mode phases wait before writing; safe auto phases apply directly unless `--dry-run` is set.
13
13
 
14
14
  ```sh
15
- byline init Run the wizard, resuming from the last completed phase.
15
+ byline init Run the wizard, re-detecting current installation state.
16
16
  byline init --only db-init Re-run a single phase.
17
17
  byline init --from wire Resume from a specific phase.
18
18
  byline init --apply Skip the per-phase confirmation prompt (still prints diffs).
19
19
  byline init --dry-run Show every change but write nothing.
20
+ byline init --force --apply -y Re-detect and safely upgrade an older scaffold noninteractively.
20
21
  byline doctor Inspect the current app and report what's wired.
21
22
  ```
22
23
 
@@ -24,7 +25,7 @@ See `byline init --help` for the full flag list.
24
25
 
25
26
  ### Generated collection types
26
27
 
27
- `byline init` commits `byline/generated/collection-types.ts` and adds two application scripts:
28
+ `byline init` creates `byline/generated/collection-types.ts` and adds two application scripts:
28
29
 
29
30
  ```sh
30
31
  pnpm byline:generate # regenerate after changing collection or block schemas
@@ -36,6 +37,31 @@ The application script evaluates `byline/collections/index.ts`; it does not load
36
37
  is its deterministic, standalone TypeScript projection for typed clients and frontend code. Keep
37
38
  the artifact committed and run the check in CI.
38
39
 
40
+ ### Upgrading older scaffolds
41
+
42
+ The v3.21 installer checks dependency ranges and required files instead of trusting old completed
43
+ phase flags. Run `byline init --force --apply -y` to apply safe upgrades. Missing files and
44
+ recognized canonical predecessors can be installed, while divergent user-owned scaffold, route,
45
+ Vite, Turbo, and CI configuration is left untouched with an explicit manual instruction.
46
+
47
+ Registry-backed `@byline/*` dependencies must declare a range wholly within major 3, starting at
48
+ 3.21.0 or newer. Local `workspace:*`, `workspace:^`, and `workspace:~` links are never replaced;
49
+ their linked package version must resolve locally and satisfy the same range, otherwise installation
50
+ is blocked with a manual compatibility instruction. Resolution uses included workspace package
51
+ manifests, not `node_modules` registry copies. Older, future-major, or unbounded registry ranges are
52
+ planned as upgrades to `^3.21.0`.
53
+
54
+ In a monorepo, run the CLI from the application directory. App files remain under that directory,
55
+ while pnpm settings, Turbo configuration, CI checks, and package-manager lockfile operations use the
56
+ nearest workspace root whose declared package patterns include the application. An app excluded by
57
+ those patterns remains standalone and cannot mutate the outer workspace configuration.
58
+ When the owning workspace declares a package manager through its workspace file, root
59
+ `packageManager`, or lockfile, the installer requires that manager and rejects conflicting `--pm`
60
+ or previously selected choices before planning dependency writes.
61
+ For a package.json-only workspace with no manager metadata, noninteractive runs must pass `--pm`.
62
+ Choosing pnpm creates `pnpm-workspace.yaml` with the existing workspace package patterns and
63
+ required `allowBuilds` entries together; npm, Yarn, and Bun continue using package.json workspaces.
64
+
39
65
  ### Already-wired apps (post-manual-config)
40
66
 
41
67
  If you wired Byline into your app by hand (collections, `server.config.ts`, env, routes, scaffold files all in place) and just need to provision the database and seed, use `setup` instead of `init`:
package/dist/cli.js CHANGED
@@ -3,16 +3,17 @@ import { Command } from 'commander';
3
3
  import { runDoctor } from './commands/doctor.js';
4
4
  import { runInit } from './commands/init.js';
5
5
  import { runSetup } from './commands/setup.js';
6
+ import { CLI_PACKAGE_VERSION } from './lib/release-policy.js';
6
7
  import { PHASE_IDS } from './phases/index.js';
7
8
  const PACKAGE_MANAGERS = ['pnpm', 'npm', 'yarn', 'bun'];
8
9
  const program = new Command();
9
10
  program
10
11
  .name('byline')
11
12
  .description('Guided installer for Byline CMS into a TanStack Start application')
12
- .version('0.1.0');
13
+ .version(CLI_PACKAGE_VERSION);
13
14
  program
14
15
  .command('init')
15
- .description('Run the guided installer (resumes from the last completed phase)')
16
+ .description('Run the guided installer (re-detects current installation state)')
16
17
  .option('--from <phase>', `start from phase (${PHASE_IDS.join('|')})`)
17
18
  .option('--to <phase>', 'stop after phase')
18
19
  .option('--only <phase>', 'run a single phase')
@@ -21,6 +22,7 @@ program
21
22
  .option('-y, --yes', 'assume yes to non-write prompts')
22
23
  .option('--reset', 'destructive: drop existing database in db-init')
23
24
  .option('--i-mean-it', 'second confirmation required by --reset')
25
+ .option('--force', 're-run phases even when detection reports them complete')
24
26
  .option('--pm <pm>', `force package manager: ${PACKAGE_MANAGERS.join('|')}`)
25
27
  .option('-q, --quiet', 'suppress decorative output')
26
28
  .option('--no-color', 'disable color output')
@@ -43,6 +45,7 @@ program
43
45
  yes: opts.yes,
44
46
  reset: opts.reset,
45
47
  resetIMeanIt: opts.iMeanIt,
48
+ force: opts.force,
46
49
  pm: opts.pm,
47
50
  quiet: opts.quiet,
48
51
  noColor: opts.color === false,
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAOA,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAgC/C"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAOA,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAiC/C"}
@@ -16,6 +16,7 @@ export async function runDoctor() {
16
16
  yes: true,
17
17
  reset: false,
18
18
  resetConfirmed: false,
19
+ pm: state.get().answers.pm,
19
20
  cliFlags: {},
20
21
  logger,
21
22
  prompter,
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAE9C,MAAM,CAAC,KAAK,UAAU,SAAS;IAC7B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;IACzB,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,CAAC,CAAA;IAC/B,MAAM,QAAQ,GAAG,cAAc,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAA;IAC9C,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAA;IACjC,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC;QACtB,GAAG;QACH,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,IAAI;QACZ,GAAG,EAAE,IAAI;QACT,KAAK,EAAE,KAAK;QACZ,cAAc,EAAE,KAAK;QACrB,QAAQ,EAAE,EAAE;QACZ,MAAM;QACN,QAAQ;QACR,KAAK;KACN,CAAC,CAAA;IAEF,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAC5B,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACvB,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK;QACzC,KAAK,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;KAC3B,CAAC,CAAC,CACJ,CAAA;IAED,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACd,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAA;IACxC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACd,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAA;IAC5B,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACd,MAAM,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;AAC/C,CAAC"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAE9C,MAAM,CAAC,KAAK,UAAU,SAAS;IAC7B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;IACzB,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,CAAC,CAAA;IAC/B,MAAM,QAAQ,GAAG,cAAc,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAA;IAC9C,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAA;IACjC,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC;QACtB,GAAG;QACH,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,IAAI;QACZ,GAAG,EAAE,IAAI;QACT,KAAK,EAAE,KAAK;QACZ,cAAc,EAAE,KAAK;QACrB,EAAE,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE;QAC1B,QAAQ,EAAE,EAAE;QACZ,MAAM;QACN,QAAQ;QACR,KAAK;KACN,CAAC,CAAA;IAEF,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAC5B,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACvB,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK;QACzC,KAAK,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;KAC3B,CAAC,CAAC,CACJ,CAAA;IAED,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACd,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAA;IACxC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACd,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAA;IAC5B,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACd,MAAM,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;AAC/C,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { runPhase } from '../runner.js';
1
2
  import type { PackageManager, PhaseId } from '../types.js';
2
3
  export interface InitOptions {
3
4
  from?: PhaseId;
@@ -8,9 +9,11 @@ export interface InitOptions {
8
9
  yes?: boolean;
9
10
  reset?: boolean;
10
11
  resetIMeanIt?: boolean;
12
+ force?: boolean;
11
13
  pm?: PackageManager;
12
14
  quiet?: boolean;
13
15
  noColor?: boolean;
14
16
  }
15
17
  export declare function runInit(opts: InitOptions): Promise<void>;
18
+ export declare function shouldHaltInit(state: Awaited<ReturnType<typeof runPhase>>): boolean;
16
19
  //# sourceMappingURL=init.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE1D,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,EAAE,CAAC,EAAE,OAAO,CAAA;IACZ,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,EAAE,CAAC,EAAE,cAAc,CAAA;IACnB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAiE9D"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAGvC,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE1D,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,EAAE,CAAC,EAAE,OAAO,CAAA;IACZ,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,EAAE,CAAC,EAAE,cAAc,CAAA;IACnB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAkE9D;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC,GAAG,OAAO,CAEnF"}
@@ -1,5 +1,5 @@
1
1
  import { Context } from '../context.js';
2
- import { findPhase, PHASES, phasesBetween, phasesFrom } from '../phases/index.js';
2
+ import { findPhase, PHASES, phasesBetween } from '../phases/index.js';
3
3
  import { createPrompter } from '../prompts.js';
4
4
  import { runPhase } from '../runner.js';
5
5
  import { StateStore } from '../state.js';
@@ -16,6 +16,7 @@ export async function runInit(opts) {
16
16
  yes: opts.yes ?? false,
17
17
  reset: opts.reset ?? false,
18
18
  resetConfirmed: opts.resetIMeanIt ?? false,
19
+ pm: opts.pm ?? state.get().answers.pm,
19
20
  cliFlags: { ...opts },
20
21
  logger,
21
22
  prompter,
@@ -53,7 +54,7 @@ export async function runInit(opts) {
53
54
  // this one's output (db answers, env values, scaffolded files, etc.)
54
55
  // and would either fail confusingly or silently misbehave. `partial`
55
56
  // is a soft warning (wire's manual sub-edits) — keep going on that.
56
- if (state_ === 'blocked') {
57
+ if (shouldHaltInit(state_)) {
57
58
  logger.info(`re-run with: byline init --from ${phase.id}`);
58
59
  state.flush();
59
60
  prompter.outro('installation halted — fix the issue above and re-run');
@@ -63,7 +64,10 @@ export async function runInit(opts) {
63
64
  state.flush();
64
65
  prompter.outro('Byline installation complete — see byline doctor for status');
65
66
  }
66
- function pickPhases(opts, completed) {
67
+ export function shouldHaltInit(state) {
68
+ return state === 'blocked';
69
+ }
70
+ function pickPhases(opts, _completed) {
67
71
  if (opts.only) {
68
72
  const p = findPhase(opts.only);
69
73
  return p ? [p] : [];
@@ -72,16 +76,8 @@ function pickPhases(opts, completed) {
72
76
  return phasesBetween(opts.from, opts.to);
73
77
  if (opts.to)
74
78
  return phasesBetween(undefined, opts.to);
75
- const lastCompleted = completed[completed.length - 1];
76
- if (!lastCompleted)
77
- return PHASES;
78
- const next = nextPhaseAfter(lastCompleted);
79
- return next ? phasesFrom(next) : PHASES;
80
- }
81
- function nextPhaseAfter(id) {
82
- const idx = PHASES.findIndex((p) => p.id === id);
83
- if (idx === -1 || idx >= PHASES.length - 1)
84
- return undefined;
85
- return PHASES[idx + 1]?.id;
79
+ // Always re-detect every phase. Structural detection is cheap and prevents
80
+ // old completion flags from hiding artifacts introduced by a newer CLI.
81
+ return PHASES;
86
82
  }
87
83
  //# sourceMappingURL=init.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import { type DependencyCompatibility } from '../lib/dependency-version.js';
2
+ import { type DepSpec } from '../manifest/deps.js';
1
3
  import type { Context } from '../context.js';
2
4
  export type SetupCheckResult = 'proceed' | 'aborted';
3
5
  /**
@@ -16,4 +18,11 @@ export type SetupCheckResult = 'proceed' | 'aborted';
16
18
  * "I don't want to type defaults," not "I don't care if my env is broken."
17
19
  */
18
20
  export declare function runSetupChecks(ctx: Context): Promise<SetupCheckResult>;
21
+ export declare function findMissingBylineDeps(ctx: Context): DepSpec[] | null;
22
+ export interface BylineDependencyIssue {
23
+ spec: DepSpec;
24
+ declared?: string;
25
+ compatibility?: DependencyCompatibility;
26
+ }
27
+ export declare function findBylineDependencyIssues(ctx: Context): BylineDependencyIssue[] | null;
19
28
  //# sourceMappingURL=setup-checks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup-checks.d.ts","sourceRoot":"","sources":["../../src/commands/setup-checks.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAE5C,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,SAAS,CAAA;AAEpD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAgD5E"}
1
+ {"version":3,"file":"setup-checks.d.ts","sourceRoot":"","sources":["../../src/commands/setup-checks.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,uBAAuB,EAE7B,MAAM,8BAA8B,CAAA;AAErC,OAAO,EAAa,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAE7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAE5C,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,SAAS,CAAA;AAEpD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA2D5E;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,EAAE,GAAG,IAAI,CAEpE;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,uBAAuB,CAAA;CACxC;AAED,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,OAAO,GAAG,qBAAqB,EAAE,GAAG,IAAI,CAwBvF"}
@@ -1,4 +1,6 @@
1
1
  import { existsSync, readFileSync } from 'node:fs';
2
+ import { evaluateDependencyCompatibility, } from '../lib/dependency-version.js';
3
+ import { BYLINE_RELEASE_POLICY } from '../lib/release-policy.js';
2
4
  import { DEP_SPECS } from '../manifest/deps.js';
3
5
  import { ENV_FILE_PATHS, ENV_SPECS } from '../manifest/env.js';
4
6
  /**
@@ -17,17 +19,22 @@ import { ENV_FILE_PATHS, ENV_SPECS } from '../manifest/env.js';
17
19
  * "I don't want to type defaults," not "I don't care if my env is broken."
18
20
  */
19
21
  export async function runSetupChecks(ctx) {
20
- const missingDeps = findMissingBylineDeps(ctx);
21
- if (missingDeps === null) {
22
+ const dependencyIssues = findBylineDependencyIssues(ctx);
23
+ if (dependencyIssues === null) {
22
24
  ctx.logger.error('package.json not found or unreadable — run `byline init` first');
23
25
  return 'aborted';
24
26
  }
25
- if (missingDeps.length > 0) {
26
- ctx.logger.error('core @byline/* packages are not installed in this app:');
27
- for (const spec of missingDeps) {
28
- ctx.logger.raw(` - ${spec.name}@${spec.version}`);
27
+ if (dependencyIssues.length > 0) {
28
+ ctx.logger.error('core @byline/* packages are missing or declare an incompatible range:');
29
+ for (const issue of dependencyIssues) {
30
+ ctx.logger.raw(` - ${issue.spec.name}@${issue.declared ?? issue.spec.version} — ${issue.compatibility?.reason ?? 'not declared'}`);
31
+ }
32
+ if (dependencyIssues.some((issue) => issue.compatibility?.preserveDeclared !== true)) {
33
+ ctx.logger.info(`install registry-backed packages with: ${installHint(ctx, dependencyIssues)}`);
34
+ }
35
+ if (dependencyIssues.some((issue) => issue.compatibility?.preserveDeclared === true)) {
36
+ ctx.logger.info(`workspace links were preserved; update or link the local @byline package to a supported ${BYLINE_RELEASE_POLICY.displayFloor} version`);
29
37
  }
30
- ctx.logger.info(`install them with: ${installHint(ctx)}`);
31
38
  ctx.logger.info('or run the full wizard: byline init');
32
39
  return 'aborted';
33
40
  }
@@ -56,7 +63,10 @@ export async function runSetupChecks(ctx) {
56
63
  }
57
64
  return 'proceed';
58
65
  }
59
- function findMissingBylineDeps(ctx) {
66
+ export function findMissingBylineDeps(ctx) {
67
+ return findBylineDependencyIssues(ctx)?.map((issue) => issue.spec) ?? null;
68
+ }
69
+ export function findBylineDependencyIssues(ctx) {
60
70
  const pkgPath = ctx.resolve('package.json');
61
71
  if (!existsSync(pkgPath))
62
72
  return null;
@@ -67,11 +77,22 @@ function findMissingBylineDeps(ctx) {
67
77
  catch {
68
78
  return null;
69
79
  }
70
- const declared = new Set([
71
- ...Object.keys(pkg.dependencies ?? {}),
72
- ...Object.keys(pkg.devDependencies ?? {}),
73
- ]);
74
- return DEP_SPECS.filter((s) => s.group === 'byline' && !declared.has(s.name));
80
+ const declared = { ...(pkg.devDependencies ?? {}), ...(pkg.dependencies ?? {}) };
81
+ const issues = [];
82
+ for (const spec of DEP_SPECS) {
83
+ if (spec.group !== 'byline')
84
+ continue;
85
+ const declaredVersion = declared[spec.name];
86
+ if (declaredVersion === undefined) {
87
+ issues.push({ spec });
88
+ continue;
89
+ }
90
+ const compatibility = evaluateDependencyCompatibility(ctx, spec, declaredVersion);
91
+ if (compatibility.status !== 'compatible') {
92
+ issues.push({ spec, declared: declaredVersion, compatibility });
93
+ }
94
+ }
95
+ return issues;
75
96
  }
76
97
  function findMissingEnvKeys(ctx) {
77
98
  // Read each file independently and check each spec against the file it
@@ -110,16 +131,20 @@ function parseEnvKeys(contents) {
110
131
  }
111
132
  return keys;
112
133
  }
113
- function installHint(ctx) {
134
+ function installHint(ctx, issues) {
135
+ const packages = issues
136
+ .filter((issue) => issue.compatibility?.preserveDeclared !== true)
137
+ .map((issue) => `${issue.spec.name}@${issue.spec.version}`)
138
+ .join(' ');
114
139
  switch (ctx.pm) {
115
140
  case 'pnpm':
116
- return 'pnpm add @byline/admin @byline/auth @byline/client @byline/core @byline/db-postgres @byline/host-tanstack-start @byline/richtext-lexical @byline/storage-local @byline/ui';
141
+ return `pnpm add ${packages}`;
117
142
  case 'yarn':
118
- return 'yarn add @byline/admin @byline/auth @byline/client @byline/core @byline/db-postgres @byline/host-tanstack-start @byline/richtext-lexical @byline/storage-local @byline/ui';
143
+ return `yarn add ${packages}`;
119
144
  case 'bun':
120
- return 'bun add @byline/admin @byline/auth @byline/client @byline/core @byline/db-postgres @byline/host-tanstack-start @byline/richtext-lexical @byline/storage-local @byline/ui';
145
+ return `bun add ${packages}`;
121
146
  case 'npm':
122
- return 'npm install @byline/admin @byline/auth @byline/client @byline/core @byline/db-postgres @byline/host-tanstack-start @byline/richtext-lexical @byline/storage-local @byline/ui';
147
+ return `npm install ${packages}`;
123
148
  }
124
149
  }
125
150
  //# sourceMappingURL=setup-checks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup-checks.js","sourceRoot":"","sources":["../../src/commands/setup-checks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup-checks.js","sourceRoot":"","sources":["../../src/commands/setup-checks.ts"],"names":[],"mappings":"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"}
@@ -30,7 +30,7 @@ export async function runSetup(opts) {
30
30
  yes: opts.yes ?? false,
31
31
  reset: opts.reset ?? false,
32
32
  resetConfirmed: opts.resetIMeanIt ?? false,
33
- pm: opts.pm,
33
+ pm: opts.pm ?? state.get().answers.pm,
34
34
  cliFlags: { ...opts },
35
35
  logger,
36
36
  prompter,
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
package/dist/context.d.ts CHANGED
@@ -21,6 +21,7 @@ export interface Secrets {
21
21
  }
22
22
  export declare class Context {
23
23
  readonly cwd: string;
24
+ readonly workspaceRoot: string;
24
25
  readonly apply: boolean;
25
26
  readonly dryRun: boolean;
26
27
  readonly yes: boolean;
@@ -34,6 +35,7 @@ export declare class Context {
34
35
  readonly secrets: Secrets;
35
36
  constructor(opts: ContextOptions);
36
37
  resolve(...parts: string[]): string;
38
+ resolveWorkspace(...parts: string[]): string;
37
39
  templatesDir(): string;
38
40
  }
39
41
  //# sourceMappingURL=context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAE5C,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,OAAO,CAAA;IACd,MAAM,EAAE,OAAO,CAAA;IACf,GAAG,EAAE,OAAO,CAAA;IACZ,KAAK,EAAE,OAAO,CAAA;IACd,cAAc,EAAE,OAAO,CAAA;IACvB,EAAE,CAAC,EAAE,cAAc,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAA;IACtD,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,QAAQ,CAAA;IAClB,KAAK,EAAE,UAAU,CAAA;CAClB;AAED,MAAM,WAAW,OAAO;IACtB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,qBAAa,OAAO;IAClB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAA;IAChC,EAAE,EAAE,cAAc,CAAA;IAClB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAA;IAC/D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAK;IAE9B,YAAY,IAAI,EAAE,cAAc,EAY/B;IAED,OAAO,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAElC;IAED,YAAY,IAAI,MAAM,CAGrB;CACF"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAE5C,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,OAAO,CAAA;IACd,MAAM,EAAE,OAAO,CAAA;IACf,GAAG,EAAE,OAAO,CAAA;IACZ,KAAK,EAAE,OAAO,CAAA;IACd,cAAc,EAAE,OAAO,CAAA;IACvB,EAAE,CAAC,EAAE,cAAc,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAA;IACtD,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,QAAQ,CAAA;IAClB,KAAK,EAAE,UAAU,CAAA;CAClB;AAED,MAAM,WAAW,OAAO;IACtB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,qBAAa,OAAO;IAClB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAA;IAChC,EAAE,EAAE,cAAc,CAAA;IAClB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAA;IAC/D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAK;IAE9B,YAAY,IAAI,EAAE,cAAc,EAa/B;IAED,OAAO,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAElC;IAED,gBAAgB,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAE3C;IAED,YAAY,IAAI,MAAM,CAGrB;CACF"}
package/dist/context.js CHANGED
@@ -1,7 +1,9 @@
1
1
  import { dirname, resolve } from 'node:path';
2
2
  import { fileURLToPath } from 'node:url';
3
+ import { findWorkspaceRoot } from './lib/workspace-root.js';
3
4
  export class Context {
4
5
  cwd;
6
+ workspaceRoot;
5
7
  apply;
6
8
  dryRun;
7
9
  yes;
@@ -15,6 +17,7 @@ export class Context {
15
17
  secrets = {};
16
18
  constructor(opts) {
17
19
  this.cwd = opts.cwd;
20
+ this.workspaceRoot = findWorkspaceRoot(opts.cwd);
18
21
  this.apply = opts.apply;
19
22
  this.dryRun = opts.dryRun;
20
23
  this.yes = opts.yes;
@@ -29,6 +32,9 @@ export class Context {
29
32
  resolve(...parts) {
30
33
  return resolve(this.cwd, ...parts);
31
34
  }
35
+ resolveWorkspace(...parts) {
36
+ return resolve(this.workspaceRoot, ...parts);
37
+ }
32
38
  templatesDir() {
33
39
  const here = dirname(fileURLToPath(import.meta.url));
34
40
  return resolve(here, './templates');
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AA0BxC,MAAM,OAAO,OAAO;IACT,GAAG,CAAQ;IACX,KAAK,CAAS;IACd,MAAM,CAAS;IACf,GAAG,CAAS;IACZ,KAAK,CAAS;IACd,cAAc,CAAS;IAChC,EAAE,CAAgB;IACT,QAAQ,CAA8C;IACtD,MAAM,CAAQ;IACd,QAAQ,CAAU;IAClB,KAAK,CAAY;IACjB,OAAO,GAAY,EAAE,CAAA;IAE9B,YAAY,IAAoB;QAC9B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;QACnB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACvB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QACzB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;QACnB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACvB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAA;QACzC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,MAAM,CAAA;QAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC7B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;IACzB,CAAC;IAED,OAAO,CAAC,GAAG,KAAe;QACxB,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAA;IACpC,CAAC;IAED,YAAY;QACV,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QACpD,OAAO,OAAO,CAAC,IAAI,EAAE,aAAa,CAAC,CAAA;IACrC,CAAC;CACF"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAyB3D,MAAM,OAAO,OAAO;IACT,GAAG,CAAQ;IACX,aAAa,CAAQ;IACrB,KAAK,CAAS;IACd,MAAM,CAAS;IACf,GAAG,CAAS;IACZ,KAAK,CAAS;IACd,cAAc,CAAS;IAChC,EAAE,CAAgB;IACT,QAAQ,CAA8C;IACtD,MAAM,CAAQ;IACd,QAAQ,CAAU;IAClB,KAAK,CAAY;IACjB,OAAO,GAAY,EAAE,CAAA;IAE9B,YAAY,IAAoB;QAC9B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;QACnB,IAAI,CAAC,aAAa,GAAG,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAChD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACvB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QACzB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;QACnB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACvB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAA;QACzC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,MAAM,CAAA;QAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC7B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;IACzB,CAAC;IAED,OAAO,CAAC,GAAG,KAAe;QACxB,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAA;IACpC,CAAC;IAED,gBAAgB,CAAC,GAAG,KAAe;QACjC,OAAO,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,KAAK,CAAC,CAAA;IAC9C,CAAC;IAED,YAAY;QACV,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QACpD,OAAO,OAAO,CAAC,IAAI,EAAE,aAAa,CAAC,CAAA;IACrC,CAAC;CACF"}
@@ -0,0 +1,12 @@
1
+ import type { Context } from '../context.js';
2
+ import type { DepSpec } from '../manifest/deps.js';
3
+ export interface DependencyCompatibility {
4
+ status: 'compatible' | 'incompatible' | 'unknown';
5
+ preserveDeclared: boolean;
6
+ reason: string;
7
+ actualVersion?: string;
8
+ }
9
+ export declare function evaluateDependencyCompatibility(ctx: Context, spec: DepSpec, declared: string): DependencyCompatibility;
10
+ export declare function checkDependencyVersion(spec: DepSpec, declared: string, actualVersion?: string): DependencyCompatibility;
11
+ export declare function isDependencyVersionCompatible(spec: DepSpec, declared: string): boolean;
12
+ //# sourceMappingURL=dependency-version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependency-version.d.ts","sourceRoot":"","sources":["../../src/lib/dependency-version.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAKlD,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,YAAY,GAAG,cAAc,GAAG,SAAS,CAAA;IACjD,gBAAgB,EAAE,OAAO,CAAA;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,OAAO,EACb,QAAQ,EAAE,MAAM,GACf,uBAAuB,CAMzB;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,OAAO,EACb,QAAQ,EAAE,MAAM,EAChB,aAAa,CAAC,EAAE,MAAM,GACrB,uBAAuB,CA+CzB;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEtF"}
@@ -0,0 +1,101 @@
1
+ import { readFileSync } from 'node:fs';
2
+ import { join } from 'node:path';
3
+ import { satisfies, subset, valid, validRange } from 'semver';
4
+ import { BYLINE_RELEASE_POLICY } from './release-policy.js';
5
+ import { resolveWorkspaceOwnership, workspacePackageDirectories } from './workspace-root.js';
6
+ const BARE_WORKSPACE_RANGES = new Set(['workspace:*', 'workspace:^', 'workspace:~']);
7
+ const resolvedVersions = new WeakMap();
8
+ export function evaluateDependencyCompatibility(ctx, spec, declared) {
9
+ const trimmed = declared.trim();
10
+ const actualVersion = BARE_WORKSPACE_RANGES.has(trimmed)
11
+ ? resolvePackageVersion(ctx, spec.name)
12
+ : undefined;
13
+ return checkDependencyVersion(spec, declared, actualVersion);
14
+ }
15
+ export function checkDependencyVersion(spec, declared, actualVersion) {
16
+ if (spec.group !== 'byline') {
17
+ return { status: 'compatible', preserveDeclared: false, reason: 'not a Byline package' };
18
+ }
19
+ const trimmed = declared.trim();
20
+ if (BARE_WORKSPACE_RANGES.has(trimmed)) {
21
+ if (!actualVersion) {
22
+ return {
23
+ status: 'unknown',
24
+ preserveDeclared: true,
25
+ reason: `${trimmed} target version could not be resolved locally`,
26
+ };
27
+ }
28
+ if (!valid(actualVersion) || !satisfies(actualVersion, BYLINE_RELEASE_POLICY.supportedRange)) {
29
+ return {
30
+ status: 'incompatible',
31
+ preserveDeclared: true,
32
+ actualVersion,
33
+ reason: `${trimmed} resolves to unsupported ${actualVersion}`,
34
+ };
35
+ }
36
+ return {
37
+ status: 'compatible',
38
+ preserveDeclared: true,
39
+ actualVersion,
40
+ reason: `${trimmed} resolves to ${actualVersion}`,
41
+ };
42
+ }
43
+ const range = normalizeStaticRange(spec, trimmed);
44
+ if (!range) {
45
+ return { status: 'incompatible', preserveDeclared: false, reason: 'invalid version range' };
46
+ }
47
+ try {
48
+ const compatible = validRange(range) !== null && subset(range, BYLINE_RELEASE_POLICY.supportedRange);
49
+ return compatible
50
+ ? { status: 'compatible', preserveDeclared: trimmed.startsWith('workspace:'), reason: range }
51
+ : {
52
+ status: 'incompatible',
53
+ preserveDeclared: trimmed.startsWith('workspace:'),
54
+ reason: `${range} is not wholly within ${BYLINE_RELEASE_POLICY.supportedRange}`,
55
+ };
56
+ }
57
+ catch {
58
+ return { status: 'incompatible', preserveDeclared: false, reason: 'invalid version range' };
59
+ }
60
+ }
61
+ export function isDependencyVersionCompatible(spec, declared) {
62
+ return checkDependencyVersion(spec, declared).status === 'compatible';
63
+ }
64
+ function normalizeStaticRange(spec, declared) {
65
+ if (declared.startsWith('workspace:'))
66
+ return declared.slice('workspace:'.length);
67
+ const npmAlias = declared.match(/^npm:(@byline\/[a-z0-9-]+)@(.+)$/);
68
+ if (npmAlias)
69
+ return npmAlias[1] === spec.name ? (npmAlias[2] ?? null) : null;
70
+ return declared || null;
71
+ }
72
+ function resolvePackageVersion(ctx, packageName) {
73
+ const cached = resolvedVersions.get(ctx);
74
+ if (cached?.has(packageName))
75
+ return cached.get(packageName);
76
+ let version;
77
+ const ownership = resolveWorkspaceOwnership(ctx.cwd);
78
+ const matches = [];
79
+ for (const directory of workspacePackageDirectories(ownership)) {
80
+ const candidate = readNamedPackageVersion(join(directory, 'package.json'), packageName);
81
+ if (candidate)
82
+ matches.push(candidate);
83
+ }
84
+ if (matches.length === 1)
85
+ version = matches[0];
86
+ const next = cached ?? new Map();
87
+ next.set(packageName, version);
88
+ if (!cached)
89
+ resolvedVersions.set(ctx, next);
90
+ return version;
91
+ }
92
+ function readNamedPackageVersion(path, packageName) {
93
+ try {
94
+ const pkg = JSON.parse(readFileSync(path, 'utf8'));
95
+ return pkg.name === packageName && typeof pkg.version === 'string' ? pkg.version : undefined;
96
+ }
97
+ catch {
98
+ return undefined;
99
+ }
100
+ }
101
+ //# sourceMappingURL=dependency-version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependency-version.js","sourceRoot":"","sources":["../../src/lib/dependency-version.ts"],"names":[],"mappings":"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"}