25 lines
793 B
JavaScript
Executable File
25 lines
793 B
JavaScript
Executable File
#!/usr/bin/env node
|
|
import { execSync } from 'node:child_process';
|
|
import { resolve } from 'node:path';
|
|
import process from 'node:process';
|
|
|
|
const [major, minor] = process.versions.node.split('.').map((part) => Number(part));
|
|
const supportsNativeRollup = (
|
|
major > 22 ||
|
|
(major === 22 && minor >= 12) ||
|
|
major === 21 ||
|
|
(major === 20 && minor >= 19)
|
|
);
|
|
|
|
const env = { ...process.env };
|
|
|
|
if (!supportsNativeRollup) {
|
|
env.ROLLUP_USE_NODE_JS = 'true';
|
|
console.log(`Node.js ${process.version} detected; using Rollup's JavaScript fallback.`);
|
|
} else {
|
|
console.log(`Node.js ${process.version} detected; using Rollup's native binary.`);
|
|
}
|
|
|
|
const viteBin = resolve(process.cwd(), 'node_modules', 'vite', 'bin', 'vite.js');
|
|
execSync(`node "${viteBin}" build`, { stdio: 'inherit', env });
|