11require ( '../../../spec_helper' )
22
33const tsnode = require ( 'ts-node' )
4+ const typescriptObject = require ( 'typescript/lib/typescript.js' )
45
56const resolve = require ( `../../../../lib/util/resolve` )
67
@@ -9,19 +10,35 @@ const tsNodeUtil = require('../../../../lib/plugins/child/ts_node')
910describe ( 'lib/plugins/child/ts_node' , ( ) => {
1011 beforeEach ( ( ) => {
1112 sinon . stub ( tsnode , 'register' )
12- sinon . stub ( resolve , 'typescript' ) . returns ( '/path/to /typescript.js' )
13+ sinon . stub ( resolve , 'typescript' ) . returns ( 'typescript/lib /typescript.js' )
1314 } )
1415
1516 describe ( 'typescript registration' , ( ) => {
1617 it ( 'registers ts-node if typescript is installed' , ( ) => {
18+ sinon . stub ( typescriptObject , 'version' ) . value ( '1.1.1' )
1719 tsNodeUtil . register ( 'proj-root' , '/path/to/plugins/file.js' )
1820
1921 expect ( tsnode . register ) . to . be . calledWith ( {
2022 transpileOnly : true ,
21- compiler : '/path/to /typescript.js' ,
23+ compiler : 'typescript/lib /typescript.js' ,
2224 dir : '/path/to/plugins' ,
2325 compilerOptions : {
24- module : 'CommonJS' ,
26+ module : 'commonjs' ,
27+ } ,
28+ } )
29+ } )
30+
31+ it ( 'registers ts-node with preserveValueImports if typescript 4.5.0 is installed' , ( ) => {
32+ sinon . stub ( typescriptObject , 'version' ) . value ( '4.5.0' )
33+ tsNodeUtil . register ( 'proj-root' , '/path/to/plugins/file.js' )
34+
35+ expect ( tsnode . register ) . to . be . calledWith ( {
36+ transpileOnly : true ,
37+ compiler : 'typescript/lib/typescript.js' ,
38+ dir : '/path/to/plugins' ,
39+ compilerOptions : {
40+ module : 'commonjs' ,
41+ preserveValueImports : false ,
2542 } ,
2643 } )
2744 } )
0 commit comments