UNPKG

@smoud/scripts

Version:

Powerful build tool for HTML5 games, designed to streamline development, optimization, and packaging for multiple platforms, including web browsers, game portals, social media, mobile, and Web3

46 lines (38 loc) 1.31 kB
#!/usr/bin/env node 'use strict'; process.on('unhandledRejection', (err) => { throw err; }); const spawn = require('cross-spawn'); const args = process.argv.slice(2); const scriptIndex = args.findIndex((x) => x === 'build' || x === 'dev'); const script = scriptIndex === -1 ? args[0] : args[scriptIndex]; const nodeArgs = scriptIndex > 0 ? args.slice(0, scriptIndex) : []; if (['build', 'dev'].includes(script)) { const result = spawn.sync( process.execPath, nodeArgs.concat(require.resolve('../commands/' + script)).concat(args.slice(scriptIndex + 1)), { stdio: 'inherit' } ); if (result.signal) { if (result.signal === 'SIGKILL') { console.log( 'The build failed because the process exited too early. ' + 'This probably means the system ran out of memory or someone called ' + '`kill -9` on the process.' ); } else if (result.signal === 'SIGTERM') { console.log( 'The build failed because the process exited too early. ' + 'Someone might have called `kill` or `killall`, or the system could ' + 'be shutting down.' ); } process.exit(1); } process.exit(result.status); } else { console.log('Unknown script "' + script + '".'); }