Skip to content

Commit 47ad7e6

Browse files
committed
feat(): add option to set components name.
* Adds an option to specify the view's component name. Closes #722.
1 parent 7db40df commit 47ad7e6

File tree

6 files changed

+18
-8
lines changed

6 files changed

+18
-8
lines changed

addon/ng2/blueprints/ng2/files/__path__/app/__name__.component.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { Component } from '@angular/core';
44
moduleId: module.id,
55
selector: '<%= htmlComponentName %>-app',
66
templateUrl: '<%= htmlComponentName %>.component.html',
7-
styleUrls: ['<%= dasherizedModuleName %>.component.<%= styleExt %>']
7+
styleUrls: ['<%= htmlComponentName %>.component.<%= styleExt %>']
88
})
99
export class <%= jsComponentName %>AppComponent {
1010
title = '<%= htmlComponentName %> works!';

addon/ng2/blueprints/ng2/files/angular-cli.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"project": {
33
"version": "<%= version %>",
4-
"name": "<%= htmlComponentName %>"
4+
"name": "<%= packageName %>"
55
},
66
"apps": [
77
{"main": "<%= sourceDir %>/main.ts", "tsconfig": "<%= sourceDir %>/tsconfig.json"}

addon/ng2/blueprints/ng2/files/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"name": "<%= htmlComponentName %>",
2+
"name": "<%= packageName %>",
33
"version": "0.0.0",
44
"license": "MIT",
55
"angular-cli": {},

addon/ng2/blueprints/ng2/index.js

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ module.exports = {
88
availableOptions: [
99
{ name: 'source-dir', type: String, default: 'src', aliases: ['sd'] },
1010
{ name: 'prefix', type: String, default: 'app', aliases: ['p'] },
11-
{ name: 'mobile', type: Boolean, default: false }
11+
{ name: 'mobile', type: Boolean, default: false },
12+
{ name: 'component-name', type: String, default: '', aliases: ['cn'] }
1213
],
1314

1415
locals: function(options) {
@@ -22,9 +23,12 @@ module.exports = {
2223
.replace(/-(.)/g, (_, l) => ' ' + l.toUpperCase())
2324
.replace(/^./, (l) => l.toUpperCase());
2425

26+
const packageName = stringUtils.dasherize(options.entity.name);
27+
2528
return {
26-
htmlComponentName: stringUtils.dasherize(options.entity.name),
27-
jsComponentName: stringUtils.classify(options.entity.name),
29+
packageName: packageName,
30+
htmlComponentName: stringUtils.dasherize(options.componentName) || packageName,
31+
jsComponentName: stringUtils.classify(options.componentName) || stringUtils.classify(options.entity.name),
2832
fullAppName: fullAppName,
2933
styleExt: this.styleExt,
3034
version: this.version,
@@ -56,6 +60,9 @@ module.exports = {
5660
},
5761
__styleext__: () => {
5862
return options.locals.styleExt;
63+
},
64+
__name__: () => {
65+
return options.locals.htmlComponentName;
5966
}
6067
};
6168
}

addon/ng2/commands/init.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ module.exports = Command.extend({
2222
{ name: 'name', type: String, default: '', aliases: ['n'] },
2323
{ name: 'source-dir', type: String, default: 'src', aliases: ['sd'] },
2424
{ name: 'prefix', type: String, default: 'app', aliases: ['p'] },
25-
{ name: 'mobile', type: Boolean, default: false }
25+
{ name: 'mobile', type: Boolean, default: false },
26+
{ name: 'component-name', type: String, default: '', aliases: ['cn'] }
2627
],
2728

2829
anonymousOptions: ['<glob-pattern>'],
@@ -91,7 +92,8 @@ module.exports = Command.extend({
9192
rawArgs: rawArgs.toString(),
9293
sourceDir: commandOptions.sourceDir,
9394
prefix: commandOptions.prefix,
94-
mobile: commandOptions.mobile
95+
mobile: commandOptions.mobile,
96+
componentName: commandOptions.componentName
9597
};
9698

9799
if (!validProjectName(packageName)) {

addon/ng2/commands/new.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ const NewCommand = Command.extend({
2121
{ name: 'skip-git', type: Boolean, default: false, aliases: ['sg'] },
2222
{ name: 'directory', type: String, aliases: ['dir'] },
2323
{ name: 'source-dir', type: String, default: 'src', aliases: ['sd'] },
24+
{ name: 'component-name', type: String, default: '', aliases: ['cn'] },
2425
{ name: 'prefix', type: String, default: 'app', aliases: ['p'] },
2526
{ name: 'mobile', type: Boolean, default: false }
2627
],

0 commit comments

Comments
 (0)