2
0
mirror of https://github.com/tenrok/BBob.git synced 2026-05-15 11:59:37 +03:00
Files
bbob/scripts/pkg-task
T
Nikolay Kostyurin da6709d437 feat: update core deps (#120)
* feat: use swc.rs instead of babel

* BREAKING CHANGE: now we use swc.rs as main bundler and transpiler instead of babel
  - jest now uses swc
  - rollup now uses swc

* feat: benchmark now separate package with `npm start` and colored output
  - benchmark as separate package with error throw if package drops performance

* feat: all lerna packages now using scripts/pkg-task

* feat(github): publish to npm and github registry
  - when release was created this action automaticly publish packages to npm and github

* feat(github): move all from Travis CI to Github Actions
  - code analysis and tests now using github actions

* test: increase tests coverage
  - add more tests for @bbob/react, @bbob/vue2 and @bbob/parser
2021-11-29 00:33:06 +02:00

37 lines
948 B
JavaScript
Executable File

#!/usr/bin/env node
'use strict';
const { resolve } = require('path')
const { spawn } = require('child_process')
const { Command } = require('commander');
const pkg = require(resolve(__dirname, '../package.json'))
const program = new Command();
const nmBinDir = resolve(__dirname, '../node_modules/.bin/')
const shell = { cmd: 'sh', arg: '-c' }
const replaceTokens = str => String(str).replace(new RegExp('@\\/', 'gi'), `${nmBinDir}/`)
const actionCommand = (command) => () => {
const proc = spawn(shell.cmd, [shell.arg, replaceTokens(command)], {
env: process.env,
cwd: process.cwd(),
stdio: 'inherit',
})
proc.on('close', (code) => {
if (code !== 0) {
console.log(`command:"${command}" exited with code ${code}`);
}
process.exit(code)
});
}
program.version('1.0.0')
for (const [key, command] of Object.entries(pkg.pkgTasks)) {
program.command(key).action(actionCommand(command))
}
program.parse();