update to support paths without .js

This commit is contained in:
2017-07-28 20:44:24 +02:00
parent 57e551e0ed
commit 2c32c7103c
3 changed files with 26 additions and 13 deletions

View File

@ -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)
}