52 lines
1012 B
JavaScript
52 lines
1012 B
JavaScript
'use strict';
|
|
const meow = require('meow');
|
|
const path = require('path');
|
|
|
|
const tsFile = getTSFile();
|
|
const jsFile = TS2JS(tsFile);
|
|
|
|
replaceCLIArg(tsFile, jsFile);
|
|
|
|
// Ava debugger
|
|
require('ava/profile');
|
|
|
|
/**
|
|
* get ts file path from CLI args
|
|
*
|
|
* @return string path
|
|
*/
|
|
function getTSFile() {
|
|
const cli = meow();
|
|
return cli.input[0];
|
|
}
|
|
|
|
/**
|
|
* get associated compiled js file path
|
|
*
|
|
* @param tsFile path
|
|
* @return string path
|
|
*/
|
|
function TS2JS(tsFile) {
|
|
const srcFolder = path.join(__dirname, '..', 'src');
|
|
const distFolder = path.join(__dirname, '..', 'build', 'main');
|
|
|
|
const tsPathObj = path.parse(tsFile);
|
|
|
|
return path.format({
|
|
dir: tsPathObj.dir.replace(srcFolder, distFolder),
|
|
ext: '.js',
|
|
name: tsPathObj.name,
|
|
root: tsPathObj.root
|
|
});
|
|
}
|
|
|
|
/**
|
|
* replace a value in CLI args
|
|
*
|
|
* @param search value to search
|
|
* @param replace value to replace
|
|
* @return void
|
|
*/
|
|
function replaceCLIArg(search, replace) {
|
|
process.argv[process.argv.indexOf(search)] = replace;
|
|
} |