mirror of
https://github.com/withastro/astro.git
synced 2024-12-16 21:46:22 -05:00
[ci] format
This commit is contained in:
parent
02a7266e3c
commit
045262ee99
2 changed files with 55 additions and 40 deletions
|
@ -173,7 +173,7 @@ export async function createVite(
|
||||||
// 4. command vite config, passed as the argument to this function
|
// 4. command vite config, passed as the argument to this function
|
||||||
let result = commonConfig;
|
let result = commonConfig;
|
||||||
// PR #6238 Calls user integration `astro:config:setup` hooks when running `astro sync`.
|
// PR #6238 Calls user integration `astro:config:setup` hooks when running `astro sync`.
|
||||||
// Without proper filtering, user integrations may run twice unexpectedly:
|
// Without proper filtering, user integrations may run twice unexpectedly:
|
||||||
// - with `command` set to `build/dev` (src/core/build/index.ts L72)
|
// - with `command` set to `build/dev` (src/core/build/index.ts L72)
|
||||||
// - and again in the `sync` module to generate `Content Collections` (src/core/sync/index.ts L36)
|
// - and again in the `sync` module to generate `Content Collections` (src/core/sync/index.ts L36)
|
||||||
// We need to check if the command is `build` or `dev` before merging the user-provided vite config.
|
// We need to check if the command is `build` or `dev` before merging the user-provided vite config.
|
||||||
|
@ -183,17 +183,20 @@ export async function createVite(
|
||||||
if (command) {
|
if (command) {
|
||||||
let plugins = settings.config.vite?.plugins;
|
let plugins = settings.config.vite?.plugins;
|
||||||
if (plugins) {
|
if (plugins) {
|
||||||
const { plugins: _, ...rest } = settings.config.vite
|
const { plugins: _, ...rest } = settings.config.vite;
|
||||||
const applyToFilter = command === 'build' ? 'serve' : 'build'
|
const applyToFilter = command === 'build' ? 'serve' : 'build';
|
||||||
const applyArgs = [{...settings.config.vite, mode}, { command, mode }]
|
const applyArgs = [
|
||||||
// @ts-expect-error ignore TS2589: Type instantiation is excessively deep and possibly infinite.
|
{ ...settings.config.vite, mode },
|
||||||
|
{ command, mode },
|
||||||
|
];
|
||||||
|
// @ts-expect-error ignore TS2589: Type instantiation is excessively deep and possibly infinite.
|
||||||
plugins = plugins.flat(Infinity).filter((p) => {
|
plugins = plugins.flat(Infinity).filter((p) => {
|
||||||
if (!p || p?.apply === applyToFilter) {
|
if (!p || p?.apply === applyToFilter) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (typeof p.apply === 'function') {
|
if (typeof p.apply === 'function') {
|
||||||
return p.apply(applyArgs[0], applyArgs[1])
|
return p.apply(applyArgs[0], applyArgs[1]);
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -28,38 +28,44 @@ describe('Static build: vite plugins included when required', () => {
|
||||||
pluginsCalled.set('prepare-build-plugin', false);
|
pluginsCalled.set('prepare-build-plugin', false);
|
||||||
updateConfig({
|
updateConfig({
|
||||||
vite: {
|
vite: {
|
||||||
plugins: [{
|
plugins: [
|
||||||
name: 'prepare-no-apply-plugin',
|
{
|
||||||
configResolved: () => {
|
name: 'prepare-no-apply-plugin',
|
||||||
pluginsCalled.set('prepare-no-apply-plugin', true);
|
configResolved: () => {
|
||||||
}
|
pluginsCalled.set('prepare-no-apply-plugin', true);
|
||||||
}, {
|
},
|
||||||
name: 'prepare-serve-plugin',
|
},
|
||||||
apply: 'serve',
|
{
|
||||||
configResolved: () => {
|
name: 'prepare-serve-plugin',
|
||||||
pluginsCalled.set('prepare-serve-plugin', true);
|
apply: 'serve',
|
||||||
}
|
configResolved: () => {
|
||||||
}, {
|
pluginsCalled.set('prepare-serve-plugin', true);
|
||||||
name: 'prepare-apply-fn-plugin',
|
},
|
||||||
apply: (_, { command }) => command === 'build',
|
},
|
||||||
configResolved: () => {
|
{
|
||||||
pluginsCalled.set('prepare-apply-fn-plugin', true);
|
name: 'prepare-apply-fn-plugin',
|
||||||
}
|
apply: (_, { command }) => command === 'build',
|
||||||
}, {
|
configResolved: () => {
|
||||||
name: 'prepare-dont-apply-fn-plugin',
|
pluginsCalled.set('prepare-apply-fn-plugin', true);
|
||||||
apply: (_, { command }) => command === 'serve',
|
},
|
||||||
configResolved: () => {
|
},
|
||||||
pluginsCalled.set('prepare-dont-apply-fn-plugin', true);
|
{
|
||||||
}
|
name: 'prepare-dont-apply-fn-plugin',
|
||||||
}, {
|
apply: (_, { command }) => command === 'serve',
|
||||||
name: 'prepare-build-plugin',
|
configResolved: () => {
|
||||||
apply: 'build',
|
pluginsCalled.set('prepare-dont-apply-fn-plugin', true);
|
||||||
configResolved: () => {
|
},
|
||||||
pluginsCalled.set('prepare-build-plugin', true);
|
},
|
||||||
}
|
{
|
||||||
}]
|
name: 'prepare-build-plugin',
|
||||||
}
|
apply: 'build',
|
||||||
})
|
configResolved: () => {
|
||||||
|
pluginsCalled.set('prepare-build-plugin', true);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
});
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -68,9 +74,15 @@ describe('Static build: vite plugins included when required', () => {
|
||||||
await fixture.build();
|
await fixture.build();
|
||||||
});
|
});
|
||||||
it('Vite Plugins are included/excluded properly', async () => {
|
it('Vite Plugins are included/excluded properly', async () => {
|
||||||
expect(pluginsCalled.size).to.equal(expectedPluginResult.size, 'Not all plugins were initialized');
|
expect(pluginsCalled.size).to.equal(
|
||||||
|
expectedPluginResult.size,
|
||||||
|
'Not all plugins were initialized'
|
||||||
|
);
|
||||||
Array.from(expectedPluginResult.entries()).forEach(([plugin, called]) =>
|
Array.from(expectedPluginResult.entries()).forEach(([plugin, called]) =>
|
||||||
expect(pluginsCalled.get(plugin)).to.equal(called, `${plugin} was ${called ? 'not' : ''} called`)
|
expect(pluginsCalled.get(plugin)).to.equal(
|
||||||
|
called,
|
||||||
|
`${plugin} was ${called ? 'not' : ''} called`
|
||||||
|
)
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in a new issue