0
Fork 0
mirror of https://github.com/withastro/astro.git synced 2024-12-16 21:46:22 -05:00

[ci] format

This commit is contained in:
natemoo-re 2023-02-27 21:28:07 +00:00 committed by fredkbot
parent 02a7266e3c
commit 045262ee99
2 changed files with 55 additions and 40 deletions

View file

@ -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;

View file

@ -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`
)
); );
}); });
}); });