Compare commits
2 Commits
Author | SHA1 | Date | |
---|---|---|---|
71779693d7 | |||
1113251aea |
4
package-lock.json
generated
4
package-lock.json
generated
@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "@gitzone/tsrun",
|
||||
"version": "1.2.26",
|
||||
"version": "1.2.27",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@gitzone/tsrun",
|
||||
"version": "1.2.26",
|
||||
"version": "1.2.27",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@pushrocks/smartfile": "^9.0.6",
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@gitzone/tsrun",
|
||||
"version": "1.2.26",
|
||||
"version": "1.2.27",
|
||||
"description": "run typescript programs efficiently",
|
||||
"main": "dist_ts/index.js",
|
||||
"typings": "dist_ts/index.d.ts",
|
||||
|
23
ts/index.ts
23
ts/index.ts
@ -7,29 +7,34 @@ const __dirname = dirname(fileURLToPath(import.meta.url));
|
||||
|
||||
export const runPath = async (pathArg: string) => {
|
||||
await runCli(pathArg);
|
||||
}
|
||||
};
|
||||
|
||||
export const runCli = async (pathArg?: string) => {
|
||||
// contents of argv array
|
||||
// process.argv[0] -> node Executable
|
||||
// process.argv[1] -> tsrun executable
|
||||
const relativePathToTsFile = pathArg ? pathArg : process.argv[2];
|
||||
const absolutePathToTsFile = plugins.path.join(process.cwd(), relativePathToTsFile);
|
||||
|
||||
const absolutePathToTsFile = plugins.path.isAbsolute(relativePathToTsFile)
|
||||
? relativePathToTsFile
|
||||
: plugins.path.join(process.cwd(), relativePathToTsFile);
|
||||
|
||||
process.argv.splice(0, 3); // this ensures transparent arguments for the child process
|
||||
|
||||
|
||||
// lets setup things for execution
|
||||
const smartshellInstance = new plugins.smartshell.Smartshell({
|
||||
executor: 'bash'
|
||||
executor: 'bash',
|
||||
});
|
||||
|
||||
const tsNodeLoaderPath = plugins.path.join(__dirname, 'loader.js')
|
||||
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) => {
|
||||
smartshellInstance.exec(
|
||||
`node --loader ${tsNodeLoaderPath} ${absolutePathToTsFile} ${
|
||||
process.argv.length > 0
|
||||
? process.argv.reduce((prevArg, currentArg) => {
|
||||
return prevArg + ' ' + currentArg;
|
||||
}) : ''}`);
|
||||
|
||||
})
|
||||
: ''
|
||||
}`
|
||||
);
|
||||
};
|
||||
|
@ -1,3 +1,10 @@
|
||||
// node native
|
||||
import * as path from 'path';
|
||||
|
||||
export {
|
||||
path
|
||||
}
|
||||
|
||||
// @pushrocks scope
|
||||
import * as smartshell from '@pushrocks/smartshell';
|
||||
|
||||
@ -6,10 +13,8 @@ export {
|
||||
}
|
||||
|
||||
// third party scope
|
||||
import * as path from 'path';
|
||||
import * as tsNode from 'ts-node';
|
||||
|
||||
export {
|
||||
path,
|
||||
tsNode
|
||||
}
|
Reference in New Issue
Block a user