v0.23.0
yarnpkg/yarnv0.23.0Apr 6, 2017by arcanis
AI Summary
Introduces configuration file parsing, lifecycle hooks, and significant changes to integrity checking and offline mirror behavior.
Key Highlights
- [breaking?] `--check-files` for install/add/upgrade/check commands
- Ability to pass command CLI arguments via configuration in `.yarnrc`
- Adds `prepare` & `prepublishOnly` lifecycle hooks
- Lockfile resolution online ⇄ offline (offline mirror no longer changes yarn.lock)
Breaking Changes
- `--check-files` for install/add/upgrade/check commands
- When using offline mirror yarn.lock does not change anymore
New Features
- Configuration file parsing
- Lifecycle hooks
- Silent flag
- Offline mirror pruning
- SCP vs SSH URL heuristic
- Add option to disable the self-update check
Full Release Notes
* __[feature] Ability to pass command CLI arguments via configuration in .yarnrc (#3033)__
[Maël Nison](mailto:nison.mael@gmail.com) - Thu, 6 Apr 2017 13:50:52 +0100
This PR opens the way to share configuration between multiple projects via the use of the .yarnrc files. The current design it pretty simple: it simply adds the supported options from the yarnrc file at the beginning of the command line.
Some notes:
- The yarnrc is currently parsed synchronously. I believe this is not an issue, since it's quite literally the very first thing we need to do when booting the application (even before the command line can be parsed), so there's really nothing we could run concurrently anyway.
- The yarnrc is read in another file (https://github.com/yarnpkg/yarn/blob/master/src/registries/yarn-registry.js). I haven't changed how it works there, since I wanted my first draft to have as few changes as possible, but it's something that should probably be fixed so that the code only use one path to manage the yarnrc files.
* __Update to flow 0.43.0 (#3046)__
[Andres Suarez](mailto:zertosh@gmail.com) - Thu, 6 Apr 2017 11:38:47 +0100
* __Add silent flag to allow raw output (#2420)__
[Rafael Rinaldi](mailto:rafaelrinaldi@users.noreply.github.com) - Wed, 5 Apr 2017 18:05:07 +0100
* Add silent flag to disable console logs
* __Use TCP timeout when downloading packages (#2950)__
[Kir Shatrov](mailto:kirs@users.noreply.github.com) - Wed, 5 Apr 2017 17:44:46 +0100
* __Optimized check --integrity and added tests (#3039)__
[Konstantin Raev](mailto:bestander@gmail.com) - Wed, 5 Apr 2017 13:54:35 +0100
This change reduces execution time of check --integrity from 2 seconds to 0.2 seconds.
* __[breaking?] `--check-files` for install/add/upgrade/check commands that verifies node_modules consistency (#3025)__
[Konstantin Raev](mailto:bestander@gmail.com) - Tue, 4 Apr 2017 16:40:07 +0100
This PR expands internal implementation of integrity check functionality. The yarn-integrity file now contains all the properties as exploded JSON instead of sha-1 hashed. This makes it easier to debug issues with integrity checks and installations.
* __Add option to disable the self-update check (#3035)__
[Dan Harper](mailto:intouch@danharper.me) - Mon, 3 Apr 2017 22:54:25 +0100
* __Special parsing for git's not-really-urls containing scp host specifiers (#2990)__
[Kornel](mailto:kornel@geekhood.net) - Mon, 3 Apr 2017 16:46:56 +0100
* __Avoid node issue with utimes on Windows__
[Julien Roncaglia](mailto:julien@roncaglia.fr) - Sun, 2 Apr 2017 18:53:51 -0700
* __Bump request-capture-har to 1.2.2 (#2999)__
[Paul Irish](mailto:paul.irish@gmail.com) - Tue, 28 Mar 2017 14:55:08 +0100
* __Lockfile resolution online ⇄ offline (#2970)__
[Maël Nison](mailto:nison.mael@gmail.com) - Tue, 28 Mar 2017 14:25:46 +0100
[breaking?] - When using offline mirror yarn.lock does not change anymore
* __Adds prepare & prepublishOnly lifecycle hooks (#3004)__
[Maël Nison](mailto:nison.mael@gmail.com) - Tue, 28 Mar 2017 14:19:23 +0100
* __Update to v8-compile-cache@^1.1.0 (#3001)__
[Andres Suarez](mailto:zertosh@gmail.com) - Tue, 28 Mar 2017 13:19:10 +0300
This version fixes a cache permissions issue.
* __Fix undefined error when package has no binaries (#2969)__
[Tim van der Lippe](mailto:TimvdLippe@users.noreply.github.com) - Mon, 27 Mar 2017 14:05:23 +0100
* __Fix indentation in `yarn list` tree output (#2961)__
[Ram Kandasamy](mailto:ram@code.org) - Mon, 27 Mar 2017 14:03:46 +0100
* __Add verbose build log (#2994)__
[Greg Thornton](mailto:xdissent@me.com) - Mon, 27 Mar 2017 13:56:59 +0100
* __Resolves issues with git+ssh when ssh daemon has banner set. (#2905)__
[Bryan Pfremmer](mailto:bryanpfremmer@northwesternmutual.com) - Thu, 23 Mar 2017 00:23:03 +0000
If your ssh daemon has a banner set this currently causes yarn add to fail because it’s expecting to get an array of git shas instead of the banner. This uses the quiet option of ssh to exclude the banners for git+ssh.
* __ignore devDependencies on licenses command if is enable to --prod option (#2941)__
[joe-re](mailto:joe.tialtngo@gmail.com) - Thu, 23 Mar 2017 00:19:30 +0000
* __Make registry env variables case agnostic (#1273)__
[Adam Edgett](mailto:AEdgett77@gmail.com) - Thu, 23 Mar 2017 00:08:26 +0000
* __Warn users when install yarn globally with yarn (#2926)__
[Sam Clift](mailto:samjacobclift@gmail.com) - Mon, 20 Mar 2017 11:24:25 +0000
* __Fix User Namespace issues with untaring (#2898)__
[Yong Wen Chua](mailto:lawliet89@users.noreply.github.com) - Mon, 13 Mar 2017 11:03:36 +0000
* __Add optional offline mirror pruning (#2836)__
[Danny Guo](mailto:dguo@users.noreply.github.com) - Wed, 8 Mar 2017 12:38:58 +0000
* __switched to tar-fs from node-tar to unpack tars (#2826)__
[Konstantin Raev](mailto:bestander@gmail.com) - Tue, 7 Mar 2017 15:16:21 +0000
* __Refactored integrity generation and check (#2818)__
[Konstantin Raev](mailto:bestander@gmail.com) - Tue, 7 Mar 2017 15:13:02 +0000
* __Fix #1435 (failing dependencies of optional dependencies) (#2811)__
[Ben Demboski](mailto:ben@turbopatent.us) - Mon, 6 Mar 2017 19:48:17 +0000
Mark all dependencies of optional dependencies as themselves optional, so that if they fail, the whole install process doesn't fail.