• This repository has been archived on 26/Mar/2018
  • Stars
    star
    929
  • Rank 47,163 (Top 1.0 %)
  • Language
    JavaScript
  • Created almost 11 years ago
  • Updated about 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Scaffold out a Polymer project

npm version npm downloads Build Status Dependency Status

Deprecation warning

We encourage you to take a look at Polymer CLI which contains many of the same features as this generator and has a larger team supporting it. We plan to deprecate and eventually remove this project from GitHub and direct all future support toward Polymer CLI. The good news is it uses Yeoman under the hood so I'll see you there!

Yeoman generator for Polymer projects

Introduction

Polymer is a library of polyfills and sugar which enable the use of Web Components in modern browsers. The project allows developers to build apps using the platform of tomorrow and inform the W3C of places where in-flight specifications can be further improved.

generator-polymer provides Polymer scaffolding using Yeoman (a scaffolding tool for the web), letting you easily create and customize Polymer (custom) elements via the command-line and import them using HTML Imports. This saves you time writing boilerplate code so you can start writing up the logic to your components straight away.

Features

Issues

This generator clones Polymer Starter Kit and seed-element. If you're having issues with the template files generated for those projects, please raise them on those repos as they are the canonical source.

Installation

Install the generator npm install -g generator-polymer

Make a new directory and cd into it mkdir -p my-project && cd $_

Scaffold a new Polymer project: yo polymer

Generators

Available generators:

Note: Generators are to be run from the root of your app

App

Sets up a new Polymer app, generating all the boilerplate you need to get started.

Example:

yo polymer

Element (alias: El)

Generates a polymer element in app/elements and optionally appends an import to app/elements/elements.html.

Example:

yo polymer:element my-element

# or use the alias

yo polymer:el my-element

Note: You must pass in an element name, and the name must contain a dash "-"

One can also include element dependencies to be imported. For instance, if you're creating a fancy-menu element which needs to import paper-button and paper-checkbox as dependencies, you can generate the file like so:

yo polymer:el fancy-menu paper-button paper-checkbox

Options

--docs, include iron-component-page docs with your element and demo.html
--path, override default directory structure, ex: --path foo/bar will put your element in app/elements/foo/bar

Seed

Generates a reusable polymer element based on the seed-element workflow. This should only be used if you're creating a standalone element repo that you intend to share with others via bower. If you're just building a Polymer app, stick to the Element generator.

To preview your new element you'll want to use the polyserve tool.

Example:

mkdir -p my-foo && cd $_
yo polymer:seed my-foo
polyserve

Gh

Generates a Github pages branch for your seed-element.

This requires that you have SSH keys setup on GitHub.

Windows users will need to have Git Bash installed

If your documentation or demo pages have dependencies declared as devDependencies in bower.json, they will be included in your GitHub pages branch.

Example:

cd my-foo
yo polymer:gh

If, for some reason, you don't want the devDependencies, use the --nodevdeps option.

Github Enterprise

Github Enterprise instances require a custom hostname to be defined. Use the --hostname option.

Example:

cd my-foo
yo polymer:gh --hostname custom.host.com

Testing

The project generated by yo polymer contains support for web-component-tester. The following commands are included:

Run local tests (in terminal):

gulp test:local

Run remote tests with SauceLabs:

gulp test:remote

See the web-component-tester readme for configuration options.

Gotchas

The elements.html file

The app generator will produce an elements.html file where you can place your imports. This file will be vulcanized when you run the default gulp task. You'll want to make sure that elements.html is the only import in your index.html file, otherwise there's a good chance you'll accidentally load Polymer twice and break the app.

Contribute

See the contributing docs

When submitting an issue, please follow the guidelines. Especially important is to make sure Yeoman is up-to-date, and providing the command or commands that cause the issue.

License

BSD license

More Repositories

1

yeoman

Yeoman - a set of tools for automating development workflow
10,050
star
2

generator-angular

Yeoman generator for AngularJS
JavaScript
5,741
star
3

yo

CLI tool for running Yeoman generators
JavaScript
3,787
star
4

generator-webapp

A gulp.js generator for modern webapps
JavaScript
3,775
star
5

generator-chrome-extension

Scaffold out a Chrome extension
JavaScript
2,598
star
6

update-notifier

Update notifications for your CLI app
JavaScript
1,748
star
7

grunt-usemin

[UNMAINTAINED] Replaces references to non-optimized scripts or stylesheets into a set of HTML files (or any templates/views)
JavaScript
1,221
star
8

generator-generator

Generate a Yeoman generator
JavaScript
1,216
star
9

generator

Rails-inspired generator system that provides scaffolding for your apps
TypeScript
1,179
star
10

yeoman-app

A desktop app that scaffolds projects using Yeoman
JavaScript
989
star
11

generator-webapp_DEPRECATED

Yeoman generator that scaffolds out a front-end web app
JavaScript
978
star
12

generator-mobile

Scaffold out a mobile project based on Web Starter Kit
JavaScript
919
star
13

configstore

Easily load and persist config without having to think about where and how
JavaScript
860
star
14

yeoman.io

Yeoman website
CSS
791
star
15

generator-backbone

Scaffold out a Backbone.js project
JavaScript
638
star
16

generator-node

Create a Node.js module
JavaScript
578
star
17

insight

Node.js module to help you understand how your tool is being used by anonymously reporting usage metrics to Google Analytics
JavaScript
554
star
18

bower-requirejs

[DEPRECATED] Automagically wire-up installed Bower components into your RequireJS config
JavaScript
376
star
19

generator-chromeapp

Scaffold out a Chrome app
JavaScript
310
star
20

stringify-object

Stringify an object/array like JSON.stringify just without all the double-quotes
JavaScript
305
star
21

grunt-filerev

[DEPRECATED] File revving
JavaScript
260
star
22

yosay

Tell Yeoman what to say
JavaScript
207
star
23

grunt-bower-requirejs

[DEPRECATED] Grunt task - Automagically wire-up installed Bower components into your RequireJS config
JavaScript
199
star
24

generator-bootstrap

Yeoman generator for Bootstrap
JavaScript
187
star
25

generator-karma

Yeoman generator for Karma
JavaScript
173
star
26

environment

Yeoman runtime environment
JavaScript
125
star
27

generator-jquery

Generate a jQuery plugin
JavaScript
85
star
28

generator-gruntfile

Create a basic Gruntfile with yo.
JavaScript
74
star
29

doctor

Detect potential issues with users system that could prevent Yeoman from working correctly
JavaScript
62
star
30

yeoman-assert

Assert utility from yeoman
JavaScript
53
star
31

yeoman-generator-list

JavaScript
52
star
32

yeoman-test

Test utilities for Yeoman generators
TypeScript
43
star
33

generator-mocha

Yeoman generator for Mocha
JavaScript
42
star
34

generator-gruntplugin

Create a gruntplugin module with yo, including Nodeunit unit tests.
JavaScript
35
star
35

generator-jasmine

Yeoman generator for Jasmine
JavaScript
34
star
36

yeoman-character

The Yeoman character in your CLI. Like wat.
JavaScript
21
star
37

yeoman-welcome

Yeoman welcome message used in generators
JavaScript
19
star
38

media

Yeoman logo and artwork
16
star
39

generator-commonjs

Generate a CommonJS module
JavaScript
16
star
40

insight-dashboard

[DEPRECATED] Insight into Yeoman
CSS
11
star
41

Hackathons

Running a Yeoman hackathon? Start here for ideas, tips, and goals
10
star
42

html-wiring

[DEPRECATED] Set of utilities to update HTML files
JavaScript
10
star
43

cli-list

Parse comma-separated argument lists.
JavaScript
9
star
44

yeoman-remote

Fetch packages and archives from remote resources with cache support
JavaScript
8
star
45

generator-dummytest

JavaScript
3
star
46

generator-dummy

Dummy generator used for unit testing purpose
JavaScript
2
star
47

yeoman-api

TypeScript
1
star