unplugin/scripts/buildFixtures.ts
三咲智子 (Kevin) d35e0552d0
feat: support nested plugins (#176)
Co-authored-by: Anthony Fu <anthonyfu117@hotmail.com>
2022-10-18 11:45:30 +08:00

36 lines
1.4 KiB
TypeScript

/* eslint-disable no-console */
import { resolve, join } from 'path'
import { execSync } from 'child_process'
import fs from 'fs-extra'
import c from 'picocolors'
async function run () {
const dir = resolve(__dirname, '../test/fixtures')
let fixtures = await fs.readdir(dir)
if (process.argv[2]) {
fixtures = fixtures.filter(i => i.includes(process.argv[2]))
}
for (const name of fixtures) {
const path = join(dir, name)
if (fs.existsSync(join(path, 'dist'))) {
await fs.remove(join(path, 'dist'))
}
console.log(c.yellow(c.inverse(c.bold('\n Vite '))), name, '\n')
execSync('npx vite --version', { cwd: path, stdio: 'inherit' })
execSync('npx vite build', { cwd: path, stdio: 'inherit' })
console.log(c.red(c.inverse(c.bold('\n Rollup '))), name, '\n')
execSync('npx rollup --version', { cwd: path, stdio: 'inherit' })
execSync('npx rollup --bundleConfigAsCjs -c', { cwd: path, stdio: 'inherit' })
console.log(c.blue(c.inverse(c.bold('\n Webpack '))), name, '\n')
execSync('npx webpack --version', { cwd: path, stdio: 'inherit' })
execSync('npx webpack', { cwd: path, stdio: 'inherit' })
console.log(c.yellow(c.inverse(c.bold('\n Esbuild '))), name, '\n')
execSync('npx esbuild --version', { cwd: path, stdio: 'inherit' })
execSync('node esbuild.config.js', { cwd: path, stdio: 'inherit' })
}
}
run()