Skip to content

Commit 6780761

Browse files
committed
Create addon entry point
1 parent 6b30223 commit 6780761

File tree

4 files changed

+26
-1
lines changed

4 files changed

+26
-1
lines changed

.eslintrc.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ module.exports = {
2222
files: [
2323
'ember-cli-build.js',
2424
'index.js',
25+
'register-ts-node.js',
2526
'testem.js',
2627
'blueprints/*/index.js',
2728
'config/**/*.js',

index.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
'use strict';
2+
3+
const fs = require('fs');
4+
5+
// If transpiled output is present, always default to loading that first.
6+
// Otherwise, register ts-node if necessary and load from source.
7+
if (fs.existsSync(`${__dirname}/js/addon.js`)) {
8+
// eslint-disable-next-line node/no-missing-require
9+
module.exports = require('./js/addon');
10+
} else {
11+
require('./register-ts-node');
12+
13+
// eslint-disable-next-line node/no-unpublished-require
14+
module.exports = require('./ts/addon');
15+
}

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
"lint:js": "eslint ./*.js addon addon-test-support app blueprints config lib server test-support tests",
2828
"start": "ember serve",
2929
"test": "ember test",
30-
"test:node": "mocha -r ts-node/register/transpile-only 'ts/tests/**/*.{ts,js}'",
30+
"test:node": "mocha -r register-ts-node 'ts/tests/**/*.{ts,js}'",
3131
"test:all": "ember try:each",
3232
"prepublishOnly": "yarn tsc --project ts --noEmit false",
3333
"postpublish": "rimraf js"

register-ts-node.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
'use strict';
2+
3+
// eslint-disable-next-line node/no-deprecated-api
4+
if (!require.extensions['.ts']) {
5+
// eslint-disable-next-line node/no-unpublished-require
6+
require('ts-node').register({
7+
project: `${__dirname}/ts/tsconfig.json`
8+
});
9+
}

0 commit comments

Comments
 (0)