Indirect gulpfile for Polymer applications.
If you haven't used Gulp before, be sure to check out the Getting Started guide and how to use Gulp plugins. Once you're familiar with that process, you may install this plugin with this command:
npm install polygulp --save-dev
Once the plugin has been installed, it may be enabled inside your Gulpfile with this line of JavaScript:
module.exports = function(gulp) {
// Init main modular gulpfile
var gulp = require('gulp');
require('polygulp')(gulp);
};
Runs server for development.
Runs server displaying optimized application for production.
Generates optimized application for production in dist
folder.
You can use custom configuration using command line in gulp serve
, gulp serve:dist
, gulp dist
and default tasks:
Provide environment variable by command line to use environment config.json if exits in main project.
gulp --environment=integration
Provide endpoints variables by command line to use them instead those provided in config.json.
gulp --endpoint.urlBase=https://my-url-base/{{module}}/ --endpoint.version=v1 --endpoint.domain=my:domain
Bumps bower & npm version, commits changed files and creates a new tag with the specified version.
NOTE: You must specific a branch name with --branch
task | version |
---|---|
gulp release --patch --branch branchName | v0.0.1 -> v0.0.2 |
gulp release --minor --branch branchName | v0.0.1 -> v0.1.0 |
gulp release --major --branch branchName | v0.0.1 -> v1.0.1 |
gulp release --version 1.1.1 --branch branchName | v0.0.1 -> v1.1.1 |
Task targets, files and options may be specified according to the gulp Recipes guide.
You can provide a default config file in app/resources/config/config.json
and polygulp will set an object in app.common.config namespace.
app/resources/config/config.json:
{
"debug": "true",
"appName": "my-app-name",
"version": "0.0.1",
"analyticsID": ["UA-XXXXXXXX-YY"],
"smartBanner": {
"id": "com.my.app",
"daysHidden": 15,
"daysReminder": 90
},
"backend": {
"urlBase": "https://my-url-base/{{module}}/",
"version": "v8",
"domain": "my:domain",
"endpoints": {
"login": "loginuser",
"logout": "logoutuser",
"feedback": "feedback"
}
},
"webfs": {
"name": "webfs",
"version": "v1.0",
"domain": "/books:Book/"
},
"routes": {
"home": "/route_home",
"movie": "/route_movie/:id"
}
}
Provide environment config files to extend the default config file.
app/resources/config/{{my-environment}}/config.json:
{
"analyticsID": ["UA-ZZZZZZZ-YY"],
"smartBanner": {
"id": "com.my.another.app"
},
"backend": {
"urlBase": "https://my-environment-url-base/{{module}}/",
"version": "v10",
"domain": "my:another:domain"
}
}