UNPKG

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