Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Land Yarn #169

Merged
merged 1 commit into from
Feb 1, 2017
Merged

Land Yarn #169

merged 1 commit into from
Feb 1, 2017

Conversation

beheh
Copy link
Collaborator

@beheh beheh commented Oct 12, 2016

Yarn is a new package manager from Facebook and Google: https://yarnpkg.com/. It's been more reliable and much faster on my development machine, and I hope to speed up build time like this, since dependency installation is a non-trivial amount of time spent every single time.

The only caveat is that Travis currently always will run npm install when it detects a package.json and I'd like a way to disable this: travis-ci/travis-ci#6713 (I've submitted a PR). We can override this behaviour.

We'll also have to install yarn to our internal build server, but that should be pretty straight forward.

@beheh beheh force-pushed the yarn branch 2 times, most recently from d1b6db3 to 0f95a2f Compare October 12, 2016 09:43
@beheh
Copy link
Collaborator Author

beheh commented Oct 12, 2016

Also, the install script from package.json is not run, which means we don't have typings or enums. That's being tracked though: yarnpkg/yarn#721 and PR at yarnpkg/yarn#800.

yarnpkg/yarn#800 has landed, waiting for the next yarn release.

Yarn 0.16 has been released, testing build infrastructure.

@beheh beheh force-pushed the yarn branch 5 times, most recently from 585ce2e to 37d4946 Compare October 13, 2016 12:56
@beheh beheh force-pushed the yarn branch 2 times, most recently from 71c60bf to 32d8759 Compare October 22, 2016 20:25
@beheh
Copy link
Collaborator Author

beheh commented Oct 22, 2016

Urgh, and now yarn install --production is failing because of yarnpkg/yarn#761. Sad story.

More specifically typings install fails postinstall because the module wrappy does not exist. Yarn sees it as a devDependency, because jasmine#glob#inflight requires it (with Jasmine being devDependency), and therefore discards it. On the other hand it's required by gulp#orchestrator#end-of-stream#once (with gulp being normal dependency).

@beheh
Copy link
Collaborator Author

beheh commented Nov 16, 2016

This was supposedly fixed with yarnpkg/yarn#1739, but this still fails as of Yarn 0.17.0.

@beheh beheh force-pushed the master branch 2 times, most recently from be62259 to fc990ec Compare November 20, 2016 11:06
@jleclanche
Copy link
Member

@beheh where are we at on this? Is it still blocked on yarn?

@jleclanche
Copy link
Member

It looks like the --production issues have been fixed in yarn 0.18.

@beheh
Copy link
Collaborator Author

beheh commented Dec 5, 2016

Yep, looks fine. I'm personally not feeling to good right now, but I'll try and land this soon.

@beheh
Copy link
Collaborator Author

beheh commented Dec 5, 2016

--production is still broken (seriously?). Once again fs-realpath (as a dependency of glob) is excluded, even though glob is required for development (jasmine, karma) and for production (gulp-less) installs:

benedict@thundersnow ~/D/joust (yarn)> yarn install --production
yarn install v0.18.0
info No lockfile found.
[1/4] Resolving packages...
warning karma-phantomjs-launcher > phantomjs-prebuilt > request > [email protected]: use uuid module instead
warning gulp > vinyl-fs > glob-stream > [email protected]: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
warning gulp > vinyl-fs > glob-watcher > gaze > globule > [email protected]: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
warning gulp > vinyl-fs > glob-watcher > gaze > globule > glob > [email protected]: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.
[2/4] Fetching packages...
warning [email protected]: The platform "linux" is incompatible with this module.
info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Saved lockfile.
$ concurrently "typings install" "gulp enums:download"
[1] module.js:472
[1]     throw err;
[1]     ^
[1] 
[1] Error: Cannot find module 'fs.realpath'
[1]     at Function.Module._resolveFilename (module.js:470:15)
[1]     at Function.Module._load (module.js:418:25)
[1]     at Module.require (module.js:498:17)
[1]     at require (internal/module.js:20:19)
[1]     at Object.<anonymous> (/home/benedict/Dokumente/joust/node_modules/glob/glob.js:44:10)
[1]     at Module._compile (module.js:571:32)
[1]     at Object.Module._extensions..js (module.js:580:10)
[1]     at Module.load (module.js:488:32)
[1]     at tryModuleLoad (module.js:447:12)
[1]     at Function.Module._load (module.js:439:3)
[1] gulp enums:download exited with code 1
[0] typings WARN deprecated 3.12.2016: "registry:dt/react#0.14.0+20161117000655" is deprecated (updated, replaced or removed)
[0] 
[0] 
[0] ├── async (global)
[0] ├── cookiejs (global)
[0] ├── immutable (global)
[0] ├── jasmine (global)
[0] ├── lodash (global)
[0] ├── node (global)
[0] ├── react (global)
[0] ├── react-dom (global)
[0] └── sax (global)
[0] 
[0] typings install exited with code 0
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
benedict@thundersnow ~/D/joust (yarn)> yarn why glob
yarn why v0.18.0
[1/4] Why do we have the module "glob"...?
[2/4] Initialising dependency graph...
[3/4] Finding dependency...
[4/4] Calculating file sizes...
info Reasons this module exists
   - "jasmine" depends on it
   - "karma" depends on it
   - "gulp-less#accord" depends on it
info Disk size without dependencies: "68kB"
info Disk size with unique dependencies: "68kB"
info Disk size with transitive dependencies: "68kB"
info Amount of shared dependencies: 9
Done in 0.57s.

@beheh
Copy link
Collaborator Author

beheh commented Feb 1, 2017

Finally looking good with yarnpkg/yarn#2537, included in yarn 0.20.0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

2 participants