-
Notifications
You must be signed in to change notification settings - Fork 27.5k
chore(*): use Yarn for dependency management #15435
Conversation
705372c
to
aef01c0
Compare
Node 6, here we come! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎉 BTW, we also need to update docs/content/misc/contribute.ngdoc
.
@@ -6,19 +6,19 @@ export BROWSER_STACK_ACCESS_KEY=`echo $BROWSER_STACK_ACCESS_KEY | rev` | |||
export SAUCE_ACCESS_KEY=`echo $SAUCE_ACCESS_KEY | rev` | |||
|
|||
if [ "$JOB" == "ci-checks" ]; then | |||
grunt ci-checks | |||
node_modules/.bin/grunt ci-checks |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bad indentation (here and below).
@@ -16,7 +16,7 @@ var util = require('util'); | |||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this file used any more (with init-repo.sh
gone)? We could as well get rid of it altogether.
@@ -22,10 +22,10 @@ var ISO_DATE_REGEXP = /^\d{4,}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+(?:[+- | |||
// 8. Query | |||
// 9. Fragment | |||
// 1111111111111111 222 333333 44444 555555555555555555555555 666 77777777 8888888 999 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: The last 5
should be a space.
# Use version of node.js found in .nvmrc | ||
nvm install | ||
|
||
npm install -g yarn |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: This file now does more than its name suggests. Maybe rename it to something like setup-node-env
?
I'll add better commit messages. I am pretty sure that yarn requires node 6+. |
@@ -322,13 +318,6 @@ module.exports = function(grunt) { | |||
} | |||
}); | |||
|
|||
// global beforeEach task | |||
if (!process.env.TRAVIS) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't we run yarn
here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK, that sounds right.
@@ -1,208 +0,0 @@ | |||
#!/usr/bin/env node | |||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this removal have anything to do with switching to Yarn? Looks like a general cleanup.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, you're right, I will move it into separate commits
@@ -10,11 +10,11 @@ | |||
* | |||
* @installation | |||
* | |||
* Currently, the **Component Router** module must be installed via `npm`, it is not yet available | |||
* Currently, the **Component Router** module must be installed via `npm`/`yarn`, it is not yet available |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unrelated, but this "yet" is a little reaching... :) I'd remove the word.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll do so in a separate commit :-)
@@ -9,8 +9,8 @@ | |||
"url": "https://github.com/angular/angular.js.git" | |||
}, | |||
"engines": { | |||
"node": "<5", | |||
"npm": "~2.5" | |||
"node": "^6.9.0", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe ^6.9.1
? 6.9.1 was released a day after 6.9.0 and contained critical fixes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added a few more nits 😃
@@ -467,13 +467,12 @@ to display list and detail views of Heroes and Crises. | |||
|
|||
## Install the libraries | |||
|
|||
It is easier to use npm to install the **Component Router** module. For this guide we will also install | |||
AngularJS itself via npm: | |||
It is easier to use [yarn](https://yarnpkg.com) to install the **Component Router** module. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Given yarn
is still new, I would mention npm
here too:
It is easier to use npm/yarn to install...
@@ -62,7 +69,7 @@ cd angular.js | |||
git remote add upstream "https://github.com/angular/angular.js.git" | |||
|
|||
# Install node.js dependencies: | |||
npm install | |||
yarn | |||
|
|||
# Install bower components: | |||
bower install |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not directly related to this PR:
This implies a global bower
installation as well. This step isn't necessary though, since grunt package
takes care of it (without requiring a global bower
installation).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
removed.
@@ -62,7 +69,7 @@ cd angular.js | |||
git remote add upstream "https://github.com/angular/angular.js.git" | |||
|
|||
# Install node.js dependencies: | |||
npm install | |||
yarn |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe yarn install
for "declarativeness".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm, the Yarn docs generally recommend just yarn
but OK.
@@ -3,14 +3,13 @@ | |||
set -e | |||
|
|||
BASE_DIR=`dirname $0` | |||
cd $BASE_DIR |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OOC, why this change?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This reminded me that scripts like this one are dangerous unless you add set -u
at the beginning. Otherwise if suddenly a variable like that gets unset and later used, you may get unexpected results.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@gkalpak the reason for the change is that yarn
currently does not support being run from a subfolder. It must be run from where the package.json
is held. See yarnpkg/yarn#2053
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@mgol - so this is the background, right? http://www.davidpashley.com/articles/writing-robust-shell-scripts/
In this case we are using the variable directly after defining it and the file is very small, so there is little chance of not being set.
Are you concerned that this variable will leak outside of the script and be relied upon elsewhere? Is that even possible without exporting the variable?
# Use version of node.js found in .nvmrc | ||
nvm install | ||
|
||
npm install -g yarn |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No comment for this little fellow? 😞
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should install a version matching what we have in package.json's engines.yarn
field.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
jq is a good tool for that. You can play with it at https://jqplay.org/
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does the engines
field actually have any effect?
I would have thought that calling yarn install
with an invalid yarn version should cause some kind of warning or error from yarn
or node
or something. Otherwise, what is the point?
Although we could use engines
to tell us what to install on jenkins, what about us humans who don't update their global yarn
installations then the engines
value changes?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some environments, like Heroku, use engines
to decide what version to use. I guess it won't happen in our situation but we should still specify the version somewhere and it doesn't hurt to do it in engines
and read from there; if someone wanted to do sth on one of these engines-reading tools, they could use these settings.
As for humans, we could always add a check for an installed version and require it to be not older than whatever's in engines.yarn
.
grunt tests:docs --browsers="$BROWSERS" --reporters=dots | ||
node_modules/.bin/grunt test:promises-aplus | ||
node_modules/.bin/grunt test:unit --browsers="$BROWSERS" --reporters=dots | ||
node_modules/.bin/grunt tests:docs --browsers="$BROWSERS" --reporters=dots |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bad indentation (here and below) 😟
@@ -21,11 +21,11 @@ var ISO_DATE_REGEXP = /^\d{4,}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+(?:[+- | |||
// 7. Path | |||
// 8. Query | |||
// 9. Fragment | |||
// 1111111111111111 222 333333 44444 555555555555555555555555 666 77777777 8888888 999 | |||
var URL_REGEXP = /^[a-z][a-z\d.+-]*:\/*(?:[^:@]+(?::[^@]+)?@)?(?:[^\s:/?#]+|\[[a-f\d:]+\])(?::\d+)?(?:\/[^?#]*)?(?:\?[^#]*)?(?:#.*)?$/i; | |||
// 1111111111111111 222 333333 44444 55555555555555555555555 666 77777777 8888888 999 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
❤️
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The lack of named capture groups in JavaScript regular expressions is really annoying :P
@@ -322,13 +318,6 @@ module.exports = function(grunt) { | |||
} | |||
}); | |||
|
|||
// global beforeEach task | |||
if (!process.env.TRAVIS) { | |||
grunt.task.run('shell:npm-install'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FWIW, I think this was kind of useful...
(I can leave without it though.)
@@ -38,8 +38,7 @@ function build { | |||
source ./init-node.sh | |||
cd ../.. | |||
|
|||
yarn | |||
node_modules/.bin/grunt ci-checks package --no-color | |||
grunt ci-checks package --no-color |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Two spaces between 'grunt' and 'ci' 😱
@@ -21,22 +21,21 @@ rm -f angular.js.size | |||
|
|||
|
|||
# BUILD # | |||
yarn | |||
node_modules/.bin/grunt ci-checks package --no-color | |||
grunt ci-checks package --no-color |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is grunt available globally?
'npm-install': { | ||
command: 'node scripts/npm/check-node-modules.js' | ||
'install-node-dependencies': { | ||
command: 'yarn' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Won't this take more time that simply comparing two files (s was happening before). I am not very keen on sacrificing speed for every task for this 😕
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It shouldn't be a problem. The following was run on the angular.js repo with npm & yarn caches cleared:
$ time yarn --ignore-scripts
yarn --ignore-scripts 28.22s user 21.07s system 125% cpu 39.178 total
$ time yarn --ignore-scripts
yarn --ignore-scripts 6.49s user 2.68s system 120% cpu 7.583 total
$ time yarn --ignore-scripts
yarn --ignore-scripts 0.87s user 0.07s system 70% cpu 1.321 total
$ time yarn --ignore-scripts
yarn --ignore-scripts 0.86s user 0.07s system 70% cpu 1.313 total
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Right 👍
When trying this myself, I stopped after the 2nd time 😃
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you try? It'd be good to make sure it's that quick not only on *NIX-es.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I did try of course. I didn't take your word for it 😛
It "stabilizes" at 2secs on my machine, which is OK (for me at least).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wonder why it's not that fast on the second try, though. I'd expect it to behave identically in all situations where cache is populated and dependencies are correct so something looks wrong here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's see: yarnpkg/yarn#2054
node_modules/.bin/grunt tests:docs --browsers="$BROWSERS" --reporters=dots | ||
grunt test:promises-aplus | ||
grunt test:unit --browsers="$BROWSERS" --reporters=dots | ||
grunt tests:docs --browsers="$BROWSERS" --reporters=dots |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bad indentation 😛
# Use version of node.js found in .nvmrc | ||
nvm install | ||
|
||
npm install -g yarn |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should install a version matching what we have in package.json's engines.yarn
field.
37e79f6
to
69904ed
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A couple of minor comments/questions.
LGTM
@@ -1,2 +1 @@ | |||
4 | |||
|
|||
6.9.1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Isn't that too restrictive?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
6.9 is the LTS version of node. There are actually only two versions node of 6.9: 6.9.0 and 6.9.1 The former has issues that need to be fixed in 6.9.1. I don't see any reason why we should let people use versions below 6.9.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Moreover nvm
is not capable of parsing ^6.9.1
so we would be stuck with 6.9
or worse 6
, which could allow versions that we don't want such as 6.8.x and 6.9.0.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But it means that we always need to have (and switch to) 6.9.1 locally, even when 6.9.2+ comes out 😞
@@ -322,13 +333,10 @@ module.exports = function(grunt) { | |||
} | |||
}); | |||
|
|||
// global beforeEach task |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You could leave this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK, although I found it slightly confusing due to its similarity to testing terminology - like it was something special. How about I modify it to something more humane?
development web server, run tests, and generate distributable files. Depending on your system, | ||
you can install Node either from source or as a pre-packaged bundle. | ||
|
||
We recommend using [nvm](https://github.com/creationix/nvm) to manage and install Node.js, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've been using https://github.com/coreybutler/nvm-windows for some time now and it works fine. I think it is worth mentioning it too.
We recommend using [nvm](https://github.com/creationix/nvm) to manage and install Node.js, | ||
which makes it easy to change the version of Node.js per project. | ||
|
||
* [Yarn](https://yarnpkg.com): We use Yarn to install our Node.js module dependencies (rather than using npm). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It might be worth mentioning the installation command (npm install -g yarn
).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@gkalpak - It's better to link to https://yarnpkg.com/en/docs/install. Installing Yarn via npm is not the recommended installation method and should only be used in cases where a proper package is not available for your environment.
@@ -9,16 +9,13 @@ | |||
"url": "https://github.com/angular/angular.js.git" | |||
}, | |||
"engines": { | |||
"node": "<5", | |||
"npm": "~2.5" | |||
"node": "6.9.1", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why restrict this to 6.9.1
?
grunt tests:docs --browsers="$BROWSERS" --reporters=dots | ||
grunt test:promises-aplus | ||
grunt test:unit --browsers="$BROWSERS" --reporters=dots | ||
grunt tests:docs --browsers="$BROWSERS" --reporters=dots |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bad indentation (this one never gets old 😛 )
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just keeping you interested :-P
BTW, I have tested this on Windows (10) and Ubuntu (16.04) with |
Please avoid installing Yarn via npm if possible. This is not recommended. It's significantly slower than all other methods of installing Yarn, and often results in weird issues around Yarn's dependencies. If running on Debian or Ubuntu, you should use Yarn's Debian repository. For Windows, use Chocolatey or the installer. Otherwise, use the installation script ( |
@Daniel15 - thanks for the feedback about installing Yarn. Do you have any input on how we could lock down the version of Yarn that we are using to install our dependencies? |
It depends on how you're installing Yarn. If you use the Debian repo, you
can pass the version number to apt-get (eg. `apt-get install
yarn=0.17.8-1`). If you use the install script, it can take a version as a
command line argument (eg. `./install.sh --version 0.17.8`).
Locking down the Yarn version used on CI servers is a good idea.
Sent from my phone.
…On Nov 28, 2016 1:10 PM, "Pete Bacon Darwin" ***@***.***> wrote:
@Daniel15 <https://github.com/Daniel15> - thanks for the feedback about
installing Yarn. Do you have any input on how we could lock down the
version of Yarn that we are using to install our dependencies?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#15435 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAFnHaJUypHpVKIYIjIGTinPlg9J47Duks5rC0NEgaJpZM4K8jcz>
.
|
@@ -2,6 +2,8 @@ | |||
|
|||
set -e | |||
|
|||
yarn global add grunt-cli |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's lock the version. ;-)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
locked!
@Daniel15 - thanks. I think we are going to go with:
which ensures that the install script is also locked to the version being installed. |
@petebacondarwin - The version of If you like, you could just have your own small script that downloads and extracts Yarn, based off the install-latest.sh script. Or, just grab https://yarnpkg.com/install.sh and check it into your repo. |
@Daniel15 Pete & me have tried using the install script but it doesn't work... I've tried downloading it & evaluating on the fly: $ curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version 0.17.9
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 94 100 94 0 0 205 0 --:--:-- --:--:-- --:--:-- 206
100 6074 100 6074 0 0 7515 0 --:--:-- --:--:-- --:--:-- 43078
Installing Yarn!
bash: line 164: yarn: command not found as well as downloading first & then using: $ curl -O -L https://yarnpkg.com/install.sh
$ chmod +x install.sh
$ ./install.sh --version 0.17.9
Installing Yarn!
./install.sh: line 164: yarn: command not found EDIT: I've tried it on ZSH which I use by default but it's the same when using Bash. This probably shouldn't matter as the script itself uses Bash. |
@mgol - Looks like there's a bug in the script when |
@@ -2,7 +2,7 @@ | |||
|
|||
set -e | |||
|
|||
yarn global add grunt-cli | |||
yarn global add grunt-cli@1.2.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
AFAICT, this will use the latest 1.x release. Is that intended or should we use the --exact
option?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is weird, npm in this case would install the provided version. Also, Yarn docs are contradicting each other in the very same page:
yarn add [email protected]
installs a specific version of a package from the registry.
vs:
For example,
yarn add [email protected]
would accept version1.9.1
, butyarn add [email protected] --exact
would only accept version1.2.3
.
@Daniel15 could you clarify which one is right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good spot!
Perhaps we should use --tilde
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, it's CLI, we should lock everything as much as possible.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Trying this locally, it seems that it will install the specific version (i.e. --exact
makes no difference).
Probably a docs issue.
grunt tests:docs --browsers="$BROWSERS" --reporters=dots | ||
grunt test:promises-aplus | ||
grunt test:unit --browsers="$BROWSERS" --reporters=dots | ||
grunt tests:docs --browsers="$BROWSERS" --reporters=dots |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good indentation! 😛
c76502f
to
38ce99e
Compare
This became reduntant as of 507ee2d
We already use `git clone ... --depth=1` for the `code.angularjs.org` repository, which speeds up the cloning of the repository.
grunt is installed globally on jenkins so we can just use it directly.
If global versions of node, yarn or grunt-cli don't match what we expect then blow up.
192d9f1
to
b77defd
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
// Node.js version checks | ||
if (!semver.satisfies(process.version, pkg.engines.node)) { | ||
reportOrFail('Invalid node version (' + process.version + '). ' + | ||
'Please use a version that satisfies ' + pkg.engines.node); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: Missing trailing period 😁
Nit: I would make the message a little "softer". For example, the build will (hopefully) work fine with v7+; calling it an "invalid version" sounds "strong".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You're too kind! If you feel strongly about it I will let you fix up the messaging in a future commit.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Along with the missing full stops
var currentYarnVersion = exec('yarn --version', {silent: true}).stdout.trim(); | ||
if (!semver.satisfies(currentYarnVersion, expectedYarnVersion)) { | ||
reportOrFail('Invalid yarn version (' + currentYarnVersion + '). ' + | ||
'Please use a version that satisfies ' + expectedYarnVersion); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: Missing trailing period.
} else { | ||
if (!semver.satisfies(match[1], expectedGruntVersion)) { | ||
reportOrFail('Invalid grunt-cli version (' + match[1] + '). ' + | ||
'Please use a version that satisfies ' + expectedGruntVersion); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: Missing trailing period.
What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
What is the current behavior? (You can also link to an open issue here)
What is the new behavior (if this is a feature change)?
Does this PR introduce a breaking change?
Please check if the PR fulfills these requirements
Other information: