Skip to content

Commit d9de063

Browse files
committed
fix handing require extensions
1 parent 8dd4340 commit d9de063

File tree

4 files changed

+15
-28
lines changed

4 files changed

+15
-28
lines changed

CHANGELOG.md

+4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
### Yalc changelog
22

3+
## 1.0.0-pre.59 (2020-08-20)
4+
5+
- fix handing require extensions (#185, #196)
6+
37
## 1.0.0-pre.58 (2020-08-18)
48

59
- show versions only on first start

lib/compiler.js

+8-25
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ var compilationInstanceStamp = Math.random().toString().slice(2)
2121

2222
var originalJsHandler = require.extensions['.js']
2323

24-
var extHandlers = {}
24+
// var extHandlers = {}
2525

2626
function hasOwnProperty (object, property) {
2727
return Object.prototype.hasOwnProperty.call(object, property)
@@ -186,7 +186,9 @@ var compiler = {
186186
/* clean up compiled on each new init*/
187187
rimraf.sync(compiler.getCompiledDir())
188188
compiler.createCompiledDir()
189-
/* check if `allowJs` compiler option enable */
189+
190+
// check if `allowJs` compiler option enable
191+
// (if it was changed after ts-node registration)
190192
var allowJsEnabled = require.extensions['.js'] !== originalJsHandler
191193
if (allowJsEnabled) {
192194
compiler.allowJs = true
@@ -198,27 +200,12 @@ var compiler = {
198200
},
199201
registerTsNode: function () {
200202
var options = compiler.options
203+
// revert back original handler extensions
204+
// in case of re-registration after an error
201205
extensions.forEach(function (ext) {
202206
require.extensions[ext] = originalJsHandler
203207
})
204208

205-
// var tsNodeOptions = {
206-
// //dir: should add
207-
// emit: options['emit'],
208-
// files: options['files'],
209-
// pretty: options['pretty'],
210-
// transpileOnly: options['transpile-only'],
211-
// ignore: [].concat(options['ignore']),
212-
// preferTsExts: options['prefer-ts-exts'] || options['prefer-ts'],
213-
// logError: options['log-error'],
214-
// project: options['project'],
215-
// skipProject: options['skip-project'],
216-
// skipIgnore: options['skip-ignore'],
217-
// compiler: options['compiler'],
218-
// ignoreDiagnostics: options['ignore-diagnostics'],
219-
// disableWarnings: options['disableWarnings'],
220-
// compilerOptions: options['compiler-options'],
221-
// }
222209
var compilerOptionsArg =
223210
options['compilerOptions'] || options['compiler-options']
224211
var compilerOptions
@@ -271,10 +258,6 @@ var compiler = {
271258
console.log(e)
272259
return
273260
}
274-
extensions.forEach(function (ext) {
275-
extHandlers[ext] = require.extensions[ext]
276-
require.extensions[ext] = originalJsHandler
277-
})
278261
},
279262
compileChanged: function (fileName) {
280263
var ext = path.extname(fileName)
@@ -311,7 +294,7 @@ var compiler = {
311294
}
312295
const _compile = () => {
313296
var ext = path.extname(fileName)
314-
var extHandler = extHandlers[ext] || require.extensions[ext]
297+
var extHandler = require.extensions[ext]
315298
extHandler(m, fileName)
316299
m._compile(code, fileName)
317300
compiler.log.debug(
@@ -331,7 +314,7 @@ var compiler = {
331314

332315
// reinitialize ts-node compilation to clean up state after error
333316
// without timeout in causes cases error not be printed out
334-
setTimeout(() => {
317+
setTimeout(() => {
335318
compiler.registerTsNode()
336319
})
337320

package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "ts-node-dev",
3-
"version": "1.0.0-pre.58",
3+
"version": "1.0.0-pre.59",
44
"description": "Compiles your TS app and restarts when files are modified.",
55
"keywords": [
66
"restart",
@@ -36,7 +36,7 @@
3636
"ts-node-dev": "node ./bin/ts-node-dev",
3737
"tsnd": "yarn ts-node-dev",
3838
"test": "ts-node -T test/index.ts",
39-
"test-dev": "ts-node-dev -T --respawn test/index.ts --output",
39+
"test-dev": "ts-node-dev -T --respawn --deps --watch lib test/index.ts --output",
4040
"test-docker": "docker-compose up",
4141
"ci": "yarn test",
4242
"ci-local": "docker run --name travis-debug -dit quay.io/travisci/ci-nodejs",

test/index.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ test('It should restart on file change', async (t) => {
4949

5050
test('It allow watch arbitrary folder/file', async (t) => {
5151
const ps = spawnTsNodeDev('--respawn --watch folder,folder2 simple.ts')
52-
await ps.waitForLine(/Using/)
52+
await ps.waitForLine(/v1/)
5353
setTimeout(() => touch(join(scriptsDir, 'folder/some-file')), 250)
5454
await ps.waitForLine(/Restarting.*some-file/)
5555
t.pass('works')

0 commit comments

Comments
 (0)