UNPKG

24.8 kBMarkdownView Raw
1# Changelog
2
3<!-- ## Unreleased -->
4<!-- Add new, unreleased items here. -->
5
6## v1.7.7 [06-28-2018]
7* Update dependencies.
8
9## v1.7.6 [06-25-2018]
10* Node 10.5+ now supported!
11* Breaks Node 6; using Node's built-in promisify, which is not available in
12 versions of Node prior to 8.
13
14## v1.7.4 [06-19-2018]
15* Regenerate shrinkwrap to pick up latest dependencies.
16* Fix issue caused by previous update where `polymer test -s` flag could not
17 be used multiple times.
18* Fix incorrect relative paths to the component directory in push manifests.
19* Fix push manifest generation crash with ES module projects.
20
21## v1.7.3 [06-11-2018]
22* Regenerate shrinkwrap to pick up latest dependencies.
23
24## v1.7.2 [05-11-2018]
25* Fix bug in `polymer-3-element` init template where `polymer/dom-module.js`
26 could be loaded twice when serving from the polyserve `/components/`
27 directory.
28* Fix names of `uncompiled-bundled` and `uncompiled-unbundled` build presets.
29
30## v1.7.1 [05-09-2018]
31* Workaround an NPM shrinkwrap bug which was causing users to install the CLI's
32 250MB of devDependencies unnecessarily.
33* Fixed polymer 3.x application and element templates to use the `html` tagged
34 template literal function.
35
36## v1.7.0 [05-08-2018]
37* Fix bug with `init` templates and missing `.gitignore` files due to npm
38 renaming them to `.npmignore` on install of cli.
39* Fix `test` bug which broke Windows support relating to path delimeters.
40* Change the default value of --module-resolution to "node".
41* Polymer `lint` and `analyze`, when run without files, will look for sources
42 from your `polymer.json` file. If none are given, it will scan all matching
43 files as before.
44 - Specifically it considers any files listed in `sources`, `fragments`,
45 `shell`, and `entrypoint` as the source files for your project, and will
46 ignore all others.
47* Updated dependencies.
48
49## v1.7.0-pre.17 [05-03-2018]
50* The transform for `import.meta` now uses the special `"meta"` dependency
51 provided by
52 [@polymer/esm-amd-loader](https://github.com/Polymer/tools/tree/master/packages/esm-amd-loader),
53 instead of injecting a static path. As a result, it is now always coupled with
54 the AMD transform, and cannot be enabled independently.
55* The [regenerator runtime](https://github.com/facebook/regenerator) is now
56 injected into projects that are compiling to ES5. This is needed to support
57 async/await and generators. `serve` will include the runtime in each script
58 where it is used while `build` will include it once, inline, in the entrypoint
59 HTML file.
60* Added es5, es2015, es2016, es2017, and es2018 compile targets to the
61 `js.compile` option of `polymer.json`, to allow fine grained control over
62 which JavaScript features to compile during `build`.
63
64## v1.7.0-pre.16 [05-01-2018]
65* Dropped support for node v6. This is a soft break, as we aren't
66 making any changes that are known to break node v6, but we're no longer testing against it. See our [node version support policy](https://www.polymer-project.org/2.0/docs/tools/node-support)
67 for details.
68* `build`:
69 * Disable the `simplify` babel plugin when minifying javascript. See
70 https://github.com/babel/minify/issues/824
71 * Disable the `mangle` babel plugin as well. See
72 https://github.com/Polymer/tools/issues/261
73* `serve`:
74 * Fixed issue where resources would be cached after restarting with
75 different compilation/transformation options. We've turned off most
76 browser-side caching. As a reminder: do not use `polymser serve` as a
77 production webserver, it is designed for development.
78* `serve`, `build`:
79 * Replaced RequireJS AMD loader with
80 [@polymer/esm-amd-loader](https://github.com/Polymer/tools/tree/master/packages/esm-amd-loader),
81 which is smaller and better emulates the behavior of ES modules.
82 * Add "webcomponents-bundle.js" to the heuristic used to determine when to
83 inject the Custom Elements ES5 Adapter.
84
85## v1.7.0-pre.15 [04-25-2018]
86* `@babel/preset-es2015` has been replaced with a manually-created version so that `@babel/plugin-transform-classes` can be pinned to v7.0.0-beta.35 to avoid a bug where the polyfilled HTMLElement constructor is not called. (https://github.com/babel/babel/issues/7506)
87* Rewritten dynamic `import()` calls now test if a bundle has exports before attempting to destructure bundle.
88
89## v1.7.0-pre.14 [04-23-2018]
90* `init`:
91 * Fixed a bug which caused `.gitignore` to be excluded from published templates.
92* `build`:
93 * Disable Babel `minify-constant-folding` plugin when minifying. This plugin has a bug that breaks when a constant is exported from a module (https://github.com/babel/minify/issues/820).
94 * Added `--auto-base-path` flag. Sets the entrypoint `<base>` tag for all builds to match the name of that build. Unlike other flags, does not necessarily trigger a single one-off build.
95* `serve`, `test`:
96 * Stricter requirements for determining when a browser supports modules, and
97 hence when to automatically transform modules to AMD. We now require support
98 for dynamic import and import.meta.
99
100<!-- Add new, unreleased items here. -->
101
102## v1.7.0-pre.13 [04-19-2018]
103* `init`
104 * Added the `polymer-3-starter-kit` template; a (prerelease) version of
105 Polymer Starter Kit, ported to Polymer 3.
106
107## v1.7.0-pre.12 [04-18-2018]
108* `serve`
109 * Fix node module resolution for the case where the root package is served
110 from the components/ directory and imports a module from its own package
111 using a path.
112
113## v1.7.0-pre.11 [04-17-2018]
114* `build`
115 * The Babel helpers script now includes all Babel helpers that could be used by the ES5 compilation and AMD transforms.
116 * Inline JavaScript will now only be transformed to AMD modules if they have type=module.
117 * External JavaScript files will now only be transformed to AMD modules if they contain module import/export syntax.
118
119## v1.7.0-pre.10 [04-12-2018]
120* Pick up latest fixes to web-component-tester.
121
122## v1.7.0-pre.9 [04-11-2018]
123* Fix AMD transform bug where if an HTML document had multiple type=module scripts, and any of them (apart from the first) had any kind of import, then that import was not accessible (because it was mapped to the wrong module callback function argument).
124* Update to latest web-component-tester.
125
126## v1.7.0-pre.8 [04-11-2018]
127* Fix broken release.
128
129## v1.7.0-pre.7 [04-10-2018]
130* Update polyserve for latest changes.
131
132## v1.7.0-pre.6 [04-09-2018]
133* Bring in latest polymer-analyzer and polymer-build fixes to node resolution
134 and babel helpers.
135
136## v1.7.0-pre.4 [04-05-2018]
137- `build`
138 - ES modules are now be bundled.
139 - ES modules can now be transformed to AMD modules.
140 - Minification and other transforms now happen after bundling instead of before.
141
142## v1.7.0-pre.3 [03-22-2018]
143- Fix -—module-resolution default from polyserve overriding polymer.json
144
145## v1.7.0-pre.2 [03-22-2018]
146- Fixed issue where the `--module-resolution` wasn't being handled for the `serve` command.
147
148## v1.7.0-pre.1 [03-21-2018]
149- Added `--npm` and `--component-dir` global flags, which are passed to the `build`, `lint`, `test`, and `serve` commands.
150- All dash-case command line arguments are now converted to camelCase before overwriting options from polymer.json.
151- Compile/minify steps can now parse object-rest-spread and dynamic-import.
152- Fixed [issue #950](https://github.com/Polymer/polymer-cli/issues/950) where tagged template literals (such as `Polymer.html`) were incorrectly transpiled
153- Automatically generate a `.gitignore` file when execute init command and select `element` or `application`.
154- Added ability to use globs on `analyze` and `lint` commands
155- JS compile build transformer will now rewrite bare module specifiers to paths.
156- Add `--module-resolution` flag which can be `none` (the default) or `node`.
157- Update dependencies.
158
159## v1.6.0 [02-02-2018]
160- Added support for `exclude` option in `polymer.json` for the build command's `minify` and `compile` options for `css`, `js` and `html` files.
161- Added `--fix` option to `polymer lint`. When passed, some warnings with simple mechanical solutions will be fixed.
162 - Also supports warnings which can be addressed with less-safe changes via
163 an interactive prompt and the `--edits` flag. See `polymer lint --help` for
164 more info.
165- Added `--watch` (shorthand `-w`) option to `polymer lint`. When passed, we will watch the filesystem for changes and rerun the linter immediately afterwards.
166 - Also works with `--fix` to automatically fix and report warnings as you work!
167- `build` Added a CLI argument for setting the `basePath` option: `--base-path`.
168- Derives node version check from the package.json.
169- 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.
170
171## v1.5.7 [10-11-2017]
172- Updated css-slam, bower and other dependencies.
173
174## v1.5.6 [10-02-2017]
175- Updated Polymer 2.0 element test file template to use ES6.
176- Update JS minification package babili to the new package-name babel-minify.
177- Updated to latest WCT and Polyserve versions to support npm and `<script type=module>` in on-the-fly compilation and tests.
178
179## v1.5.5 [09-21-2017]
180- Upgraded web-component-tester to v6.2.0 and polyserve 0.22.1 for better ES module support.
181
182## v1.5.4 [08-31-2017]
183- Upgraded web-component-tester to v6.1.5 to address IE11 issues.
184
185## v1.5.3 [08-31-2017]
186- Upgraded web-component-tester to v6.1.4 to address IE11 issues.
187
188## v1.5.2 [08-26-2017]
189- Upgraded web-component-tester to v6.1.3 to address yarn installation issues.
190
191## v1.5.1 [08-22-2017]
192- Upgraded web-component-tester to v6.1.2.
193
194## v1.5.0 [08-22-2017]
195- Fix issue where the `--fragment` flag was being ignored.
196- Added support for `polymer test --npm` option.
197
198## v1.4.1 [08-10-2017]
199- Fixed the `polymer serve --npm` option.
200
201## v1.4.0 [08-08-2017]
202- Upgraded to Polymer Build ^2.0.0 which uses Polymer Bundler ^3.0.0.
203- When no specific option is set for Bundler's `rewriteUrlsInTemplates` the CLI attempts to get the version of Polymer for the project using `bower`. When Polymer 2.x is discovered, `rewriteUrlsInTemplates` is defaulted to `false`. In case of Polymer 1.x or where version can not be identified, it defaults to `true`. Any user settings override these defaults.
204- Fix issue where negative `extraDependencies` globs were not working.
205- test: Add support for WCT `config-file` option.
206
207## v1.3.1 [07-06-2017]
208- Fixed [issue #710](https://github.com/Polymer/polymer-cli/issues/710) where the es5 custom elements adapter would not be added when bundling.
209- Fixed [issue #767](https://github.com/Polymer/polymer-cli/issues/767) where hyphenated option names for `build` command were effectively ignored.
210
211## v1.3.0 [06-30-2017]
212- 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](https://github.com/Polymer/polymer-project-config/pull/37) for details on new options available in polymer.json.
213- Includes Polymer Build fixes to push-manifest generation and others. See [Polymer Build 1.6.0 release notes](https://github.com/Polymer/polymer-build/pull/249).
214- Includes Polymer Bundler fixes to shell strategy and others. See [Polymer Bundler 2.2.0 release notes](https://github.com/Polymer/polymer-bundler/pull/573).
215
216## v1.2.0 [06-12-2017]
217- Updated lint rule to `polymer-2` in the `polymer-2-element` template.
218- Drop 1.x init templates. Bump `shop` init template to latest version.
219
220## v1.1.0 [05-23-2017]
221- Updated dependency on latest polymer-project-config so that bundled presets include prefetch link generation.
222- `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.
223- `build` The `basePath` option no longer adds a prefix to service workers or push manifests. Relative URLs are used instead.
224
225## v1.0.2 [05-19-2017]
226- Updates dependencies on latest polymer-build and polymer-bundler to reduce extraneous html tag output when bundling and generating prefetch links.
227
228## v1.0.1 [05-18-2017]
229- Update element and application templates to latest stable versions
230- Prefetch links are now compatible with bundler and differential serving w/ base tag hrefs in entrypoint documents.
231
232## v1.0.0 [05-16-2017]
233- Official 1.0.0 release of the Polymer CLI! 🎉
234- `build` Support for new `basePath` 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.
235- `build` Building your project will now write a copy of your `polymer.json` to the build directory. This provides a log of the build options used at the time, including expansion of presets.
236
237## v0.18.4 [05-15-2017]
238- Updated dependencies to support official `polymer-analyzer` 2.0.0 and `web-components-tester` 6.0.0 releases.
239
240## v0.18.3 [05-12-2017]
241- Fix the CLI preset flag.
242- Fix an issue where compiling JS would crash in versions of node with native async iterators.
243- `bundle` no longer emits any JS or CSS files which have been inlined into bundles.
244
245## v0.18.2 [05-10-2017]
246
247- `build` Support build configuration "presets".
248- `build` Performance improvements, including reduction of extraneous insertions of html, head and body tags.
249- `bundle` has many bug fixes and support for lazy imports.
250- Update polyserve to 0.19.0 which adds HTTP compression and JS compilation for Mobile Safari and Vivaldi browsers.
251- Produce much smaller output when compiling many JS files to ES5 by inserting babel helpers only once, at the toplevel entrypoint.
252
253- `init`: Propagate `description` from `init` to application templates in `index.html` meta tag.
254
255- **New Command Aliases**: Commands now support aliases. `polymer install` has been aliased under `polymer i`.
256
257## v0.18.1 [04-25-2017]
258
259- `init` small template fixes.
260- `serve` now respects the `entrypoint` configured in `polymer.json`.
261- 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.
262- Update Node.js version pre-run check to match latest supported versions.
263
264## v0.18.0 [04-13-2017]
265
266v0.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:
267
268- **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. Run `polymer init` to see the whole list.
269- **Updated `lint` Command**: `polymer lint` is now powered by our newest version of [polymer-linter](https://github.com/Polymer/polymer-linter). The new linter can show you the exact location of any problems in your code, and is much more configurable. Run `polymer help lint` for more information.
270- **Updated `build` Command**: `polymer build` is now powered by our newest version of [polymer-build](https://github.com/Polymer/polymer-linter), which provides even more optimizations and features for customizing your build. Run `polymer help build` for more information.
271- **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"](https://www.polymer-project.org/2.0/docs/tools/polymer-json#builds) specification for more information.
272- **New `analyze` Command:** Generates a JSON blob of metadata about your element(s). This can be useful to have for tooling and analysis.
273- **New `install` Command:** Like `bower install`, but with support for installing "variants" as defined in your `bower.json`. See [the glossary](https://www.polymer-project.org/2.0/docs/glossary#dependency-variants) for more information.
274- Remove Node v4 support: Node v4 is no longer in Active LTS, so as per the [Polymer Tools Node.js Support Policy](https://www.polymer-project.org/2.0/docs/tools/node-support) 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.
275
276<details>
277 <summary><strong>See the Full v0.18.0 Pre-Release Changelog</strong></summary><p>
278
279#### v0.18.0 [04-13-2017]
280
281- `build`: Add `--add-push-manifest`/`addPushManifest` option for generating a [`push-manifest.json`](https://github.com/GoogleChrome/http2-push-manifest) file for your project.
282- `build`: Fix a bug where `--insert-prefetch-links` would generate 404ing imports.
283- `build`: Update automatic `webcomponentsjs` polyfilling to move it and all affected elements following it into the body so that the `custom-elements-es5-adapter.js` can work properly in IE11. (See [#627](https://github.com/Polymer/polymer-cli/issues/627))
284- `init`: Init template elements now properly inherit from the given element/app name.
285- `init`: Fix `polymer-2-element` template serving by removing iron-component-page until it can support Polymer 2.0 class-based elements.
286- `init`: Update polymer 2.0 application & element tests to improve and fix broken tests.
287- `init`: Update polymer 1.x application & element template WCT dependency to `^6.0.0-prerelease.5`.
288- `init`: Update polymer application & element READMEs.
289- `serve`: Update to polyserve@v0.17.0 to support autocompilation when serving to Chromium, Edge browsers.
290- [Breaking] Remove Node v4 support: Node v4 is no longer in Active LTS, so as per the [Polymer Tools Node.js Support Policy](https://www.polymer-project.org/2.0/docs/tools/node-support) the Polymer CLI will not support Node v4. Please update to Node v6 or later to continue using the latest verisons of Polymer tooling.
291
292#### v0.18.0-pre.15 [03-22-2017]
293
294- `build`: Update automatic `webcomponentsjs` polyfilling to use `custom-elements-es5-adapter.js` instead of broken `webcomponents-es5-loader.js`. Fixes compiled, bundled builds in Chrome. (See [#605](https://github.com/Polymer/polymer-cli/issues/605))
295
296#### v0.18.0-pre.14 [03-20-2017]
297
298- The experimental linter has graduated to be the new default. Removed `polymer experimental-lint` command. `polymer lint` now runs [polymer-linter](https://github.com/Polymer/polymer-linter). See the README and `polymer lint --help` for more info.
299
300#### v0.18.0-pre.13 [03-08-2017]
301
302- When running `polymer build` and compiling JS to ES5, we will also rewrite script includes of `webcomponents-loader.js` to `webcomponents-es5-loader.js`.
303
304#### v0.18.0-pre.12 [03-07-2017]
305
306- Add PSK 3.0 (Polymer 2.0 Polymer Starter Kit) template to the init command.
307- Automatically include un-optimized `webcomponentsjs` polyfills in builds.
308- Update Polymer Analyzer, Polymer Bundler and Polymer Linter dependencies
309 - Bundles now include optimizations specified in builds.
310 - Much more detailed output of `analyze` command.
311
312#### v0.18.0-pre.10 [02-21-2017]
313
314- **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's `polymer.json`, or via CLI flags. Run `polymer build --help` to see a list of new supported CLI flags.
315 - **Previously default behaviors (minifying JavaScript, generating service workers, etc) are now turned off by default.**
316 - Multiple builds can now be defined in your project's `polymer.json`. See [the latest documentation](https://github.com/Polymer/docs/blob/ff74953fa93ad41d659a6f5a14c5f7072368edbd/app/2.0/docs/tools/polymer-json.md#builds) for information on configuring your project build(s).
317- `init`: Add new 2.0 polymer element & application templates.
318- Update dependencies.
319- **New `experimental-lint` command**: configurable with per-project rulesets, either with cli args or in your polymer.json. Will soon replace the `lint` command, for now run it as `polymer experimental-lint`. Specify "polymer-2", "polymer-2-hybrid", or "polymer-1" to customize the lint warnings that you receive. Run `polymer help experimental-lint` for more detail.
320
321#### v0.18.0-alpha.9
322
323- Fixed a bug where `polymer init` would crash if run from a folder with a
324 package.json that's missing a name property. https://github.com/Polymer/polymer-cli/issues/186
325- Fixed a bug where `polymer build` wouldn't analyze behaviors correctly.
326- Fixed a bug where `polymer test` would complain about the version of wct it was bundled with.
327- Updated dependencies.
328
329#### v0.18.0-alpha.8
330
331- Updated dependencies.
332
333#### v0.18.0-alpha.7
334
335- **Added `analyze` command:** Generates a JSON blob of metadata about your element(s). Useful for tooling and analysis.
336- **Added `install` command:** Installs "variants" defined in your `bower.json`.
337- Upgrade `polyserve` to `v0.6.0-prerelease.6` to handle serving variants
338- Upgrade `web-component-tester` to `6.0.0-prerelease.1` to handle testing variants
339- Upgrade `polymer-build` to `v0.6.0-alpha.1`, which includes an upgrade to the new [`polymer-analyzer`](https://github.com/Polymer/polymer-analyzer).
340- `build`: Rename the `--include-dependencies` flag to `--extra-dependencies`
341- `build`: css is now minified
342- `build`: Lots of bug fixes due to the new polymer-build library and analyzer.
343- `polymer.json`: Rename the `includeDependencies` & `sourceGlobs` fields to `extraDependencies` & `sources`, respectively
344- Added support for v7.x of Node.js, dropped support for v5.x. Please move to an [actively maintained version of Node.js](https://github.com/nodejs/LTS) for the best experience.
345- Upgrade [web-component-tester 6.0](https://github.com/Polymer/web-component-tester/blob/master/CHANGELOG.md) which brings a number of breaking changes to the `test` command.
346- `init`: Fix duplicate names for sub-generators in a directory
347
348</p></details>
349
350## v0.17.0
351
352- Upgrade `web-component-tester` to `v5.0.0`, which includes a new major version of mocha. See [the wct changelog](https://github.com/Polymer/web-component-tester/blob/v5.0.0/CHANGELOG.md#500) for more details.
353- Upgrade `polyserve` to `v0.13.0`. See [the polyserve changelog](https://github.com/PolymerLabs/polyserve/blob/master/CHANGELOG.md) for more details.
354- `build`: Add support for relative root path in polymer.json
355- `build`: clear the build directory before building (#332)
356- `init`: Fix issue where the application element name always used the current working directory name by default
357- `init`: Fix undefined template description
358- Fix issue with command failures exiting as successes (#418)
359
360## v0.16.0
361
362- build: fail immediately if polymer.json is invalid
363- build: Add missing support for `sourceGlobs` & `includeDependencies` in polymer.json
364- polymer-build@v0.4.1 (fixes ignored `staticFileGlobs` bug)
365
366
367## v0.15.0
368
369- replace app-drawer-template with starter-kit
370
371
372## v0.14.0
373
374- replace unneccesary gulp dependency with vinyl-fs
375- polymer-build@v0.4.0 fixes build path issues
376- but wait... THERE'S MORE! polymer-build@v0.4.0 also handles external resources properly now
377- fix bug where `--version` flag threw an exception
378
379
380## v0.13.0
381
382- 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.
383- Refactor build file optimization streams
384- Send an error code on polymer command run error
385
386
387## v0.12.0
388
389- gulp-typings@2.0.0
390- github@1.1.0
391- Update command-line-* suite of dependency, refactor to accomodate
392- Refactor init command to be more easily testable, reduce startup times
393- Catch exception thrown by findup when finding gulpfiles
394- Add input linting argument, and fix major bug with paths
395- init: Don’t crash when a package.json is present with no name
396- Speed up start time, move last of the commands to load their dependencies at runtime
397- Add demo and description for element template (#229)
398- specify the sync interface when searching templates for package.json
399- Removes unneccesary liftoff dependency
400- Add update-notify to notify users when their cli is out of date
401- Add tests for init command