File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -122,7 +122,7 @@ class FileLoader {
122122 parse ( ) {
123123 let files = this . options . match ;
124124 if ( ! files ) {
125- files = ( process . env . EGG_TYPESCRIPT === 'true' && utils . extensions . includes ( '.ts' ) )
125+ files = ( process . env . EGG_TYPESCRIPT === 'true' && utils . extensions [ '.ts' ] )
126126 ? [ '**/*.(js|ts)' , '!**/*.d.ts' ]
127127 : [ '**/*.js' ] ;
128128 } else {
Original file line number Diff line number Diff line change @@ -5,24 +5,22 @@ const is = require('is-type-of');
55const path = require ( 'path' ) ;
66const fs = require ( 'fs' ) ;
77const co = require ( 'co' ) ;
8- const extensions = Object . keys ( require . extensions ) ;
9- /* istanbul ignore if */
10- if ( ! extensions . length ) {
11- // adapt for jest
12- extensions . push ( '.js' , '.node' , '.json' ) ;
13- if ( process . env . EGG_TYPESCRIPT === 'true' ) {
14- extensions . push ( '.ts' ) ;
15- }
16- }
8+ const BuiltinModule = require ( 'module' ) ;
9+
10+ // Guard against poorly mocked module constructors.
11+ const Module = module . constructor . length > 1
12+ ? module . constructor
13+ /* istanbul ignore next */
14+ : BuiltinModule ;
1715
1816module . exports = {
19- extensions,
17+ extensions : Module . _extensions ,
2018
2119 loadFile ( filepath ) {
2220 try {
2321 // if not js module, just return content buffer
2422 const extname = path . extname ( filepath ) ;
25- if ( extname && ! extensions . includes ( extname ) ) {
23+ if ( extname && ! Module . _extensions [ extname ] ) {
2624 return fs . readFileSync ( filepath ) ;
2725 }
2826 // require js module
Original file line number Diff line number Diff line change @@ -11,13 +11,13 @@ describe('test/egg-ts.test.js', () => {
1111
1212 beforeEach ( ( ) => {
1313 require . extensions [ '.ts' ] = require . extensions [ '.js' ] ;
14- loaderUtil . extensions . push ( '.ts' ) ;
14+ loaderUtil . extensions [ '.ts' ] = require . extensions [ '.js' ] ;
1515 } ) ;
1616
1717 afterEach ( ( ) => {
1818 mm . restore ( ) ;
19- loaderUtil . extensions . splice ( loaderUtil . extensions . indexOf ( '.ts' ) , 1 ) ;
2019 delete require . extensions [ '.ts' ] ;
20+ delete loaderUtil . extensions [ '.ts' ] ;
2121 } ) ;
2222
2323 describe ( 'load ts file' , ( ) => {
You can’t perform that action at this time.
0 commit comments