Files
blundercrunch/pages/content/build.mts
Aditya Gupta aabb8986aa Initial commit
2026-06-29 19:29:19 +05:30

40 lines
1.1 KiB
TypeScript

import { resolve } from 'node:path';
import { makeEntryPointPlugin } from '@extension/hmr';
import { getContentScriptEntries, withPageConfig } from '@extension/vite-config';
import { IS_DEV } from '@extension/env';
import { build } from 'vite';
const rootDir = resolve(import.meta.dirname);
const srcDir = resolve(rootDir, 'src');
const matchesDir = resolve(srcDir, 'matches');
const configs = Object.entries(getContentScriptEntries(matchesDir)).map(([name, entry]) =>
withPageConfig({
mode: IS_DEV ? 'development' : undefined,
resolve: {
alias: {
'@src': srcDir,
},
},
publicDir: resolve(rootDir, 'public'),
plugins: [IS_DEV && makeEntryPointPlugin()],
build: {
lib: {
name: name,
formats: ['iife'],
entry,
fileName: name,
},
outDir: resolve(rootDir, '..', '..', 'dist', 'content'),
},
}),
);
const builds = configs.map(async config => {
//@ts-expect-error This is hidden property into vite's resolveConfig()
config.configFile = false;
await build(config);
});
await Promise.all(builds);