build
- ES modules are now be bundled.
- ES modules can now be transformed to AMD modules.
- Minification and other transforms now happen after bundling instead of before.
- Fix -—module-resolution default from polyserve overriding polymer.json
- Fixed issue where the
--module-resolution
wasn't being handled for theserve
command.
- Added
--npm
and--component-dir
global flags, which are passed to thebuild
,lint
,test
, andserve
commands. - All dash-case command line arguments are now converted to camelCase before overwriting options from polymer.json.
- Compile/minify steps can now parse object-rest-spread and dynamic-import.
- Fixed issue #950 where tagged template literals (such as
Polymer.html
) were incorrectly transpiled - Automatically generate a
.gitignore
file when execute init command and selectelement
orapplication
. - Added ability to use globs on
analyze
andlint
commands - JS compile build transformer will now rewrite bare module specifiers to paths.
- Add
--module-resolution
flag which can benone
(the default) ornode
. - Update dependencies.
- Added support for
exclude
option inpolymer.json
for the build command'sminify
andcompile
options forcss
,js
andhtml
files. - Added
--fix
option topolymer lint
. When passed, some warnings with simple mechanical solutions will be fixed.- Also supports warnings which can be addressed with less-safe changes via
an interactive prompt and the
--edits
flag. Seepolymer lint --help
for more info.
- Also supports warnings which can be addressed with less-safe changes via
an interactive prompt and the
- Added
--watch
(shorthand-w
) option topolymer lint
. When passed, we will watch the filesystem for changes and rerun the linter immediately afterwards.- Also works with
--fix
to automatically fix and report warnings as you work!
- Also works with
build
Added a CLI argument for setting thebasePath
option:--base-path
.- Derives node version check from the package.json.
- The polymer.json project config can now specify paths to exclude when minifying files and compiling JavaScript. See https://github.com/Polymer/polymer-project-config/issues/50 for more.
- Updated css-slam, bower and other dependencies.
- Updated Polymer 2.0 element test file template to use ES6.
- Update JS minification package babili to the new package-name babel-minify.
- Updated to latest WCT and Polyserve versions to support npm and
<script type=module>
in on-the-fly compilation and tests.
- Upgraded web-component-tester to v6.2.0 and polyserve 0.22.1 for better ES module support.
- Upgraded web-component-tester to v6.1.5 to address IE11 issues.
- Upgraded web-component-tester to v6.1.4 to address IE11 issues.
- Upgraded web-component-tester to v6.1.3 to address yarn installation issues.
- Upgraded web-component-tester to v6.1.2.
- Fix issue where the
--fragment
flag was being ignored. - Added support for
polymer test --npm
option.
- Fixed the
polymer serve --npm
option.
- Upgraded to Polymer Build ^2.0.0 which uses Polymer Bundler ^3.0.0.
- When no specific option is set for Bundler's
rewriteUrlsInTemplates
the CLI attempts to get the version of Polymer for the project usingbower
. When Polymer 2.x is discovered,rewriteUrlsInTemplates
is defaulted tofalse
. In case of Polymer 1.x or where version can not be identified, it defaults totrue
. Any user settings override these defaults. - Fix issue where negative
extraDependencies
globs were not working. - test: Add support for WCT
config-file
option.
- Fixed issue #710 where the es5 custom elements adapter would not be added when bundling.
- Fixed issue #767 where hyphenated option names for
build
command were effectively ignored.
- Added support for optional polymer-project-config provision of bundler options instead of only boolean value for the
bundle
property of build definitions. See the Polymer Project Config 3.4.0 release notes for details on new options available in polymer.json. - Includes Polymer Build fixes to push-manifest generation and others. See Polymer Build 1.6.0 release notes.
- Includes Polymer Bundler fixes to shell strategy and others. See Polymer Bundler 2.2.0 release notes.
- Updated lint rule to
polymer-2
in thepolymer-2-element
template. - Drop 1.x init templates. Bump
shop
init template to latest version.
- Updated dependency on latest polymer-project-config so that bundled presets include prefetch link generation.
build
Entrypoints will now be properly cached by generated service workers, and assets will be fetched by service workers using relative URLs to support apps mounted at non-root host paths.build
ThebasePath
option no longer adds a prefix to service workers or push manifests. Relative URLs are used instead.
- Updates dependencies on latest polymer-build and polymer-bundler to reduce extraneous html tag output when bundling and generating prefetch links.
- Update element and application templates to latest stable versions
- Prefetch links are now compatible with bundler and differential serving w/ base tag hrefs in entrypoint documents.
- Official 1.0.0 release of the Polymer CLI! 🎉
build
Support for newbasePath
build config option that remaps paths to assist in serving at non-root paths, such as when doing differential serving of multiple builds from the same host. Affects service worker generation, push manifest generation, and also updates the entrypoint's<base>
tag if found.build
Building your project will now write a copy of yourpolymer.json
to the build directory. This provides a log of the build options used at the time, including expansion of presets.
- Updated dependencies to support official
polymer-analyzer
2.0.0 andweb-components-tester
6.0.0 releases.
- Fix the CLI preset flag.
- Fix an issue where compiling JS would crash in versions of node with native async iterators.
bundle
no longer emits any JS or CSS files which have been inlined into bundles.
-
build
Support build configuration "presets". -
build
Performance improvements, including reduction of extraneous insertions of html, head and body tags. -
bundle
has many bug fixes and support for lazy imports. -
Update polyserve to 0.19.0 which adds HTTP compression and JS compilation for Mobile Safari and Vivaldi browsers.
-
Produce much smaller output when compiling many JS files to ES5 by inserting babel helpers only once, at the toplevel entrypoint.
-
init
: Propagatedescription
frominit
to application templates inindex.html
meta tag. -
New Command Aliases: Commands now support aliases.
polymer install
has been aliased underpolymer i
.
init
small template fixes.serve
now respects theentrypoint
configured inpolymer.json
.- Remove ability to run a locally installed version of the CLI if it exists in the current working directory. This unexpected behavior was never documented but some users could be running an incorrect version of the CLI as a result.
- Update Node.js version pre-run check to match latest supported versions.
v0.18.0 contains our latest work to support both Polymer 1.x & 2.0 projects. There are a bunch of big new features included in this update, as well as several breaking changes since the latest version. Here is a quick summary of the major changes for anyone who is updating from our previous latest
/v0.17.0
version:
- New Polymer 2.0 Templates:
polymer init
has added new Polymer 2.0 templates for starter elements, applications, and our latest Polymer Starter Kit & Shop applications. Runpolymer init
to see the whole list. - Updated
lint
Command:polymer lint
is now powered by our newest version of polymer-linter. The new linter can show you the exact location of any problems in your code, and is much more configurable. Runpolymer help lint
for more information. - Updated
build
Command:polymer build
is now powered by our newest version of polymer-build, which provides even more optimizations and features for customizing your build. Runpolymer help build
for more information. - New Build Output: The biggest change to
polymer build
behavior is that it no longer defaults to outputting two, optimized build targets. The new default behavior is to generate a single/build/default
directory with all configurable optimizations turned off by default. To customize your build(s) and include different optimizations, you can either include CLI flags (like--js-compile
) or custom polymer.json build configurations. See the latest polymer.json "builds" specification for more information. - New
analyze
Command: Generates a JSON blob of metadata about your element(s). This can be useful to have for tooling and analysis. - New
install
Command: Likebower install
, but with support for installing "variants" as defined in yourbower.json
. See the glossary for more information. - Remove Node v4 support: Node v4 is no longer in Active LTS, so as per the Polymer Tools Node.js Support Policy the Polymer CLI will not support Node v4 going forward. Please update to Node v6 or later to continue using the latest verisons of Polymer tooling.
See the Full v0.18.0 Pre-Release Changelog
build
: Add--add-push-manifest
/addPushManifest
option for generating apush-manifest.json
file for your project.build
: Fix a bug where--insert-prefetch-links
would generate 404ing imports.build
: Update automaticwebcomponentsjs
polyfilling to move it and all affected elements following it into the body so that thecustom-elements-es5-adapter.js
can work properly in IE11. (See #627)init
: Init template elements now properly inherit from the given element/app name.init
: Fixpolymer-2-element
template serving by removing iron-component-page until it can support Polymer 2.0 class-based elements.init
: Update polymer 2.0 application & element tests to improve and fix broken tests.init
: Update polymer 1.x application & element template WCT dependency to^6.0.0-prerelease.5
.init
: Update polymer application & element READMEs.serve
: Update to [email protected] to support autocompilation when serving to Chromium, Edge browsers.- [Breaking] Remove Node v4 support: Node v4 is no longer in Active LTS, so as per the Polymer Tools Node.js Support Policy the Polymer CLI will not support Node v4. Please update to Node v6 or later to continue using the latest verisons of Polymer tooling.
build
: Update automaticwebcomponentsjs
polyfilling to usecustom-elements-es5-adapter.js
instead of brokenwebcomponents-es5-loader.js
. Fixes compiled, bundled builds in Chrome. (See #605)
- The experimental linter has graduated to be the new default. Removed
polymer experimental-lint
command.polymer lint
now runs polymer-linter. See the README andpolymer lint --help
for more info.
- When running
polymer build
and compiling JS to ES5, we will also rewrite script includes ofwebcomponents-loader.js
towebcomponents-es5-loader.js
.
- Add PSK 3.0 (Polymer 2.0 Polymer Starter Kit) template to the init command.
- Automatically include un-optimized
webcomponentsjs
polyfills in builds. - Update Polymer Analyzer, Polymer Bundler and Polymer Linter dependencies
- Bundles now include optimizations specified in builds.
- Much more detailed output of
analyze
command.
- New
build
Behavior: New build options have been added to give you more control over the generated build. These options can be defined in your project'spolymer.json
, or via CLI flags. Runpolymer build --help
to see a list of new supported CLI flags.- Previously default behaviors (minifying JavaScript, generating service workers, etc) are now turned off by default.
- Multiple builds can now be defined in your project's
polymer.json
. See the latest documentation for information on configuring your project build(s).
init
: Add new 2.0 polymer element & application templates.- Update dependencies.
- New
experimental-lint
command: configurable with per-project rulesets, either with cli args or in your polymer.json. Will soon replace thelint
command, for now run it aspolymer experimental-lint
. Specify "polymer-2", "polymer-2-hybrid", or "polymer-1" to customize the lint warnings that you receive. Runpolymer help experimental-lint
for more detail.
- Fixed a bug where
polymer init
would crash if run from a folder with a package.json that's missing a name property. https://github.com/Polymer/polymer-cli/issues/186 - Fixed a bug where
polymer build
wouldn't analyze behaviors correctly. - Fixed a bug where
polymer test
would complain about the version of wct it was bundled with. - Updated dependencies.
- Updated dependencies.
- Added
analyze
command: Generates a JSON blob of metadata about your element(s). Useful for tooling and analysis. - Added
install
command: Installs "variants" defined in yourbower.json
. - Upgrade
polyserve
tov0.6.0-prerelease.6
to handle serving variants - Upgrade
web-component-tester
to6.0.0-prerelease.1
to handle testing variants - Upgrade
polymer-build
tov0.6.0-alpha.1
, which includes an upgrade to the newpolymer-analyzer
. build
: Rename the--include-dependencies
flag to--extra-dependencies
build
: css is now minifiedbuild
: Lots of bug fixes due to the new polymer-build library and analyzer.polymer.json
: Rename theincludeDependencies
&sourceGlobs
fields toextraDependencies
&sources
, respectively- Added support for v7.x of Node.js, dropped support for v5.x. Please move to an actively maintained version of Node.js for the best experience.
- Upgrade web-component-tester 6.0 which brings a number of breaking changes to the
test
command. init
: Fix duplicate names for sub-generators in a directory
- Upgrade
web-component-tester
tov5.0.0
, which includes a new major version of mocha. See the wct changelog for more details. - Upgrade
polyserve
tov0.13.0
. See the polyserve changelog for more details. build
: Add support for relative root path in polymer.jsonbuild
: clear the build directory before building (#332)init
: Fix issue where the application element name always used the current working directory name by defaultinit
: Fix undefined template description- Fix issue with command failures exiting as successes (#418)
- build: fail immediately if polymer.json is invalid
- build: Add missing support for
sourceGlobs
&includeDependencies
in polymer.json - [email protected] (fixes ignored
staticFileGlobs
bug)
- replace app-drawer-template with starter-kit
- replace unneccesary gulp dependency with vinyl-fs
- [email protected] fixes build path issues
- but wait... THERE'S MORE! [email protected] also handles external resources properly now
- fix bug where
--version
flag threw an exception
- Refactor build logic out into standalone library: https://github.com/Polymer/polymer-build. Build behavior should remain the same from v0.12.0, but lots of work has been done in the new library to fix bugs and reduce build time/size.
- Refactor build file optimization streams
- Send an error code on polymer command run error
- [email protected]
- [email protected]
- Update command-line-* suite of dependency, refactor to accomodate
- Refactor init command to be more easily testable, reduce startup times
- Catch exception thrown by findup when finding gulpfiles
- Add input linting argument, and fix major bug with paths
- init: Don’t crash when a package.json is present with no name
- Speed up start time, move last of the commands to load their dependencies at runtime
- Add demo and description for element template (#229)
- specify the sync interface when searching templates for package.json
- Removes unneccesary liftoff dependency
- Add update-notify to notify users when their cli is out of date
- Add tests for init command