@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.
- package/LICENSE +5 -5
- package/dist/lib/template-docs-hooks.test.node.d.ts +2 -2
- package/dist/lib/template-docs-hooks.test.node.js +2 -2
- package/dist/lib/template-hook-boundary.test.node.js +2 -1
- package/dist/lib/template-hook-boundary.test.node.js.map +1 -1
- package/dist/lib/template-pages-preview.test.node.d.ts +2 -2
- package/dist/lib/template-pages-preview.test.node.js +2 -2
- package/dist/lib/template-path.d.ts.map +1 -1
- package/dist/lib/template-path.js +20 -1
- package/dist/lib/template-path.js.map +1 -1
- package/dist/lib/template-path.test.d.ts +9 -0
- package/dist/lib/template-path.test.d.ts.map +1 -0
- package/dist/lib/template-path.test.js +43 -0
- package/dist/lib/template-path.test.js.map +1 -0
- package/dist/manifest/deps.js +2 -2
- package/dist/manifest/deps.js.map +1 -1
- package/dist/phases/wire/index.d.ts.map +1 -1
- package/dist/phases/wire/index.js +17 -7
- package/dist/phases/wire/index.js.map +1 -1
- package/dist/phases/wire/start-ts.d.ts +2 -2
- package/dist/phases/wire/start-ts.js +2 -2
- package/dist/phases/wire/start-ts.test.d.ts +2 -2
- package/dist/phases/wire/start-ts.test.js +2 -2
- package/dist/phases/wire/vite-config-apply-error.test.d.ts +2 -0
- package/dist/phases/wire/vite-config-apply-error.test.d.ts.map +1 -0
- package/dist/phases/wire/vite-config-apply-error.test.js +47 -0
- package/dist/phases/wire/vite-config-apply-error.test.js.map +1 -0
- package/dist/phases/wire/vite-config-known-values.d.ts +28 -0
- package/dist/phases/wire/vite-config-known-values.d.ts.map +1 -0
- package/dist/phases/wire/vite-config-known-values.js +58 -0
- package/dist/phases/wire/vite-config-known-values.js.map +1 -0
- package/dist/phases/wire/vite-config-merge.d.ts +17 -0
- package/dist/phases/wire/vite-config-merge.d.ts.map +1 -1
- package/dist/phases/wire/vite-config-merge.js +169 -56
- package/dist/phases/wire/vite-config-merge.js.map +1 -1
- package/dist/phases/wire/vite-config-merge.test.js +149 -3
- package/dist/phases/wire/vite-config-merge.test.js.map +1 -1
- package/dist/phases/wire/vite-config.d.ts.map +1 -1
- package/dist/phases/wire/vite-config.js +64 -7
- package/dist/phases/wire/vite-config.js.map +1 -1
- package/dist/phases/wire/vite-config.test.js +110 -1
- package/dist/phases/wire/vite-config.test.js.map +1 -1
- package/dist/templates/byline/admin.config.ts +2 -2
- package/dist/templates/byline/collections/index.ts +2 -2
- package/dist/templates/byline/i18n.ts +2 -2
- package/dist/templates/byline/load-env.ts +2 -2
- package/dist/templates/byline/locales.ts +2 -2
- package/dist/templates/byline/public.ts +2 -2
- package/dist/templates/byline/routes.ts +2 -2
- package/dist/templates/byline/seed-admin.ts +2 -2
- package/dist/templates/byline/seeds/admin.ts +2 -2
- package/dist/templates/byline-examples/admin.config.ts +2 -2
- package/dist/templates/byline-examples/blocks/photo-block.ts +2 -2
- package/dist/templates/byline-examples/blocks/richtext-block.ts +2 -2
- package/dist/templates/byline-examples/collections/docs/admin.tsx +2 -2
- package/dist/templates/byline-examples/collections/docs/hooks.ts +2 -2
- package/dist/templates/byline-examples/collections/docs/index.ts +2 -2
- package/dist/templates/byline-examples/collections/docs/schema.ts +2 -2
- package/dist/templates/byline-examples/collections/index.ts +2 -2
- package/dist/templates/byline-examples/collections/media/admin.tsx +2 -2
- package/dist/templates/byline-examples/collections/media/components/media-list-view.tsx +2 -2
- package/dist/templates/byline-examples/collections/media/components/media-thumbnail.tsx +2 -2
- package/dist/templates/byline-examples/collections/media/index.ts +2 -2
- package/dist/templates/byline-examples/collections/media/schema.ts +2 -2
- package/dist/templates/byline-examples/collections/news/admin.tsx +2 -2
- package/dist/templates/byline-examples/collections/news/index.ts +2 -2
- package/dist/templates/byline-examples/collections/news/schema.ts +2 -2
- package/dist/templates/byline-examples/collections/news-categories/admin.tsx +2 -2
- package/dist/templates/byline-examples/collections/news-categories/index.ts +2 -2
- package/dist/templates/byline-examples/collections/news-categories/schema.ts +2 -2
- package/dist/templates/byline-examples/collections/pages/admin.tsx +2 -2
- package/dist/templates/byline-examples/collections/pages/index.ts +2 -2
- package/dist/templates/byline-examples/collections/pages/schema.ts +2 -2
- package/dist/templates/byline-examples/components/summary-length.tsx +2 -2
- package/dist/templates/byline-examples/fields/ai-text.ts +2 -2
- package/dist/templates/byline-examples/fields/ai-textarea.ts +2 -2
- package/dist/templates/byline-examples/fields/ai-widgets/ai-field-label.tsx +2 -2
- package/dist/templates/byline-examples/fields/ai-widgets/ai-field-panel.tsx +2 -2
- package/dist/templates/byline-examples/fields/ai-widgets/ai-panel-store.ts +2 -2
- package/dist/templates/byline-examples/fields/lexical-richtext-ai.tsx +2 -2
- package/dist/templates/byline-examples/fields/lexical-richtext-compact-admin.tsx +2 -2
- package/dist/templates/byline-examples/fields/lexical-richtext-compact.ts +2 -2
- package/dist/templates/byline-examples/fields/published-on-field.ts +2 -2
- package/dist/templates/byline-examples/i18n.ts +2 -2
- package/dist/templates/byline-examples/locales.ts +2 -2
- package/dist/templates/byline-examples/public.ts +2 -2
- package/dist/templates/byline-examples/routes.ts +2 -2
- package/dist/templates/byline-examples/scripts/import-docs.ts +2 -2
- package/dist/templates/byline-examples/scripts/lib/frontmatter.ts +2 -2
- package/dist/templates/byline-examples/scripts/lib/mdast-to-lexical.test.node.ts +2 -2
- package/dist/templates/byline-examples/scripts/lib/mdast-to-lexical.ts +2 -2
- package/dist/templates/byline-examples/scripts/lib/parse-markdown.ts +2 -2
- package/dist/templates/byline-examples/scripts/lib/rewrite-doc-links.ts +2 -2
- package/dist/templates/byline-examples/scripts/lib/strip-leading-h1.test.node.ts +2 -2
- package/dist/templates/byline-examples/scripts/lib/strip-leading-h1.ts +2 -2
- package/dist/templates/byline-examples/scripts/regenerate-media.ts +2 -2
- package/dist/templates/byline-examples/seed-docs.ts +2 -2
- package/dist/templates/byline-examples/seeds/docs.ts +2 -2
- package/dist/templates/byline-examples/seeds/news-categories.ts +2 -2
- package/dist/templates/byline-examples/seeds/site-settings.ts +2 -2
- package/dist/templates/byline-examples/singletons/site-settings/admin.ts +2 -2
- package/dist/templates/byline-examples/singletons/site-settings/index.ts +2 -2
- package/dist/templates/byline-examples/singletons/site-settings/schema.ts +2 -2
- package/dist/templates/dialects/mysql/byline/server.config.ts +2 -2
- package/dist/templates/dialects/mysql/byline-examples/server.config.ts +2 -2
- package/dist/templates/dialects/postgres/byline/server.config.ts +2 -2
- package/dist/templates/dialects/postgres/byline-examples/scripts/backfill-version-locales.ts +2 -2
- package/dist/templates/dialects/postgres/byline-examples/scripts/re-anchor.ts +2 -2
- package/dist/templates/dialects/postgres/byline-examples/server.config.ts +2 -2
- package/dist/templates/host/vite.config.ts +7 -1
- package/dist/templates/routes/_byline/admin/account/index.tsx +2 -2
- package/dist/templates/routes/_byline/admin/activity/index.tsx +2 -2
- package/dist/templates/routes/_byline/admin/collections/$collection/$id/api.tsx +2 -2
- package/dist/templates/routes/_byline/admin/collections/$collection/$id/history.tsx +2 -2
- package/dist/templates/routes/_byline/admin/collections/$collection/$id/index.tsx +2 -2
- package/dist/templates/routes/_byline/admin/collections/$collection/create.tsx +2 -2
- package/dist/templates/routes/_byline/admin/collections/$collection/index.tsx +2 -2
- package/dist/templates/routes/_byline/admin/index.tsx +2 -2
- package/dist/templates/routes/_byline/admin/permissions/index.tsx +2 -2
- package/dist/templates/routes/_byline/admin/roles/$id/index.tsx +2 -2
- package/dist/templates/routes/_byline/admin/roles/index.tsx +2 -2
- package/dist/templates/routes/_byline/admin/route.tsx +2 -2
- package/dist/templates/routes/_byline/admin/singletons/$singleton/history.tsx +2 -2
- package/dist/templates/routes/_byline/admin/singletons/$singleton/index.tsx +2 -2
- package/dist/templates/routes/_byline/admin/users/$id/index.tsx +2 -2
- package/dist/templates/routes/_byline/admin/users/index.tsx +2 -2
- package/dist/templates/routes/_byline/route.lazy.tsx +2 -2
- package/dist/templates/routes/_byline/route.tsx +2 -2
- package/dist/templates/routes/_byline/sign-in.tsx +2 -2
- package/dist/templates/ui-byline/components/responsive-image/index.tsx +2 -2
- package/dist/templates/ui-byline/components/richtext-lexical/serialize/types.ts +2 -2
- package/dist/templates-editor-api-drift.test.d.ts +2 -2
- package/dist/templates-editor-api-drift.test.js +2 -2
- package/package.json +2 -2
|
@@ -23,6 +23,9 @@ function backupNote(backupPath) {
|
|
|
23
23
|
return `Your existing ${REL} will be backed up to ${basename(backupPath)}.`;
|
|
24
24
|
}
|
|
25
25
|
const PREDECESSOR_HASHES = new Set([
|
|
26
|
+
// Canonical config immediately before bylineNitroFeatures() disabled srvx
|
|
27
|
+
// FastResponse (h3js/srvx#343).
|
|
28
|
+
'61779518c370fd09b851a007f237920e7bed860517aee6395e940e87ea3eb07b',
|
|
26
29
|
// Canonical config immediately before @byline/i18n/react was pre-bundled.
|
|
27
30
|
'f4ae4e2238571af4de1b620baea9c2834f26fe022084960ad58e0d2e4d6d9f6b',
|
|
28
31
|
// Canonical config immediately before MySQL became a scaffold option.
|
|
@@ -98,19 +101,43 @@ function inspect(ctx) {
|
|
|
98
101
|
if (analysis.kind === 'canonical') {
|
|
99
102
|
return { status: 'skipped', message: `${REL}: already provides Byline's required settings` };
|
|
100
103
|
}
|
|
104
|
+
if (analysis.kind === 'customized') {
|
|
105
|
+
// Every required key is present, but some hold Byline's value with host
|
|
106
|
+
// changes. Replacing them could drop settings the host's build needs, so
|
|
107
|
+
// they stay as they are and the user compares them by hand.
|
|
108
|
+
return {
|
|
109
|
+
status: 'manual',
|
|
110
|
+
message: `${REL}: left untouched — ${analysis.notes.join('; ')}. Compare with the canonical ` +
|
|
111
|
+
'config below, then re-run: byline init --from wire',
|
|
112
|
+
snippet: canonical,
|
|
113
|
+
};
|
|
114
|
+
}
|
|
101
115
|
if (analysis.kind === 'mergeable') {
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
116
|
+
let merged;
|
|
117
|
+
try {
|
|
118
|
+
merged = analysis.plan.apply();
|
|
119
|
+
}
|
|
120
|
+
catch (error) {
|
|
121
|
+
return {
|
|
122
|
+
status: 'blocked',
|
|
123
|
+
message: `${REL}: left untouched — Byline's settings could not be merged into it ` +
|
|
124
|
+
`(${firstLine(error)}). Merge the settings below by hand, then re-run: ` +
|
|
125
|
+
'byline init --from wire',
|
|
126
|
+
snippet: canonical,
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
const { unplaced } = analysis.plan;
|
|
130
|
+
// Safe changes are still written when some settings need a hand merge, but
|
|
131
|
+
// the result stays manual so the run reports partial rather than complete.
|
|
106
132
|
return {
|
|
107
|
-
status: 'done',
|
|
108
|
-
message: `${REL}: will ${analysis.plan.changes.join(', ')}. ${backupNote(backupPath)}
|
|
133
|
+
status: unplaced.length > 0 ? 'manual' : 'done',
|
|
134
|
+
message: `${REL}: will ${analysis.plan.changes.join(', ')}. ${backupNote(backupPath)}` +
|
|
135
|
+
(unplaced.length > 0 ? ` ${handMergeNote(unplaced)}` : ''),
|
|
109
136
|
writes: [
|
|
110
137
|
{ path: backupPath, contents: userText, mode: 'create' },
|
|
111
138
|
{ path, contents: merged, mode: 'patch', before: userText },
|
|
112
139
|
],
|
|
113
|
-
...(
|
|
140
|
+
...(unplaced.length > 0 ? { snippet: canonical } : {}),
|
|
114
141
|
};
|
|
115
142
|
}
|
|
116
143
|
// Nothing could be placed safely. Block rather than warn: without these
|
|
@@ -154,11 +181,41 @@ function apply(ctx, plannedWrites) {
|
|
|
154
181
|
if (!backup) {
|
|
155
182
|
return { status: 'done', message: `${REL}: created canonical Byline config` };
|
|
156
183
|
}
|
|
184
|
+
const canonical = readCanonical(ctx);
|
|
185
|
+
const leftover = canonical ? mergeLeftovers(writes, path, canonical) : [];
|
|
186
|
+
if (leftover.length > 0) {
|
|
187
|
+
return {
|
|
188
|
+
status: 'manual',
|
|
189
|
+
message: `${REL}: updated with the settings Byline could merge ` +
|
|
190
|
+
`(backup: ${basename(backup.path)}). ${handMergeNote(leftover)}`,
|
|
191
|
+
snippet: canonical,
|
|
192
|
+
};
|
|
193
|
+
}
|
|
157
194
|
return {
|
|
158
195
|
status: 'done',
|
|
159
196
|
message: `${REL}: updated with Byline's required settings (backup: ${basename(backup.path)})`,
|
|
160
197
|
};
|
|
161
198
|
}
|
|
199
|
+
/**
|
|
200
|
+
* What a merge write leaves for the user, recomputed from the text it was
|
|
201
|
+
* planned against, so apply reports the same unresolved settings the preview
|
|
202
|
+
* did. A full replacement with the canonical config leaves nothing.
|
|
203
|
+
*/
|
|
204
|
+
function mergeLeftovers(writes, path, canonical) {
|
|
205
|
+
const write = writes.find((candidate) => candidate.path === path);
|
|
206
|
+
if (!write?.before || write.contents === canonical)
|
|
207
|
+
return [];
|
|
208
|
+
const analysis = analyzeUserConfig(write.before, extractCanonicalPieces(canonical));
|
|
209
|
+
return analysis.kind === 'mergeable' ? analysis.plan.unplaced : [];
|
|
210
|
+
}
|
|
211
|
+
function handMergeNote(unplaced) {
|
|
212
|
+
return (`Left for you to merge by hand: ${unplaced.join('; ')}. Compare with the canonical ` +
|
|
213
|
+
'config below, then re-run: byline init --from wire');
|
|
214
|
+
}
|
|
215
|
+
function firstLine(error) {
|
|
216
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
217
|
+
return message.split('\n')[0]?.trim() || 'unknown error';
|
|
218
|
+
}
|
|
162
219
|
function readCanonical(ctx) {
|
|
163
220
|
const path = join(ctx.templatesDir(), TEMPLATE_REL);
|
|
164
221
|
return existsSync(path) ? readFileSync(path, 'utf8') : undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-config.js","sourceRoot":"","sources":["../../../src/phases/wire/vite-config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"vite-config.js","sourceRoot":"","sources":["../../../src/phases/wire/vite-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -81,6 +81,18 @@ describe('Vite config safety', () => {
|
|
|
81
81
|
expect(readBackup(ctx)).toBe(predecessor);
|
|
82
82
|
expect(readFileSync(ctx.resolve('vite.config.ts'), 'utf8')).toBe(canonical);
|
|
83
83
|
});
|
|
84
|
+
it('replaces the canonical predecessor from before bylineNitroFeatures()', async () => {
|
|
85
|
+
const ctx = fixture();
|
|
86
|
+
const canonical = readFileSync(`${ctx.templatesDir()}/host/vite.config.ts`, 'utf8');
|
|
87
|
+
const predecessor = withoutNitroFeatures(canonical);
|
|
88
|
+
expect(predecessor).not.toContain('bylineNitroFeatures');
|
|
89
|
+
writeFileSync(ctx.resolve('vite.config.ts'), predecessor);
|
|
90
|
+
const preview = await wireViteConfig.preview(ctx);
|
|
91
|
+
expect(preview.message).toContain('recognized canonical predecessor');
|
|
92
|
+
expect(await wireViteConfig.apply(ctx, preview.writes)).toMatchObject({ status: 'done' });
|
|
93
|
+
expect(readBackup(ctx)).toBe(predecessor);
|
|
94
|
+
expect(readFileSync(ctx.resolve('vite.config.ts'), 'utf8')).toBe(canonical);
|
|
95
|
+
});
|
|
84
96
|
it('replaces the exact canonical predecessor from before MySQL externalization', async () => {
|
|
85
97
|
const ctx = fixture();
|
|
86
98
|
const canonical = readFileSync(`${ctx.templatesDir()}/host/vite.config.ts`, 'utf8');
|
|
@@ -161,8 +173,105 @@ export default defineConfig(options)
|
|
|
161
173
|
* Reconstructs the canonical config immediately before `@byline/i18n/react`
|
|
162
174
|
* was pre-bundled — the newest entry in PREDECESSOR_HASHES.
|
|
163
175
|
*/
|
|
176
|
+
describe('customized Byline settings', () => {
|
|
177
|
+
it('leaves a customized canonical config untouched and asks for a manual merge', async () => {
|
|
178
|
+
const ctx = fixture();
|
|
179
|
+
const canonical = readFileSync(`${ctx.templatesDir()}/host/vite.config.ts`, 'utf8');
|
|
180
|
+
const anchor = "'react-dom',";
|
|
181
|
+
const at = canonical.indexOf(anchor, canonical.indexOf('rolldownConfig')) + anchor.length;
|
|
182
|
+
const customized = `${canonical.slice(0, at)} 'host-native-dep',${canonical.slice(at)}`;
|
|
183
|
+
writeFileSync(ctx.resolve('vite.config.ts'), customized);
|
|
184
|
+
const preview = await wireViteConfig.preview(ctx);
|
|
185
|
+
expect(preview.status).toBe('manual');
|
|
186
|
+
expect(preview.message).toContain('nitro `rolldownConfig` differs from every value');
|
|
187
|
+
expect(preview.snippet).toBe(canonical);
|
|
188
|
+
expect(preview.writes ?? []).toEqual([]);
|
|
189
|
+
expect(await wireViteConfig.apply(ctx, preview.writes)).toMatchObject({ status: 'manual' });
|
|
190
|
+
expect(readFileSync(ctx.resolve('vite.config.ts'), 'utf8')).toBe(customized);
|
|
191
|
+
expect(readdirSync(ctx.cwd).some((name) => name.startsWith('vite.config.ts.bak-'))).toBe(false);
|
|
192
|
+
});
|
|
193
|
+
it('applies safe changes but stays manual while customized settings remain', async () => {
|
|
194
|
+
// A customized rolldownConfig next to a missing `features`: Byline can add
|
|
195
|
+
// `features`, but the rolldownConfig still needs a hand merge. Applying the
|
|
196
|
+
// safe part must not report the config as complete.
|
|
197
|
+
const ctx = fixture();
|
|
198
|
+
const canonical = readFileSync(`${ctx.templatesDir()}/host/vite.config.ts`, 'utf8');
|
|
199
|
+
const anchor = "'react-dom',";
|
|
200
|
+
const at = canonical.indexOf(anchor, canonical.indexOf('rolldownConfig')) + anchor.length;
|
|
201
|
+
const mixed = `${canonical.slice(0, at)} 'host-native-dep',${canonical.slice(at)}`.replace(/\n {6}\/\/ Nitro 3 release candidates swap in[\s\S]*?features: bylineNitroFeatures\(\),/, '');
|
|
202
|
+
expect(mixed).not.toContain('features:');
|
|
203
|
+
writeFileSync(ctx.resolve('vite.config.ts'), mixed);
|
|
204
|
+
const preview = await wireViteConfig.preview(ctx);
|
|
205
|
+
expect(preview.status).toBe('manual');
|
|
206
|
+
expect(preview.message).toContain('set nitro features');
|
|
207
|
+
expect(preview.message).toContain('nitro `rolldownConfig` differs from every value');
|
|
208
|
+
expect(preview.snippet).toBe(canonical);
|
|
209
|
+
expect(preview.writes).toHaveLength(2);
|
|
210
|
+
const applied = await wireViteConfig.apply(ctx, preview.writes);
|
|
211
|
+
expect(applied.status).toBe('manual');
|
|
212
|
+
expect(applied.message).toContain('backup: vite.config.ts.bak-');
|
|
213
|
+
expect(applied.message).toContain('nitro `rolldownConfig` differs from every value');
|
|
214
|
+
expect(applied.message).toContain('byline init --from wire');
|
|
215
|
+
expect(applied.snippet).toBe(canonical);
|
|
216
|
+
const updated = readFileSync(ctx.resolve('vite.config.ts'), 'utf8');
|
|
217
|
+
expect(updated).toContain('features: bylineNitroFeatures()');
|
|
218
|
+
expect(updated).toContain('host-native-dep');
|
|
219
|
+
expect(readBackup(ctx)).toBe(mixed);
|
|
220
|
+
// Re-inspecting agrees with what apply reported.
|
|
221
|
+
expect((await wireViteConfig.preview(ctx)).status).toBe('manual');
|
|
222
|
+
});
|
|
223
|
+
for (const [label, customized, expected] of [
|
|
224
|
+
['partial while a customized setting remains', true, 'partial'],
|
|
225
|
+
['done once every setting is merged', false, 'done'],
|
|
226
|
+
]) {
|
|
227
|
+
it(`reports ${label} from the wire phase`, async () => {
|
|
228
|
+
const ctx = fixture();
|
|
229
|
+
mkdirSync(ctx.resolve('src'), { recursive: true });
|
|
230
|
+
writeFileSync(ctx.resolve('src/server.ts'), "import '../byline/server.config'\nconst serveUploads = true\n");
|
|
231
|
+
// A real Start entry, so the start-ts sub-edit can finish and only the
|
|
232
|
+
// Vite config decides the phase result.
|
|
233
|
+
writeFileSync(ctx.resolve('src/start.ts'), "import { createStart } from '@tanstack/react-start'\n" +
|
|
234
|
+
"import { bylineCodedErrorAdapter } from '@byline/host-tanstack-start/integrations/start-errors'\n" +
|
|
235
|
+
'export const startInstance = createStart(() => ({ serializationAdapters: [bylineCodedErrorAdapter] }))\n');
|
|
236
|
+
writeFileSync(ctx.resolve('tsconfig.json'), '{"compilerOptions":{"paths":{"~/*":["./byline/*"]}}}\n');
|
|
237
|
+
const canonical = readFileSync(`${ctx.templatesDir()}/host/vite.config.ts`, 'utf8');
|
|
238
|
+
const anchor = "'react-dom',";
|
|
239
|
+
const at = canonical.indexOf(anchor, canonical.indexOf('rolldownConfig')) + anchor.length;
|
|
240
|
+
const base = customized
|
|
241
|
+
? `${canonical.slice(0, at)} 'host-native-dep',${canonical.slice(at)}`
|
|
242
|
+
: canonical;
|
|
243
|
+
writeFileSync(ctx.resolve('vite.config.ts'), base.replace(/\n {6}\/\/ Nitro 3 release candidates swap in[\s\S]*?features: bylineNitroFeatures\(\),/, ''));
|
|
244
|
+
const plan = await wirePhase.plan(ctx);
|
|
245
|
+
expect((await wirePhase.apply(plan, ctx)).state).toBe(expected);
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
it("reports a blocked sub-edit's reason and snippet from detect", async () => {
|
|
249
|
+
// The runner stops on a blocked detect without planning, so detect itself
|
|
250
|
+
// must print why, or the user sees only "wire — blocked; cannot proceed".
|
|
251
|
+
const errors = [];
|
|
252
|
+
const notes = [];
|
|
253
|
+
const base = fixture();
|
|
254
|
+
const logger = { ...base.logger, error: (message) => errors.push(message) };
|
|
255
|
+
const prompter = {
|
|
256
|
+
...base.prompter,
|
|
257
|
+
note: (message, title) => notes.push(`${title}\n${message}`),
|
|
258
|
+
};
|
|
259
|
+
const ctx = createTestContext({}, { logger, prompter });
|
|
260
|
+
contexts.push(ctx);
|
|
261
|
+
writeFileSync(ctx.resolve('vite.config.ts'), "import { defineConfig } from 'vite'\nconst options = { plugins: [] }\nexport default defineConfig(options)\n");
|
|
262
|
+
expect(await wirePhase.detect(ctx)).toBe('blocked');
|
|
263
|
+
expect(errors.some((line) => line.includes('vite-config:') && line.includes('left untouched'))).toBe(true);
|
|
264
|
+
expect(notes.some((note) => note.startsWith('vite-config: required configuration'))).toBe(true);
|
|
265
|
+
});
|
|
266
|
+
});
|
|
267
|
+
/** The canonical config before `bylineNitroFeatures()` disabled srvx FastResponse. */
|
|
268
|
+
function withoutNitroFeatures(canonical) {
|
|
269
|
+
return canonical
|
|
270
|
+
.replace("import { bylineClientHookBoundary, bylineNitroFeatures } from '@byline/host-tanstack-start/vite'", "import { bylineClientHookBoundary } from '@byline/host-tanstack-start/vite'")
|
|
271
|
+
.replace(/\n {6}\/\/ Nitro 3 release candidates swap in[\s\S]*?features: bylineNitroFeatures\(\),/, '');
|
|
272
|
+
}
|
|
164
273
|
function withoutI18nPreBundling(canonical) {
|
|
165
|
-
return canonical.replace(` // \`@byline/i18n/react\` is pinned for a different reason from the rest:
|
|
274
|
+
return withoutNitroFeatures(canonical).replace(` // \`@byline/i18n/react\` is pinned for a different reason from the rest:
|
|
166
275
|
// module identity, not interop. The admin layout mounts
|
|
167
276
|
// \`<I18nProvider>\` from \`@byline/host-tanstack-start\`, which is
|
|
168
277
|
// deliberately NOT pre-bundled (see the note below), while collection
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-config.test.js","sourceRoot":"","sources":["../../../src/phases/wire/vite-config.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vite-config.test.js","sourceRoot":"","sources":["../../../src/phases/wire/vite-config.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This Source Code is subject to the terms of the Mozilla Public
|
|
2
|
+
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
3
3
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
-
* file, You can obtain one at
|
|
4
|
+
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
5
5
|
*
|
|
6
6
|
* Copyright (c) Infonomic Company Limited
|
|
7
7
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This Source Code is subject to the terms of the Mozilla Public
|
|
2
|
+
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
3
3
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
-
* file, You can obtain one at
|
|
4
|
+
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
5
5
|
*
|
|
6
6
|
* Copyright (c) Infonomic Company Limited
|
|
7
7
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This Source Code is subject to the terms of the Mozilla Public
|
|
2
|
+
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
3
3
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
-
* file, You can obtain one at
|
|
4
|
+
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
5
5
|
*
|
|
6
6
|
* Copyright (c) Infonomic Company Limited
|
|
7
7
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This Source Code is subject to the terms of the Mozilla Public
|
|
2
|
+
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
3
3
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
-
* file, You can obtain one at
|
|
4
|
+
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
5
5
|
*
|
|
6
6
|
* Copyright (c) Infonomic Company Limited
|
|
7
7
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This Source Code is subject to the terms of the Mozilla Public
|
|
2
|
+
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
3
3
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
-
* file, You can obtain one at
|
|
4
|
+
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
5
5
|
*
|
|
6
6
|
* Copyright (c) Infonomic Company Limited
|
|
7
7
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This Source Code is subject to the terms of the Mozilla Public
|
|
2
|
+
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
3
3
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
-
* file, You can obtain one at
|
|
4
|
+
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
5
5
|
*
|
|
6
6
|
* Copyright (c) Infonomic Company Limited
|
|
7
7
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This Source Code is subject to the terms of the Mozilla Public
|
|
2
|
+
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
3
3
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
-
* file, You can obtain one at
|
|
4
|
+
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
5
5
|
*
|
|
6
6
|
* Copyright (c) Infonomic Company Limited
|
|
7
7
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This Source Code is subject to the terms of the Mozilla Public
|
|
2
|
+
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
3
3
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
-
* file, You can obtain one at
|
|
4
|
+
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
5
5
|
*
|
|
6
6
|
* Copyright (c) Infonomic Company Limited
|
|
7
7
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This Source Code is subject to the terms of the Mozilla Public
|
|
2
|
+
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
3
3
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
-
* file, You can obtain one at
|
|
4
|
+
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
5
5
|
*
|
|
6
6
|
* Copyright (c) Infonomic Company Limited
|
|
7
7
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This Source Code is subject to the terms of the Mozilla Public
|
|
2
|
+
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
3
3
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
-
* file, You can obtain one at
|
|
4
|
+
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
5
5
|
*
|
|
6
6
|
* Copyright (c) Infonomic Company Limited
|
|
7
7
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This Source Code is subject to the terms of the Mozilla Public
|
|
2
|
+
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
3
3
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
-
* file, You can obtain one at
|
|
4
|
+
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
5
5
|
*
|
|
6
6
|
* Copyright (c) Infonomic Company Limited
|
|
7
7
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This Source Code is subject to the terms of the Mozilla Public
|
|
2
|
+
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
3
3
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
-
* file, You can obtain one at
|
|
4
|
+
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
5
5
|
*
|
|
6
6
|
* Copyright (c) Infonomic Company Limited
|
|
7
7
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This Source Code is subject to the terms of the Mozilla Public
|
|
2
|
+
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
3
3
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
-
* file, You can obtain one at
|
|
4
|
+
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
5
5
|
*
|
|
6
6
|
* Copyright (c) Infonomic Company Limited
|
|
7
7
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This Source Code is subject to the terms of the Mozilla Public
|
|
2
|
+
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
3
3
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
-
* file, You can obtain one at
|
|
4
|
+
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
5
5
|
*
|
|
6
6
|
* Copyright (c) Infonomic Company Limited
|
|
7
7
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This Source Code is subject to the terms of the Mozilla Public
|
|
2
|
+
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
3
3
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
-
* file, You can obtain one at
|
|
4
|
+
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
5
5
|
*
|
|
6
6
|
* Copyright (c) Infonomic Company Limited
|
|
7
7
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This Source Code is subject to the terms of the Mozilla Public
|
|
2
|
+
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
3
3
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
-
* file, You can obtain one at
|
|
4
|
+
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
5
5
|
*
|
|
6
6
|
* Copyright (c) Infonomic Company Limited
|
|
7
7
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This Source Code is subject to the terms of the Mozilla Public
|
|
2
|
+
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
3
3
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
-
* file, You can obtain one at
|
|
4
|
+
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
5
5
|
*
|
|
6
6
|
* Copyright (c) Infonomic Company Limited
|
|
7
7
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This Source Code is subject to the terms of the Mozilla Public
|
|
2
|
+
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
3
3
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
-
* file, You can obtain one at
|
|
4
|
+
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
5
5
|
*
|
|
6
6
|
* Copyright (c) Infonomic Company Limited
|
|
7
7
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This Source Code is subject to the terms of the Mozilla Public
|
|
2
|
+
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
3
3
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
-
* file, You can obtain one at
|
|
4
|
+
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
5
5
|
*
|
|
6
6
|
* Copyright (c) Infonomic Company Limited
|
|
7
7
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This Source Code is subject to the terms of the Mozilla Public
|
|
2
|
+
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
3
3
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
-
* file, You can obtain one at
|
|
4
|
+
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
5
5
|
*
|
|
6
6
|
* Copyright (c) Infonomic Company Limited
|
|
7
7
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This Source Code is subject to the terms of the Mozilla Public
|
|
2
|
+
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
3
3
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
-
* file, You can obtain one at
|
|
4
|
+
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
5
5
|
*
|
|
6
6
|
* Copyright (c) Infonomic Company Limited
|
|
7
7
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This Source Code is subject to the terms of the Mozilla Public
|
|
2
|
+
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
3
3
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
-
* file, You can obtain one at
|
|
4
|
+
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
5
5
|
*
|
|
6
6
|
* Copyright (c) Infonomic Company Limited
|
|
7
7
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This Source Code is subject to the terms of the Mozilla Public
|
|
2
|
+
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
3
3
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
-
* file, You can obtain one at
|
|
4
|
+
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
5
5
|
*
|
|
6
6
|
* Copyright (c) Infonomic Company Limited
|
|
7
7
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This Source Code is subject to the terms of the Mozilla Public
|
|
2
|
+
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
3
3
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
-
* file, You can obtain one at
|
|
4
|
+
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
5
5
|
*
|
|
6
6
|
* Copyright (c) Infonomic Company Limited
|
|
7
7
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This Source Code is subject to the terms of the Mozilla Public
|
|
2
|
+
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
3
3
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
-
* file, You can obtain one at
|
|
4
|
+
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
5
5
|
*
|
|
6
6
|
* Copyright (c) Infonomic Company Limited
|
|
7
7
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This Source Code is subject to the terms of the Mozilla Public
|
|
2
|
+
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
3
3
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
-
* file, You can obtain one at
|
|
4
|
+
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
5
5
|
*
|
|
6
6
|
* Copyright (c) Infonomic Company Limited
|
|
7
7
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This Source Code is subject to the terms of the Mozilla Public
|
|
2
|
+
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
3
3
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
-
* file, You can obtain one at
|
|
4
|
+
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
5
5
|
*
|
|
6
6
|
* Copyright (c) Infonomic Company Limited
|
|
7
7
|
*/
|