File tree Expand file tree Collapse file tree 2 files changed +32
-0
lines changed Expand file tree Collapse file tree 2 files changed +32
-0
lines changed Original file line number Diff line number Diff line change 1+ import fs from "node:fs"
2+ import { dirname , resolve } from "node:path" ;
3+ import { fileURLToPath } from "node:url" ;
4+ import vm from 'node:vm' ;
5+
6+ const __filename = fileURLToPath ( import . meta. url ) ;
7+ const __dirname = dirname ( __filename ) ;
8+
9+ const modulerefContents = fs . readFileSync ( resolve ( __dirname , "../../modules/index.js" ) , { encoding : "utf8" } ) ;
10+ const tslibjsContents = fs . readFileSync ( resolve ( __dirname , "../../tslib.js" ) , { encoding : "utf8" } ) ;
11+ const contextifiedObject = vm . createContext ( { } ) ;
12+
13+ async function linker ( specifier , referencingModule ) {
14+ if ( specifier === '../tslib.js' ) {
15+ return new vm . SourceTextModule ( tslibjsContents , { context : referencingModule . context } ) ;
16+ }
17+ throw new Error ( `Unable to resolve dependency: ${ specifier } ` ) ;
18+ }
19+
20+ const m = new vm . SourceTextModule ( modulerefContents , { context : contextifiedObject } )
21+
22+ await m . link ( linker ) ;
23+ await m . evaluate ( ) ;
Original file line number Diff line number Diff line change 1+ {
2+ "type" : " module" ,
3+ "scripts" : {
4+ "test" : " node index.js"
5+ },
6+ "engines" : {
7+ "node" : " 14"
8+ }
9+ }
You can’t perform that action at this time.
0 commit comments