UNPKG

@mhy/config

Version:

> This documentation is not complete. It's in progress and it's a BETA version. Use the tool at your own risk.

62 lines (46 loc) 1.97 kB
"use strict"; var _path = _interopRequireDefault(require("path")); var _dist = _interopRequireDefault(require("@mhy/process/dist")); var _copyDir = _interopRequireDefault(require("copy-dir")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } const getCmdBabelCLI = (flags = []) => ['node', require.resolve('@babel/cli/bin/babel.js'), _path.default.resolve(process.cwd(), 'src'), '--out-dir', 'dist', '--config-file', _path.default.resolve(__dirname, '../../babel'), '--ignore', 'node_modules,test,tests,dist,temp,tmp', '--delete-dir-on-start', '--extensions', '.js,.jsx,.ts,.tsx', ...flags]; class Babel extends _dist.default { constructor(args) { const { args: [defaultAction = 'start'], flags: _flags } = args; super(args); _defineProperty(this, "onStart", ({ name }, { flags }) => { this.spawn(name, getCmdBabelCLI(flags)).on('exit', () => { _copyDir.default.sync(_path.default.resolve(process.cwd(), 'src'), _path.default.resolve(process.cwd(), 'dist'), function (stat, filepath, filename) { if (stat === 'file') { if (filename.endsWith('.d.ts')) { return true; } if (filename.endsWith('ts') || filename.endsWith('tsx') || filename.endsWith('js') || filename.endsWith('jsx')) { return false; } return true; } return true; }); }); }); _defineProperty(this, "actions", [{ name: 'start', enabled: true, onRun: this.onStart }]); this.run(defaultAction, { flags: _flags }); } } _defineProperty(Babel, "isEnabled", true); module.exports.default = () => Babel;