fix(core): update
This commit is contained in:
		
							
								
								
									
										25
									
								
								ts/index.ts
									
									
									
									
									
								
							
							
						
						
									
										25
									
								
								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) => { | ||||
|     return 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