Skip to content
This repository was archived by the owner on Mar 26, 2018. It is now read-only.

Commit fd95fbf

Browse files
author
Rob Dodson
committed
Validate element name, close GH-34
1 parent 974e743 commit fd95fbf

2 files changed

Lines changed: 13 additions & 5 deletions

File tree

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
"lodash": "^2.4.1",
2626
"ncp": "^1.0.1",
2727
"rimraf": "^2.2.8",
28+
"validate-element-name": "^1.0.0",
2829
"yeoman-generator": "^0.17.0",
2930
"yosay": "^1.0.0"
3031
},

seed/index.js

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ var _ = require('lodash');
33
var yeoman = require('yeoman-generator');
44
var path = require('path');
55
var yosay = require('yosay');
6+
var elementNameValidator = require('validate-element-name');
7+
var chalk = require('chalk');
68

79
module.exports = yeoman.generators.Base.extend({
810
constructor: function () {
@@ -25,12 +27,17 @@ module.exports = yeoman.generators.Base.extend({
2527
},
2628
validate: function () {
2729
this.elementName = this['element-name'];
28-
if (this.elementName.indexOf('-') === -1) {
29-
this.emit('error', new Error(
30-
'Element name must contain a dash "-"\n' +
31-
'ex: yo polymer:seed my-element'
32-
));
30+
var result = elementNameValidator(this.elementName);
31+
32+
if (!result.isValid) {
33+
this.emit('error', new Error(chalk.red(result.message)));
34+
}
35+
36+
if (result.message) {
37+
console.warn(chalk.yellow(result.message + '\n'));
3338
}
39+
40+
return true;
3441
},
3542
checkForDanger: function () {
3643
var done = this.async();

0 commit comments

Comments
 (0)