Skip to content

Commit

Permalink
Adds support for TSX files
Browse files Browse the repository at this point in the history
  • Loading branch information
orta authored and alloy committed Jun 12, 2017
1 parent a3b6665 commit 3fe4894
Show file tree
Hide file tree
Showing 3 changed files with 42 additions and 13 deletions.
28 changes: 15 additions & 13 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,19 +23,21 @@ function registerBabel(babelOpts) {

overrideSourceMaps();

// In case ts-node has already run...
var tsLoader = wrap(require.extensions['.ts'], hook);

Object.defineProperty(require.extensions, '.ts', {
enumerable: true,

// In case ts-node hasn't run yet...
set: function (newTSLoader) {
tsLoader = wrap(newTSLoader, hook);
},
get: function () {
return tsLoader;
},
[ '.ts', '.tsx' ].forEach(function (fileType) {
// In case ts-node has already run...
var tsLoader = wrap(require.extensions[fileType], hook);

Object.defineProperty(require.extensions, fileType, {
enumerable: true,

// In case ts-node hasn't run yet...
set: function (newTSLoader) {
tsLoader = wrap(newTSLoader, hook);
},
get: function () {
return tsLoader;
},
});
});
}

Expand Down
1 change: 1 addition & 0 deletions test/cases/supports.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
process.stdout.write('testing\n');
26 changes: 26 additions & 0 deletions test/tsx.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
'use strict';
var exec = require('./exec');
var lab = exports.lab = require('lab').script();
var expect = require('code').expect;

// Typescript supports a second file type
lab.experiment('When my code uses tsx files', function () {
var result;

lab.before(function () {
return exec('supports.tsx')
.then(function (_result) {
result = _result;
});
});

lab.test('it runs successfully', function (done) {
expect(result.code).to.equal(0);
done();
});

lab.test('it prints the correct output', function (done) {
expect(result.out).to.equal('testing\n');
done();
});
});

0 comments on commit 3fe4894

Please sign in to comment.