update to support paths without .js
This commit is contained in:
25
ts/index.ts
25
ts/index.ts
@ -1,10 +1,10 @@
|
||||
import 'typings-global'
|
||||
|
||||
let Module = require('module');
|
||||
import path = require('path');
|
||||
import sourceMap = require('source-map-support');
|
||||
import through2 = require('through2');
|
||||
import vm = require('vm');
|
||||
let Module = require('module')
|
||||
import path = require('path')
|
||||
import sourceMap = require('source-map-support')
|
||||
import through2 = require('through2')
|
||||
import vm = require('vm')
|
||||
|
||||
import { Transform } from 'stream'
|
||||
|
||||
@ -12,18 +12,22 @@ sourceMap.install({
|
||||
retrieveFile: function (path) {
|
||||
if (cache[path]) {
|
||||
return cache[path].contents.toString()
|
||||
} else if (cache[path + '.js']) {
|
||||
return cache[path + '.js'].contents.toString()
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
let cache = {};
|
||||
let cache = {}
|
||||
let originalLoader = Module._extensions['.js']
|
||||
|
||||
Module._extensions['.js'] = function (module, filename) {
|
||||
let file = cache[filename]
|
||||
let file2 = cache[filename + '.js']
|
||||
if (file) {
|
||||
module._compile(file.contents.toString(), filename)
|
||||
} else if (file2) {
|
||||
module._compile(file2.contents.toString(), filename)
|
||||
} else {
|
||||
originalLoader.apply(this, arguments)
|
||||
}
|
||||
@ -32,9 +36,10 @@ Module._extensions['.js'] = function (module, filename) {
|
||||
let originalModuleResolve = Module._resolveFilename
|
||||
|
||||
Module._resolveFilename = function (request, parent, isMain) {
|
||||
let file = cache[request];
|
||||
if (file) {
|
||||
return request;
|
||||
let file = cache[request]
|
||||
let file2 = cache[request + '.js']
|
||||
if (file || file2) {
|
||||
return request
|
||||
} else {
|
||||
return originalModuleResolve.apply(this, arguments)
|
||||
}
|
||||
|
Reference in New Issue
Block a user