diff --git a/app/index.js b/app/index.js
index ddcd64b..f96ce41 100644
--- a/app/index.js
+++ b/app/index.js
@@ -2,7 +2,6 @@
var banner = require('../banner');
var path = require('path');
-var util = require('util');
var yeoman = require('yeoman-generator');
var elementNameValidator = require('validate-element-name');
@@ -61,9 +60,9 @@ var ElementGenerator = yeoman.generators.Base.extend({
files: function () {
var boilerplateFile = {
- 'Polymer' : 'src/_polymer.html',
- 'X-Tag' : 'src/_xtag.html',
- 'VanillaJS': 'src/_vanillajs.html'
+ 'Polymer' : '_element-polymer.html',
+ 'X-Tag' : '_element-xtag.html',
+ 'VanillaJS': '_element-vanillajs.html'
};
this.copy(boilerplateFile[this.boilerplate], this.elementName + '.html');
diff --git a/package.json b/package.json
index f4acf33..3833ba2 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "generator-element",
- "version": "1.0.0",
+ "version": "1.1.0",
"description": "Yeoman generator to create Custom Elements using Polymer, X-Tag or VanillaJS",
"author": {
"name": "WebComponents.org",
diff --git a/repo/index.js b/repo/index.js
index 9d8c2c7..b025777 100644
--- a/repo/index.js
+++ b/repo/index.js
@@ -3,7 +3,6 @@
var banner = require('../banner');
var path = require('path');
var pkgNameValidator = require('pkg-name');
-var util = require('util');
var yeoman = require('yeoman-generator');
var elementNameValidator = require('validate-element-name');
@@ -19,17 +18,12 @@ var RepoGenerator = yeoman.generators.Base.extend({
this.on('end', function () {
if (!this.options['skip-install']) {
this.bowerInstall();
-
- if (this.grunt) {
- this.npmInstall();
- }
}
});
},
askForBoilerplate: function () {
var done = this.async();
- var log = this.log;
var prompts = [{
type: 'list',
@@ -62,7 +56,7 @@ var RepoGenerator = yeoman.generators.Base.extend({
var done = this.async();
pkgNameValidator(answers.githubRepo, function (err, available) {
- if (!available.bower) {
+ if (!available || !available.bower) {
done(true);
}
@@ -99,11 +93,6 @@ var RepoGenerator = yeoman.generators.Base.extend({
name: 'lifecycle',
message: 'Do you want to include lifecycle callbacks?',
default: true
- }, {
- type: 'confirm',
- name: 'grunt',
- message: 'Do you want to include some useful Grunt tasks?',
- default: true
}];
this.prompt(prompts, function (props) {
@@ -125,23 +114,16 @@ var RepoGenerator = yeoman.generators.Base.extend({
this.copy('_index.html', 'index.html');
this.copy('_README.md', 'README.md');
- if (this.grunt) {
- this.copy('_package.json', 'package.json');
- this.copy('_Gruntfile.js', 'Gruntfile.js');
- }
-
this.copy('editorconfig', '.editorconfig');
this.copy('gitignore', '.gitignore');
- this.mkdir('src');
-
var boilerplateFile = {
- 'Polymer' : 'src/_polymer.html',
- 'X-Tag' : 'src/_xtag.html',
- 'VanillaJS': 'src/_vanillajs.html'
+ 'Polymer' : '_element-polymer.html',
+ 'X-Tag' : '_element-xtag.html',
+ 'VanillaJS': '_element-vanillajs.html'
};
- this.copy(boilerplateFile[this.boilerplate], 'src/' + this.elementName + '.html');
+ this.copy(boilerplateFile[this.boilerplate], this.elementName + '.html');
}
});
diff --git a/templates/_Gruntfile.js b/templates/_Gruntfile.js
deleted file mode 100644
index be88def..0000000
--- a/templates/_Gruntfile.js
+++ /dev/null
@@ -1,42 +0,0 @@
-module.exports = function(grunt) {
-
- grunt.initConfig({
- 'connect': {
- demo: {
- options: {
- open: true,
- keepalive: true
- }
- }
- },
- 'gh-pages': {
- options: {
- clone: 'bower_components/<%= githubRepo %>'
- },
- src: [
- 'bower_components/**/*',
- '!bower_components/<%= githubRepo %>/**/*',
- 'demo/*', 'src/*', 'index.html'
- ]
- }<% if (boilerplate != 'VanillaJS') { %>,
- 'replace': {
- example: {
- src: ['src/*'],
- dest: 'dist/',
- replacements: [{
- from: 'bower_components',
- to: '..'
- }]
- }
- }<% } %>
- });
-
- grunt.loadNpmTasks('grunt-contrib-connect');
- grunt.loadNpmTasks('grunt-gh-pages');<% if (boilerplate != 'VanillaJS') { %>
- grunt.loadNpmTasks('grunt-text-replace');<% } %>
-<% if (boilerplate != 'VanillaJS') { %>
- grunt.registerTask('build', ['replace']);<% } %>
- grunt.registerTask('deploy', ['gh-pages']);
- grunt.registerTask('server', ['connect']);
-
-};
diff --git a/templates/_README.md b/templates/_README.md
index 2231242..6eb2ec0 100644
--- a/templates/_README.md
+++ b/templates/_README.md
@@ -18,17 +18,16 @@ Or [download as ZIP](https://github.com/<%= githubUser %>/<%= githubRepo %>/arch
## Usage
-1. Import Web Components' polyfill:
+1. Import polyfill:
```html
-
+
```
-2. Import Custom Element:
+2. Import custom element:
- ```html<% if (boilerplate == 'VanillaJS') { %>
- <% } else { %>
- <% } %>
+ ```html
+
```
3. Start using it!
@@ -55,62 +54,28 @@ Event | Description
--- | ---
`onsomething` | Triggers when something happens.
-## Development<% if (grunt) { %>
+## Development
In order to run it locally you'll need to fetch some dependencies and a basic server setup.
-* Install [Bower](http://bower.io/) & [Grunt](http://gruntjs.com/):
+1. Install [bower](http://bower.io/) & [polyserve](https://npmjs.com/polyserve):
```sh
- $ [sudo] npm install -g bower grunt-cli
+ $ npm install -g bower polyserve
```
-* Install local dependencies:
+2. Install local dependencies:
```sh
- $ bower install && npm install
+ $ bower install
```
-* To test your project, start the development server and open `http://localhost:8000`.
-
- ```sh
- $ grunt server
- ```<% if (boilerplate != 'VanillaJS') { %>
-
-* To build the distribution files before releasing a new version.
-
- ```sh
- $ grunt build
- ```<% } %>
-
-* To provide a live demo, send everything to `gh-pages` branch.
-
- ```sh
- $ grunt deploy
- ```<% } else { %>
-
-In order to run it locally you'll need to fetch some dependencies.
-
-* Install [Bower](http://bower.io/):
+3. Start development server and open `http://localhost:8080/components/my-repo/`.
```sh
- $ [sudo] npm install -g bower
+ $ polyserve
```
-* Install local dependencies:
-
- ```sh
- $ bower install
- ```<% } %>
-
-## Contributing
-
-1. Fork it!
-2. Create your feature branch: `git checkout -b my-new-feature`
-3. Commit your changes: `git commit -m 'Add some feature'`
-4. Push to the branch: `git push origin my-new-feature`
-5. Submit a pull request :D
-
## History
For detailed changelog, check [Releases](https://github.com/<%= githubUser %>/<%= githubRepo %>/releases).
diff --git a/templates/_bower.json b/templates/_bower.json
index d9b0108..18c852b 100644
--- a/templates/_bower.json
+++ b/templates/_bower.json
@@ -2,9 +2,8 @@
"name": "<%= githubRepo %>",
"version": "0.0.0",
"description": "<%= elementDescription %>",
- "license": "MIT",<% if (boilerplate == 'VanillaJS') { %>
- "main": "src/<%= elementName %>.html",<% } else { %>
- "main": "dist/<%= elementName %>.html",<% } %>
+ "license": "MIT",
+ "main": "<%= elementName %>.html",
"keywords": [<% if (boilerplate == 'Polymer') { %>
"polymer",<% } %><% if (boilerplate == 'X-Tag') { %>
"x-tag",<% } %>
@@ -12,13 +11,11 @@
],
"ignore": [
"**/.*",
- "node_modules",
"bower_components"
],
- "dependencies": {<% if (boilerplate == 'Polymer') { %>
- "polymer": "Polymer/polymer#^0.5.1"<% } %><% if (boilerplate == 'X-Tag') { %>
- "x-tag-core": "^1.0.0",
- "webcomponentsjs": "^0.5.1"<% } %><% if (boilerplate == 'VanillaJS') { %>
- "webcomponentsjs": "^0.5.1"<% } %>
+ "dependencies": {<% if (boilerplate == 'VanillaJS') { %>
+ "webcomponentsjs": "^0.7.2"<% } %><% if (boilerplate == 'Polymer') { %>
+ "polymer": "Polymer/polymer#^1.0.0"<% } %><% if (boilerplate == 'X-Tag') { %>
+ "x-tag-core": "^1.1.6"<% } %>
}
}
diff --git a/templates/_element-polymer.html b/templates/_element-polymer.html
new file mode 100644
index 0000000..fb238d9
--- /dev/null
+++ b/templates/_element-polymer.html
@@ -0,0 +1,29 @@
+
+
+
+
+