Compare commits

..

4 Commits

Author SHA1 Message Date
e41cd896bb 1.2.26 2022-03-12 19:13:56 +01:00
ba44007fb2 fix(core): update 2022-03-12 19:13:56 +01:00
8d1362f14b 1.2.25 2022-03-12 18:54:20 +01:00
61ceb03962 fix(core): update 2022-03-12 18:54:19 +01:00
3 changed files with 17 additions and 8 deletions

4
package-lock.json generated
View File

@ -1,12 +1,12 @@
{ {
"name": "@gitzone/tsrun", "name": "@gitzone/tsrun",
"version": "1.2.24", "version": "1.2.26",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "@gitzone/tsrun", "name": "@gitzone/tsrun",
"version": "1.2.24", "version": "1.2.26",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@pushrocks/smartfile": "^9.0.6", "@pushrocks/smartfile": "^9.0.6",

View File

@ -1,6 +1,6 @@
{ {
"name": "@gitzone/tsrun", "name": "@gitzone/tsrun",
"version": "1.2.24", "version": "1.2.26",
"description": "run typescript programs efficiently", "description": "run typescript programs efficiently",
"main": "dist_ts/index.js", "main": "dist_ts/index.js",
"typings": "dist_ts/index.d.ts", "typings": "dist_ts/index.d.ts",

View File

@ -5,21 +5,30 @@ import { fileURLToPath } from 'url';
const __dirname = dirname(fileURLToPath(import.meta.url)); const __dirname = dirname(fileURLToPath(import.meta.url));
export const runCli = async () => { export const runPath = async (pathArg: string) => {
await runCli(pathArg);
}
export const runCli = async (pathArg?: string) => {
// contents of argv array // contents of argv array
// process.argv[0] -> node Executable // process.argv[0] -> node Executable
// process.argv[1] -> tsrun executable // process.argv[1] -> tsrun executable
const pathToTsFile = process.argv[2]; const relativePathToTsFile = pathArg ? pathArg : process.argv[2];
const absolutePathToTsFile = plugins.path.join(process.cwd(), relativePathToTsFile);
const tsNodeLoaderPath = plugins.path.join(__dirname, 'loader.js')
const pathToLoad = plugins.path.join(process.cwd(), pathToTsFile);
process.argv.splice(0, 3); // this ensures transparent arguments for the child process process.argv.splice(0, 3); // this ensures transparent arguments for the child process
// lets setup things for execution
const smartshellInstance = new plugins.smartshell.Smartshell({ const smartshellInstance = new plugins.smartshell.Smartshell({
executor: 'bash' executor: 'bash'
}); });
smartshellInstance.exec(`node --loader ${tsNodeLoaderPath} ${pathToLoad} ${process.argv.length > 0 ? process.argv.reduce((prevArg, currentArg) => { const tsNodeLoaderPath = plugins.path.join(__dirname, 'loader.js')
// note: -> reduce on emtpy array does not work
// thus check needed before reducing the argv array
smartshellInstance.exec(`node --loader ${tsNodeLoaderPath} ${absolutePathToTsFile} ${process.argv.length > 0 ? process.argv.reduce((prevArg, currentArg) => {
return prevArg + ' ' + currentArg; return prevArg + ' ' + currentArg;
}) : ''}`); }) : ''}`);