Skip to content

Commit a8ee9e7

Browse files
committed
Move generated config/environment.d.ts to new types dir.
- Add paths mappings for any unmapped files to look up `types/*`. - Add `__app_name__` hook to use the app name for the config lookup. Resolves #34.
1 parent 218c2bd commit a8ee9e7

File tree

4 files changed

+26
-3
lines changed

4 files changed

+26
-3
lines changed

blueprints/ember-cli-typescript/files/__root__/config/environment.d.ts renamed to blueprints/ember-cli-typescript/files/types/__app_name__/config/environment.d.ts

File renamed without changes.

blueprints/ember-cli-typescript/files/types/__app_name__/index.d.ts

Whitespace-only changes.

blueprints/ember-cli-typescript/index.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,22 @@ module.exports = {
4545
paths[`${appName}/*`].push(`${addon}/app/*`);
4646
}
4747

48+
paths['*'] = ['types/*'];
49+
4850
return JSON.stringify(paths, null, 2).replace(/\n/g, '\n ');
4951
},
5052
};
5153
},
5254

55+
fileMapTokens(/*options*/) {
56+
// Return custom tokens to be replaced in your files.
57+
return {
58+
__app_name__(options) {
59+
return options.dasherizedModuleName;
60+
},
61+
};
62+
},
63+
5364
normalizeEntityName() {
5465
// Entity name is optional right now, creating this hook avoids an error.
5566
},

node-tests/blueprints/ember-cli-typescript-test.js

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ describe('Acceptance: ember-cli-typescript generator', function() {
1414
it('basic app', function() {
1515
const args = ['ember-cli-typescript'];
1616

17-
return helpers.emberNew()
17+
return helpers
18+
.emberNew()
1819
.then(() => helpers.emberGenerate(args))
1920
.then(() => {
2021
const pkg = file('package.json');
@@ -31,16 +32,24 @@ describe('Acceptance: ember-cli-typescript generator', function() {
3132
expect(tsconfigJson.compilerOptions.paths).to.deep.equal({
3233
'my-app/tests/*': ['tests/*'],
3334
'my-app/*': ['app/*'],
35+
'*': ['types/*'],
3436
});
3537

3638
expect(tsconfigJson.include).to.deep.equal(['app', 'tests']);
39+
40+
const projectTypes = file('types/my-app/index.d.ts');
41+
expect(projectTypes).to.exist;
42+
43+
const environmentTypes = file('types/my-app/config/environment.d.ts');
44+
expect(environmentTypes).to.exist;
3745
});
3846
});
3947

4048
it('basic addon', function() {
4149
const args = ['ember-cli-typescript'];
4250

43-
return helpers.emberNew({ target: 'addon' })
51+
return helpers
52+
.emberNew({ target: 'addon' })
4453
.then(() => helpers.emberGenerate(args))
4554
.then(() => {
4655
const pkg = file('package.json');
@@ -59,6 +68,7 @@ describe('Acceptance: ember-cli-typescript generator', function() {
5968
'dummy/*': ['tests/dummy/app/*'],
6069
'my-addon': ['addon'],
6170
'my-addon/*': ['addon/*'],
71+
'*': ['types/*'],
6272
});
6373

6474
expect(tsconfigJson.include).to.deep.equal(['addon', 'tests']);
@@ -68,7 +78,8 @@ describe('Acceptance: ember-cli-typescript generator', function() {
6878
it('in-repo addons', function() {
6979
const args = ['ember-cli-typescript'];
7080

71-
return helpers.emberNew()
81+
return helpers
82+
.emberNew()
7283
.then(() => {
7384
const packagePath = path.resolve(process.cwd(), 'package.json');
7485
const contents = JSON.parse(fs.readFileSync(packagePath, { encoding: 'utf8' }));
@@ -90,6 +101,7 @@ describe('Acceptance: ember-cli-typescript generator', function() {
90101
'my-addon-1/*': ['lib/my-addon-1/addon/*'],
91102
'my-addon-2': ['lib/my-addon-2/addon'],
92103
'my-addon-2/*': ['lib/my-addon-2/addon/*'],
104+
'*': ['types/*'],
93105
});
94106

95107
expect(json.include).to.deep.equal(['app', 'tests', 'lib/my-addon-1', 'lib/my-addon-2']);

0 commit comments

Comments
 (0)