mirror of
https://github.com/tenrok/BBob.git
synced 2026-05-15 11:59:37 +03:00
2d1a08ba9a
* chore: fix swc + rollup transform * chore: fix pkg-task args parsing * chore: update lerna, rollup and swc to build proper es6 files * chore: fix swc build for es targets * ci: nodes matrix to newest versions * ci: rollup to mjs, swc to json * ci: add canary publish * ci: no git tag for canary * ci: no private publish for canary * ci: remove --canary from publish-canary * fix: remove gitHead from package.json * fix: tests setup * fix: bbob plugin helper imports * fix: plugin helper build priority and circular deps * fix: add nx for parallel build * fix: npm ci * fix: code ql * fix: remove exports directive * fix: rollup build * fix: vue2 test and minify * fix: bundle size limits * feat: bundlephobia pr review * feat: bundlephobia more popular action * feat: publish branch to npm * fix: secret NPM token * fix: bundlephobia version * fix: remove bundlephobia checker * fix: npm publish in PR * chore: release 2.8.3 * chore: fix test runs on CI, removed 14.x version * fix: sync package-lock * fix: remove lock files in sub packages * fix: bundlesize > bundlesize2 * fix: update lock files * fix: lock file in vue2-example
45 lines
1.1 KiB
JavaScript
Executable File
45 lines
1.1 KiB
JavaScript
Executable File
#!/usr/bin/env node
|
|
'use strict';
|
|
const { resolve } = require('path')
|
|
const { spawn } = require('child_process')
|
|
|
|
const pkg = require(resolve(__dirname, '../package.json'))
|
|
const nmBinDir = resolve(__dirname, '../node_modules/.bin/')
|
|
|
|
const shell = { cmd: 'sh', arg: '-c' }
|
|
|
|
// replace all @/ to node modules bin dir
|
|
const replaceTokens = str => String(str).replace(new RegExp('@\\/', 'gi'), `${nmBinDir}/`)
|
|
|
|
function runCommand(command, args = '') {
|
|
const proc = spawn(shell.cmd, [shell.arg, `${replaceTokens(command)} ${args}`], {
|
|
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)
|
|
});
|
|
}
|
|
|
|
function runCommandByKey(key, command) {
|
|
const args = process.argv.slice(2);
|
|
|
|
if (args.length >= 1) {
|
|
const [name, ...argarr] = args
|
|
|
|
if (name === key) {
|
|
return runCommand(command, argarr.join(' '))
|
|
}
|
|
}
|
|
}
|
|
|
|
for (const [key, command] of Object.entries(pkg.pkgTasks)) {
|
|
runCommandByKey(key, command)
|
|
}
|