@byline/cli 6.13.0 → 6.13.2

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 (134) hide show
  1. package/LICENSE +5 -5
  2. package/dist/lib/template-docs-hooks.test.node.d.ts +2 -2
  3. package/dist/lib/template-docs-hooks.test.node.js +2 -2
  4. package/dist/lib/template-hook-boundary.test.node.js +2 -1
  5. package/dist/lib/template-hook-boundary.test.node.js.map +1 -1
  6. package/dist/lib/template-pages-preview.test.node.d.ts +2 -2
  7. package/dist/lib/template-pages-preview.test.node.js +2 -2
  8. package/dist/lib/template-path.d.ts.map +1 -1
  9. package/dist/lib/template-path.js +20 -1
  10. package/dist/lib/template-path.js.map +1 -1
  11. package/dist/lib/template-path.test.d.ts +9 -0
  12. package/dist/lib/template-path.test.d.ts.map +1 -0
  13. package/dist/lib/template-path.test.js +43 -0
  14. package/dist/lib/template-path.test.js.map +1 -0
  15. package/dist/manifest/deps.js +2 -2
  16. package/dist/manifest/deps.js.map +1 -1
  17. package/dist/phases/wire/index.d.ts.map +1 -1
  18. package/dist/phases/wire/index.js +17 -7
  19. package/dist/phases/wire/index.js.map +1 -1
  20. package/dist/phases/wire/start-ts.d.ts +2 -2
  21. package/dist/phases/wire/start-ts.js +2 -2
  22. package/dist/phases/wire/start-ts.test.d.ts +2 -2
  23. package/dist/phases/wire/start-ts.test.js +2 -2
  24. package/dist/phases/wire/vite-config-apply-error.test.d.ts +2 -0
  25. package/dist/phases/wire/vite-config-apply-error.test.d.ts.map +1 -0
  26. package/dist/phases/wire/vite-config-apply-error.test.js +47 -0
  27. package/dist/phases/wire/vite-config-apply-error.test.js.map +1 -0
  28. package/dist/phases/wire/vite-config-known-values.d.ts +28 -0
  29. package/dist/phases/wire/vite-config-known-values.d.ts.map +1 -0
  30. package/dist/phases/wire/vite-config-known-values.js +58 -0
  31. package/dist/phases/wire/vite-config-known-values.js.map +1 -0
  32. package/dist/phases/wire/vite-config-merge.d.ts +17 -0
  33. package/dist/phases/wire/vite-config-merge.d.ts.map +1 -1
  34. package/dist/phases/wire/vite-config-merge.js +169 -56
  35. package/dist/phases/wire/vite-config-merge.js.map +1 -1
  36. package/dist/phases/wire/vite-config-merge.test.js +149 -3
  37. package/dist/phases/wire/vite-config-merge.test.js.map +1 -1
  38. package/dist/phases/wire/vite-config.d.ts.map +1 -1
  39. package/dist/phases/wire/vite-config.js +64 -7
  40. package/dist/phases/wire/vite-config.js.map +1 -1
  41. package/dist/phases/wire/vite-config.test.js +110 -1
  42. package/dist/phases/wire/vite-config.test.js.map +1 -1
  43. package/dist/templates/byline/admin.config.ts +2 -2
  44. package/dist/templates/byline/collections/index.ts +2 -2
  45. package/dist/templates/byline/i18n.ts +2 -2
  46. package/dist/templates/byline/load-env.ts +2 -2
  47. package/dist/templates/byline/locales.ts +2 -2
  48. package/dist/templates/byline/public.ts +2 -2
  49. package/dist/templates/byline/routes.ts +2 -2
  50. package/dist/templates/byline/seed-admin.ts +2 -2
  51. package/dist/templates/byline/seeds/admin.ts +2 -2
  52. package/dist/templates/byline-examples/admin.config.ts +2 -2
  53. package/dist/templates/byline-examples/blocks/photo-block.ts +2 -2
  54. package/dist/templates/byline-examples/blocks/richtext-block.ts +2 -2
  55. package/dist/templates/byline-examples/collections/docs/admin.tsx +2 -2
  56. package/dist/templates/byline-examples/collections/docs/hooks.ts +2 -2
  57. package/dist/templates/byline-examples/collections/docs/index.ts +2 -2
  58. package/dist/templates/byline-examples/collections/docs/schema.ts +2 -2
  59. package/dist/templates/byline-examples/collections/index.ts +2 -2
  60. package/dist/templates/byline-examples/collections/media/admin.tsx +2 -2
  61. package/dist/templates/byline-examples/collections/media/components/media-list-view.tsx +2 -2
  62. package/dist/templates/byline-examples/collections/media/components/media-thumbnail.tsx +2 -2
  63. package/dist/templates/byline-examples/collections/media/index.ts +2 -2
  64. package/dist/templates/byline-examples/collections/media/schema.ts +2 -2
  65. package/dist/templates/byline-examples/collections/news/admin.tsx +2 -2
  66. package/dist/templates/byline-examples/collections/news/index.ts +2 -2
  67. package/dist/templates/byline-examples/collections/news/schema.ts +2 -2
  68. package/dist/templates/byline-examples/collections/news-categories/admin.tsx +2 -2
  69. package/dist/templates/byline-examples/collections/news-categories/index.ts +2 -2
  70. package/dist/templates/byline-examples/collections/news-categories/schema.ts +2 -2
  71. package/dist/templates/byline-examples/collections/pages/admin.tsx +2 -2
  72. package/dist/templates/byline-examples/collections/pages/index.ts +2 -2
  73. package/dist/templates/byline-examples/collections/pages/schema.ts +2 -2
  74. package/dist/templates/byline-examples/components/summary-length.tsx +2 -2
  75. package/dist/templates/byline-examples/fields/ai-text.ts +2 -2
  76. package/dist/templates/byline-examples/fields/ai-textarea.ts +2 -2
  77. package/dist/templates/byline-examples/fields/ai-widgets/ai-field-label.tsx +2 -2
  78. package/dist/templates/byline-examples/fields/ai-widgets/ai-field-panel.tsx +2 -2
  79. package/dist/templates/byline-examples/fields/ai-widgets/ai-panel-store.ts +2 -2
  80. package/dist/templates/byline-examples/fields/lexical-richtext-ai.tsx +2 -2
  81. package/dist/templates/byline-examples/fields/lexical-richtext-compact-admin.tsx +2 -2
  82. package/dist/templates/byline-examples/fields/lexical-richtext-compact.ts +2 -2
  83. package/dist/templates/byline-examples/fields/published-on-field.ts +2 -2
  84. package/dist/templates/byline-examples/i18n.ts +2 -2
  85. package/dist/templates/byline-examples/locales.ts +2 -2
  86. package/dist/templates/byline-examples/public.ts +2 -2
  87. package/dist/templates/byline-examples/routes.ts +2 -2
  88. package/dist/templates/byline-examples/scripts/import-docs.ts +2 -2
  89. package/dist/templates/byline-examples/scripts/lib/frontmatter.ts +2 -2
  90. package/dist/templates/byline-examples/scripts/lib/mdast-to-lexical.test.node.ts +2 -2
  91. package/dist/templates/byline-examples/scripts/lib/mdast-to-lexical.ts +2 -2
  92. package/dist/templates/byline-examples/scripts/lib/parse-markdown.ts +2 -2
  93. package/dist/templates/byline-examples/scripts/lib/rewrite-doc-links.ts +2 -2
  94. package/dist/templates/byline-examples/scripts/lib/strip-leading-h1.test.node.ts +2 -2
  95. package/dist/templates/byline-examples/scripts/lib/strip-leading-h1.ts +2 -2
  96. package/dist/templates/byline-examples/scripts/regenerate-media.ts +2 -2
  97. package/dist/templates/byline-examples/seed-docs.ts +2 -2
  98. package/dist/templates/byline-examples/seeds/docs.ts +2 -2
  99. package/dist/templates/byline-examples/seeds/news-categories.ts +2 -2
  100. package/dist/templates/byline-examples/seeds/site-settings.ts +2 -2
  101. package/dist/templates/byline-examples/singletons/site-settings/admin.ts +2 -2
  102. package/dist/templates/byline-examples/singletons/site-settings/index.ts +2 -2
  103. package/dist/templates/byline-examples/singletons/site-settings/schema.ts +2 -2
  104. package/dist/templates/dialects/mysql/byline/server.config.ts +2 -2
  105. package/dist/templates/dialects/mysql/byline-examples/server.config.ts +2 -2
  106. package/dist/templates/dialects/postgres/byline/server.config.ts +2 -2
  107. package/dist/templates/dialects/postgres/byline-examples/scripts/backfill-version-locales.ts +2 -2
  108. package/dist/templates/dialects/postgres/byline-examples/scripts/re-anchor.ts +2 -2
  109. package/dist/templates/dialects/postgres/byline-examples/server.config.ts +2 -2
  110. package/dist/templates/host/vite.config.ts +7 -1
  111. package/dist/templates/routes/_byline/admin/account/index.tsx +2 -2
  112. package/dist/templates/routes/_byline/admin/activity/index.tsx +2 -2
  113. package/dist/templates/routes/_byline/admin/collections/$collection/$id/api.tsx +2 -2
  114. package/dist/templates/routes/_byline/admin/collections/$collection/$id/history.tsx +2 -2
  115. package/dist/templates/routes/_byline/admin/collections/$collection/$id/index.tsx +2 -2
  116. package/dist/templates/routes/_byline/admin/collections/$collection/create.tsx +2 -2
  117. package/dist/templates/routes/_byline/admin/collections/$collection/index.tsx +2 -2
  118. package/dist/templates/routes/_byline/admin/index.tsx +2 -2
  119. package/dist/templates/routes/_byline/admin/permissions/index.tsx +2 -2
  120. package/dist/templates/routes/_byline/admin/roles/$id/index.tsx +2 -2
  121. package/dist/templates/routes/_byline/admin/roles/index.tsx +2 -2
  122. package/dist/templates/routes/_byline/admin/route.tsx +2 -2
  123. package/dist/templates/routes/_byline/admin/singletons/$singleton/history.tsx +2 -2
  124. package/dist/templates/routes/_byline/admin/singletons/$singleton/index.tsx +2 -2
  125. package/dist/templates/routes/_byline/admin/users/$id/index.tsx +2 -2
  126. package/dist/templates/routes/_byline/admin/users/index.tsx +2 -2
  127. package/dist/templates/routes/_byline/route.lazy.tsx +2 -2
  128. package/dist/templates/routes/_byline/route.tsx +2 -2
  129. package/dist/templates/routes/_byline/sign-in.tsx +2 -2
  130. package/dist/templates/ui-byline/components/responsive-image/index.tsx +2 -2
  131. package/dist/templates/ui-byline/components/richtext-lexical/serialize/types.ts +2 -2
  132. package/dist/templates-editor-api-drift.test.d.ts +2 -2
  133. package/dist/templates-editor-api-drift.test.js +2 -2
  134. package/package.json +2 -2
@@ -15,7 +15,9 @@
15
15
  * failure from install time, where the CLI can explain it, to a confusing
16
16
  * runtime or production-build failure.
17
17
  */
18
+ import { createHash } from 'node:crypto';
18
19
  import { Node, Project, SyntaxKind, } from 'ts-morph';
20
+ import { KNOWN_MANAGED_VALUES } from './vite-config-known-values.js';
19
21
  /** Statements Byline adds above `defineConfig`, in declaration order. */
20
22
  const CANONICAL_STATEMENTS = [
21
23
  'browserAsyncHooksShim',
@@ -26,16 +28,20 @@ const CANONICAL_STATEMENTS = [
26
28
  /** Top-level `defineConfig({...})` keys Byline owns. */
27
29
  const CANONICAL_CONFIG_KEYS = ['environments', 'ssr', 'optimizeDeps'];
28
30
  /** Keys Byline adds to the `nitro({...})` plugin call. */
29
- const CANONICAL_NITRO_KEYS = ['noExternals', 'rolldownConfig'];
31
+ const CANONICAL_NITRO_KEYS = ['noExternals', 'rolldownConfig', 'features'];
32
+ /** Where `bylineNitroFeatures`, the canonical `features` value, is imported from. */
33
+ const NITRO_FEATURES_MODULE = '@byline/host-tanstack-start/vite';
34
+ const NITRO_FEATURES_HELPER = 'bylineNitroFeatures';
30
35
  /** The plugin Byline prepends to the `plugins` array. */
31
36
  const BYLINE_PLUGIN_CALL = 'browserAsyncHooksAlias()';
32
37
  /**
33
38
  * A substring that only appears in Byline's own value for a given key.
34
39
  *
35
- * A key being present is not the same as a key being *ours*. Re-running `init`,
36
- * or inspecting the canonical config itself, must recognise Byline's settings as
37
- * already applied rather than reporting them as host-owned conflicts. Byline's
38
- * values always reference a Byline identifier or scope, so that is the tell.
40
+ * A marker says a value *contains* Byline configuration. It does not make the
41
+ * whole value Byline's: a host may add an external, or another Nitro option,
42
+ * next to Byline's. So a marker never licenses a replacement on its own — it
43
+ * only decides how a value that cannot be replaced is described: as a
44
+ * customized copy of Byline's value, or as the host's own setting.
39
45
  */
40
46
  const KEY_MARKERS = {
41
47
  environments: 'bylineSsrNoExternal',
@@ -43,18 +49,99 @@ const KEY_MARKERS = {
43
49
  optimizeDeps: 'ssrExternal',
44
50
  noExternals: '@byline/',
45
51
  rolldownConfig: '@byline/',
52
+ features: NITRO_FEATURES_HELPER,
46
53
  };
47
- function isBylineOwnedValue(key, text) {
48
- const marker = KEY_MARKERS[key];
49
- return marker != null && text.includes(marker);
54
+ /**
55
+ * A structural fingerprint of a value: its syntax tree with comments,
56
+ * whitespace, quote style and trailing commas removed. Two values with the same
57
+ * fingerprint are the same configuration however they are formatted, so a
58
+ * config reformatted by the host's own formatter is never reported as changed.
59
+ */
60
+ function fingerprintValue(node) {
61
+ return createHash('sha256').update(structure(node)).digest('hex').slice(0, 16);
62
+ }
63
+ function structure(node) {
64
+ if (Node.isStringLiteral(node) || Node.isNoSubstitutionTemplateLiteral(node)) {
65
+ return JSON.stringify(node.getLiteralValue());
66
+ }
67
+ if (Node.isArrayLiteralExpression(node)) {
68
+ return `[${node.getElements().map(structure).join(',')}]`;
69
+ }
70
+ if (Node.isObjectLiteralExpression(node)) {
71
+ return `{${node.getProperties().map(structure).join(',')}}`;
72
+ }
73
+ const children = node.getChildren();
74
+ if (children.length === 0)
75
+ return node.getText();
76
+ return children
77
+ .filter((child) => child.getKind() !== SyntaxKind.CommaToken || child.getNextSibling())
78
+ .map(structure)
79
+ .join(' ');
80
+ }
81
+ function classifyManagedValue(key, property, canonicalFingerprint) {
82
+ if (!property)
83
+ return 'missing';
84
+ const initializer = Node.isPropertyAssignment(property) ? property.getInitializer() : undefined;
85
+ const text = property.getText();
86
+ const marker = KEY_MARKERS[baseKey(key)];
87
+ const marked = marker != null && text.includes(marker);
88
+ if (!initializer)
89
+ return marked ? 'customized' : 'host';
90
+ // Passing the host's own features through the helper is the documented use,
91
+ // not a customization of Byline's value.
92
+ if (key === 'nitro.features' &&
93
+ Node.isCallExpression(initializer) &&
94
+ initializer.getExpression().getText() === NITRO_FEATURES_HELPER) {
95
+ return 'current';
96
+ }
97
+ const fingerprint = fingerprintValue(initializer);
98
+ if (fingerprint === canonicalFingerprint)
99
+ return 'current';
100
+ if (KNOWN_MANAGED_VALUES[key].includes(fingerprint))
101
+ return 'known';
102
+ return marked ? 'customized' : 'host';
103
+ }
104
+ function baseKey(key) {
105
+ return key.startsWith('nitro.') ? key.slice('nitro.'.length) : key;
106
+ }
107
+ function managedLabel(key) {
108
+ return key.startsWith('nitro.') ? `nitro \`${baseKey(key)}\`` : `\`${key}\``;
109
+ }
110
+ function customizedNote(key) {
111
+ return `${managedLabel(key)} differs from every value Byline has shipped; merge Byline's current value into it by hand`;
112
+ }
113
+ function hostOwnedNote(key) {
114
+ if (key === 'nitro.features') {
115
+ return `nitro \`features\` is already set; pass your features through \`${NITRO_FEATURES_HELPER}({ ... })\` from ${NITRO_FEATURES_MODULE} so Byline can turn off srvx FastResponse (h3js/srvx#343)`;
116
+ }
117
+ return `${managedLabel(key)} is already set`;
50
118
  }
51
119
  /**
52
- * Whitespace-insensitive comparison. A value written by an earlier release and
53
- * then reformatted — by `formatText` here, or by the host's own formatter — is
54
- * still the same value, and must not be rewritten on every run.
120
+ * The fingerprint of each managed value in a config, keyed like
121
+ * {@link KNOWN_MANAGED_VALUES}. Keys the config does not set are absent. Used
122
+ * to pin the canonical values, so that changing one forces its previous
123
+ * fingerprint into the known list.
55
124
  */
56
- function sameCode(a, b) {
57
- return a.replace(/\s+/g, ' ').trim() === b.replace(/\s+/g, ' ').trim();
125
+ export function managedValueFingerprints(configSource) {
126
+ const fingerprints = new Map();
127
+ const source = newProject().createSourceFile('vite.config.ts', configSource);
128
+ const configObject = findDefineConfigObject(source);
129
+ if (!configObject)
130
+ return fingerprints;
131
+ const record = (key, property) => {
132
+ const initializer = property && Node.isPropertyAssignment(property) ? property.getInitializer() : undefined;
133
+ if (initializer)
134
+ fingerprints.set(key, fingerprintValue(initializer));
135
+ };
136
+ for (const key of CANONICAL_CONFIG_KEYS)
137
+ record(key, configObject.getProperty(key));
138
+ const nitroCall = findNitroCall(configObject);
139
+ const nitroObject = nitroCall ? firstObjectArgument(nitroCall) : undefined;
140
+ if (nitroObject) {
141
+ for (const key of CANONICAL_NITRO_KEYS)
142
+ record(`nitro.${key}`, nitroObject.getProperty(key));
143
+ }
144
+ return fingerprints;
58
145
  }
59
146
  function newProject() {
60
147
  return new Project({ useInMemoryFileSystem: true, skipAddingFilesFromTsConfig: true });
@@ -78,12 +165,22 @@ export function extractCanonicalPieces(canonicalSource) {
78
165
  if (!configObject) {
79
166
  throw new Error('canonical vite.config.ts has no recognisable defineConfig({...}) call');
80
167
  }
168
+ const values = new Map();
169
+ const fingerprints = new Map();
170
+ const recordValue = (key, property) => {
171
+ const initializer = Node.isPropertyAssignment(property) ? property.getInitializer() : undefined;
172
+ if (!initializer)
173
+ throw new Error(`canonical vite.config.ts sets ${managedLabel(key)} without a value`);
174
+ values.set(key, initializer.getText());
175
+ fingerprints.set(key, fingerprintValue(initializer));
176
+ };
81
177
  const configProps = new Map();
82
178
  for (const key of CANONICAL_CONFIG_KEYS) {
83
179
  const property = configObject.getProperty(key);
84
180
  if (!property)
85
181
  throw new Error(`canonical vite.config.ts no longer sets \`${key}\``);
86
182
  configProps.set(key, property.getText());
183
+ recordValue(key, property);
87
184
  }
88
185
  const nitroCall = findNitroCall(configObject);
89
186
  const nitroObject = nitroCall ? firstObjectArgument(nitroCall) : undefined;
@@ -96,8 +193,9 @@ export function extractCanonicalPieces(canonicalSource) {
96
193
  if (!property)
97
194
  throw new Error(`canonical vite.config.ts no longer sets nitro \`${key}\``);
98
195
  nitroProps.set(key, property.getText());
196
+ recordValue(`nitro.${key}`, property);
99
197
  }
100
- return { statements, configProps, nitroProps };
198
+ return { statements, configProps, nitroProps, values, fingerprints };
101
199
  }
102
200
  /**
103
201
  * Decide whether the host's config can take Byline's settings, and if so return
@@ -135,28 +233,35 @@ export function analyzeUserConfig(userSource, canonical) {
135
233
  }
136
234
  const changes = [];
137
235
  const unplaced = [];
236
+ const customized = [];
138
237
  const missingStatements = CANONICAL_STATEMENTS.filter((name) => !declaresName(source, name));
139
- // Byline only claims keys the host has not already set. A key holding a
140
- // host-authored value is reported rather than merged into — we cannot know
141
- // whether that value was deliberate. A key already holding Byline's own value
142
- // is simply done.
238
+ // Byline replaces a value only when it is provably one Byline wrote: its
239
+ // current value, or a value an earlier release shipped verbatim. Anything
240
+ // else — the host's own setting, or Byline's value with host additions — is
241
+ // left untouched and reported, because replacing it would silently drop
242
+ // settings the host's build may need.
243
+ const sort = (key, property, toAdd, toReplace) => {
244
+ switch (classifyManagedValue(key, property, canonical.fingerprints.get(key))) {
245
+ case 'missing':
246
+ toAdd.push(baseKey(key));
247
+ break;
248
+ case 'known':
249
+ toReplace.push(baseKey(key));
250
+ break;
251
+ case 'customized':
252
+ customized.push(customizedNote(key));
253
+ break;
254
+ case 'host':
255
+ unplaced.push(hostOwnedNote(key));
256
+ break;
257
+ case 'current':
258
+ break;
259
+ }
260
+ };
143
261
  const configKeysToAdd = [];
144
262
  const configKeysToReplace = [];
145
263
  for (const key of CANONICAL_CONFIG_KEYS) {
146
- const property = configObject.getProperty(key);
147
- const canonicalText = canonical.configProps.get(key);
148
- if (!property) {
149
- configKeysToAdd.push(key);
150
- }
151
- else if (!isBylineOwnedValue(key, property.getText())) {
152
- unplaced.push(`\`${key}\` is already set`);
153
- }
154
- else if (canonicalText && !sameCode(property.getText(), canonicalText)) {
155
- // The key holds Byline's own value from an earlier release. We own it, so
156
- // bring it up to date — otherwise a config merged by a previous version
157
- // silently never receives later fixes to these settings.
158
- configKeysToReplace.push(key);
159
- }
264
+ sort(key, configObject.getProperty(key), configKeysToAdd, configKeysToReplace);
160
265
  }
161
266
  const pluginsArray = getPluginsArray(configObject);
162
267
  const nitroCall = pluginsArray ? findNitroCallInArray(pluginsArray) : undefined;
@@ -174,17 +279,7 @@ export function analyzeUserConfig(userSource, canonical) {
174
279
  }
175
280
  else {
176
281
  for (const key of CANONICAL_NITRO_KEYS) {
177
- const property = nitroObject.getProperty(key);
178
- const canonicalText = canonical.nitroProps.get(key);
179
- if (!property) {
180
- nitroKeysToAdd.push(key);
181
- }
182
- else if (!isBylineOwnedValue(key, property.getText())) {
183
- unplaced.push(`nitro \`${key}\` is already set`);
184
- }
185
- else if (canonicalText && !sameCode(property.getText(), canonicalText)) {
186
- nitroKeysToReplace.push(key);
187
- }
282
+ sort(`nitro.${key}`, nitroObject.getProperty(key), nitroKeysToAdd, nitroKeysToReplace);
188
283
  }
189
284
  }
190
285
  const addsPlugin = pluginsArray != null && !pluginsArrayHasByline(pluginsArray);
@@ -201,19 +296,21 @@ export function analyzeUserConfig(userSource, canonical) {
201
296
  if (addsPlugin)
202
297
  changes.push('register browserAsyncHooksAlias()');
203
298
  if (changes.length === 0 && unplaced.length === 0) {
204
- return { kind: 'canonical' };
299
+ return customized.length === 0
300
+ ? { kind: 'canonical' }
301
+ : { kind: 'customized', notes: customized };
205
302
  }
206
303
  if (changes.length === 0) {
207
304
  return {
208
305
  kind: 'unrecognized',
209
- reason: `nothing could be applied automatically (${unplaced.join('; ')})`,
306
+ reason: `nothing could be applied automatically (${[...unplaced, ...customized].join('; ')})`,
210
307
  };
211
308
  }
212
309
  return {
213
310
  kind: 'mergeable',
214
311
  plan: {
215
312
  changes,
216
- unplaced,
313
+ unplaced: [...unplaced, ...customized],
217
314
  apply() {
218
315
  // Re-parse so the plan owns a clean tree; analysis must not mutate.
219
316
  const applyProject = newProject();
@@ -224,12 +321,22 @@ export function analyzeUserConfig(userSource, canonical) {
224
321
  ensureNamedImport(applySource, 'node:url', 'fileURLToPath');
225
322
  ensureTypeOnlyNamedImport(applySource, 'vite', 'Plugin');
226
323
  insertStatementsBeforeConfig(applySource, canonical, missingStatements);
227
- for (const key of [...configKeysToReplace, ...configKeysToAdd]) {
324
+ // A known earlier value is updated in place — its initializer swapped,
325
+ // the property and the commas around it kept — so the host's layout
326
+ // and trailing-comma style survive.
327
+ const replaceValue = (object, key) => {
328
+ const property = object.getProperty(baseKey(key));
329
+ const value = canonical.values.get(key);
330
+ if (property && value && Node.isPropertyAssignment(property)) {
331
+ property.setInitializer(value);
332
+ }
333
+ };
334
+ for (const key of configKeysToReplace)
335
+ replaceValue(applyConfig, key);
336
+ for (const key of configKeysToAdd) {
228
337
  const text = canonical.configProps.get(key);
229
- if (!text)
230
- continue;
231
- applyConfig.getProperty(key)?.remove();
232
- applyConfig.addProperty(text);
338
+ if (text)
339
+ applyConfig.addProperty(text);
233
340
  }
234
341
  const applyPlugins = getPluginsArray(applyConfig);
235
342
  if (applyPlugins) {
@@ -238,15 +345,21 @@ export function analyzeUserConfig(userSource, canonical) {
238
345
  const applyNitro = findNitroCallInArray(applyPlugins);
239
346
  const applyNitroObject = applyNitro ? firstObjectArgument(applyNitro) : undefined;
240
347
  if (applyNitroObject) {
241
- for (const key of [...nitroKeysToReplace, ...nitroKeysToAdd]) {
348
+ for (const key of nitroKeysToReplace) {
349
+ replaceValue(applyNitroObject, `nitro.${key}`);
350
+ }
351
+ for (const key of nitroKeysToAdd) {
242
352
  const text = canonical.nitroProps.get(key);
243
- if (!text)
244
- continue;
245
- applyNitroObject.getProperty(key)?.remove();
246
- applyNitroObject.addProperty(text);
353
+ if (text)
354
+ applyNitroObject.addProperty(text);
247
355
  }
248
356
  }
249
357
  }
358
+ // Added after the property edits: inserting an import first would
359
+ // invalidate the nitro object node those edits hold.
360
+ if ([...nitroKeysToReplace, ...nitroKeysToAdd].includes('features')) {
361
+ ensureNamedImport(applySource, NITRO_FEATURES_MODULE, NITRO_FEATURES_HELPER);
362
+ }
250
363
  applySource.formatText({ indentSize: 2 });
251
364
  return applySource.getFullText();
252
365
  },
@@ -1 +1 @@
1
- {"version":3,"file":"vite-config-merge.js","sourceRoot":"","sources":["../../../src/phases/wire/vite-config-merge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vite-config-merge.js","sourceRoot":"","sources":["../../../src/phases/wire/vite-config-merge.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,8 @@ import { dirname, join } from 'node:path';
3
3
  import { fileURLToPath } from 'node:url';
4
4
  import { describe, expect, it } from 'vitest';
5
5
  import { DEP_SPECS } from '../../manifest/deps.js';
6
- import { analyzeUserConfig, extractCanonicalPieces } from './vite-config-merge.js';
6
+ import { CURRENT_MANAGED_VALUES, KNOWN_MANAGED_VALUES } from './vite-config-known-values.js';
7
+ import { analyzeUserConfig, extractCanonicalPieces, managedValueFingerprints, } from './vite-config-merge.js';
7
8
  const CANONICAL = readFileSync(join(dirname(fileURLToPath(import.meta.url)), '../../templates/host/vite.config.ts'), 'utf8');
8
9
  /**
9
10
  * The shape the TanStack Start CLI emits. The Sentry external is deliberate:
@@ -45,7 +46,7 @@ describe('canonical extraction', () => {
45
46
  'ssrExternal',
46
47
  ]);
47
48
  expect([...pieces.configProps.keys()]).toEqual(['environments', 'ssr', 'optimizeDeps']);
48
- expect([...pieces.nitroProps.keys()]).toEqual(['noExternals', 'rolldownConfig']);
49
+ expect([...pieces.nitroProps.keys()]).toEqual(['noExternals', 'rolldownConfig', 'features']);
49
50
  });
50
51
  it('throws rather than silently omitting a renamed piece', () => {
51
52
  const renamed = CANONICAL.replace('const ssrExternal =', 'const somethingElse =');
@@ -82,7 +83,7 @@ describe('merging into a host config', () => {
82
83
  expect(analysis.plan.unplaced).toEqual([]);
83
84
  expect(analysis.plan.changes.join('\n')).toContain('browserAsyncHooksShim');
84
85
  expect(analysis.plan.changes.join('\n')).toContain('environments, ssr, optimizeDeps');
85
- expect(analysis.plan.changes.join('\n')).toContain('nitro noExternals, rolldownConfig');
86
+ expect(analysis.plan.changes.join('\n')).toContain('nitro noExternals, rolldownConfig, features');
86
87
  });
87
88
  it('produces a config carrying every required setting', () => {
88
89
  const analysis = analyzeUserConfig(STOCK_STARTER, canonical);
@@ -96,7 +97,10 @@ describe('merging into a host config', () => {
96
97
  // Production-critical.
97
98
  expect(merged).toContain("noExternals: ['@byline/ui'");
98
99
  expect(merged).toContain('rolldownConfig');
100
+ // Status-critical: srvx FastResponse turns thrown Responses into 200s.
101
+ expect(merged).toContain('features: bylineNitroFeatures()');
99
102
  // Imports the inserted code depends on.
103
+ expect(merged).toMatch(/import \{ bylineNitroFeatures \} from ["']@byline\/host-tanstack-start\/vite["']/);
100
104
  expect(merged).toContain('fileURLToPath');
101
105
  expect(merged).toContain('Plugin');
102
106
  // Registered ahead of the host's own plugins.
@@ -160,6 +164,36 @@ describe('merging into a host config', () => {
160
164
  expect(analysis.plan.unplaced.join(' ')).toContain('`ssr` is already set');
161
165
  expect(analysis.plan.apply()).toContain('left-alone');
162
166
  });
167
+ it('adds bylineNitroFeatures() to a config merged before it existed', () => {
168
+ const merged = (() => {
169
+ const first = analyzeUserConfig(STOCK_STARTER, canonical);
170
+ if (first.kind !== 'mergeable')
171
+ throw new Error('expected mergeable');
172
+ return first.plan.apply();
173
+ })();
174
+ const predecessor = merged
175
+ .replace(/^\s*features: bylineNitroFeatures\(\),?\n/m, '')
176
+ .replace(/^import \{ bylineNitroFeatures \} from ["']@byline\/host-tanstack-start\/vite["'];?\n/m, '');
177
+ expect(predecessor).not.toContain('bylineNitroFeatures');
178
+ const analysis = analyzeUserConfig(predecessor, canonical);
179
+ if (analysis.kind !== 'mergeable')
180
+ throw new Error('expected mergeable');
181
+ expect(analysis.plan.changes.join(' ')).toContain('set nitro features');
182
+ const upgraded = analysis.plan.apply();
183
+ expect(upgraded).toContain('features: bylineNitroFeatures()');
184
+ expect(upgraded).toMatch(/import \{ bylineNitroFeatures \} from ["']@byline\/host-tanstack-start\/vite["']/);
185
+ expect(analyzeUserConfig(upgraded, canonical).kind).toBe('canonical');
186
+ });
187
+ it("reports the host's own nitro features with the bylineNitroFeatures() remedy", () => {
188
+ const withFeatures = STOCK_STARTER.replace('nitro({ rollupConfig', 'nitro({ features: { websocket: true }, rollupConfig');
189
+ const analysis = analyzeUserConfig(withFeatures, canonical);
190
+ if (analysis.kind !== 'mergeable')
191
+ throw new Error('expected mergeable');
192
+ const unplaced = analysis.plan.unplaced.join(' ');
193
+ expect(unplaced).toContain('nitro `features` is already set');
194
+ expect(unplaced).toContain('bylineNitroFeatures({ ... })');
195
+ expect(analysis.plan.apply()).toContain('features: { websocket: true }');
196
+ });
163
197
  it('declines a config with no inline defineConfig object', () => {
164
198
  const indirect = `import { defineConfig } from 'vite'
165
199
  const options = { plugins: [] }
@@ -176,4 +210,116 @@ export default defineConfig(options)
176
210
  expect(analysis.kind).toBe('unrecognized');
177
211
  });
178
212
  });
213
+ /** The source text of a config, or fails the test if it does not parse. */
214
+ function assertParses(text) {
215
+ // A merge that produced invalid syntax would make this analysis unrecognized.
216
+ expect(analyzeUserConfig(text, extractCanonicalPieces(CANONICAL)).kind).not.toBe('unrecognized');
217
+ }
218
+ /** Adds a host external right after Byline's `'react-dom'` entry in nitro `rolldownConfig`. */
219
+ function withHostExternal(config) {
220
+ const start = config.indexOf('rolldownConfig');
221
+ const anchor = "'react-dom',";
222
+ const at = config.indexOf(anchor, start) + anchor.length;
223
+ expect(at).toBeGreaterThan(anchor.length);
224
+ return `${config.slice(0, at)} 'host-native-dep',${config.slice(at)}`;
225
+ }
226
+ /** Byline's nitro `rolldownConfig` as shipped before MySQL externalization (a known value). */
227
+ function withPreMysqlRolldownConfig(config) {
228
+ const current = '/^@byline\\/(db-postgres|db-mysql|storage-local|storage-s3)/';
229
+ expect(config).toContain(current);
230
+ return config.replace(current, '/^@byline\\/(db-postgres|storage-local|storage-s3)/');
231
+ }
232
+ function mergedStarter() {
233
+ const first = analyzeUserConfig(STOCK_STARTER, extractCanonicalPieces(CANONICAL));
234
+ if (first.kind !== 'mergeable')
235
+ throw new Error('expected mergeable');
236
+ return first.plan.apply();
237
+ }
238
+ describe('managed value ownership', () => {
239
+ const canonical = extractCanonicalPieces(CANONICAL);
240
+ it('pins the canonical values so a changed one must register its predecessor', () => {
241
+ // If this fails you changed a managed value in templates/host/vite.config.ts.
242
+ // Move the key's old fingerprint from CURRENT_MANAGED_VALUES into
243
+ // KNOWN_MANAGED_VALUES and record the new one, so configs holding the old
244
+ // value keep being updated automatically.
245
+ expect(Object.fromEntries(managedValueFingerprints(CANONICAL))).toEqual(CURRENT_MANAGED_VALUES);
246
+ for (const [key, fingerprint] of Object.entries(CURRENT_MANAGED_VALUES)) {
247
+ expect(KNOWN_MANAGED_VALUES[key]).not.toContain(fingerprint);
248
+ }
249
+ });
250
+ it('treats reformatted canonical values as current', () => {
251
+ // Comments, quote style and trailing commas are formatting, not configuration.
252
+ const reformatted = CANONICAL.replace(/^\s*\/\/.*$/gm, '')
253
+ .replaceAll("'react-dom',", '"react-dom",')
254
+ .replace('storage-s3)/,\n', 'storage-s3)/\n');
255
+ expect(reformatted).not.toBe(CANONICAL.replace(/^\s*\/\/.*$/gm, ''));
256
+ expect(analyzeUserConfig(reformatted, canonical).kind).toBe('canonical');
257
+ });
258
+ it('accepts host features passed through bylineNitroFeatures()', () => {
259
+ const withFeatures = CANONICAL.replace('features: bylineNitroFeatures()', 'features: bylineNitroFeatures({ websocket: true })');
260
+ expect(analyzeUserConfig(withFeatures, canonical).kind).toBe('canonical');
261
+ });
262
+ it('leaves a customized canonical rolldownConfig intact and explains the conflict', () => {
263
+ // The canonical file has trailing commas — the shape that used to throw
264
+ // "A syntax error was inserted" when this value was replaced.
265
+ const analysis = analyzeUserConfig(withHostExternal(CANONICAL), canonical);
266
+ expect(analysis.kind).toBe('customized');
267
+ if (analysis.kind !== 'customized')
268
+ return;
269
+ expect(analysis.notes.join(' ')).toContain('nitro `rolldownConfig` differs from every value');
270
+ expect(analysis.notes.join(' ')).toContain('by hand');
271
+ });
272
+ it('leaves a customized merged rolldownConfig intact', () => {
273
+ // A config merged by ts-morph has no trailing comma after the last nitro
274
+ // option; this shape used to "succeed" and silently drop the host external.
275
+ expect(analyzeUserConfig(withHostExternal(mergedStarter()), canonical).kind).toBe('customized');
276
+ });
277
+ it('keeps host additions when other settings still need merging', () => {
278
+ const customized = withHostExternal(CANONICAL).replace(/\n {6}\/\/ Nitro 3 release candidates swap in[\s\S]*?features: bylineNitroFeatures\(\),/, '');
279
+ expect(customized).not.toContain('features:');
280
+ const analysis = analyzeUserConfig(customized, canonical);
281
+ if (analysis.kind !== 'mergeable')
282
+ throw new Error('expected mergeable');
283
+ expect(analysis.plan.changes.join(' ')).toContain('set nitro features');
284
+ expect(analysis.plan.unplaced.join(' ')).toContain('nitro `rolldownConfig` differs');
285
+ const merged = analysis.plan.apply();
286
+ expect(merged).toContain('host-native-dep');
287
+ expect(merged).toContain('features: bylineNitroFeatures()');
288
+ assertParses(merged);
289
+ });
290
+ for (const [shape, config] of [
291
+ ['canonical (trailing commas)', () => CANONICAL],
292
+ ['merged (no trailing comma)', mergedStarter],
293
+ ]) {
294
+ it(`updates a known earlier rolldownConfig in place: ${shape}`, () => {
295
+ const stale = withPreMysqlRolldownConfig(config());
296
+ const analysis = analyzeUserConfig(stale, canonical);
297
+ if (analysis.kind !== 'mergeable')
298
+ throw new Error(`expected mergeable, got ${analysis.kind}`);
299
+ expect(analysis.plan.changes).toEqual(['update nitro rolldownConfig']);
300
+ expect(analysis.plan.unplaced).toEqual([]);
301
+ const updated = analysis.plan.apply();
302
+ assertParses(updated);
303
+ expect(updated).toContain('db-mysql|storage-local');
304
+ expect(analyzeUserConfig(updated, canonical).kind).toBe('canonical');
305
+ });
306
+ }
307
+ it('adds a missing nitro option to an object with a trailing comma', () => {
308
+ const host = STOCK_STARTER.replace('nitro({ rollupConfig: { external: [/^@sentry\\//] } })', "nitro({\n preset: 'node',\n })");
309
+ const analysis = analyzeUserConfig(host, canonical);
310
+ if (analysis.kind !== 'mergeable')
311
+ throw new Error('expected mergeable');
312
+ const merged = analysis.plan.apply();
313
+ assertParses(merged);
314
+ expect(analyzeUserConfig(merged, canonical).kind).toBe('canonical');
315
+ });
316
+ it("reports a shorthand managed key as the host's own", () => {
317
+ const host = STOCK_STARTER.replace('resolve: { tsconfigPaths: true },', 'resolve: { tsconfigPaths: true },\n ssr,').replace('const config', 'const ssr = {}\nconst config');
318
+ const analysis = analyzeUserConfig(host, canonical);
319
+ if (analysis.kind !== 'mergeable')
320
+ throw new Error('expected mergeable');
321
+ expect(analysis.plan.unplaced.join(' ')).toContain('`ssr` is already set');
322
+ expect(analysis.plan.apply()).toMatch(/\n {2}ssr,/);
323
+ });
324
+ });
179
325
  //# sourceMappingURL=vite-config-merge.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vite-config-merge.test.js","sourceRoot":"","sources":["../../../src/phases/wire/vite-config-merge.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vite-config-merge.test.js","sourceRoot":"","sources":["../../../src/phases/wire/vite-config-merge.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"vite-config.d.ts","sourceRoot":"","sources":["../../../src/phases/wire/vite-config.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,OAAO,EAAiB,MAAM,aAAa,CAAA;AAqCzD,eAAO,MAAM,cAAc,EAAE,OAS5B,CAAA"}
1
+ {"version":3,"file":"vite-config.d.ts","sourceRoot":"","sources":["../../../src/phases/wire/vite-config.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,OAAO,EAAiB,MAAM,aAAa,CAAA;AAwCzD,eAAO,MAAM,cAAc,EAAE,OAS5B,CAAA"}