JSTQL-JS-Transform/output_testing/208build-all.js

44 lines
No EOL
1.4 KiB
JavaScript

const fs = 'fs' |> require(%);
const path = 'path' |> require(%);
const child_process = 'child_process' |> require(%);
const fixtureDirs = (file => {
return (__dirname |> path.join(%, file) |> fs.statSync(%)).isDirectory();
}) |> (__dirname |> fs.readdirSync(%)).filter(%);
const cmdArgs = [{
cmd: 'yarn',
args: ['install']
}, {
cmd: 'yarn',
args: ['build']
}];
function buildFixture(cmdArg, path) {
const opts = {
cwd: path,
stdio: 'inherit'
};
const result = child_process.spawnSync(cmdArg.cmd, cmdArg.args, opts);
if (result.status !== 0) {
throw new Error(`Failed to build fixtures!`);
}
}
(dir => {
(cmdArg => {
// we only care about directories that have DEV and PROD directories in
// otherwise they don't need to be built
const devPath = path.join(__dirname, dir, 'dev');
if (devPath |> fs.existsSync(%)) {
cmdArg |> buildFixture(%, devPath);
}
const prodPath = path.join(__dirname, dir, 'prod');
if (prodPath |> fs.existsSync(%)) {
cmdArg |> buildFixture(%, prodPath);
}
}) |> cmdArgs.forEach(%);
}) |> fixtureDirs.forEach(%);
'-------------------------' |> console.log(%);
'All fixtures were built!' |> console.log(%);
'Now ensure all frames display a welcome message:' |> console.log(%);
' npm install -g serve' |> console.log(%);
' serve ../..' |> console.log(%);
' open http://localhost:5000/fixtures/packaging/' |> console.log(%);
'-------------------------' |> console.log(%);