@degulabs/build
v0.0.1
Published
Run your build scripts in parallel, showing their output nicely.
Downloads
111
Readme
Simple Build
Run your build scripts in parallel, showing their output nicely.
To engage with the system, create a build.mjs
script that builds the whole project.
The script must also have a default export that describes watching capabilities.
A simple script looks like this:
#!/usr/bin/env node
import path from 'path';
import { fileURLToPath } from 'url';
import { execSync } from 'child_process';
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
export default {
// Watch for modifications in this folder to trigger re-build.
watch: [ __dirname ],
// custom name for the project
name: 'foo',
};
// Run build only when executed directly, not imported.
if (import.meta.url === `file://${process.argv[1]}`) build().catch(e => process.exit(1));
// Do your build here.
async function build() {
console.time('build');
const command = process.env.FORCE_COLORS ?
'npx tsc --pretty -p .' :
'npx tsc -p .'
;
console.log('Running TSC...');
execSync(command, {
stdio: 'inherit',
cwd: __dirname,
});
console.timeEnd('build');
}