4.9K
3.6K
+ 1
129

What is Yarn?

Yarn caches every package it downloads so it never needs to again. It also parallelizes operations to maximize resource utilization so install times are faster than ever.
Yarn is a tool in the Front End Package Manager category of a tech stack.
Yarn is an open source tool with 38.2K GitHub stars and 2.5K GitHub forks. Here’s a link to Yarn's open source repository on GitHub

Who uses Yarn?

Companies
981 companies reportedly use Yarn in their tech stacks, including StackShare, Intuit, and Revolut.

Developers
3732 developers on StackShare have stated that they use Yarn.

Yarn Integrations

JavaScript, npm, phpMyAdmin, Dependabot, and Bit are some of the popular tools that integrate with Yarn. Here's a list of all 15 tools that integrate with Yarn.

Why developers like Yarn?

Here’s a list of reasons why companies and developers use Yarn
Private Decisions at about Yarn
Private to your company

Here are some stack decisions, common use cases and reviews by members of with Yarn in their tech stack.

Rails
Rails
Sidekiq
Sidekiq
PostgreSQL
PostgreSQL
Redis
Redis
MongoDB
MongoDB
Vue.js
Vue.js
vuex
vuex
jQuery
jQuery
React
React
Redux
Redux
Yarn
Yarn
#Bulma.io
#Font-awesome

I'm building a new process management tool. I decided to build with Rails as my backend, using Sidekiq for background jobs. I chose to work with these tools because I've worked with them before and know that they're able to get the job done. They may not be the sexiest tools, but they work and are reliable, which is what I was optimizing for. For data stores, I opted for PostgreSQL and Redis. Because I'm planning on offering dashboards, I wanted a SQL database instead of something like MongoDB that might work early on, but be difficult to use as soon as I want to facilitate aggregate queries.

On the front-end I'm using Vue.js and vuex in combination with #Turbolinks. In effect, I want to render most pages on the server side without key interactions being managed by Vue.js . This is the first project I'm working on where I've explicitly decided not to include jQuery . I have found React and Redux.js more confusing to setup. I appreciate the opinionated approach from the Vue.js community and that things just work together the way that I'd expect. To manage my javascript dependencies, I'm using Yarn .

For CSS frameworks, I'm using #Bulma.io. I really appreciate it's minimal nature and that there are no hard javascript dependencies. And to add a little spice, I'm using #font-awesome.

See more
Shuuji TAKAHASHI
Shuuji TAKAHASHI
Yarn
Yarn

I use Yarn because it outputs nice progress messages with cute emoji and installs packages quickly if the package is cached. Also, Yarn creates yarn.lock file which makes the developer use the consistent environment.

See more
Firebase
Firebase
Cloud Firestore
Cloud Firestore
Cloud Functions for Firebase
Cloud Functions for Firebase
Google App Engine
Google App Engine
React
React
React Native
React Native
React Native Firebase
React Native Firebase
NativeBase
NativeBase
Twilio
Twilio
Dwolla.js
Dwolla.js
Yarn
Yarn
fastlane
fastlane
Bitbucket
Bitbucket
Slack
Slack
LastPass
LastPass

Firebase Cloud Firestore Cloud Functions for Firebase Google App Engine React React Native React Native Firebase NativeBase Twilio Dwolla.js Yarn fastlane Bitbucket Slack LastPass

See more
Obsaa Abdalhalim
Obsaa Abdalhalim
CEO, Founder at Kafali PAY inc. · | 1 upvotes · 56.2K views
React Native
React Native
NativeBase
NativeBase
redux-saga
redux-saga
Apollo
Apollo
GraphQL
GraphQL
Node.js
Node.js
PostGraphile
PostGraphile
PostgreSQL
PostgreSQL
PubNub
PubNub
Dwolla.js
Dwolla.js
Zube
Zube
GitHub
GitHub
Yarn
Yarn
npm
npm
AWS Elastic Beanstalk
AWS Elastic Beanstalk

React Native NativeBase redux-saga Apollo GraphQL Node.js PostGraphile PostgreSQL PubNub . @PLAID Dwolla.js . Zube GitHub Yarn npm AWS Elastic Beanstalk

See more
 Elemental UI
Elemental UI
Vue.js
Vue.js
vuex
vuex
Node.js
Node.js
ES6
ES6
ESLint
ESLint
Lodash
Lodash
Webpack
Webpack
Yarn
Yarn
Git
Git

Elemental UI Vue.js vuex Node.js ES6 ESLint lodash Webpack Yarn Git

See more
npm
npm
Yarn
Yarn
#PackageManagers

#PackageManagers After a long time where npm failed to install packages and lot's of googling on answers, we switched to Yarn and alomost all those problems where solved. Today i mostly use "yarn add" instead of "npm install --save".

See more
Public Decisions about Yarn

Here are some stack decisions, common use cases and reviews by companies and developers who chose Yarn in their tech stack.

Nick Parsons
Nick Parsons
Director of Developer Marketing at Stream · | 34 upvotes · 663.1K views
atStreamStream
Stream
Stream
Go
Go
JavaScript
JavaScript
ES6
ES6
Node.js
Node.js
Babel
Babel
Yarn
Yarn
Python
Python
#FrameworksFullStack
#Languages

Winds 2.0 is an open source Podcast/RSS reader developed by Stream with a core goal to enable a wide range of developers to contribute.

We chose JavaScript because nearly every developer knows or can, at the very least, read JavaScript. With ES6 and Node.js v10.x.x, it’s become a very capable language. Async/Await is powerful and easy to use (Async/Await vs Promises). Babel allows us to experiment with next-generation JavaScript (features that are not in the official JavaScript spec yet). Yarn allows us to consistently install packages quickly (and is filled with tons of new tricks)

We’re using JavaScript for everything – both front and backend. Most of our team is experienced with Go and Python, so Node was not an obvious choice for this app.

Sure... there will be haters who refuse to acknowledge that there is anything remotely positive about JavaScript (there are even rants on Hacker News about Node.js); however, without writing completely in JavaScript, we would not have seen the results we did.

#FrameworksFullStack #Languages

See more
Johnny Bell
Johnny Bell
Senior Software Engineer at StackShare · | 17 upvotes · 619.4K views
Webpack
Webpack
Node.js
Node.js
Yarn
Yarn
npm
npm
Babel
Babel
Prettier
Prettier
ESLint
ESLint
#ES6
#ES5

So when starting a new project you generally have your go to tools to get your site up and running locally, and some scripts to build out a production version of your site. Create React App is great for that, however for my projects I feel as though there is to much bloat in Create React App and if I use it, then I'm tied to React, which I love but if I want to switch it up to Vue or something I want that flexibility.

So to start everything up and running I clone my personal Webpack boilerplate - This is still in Webpack 3, and does need some updating but gets the job done for now. So given the name of the repo you may have guessed that yes I am using Webpack as my bundler I use Webpack because it is so powerful, and even though it has a steep learning curve once you get it, its amazing.

The next thing I do is make sure my machine has Node.js configured and the right version installed then run Yarn. I decided to use Yarn because when I was building out this project npm had some shortcomings such as no .lock file. I could probably move from Yarn to npm but I don't really see any point really.

I use Babel to transpile all of my #ES6 to #ES5 so the browser can read it, I love Babel and to be honest haven't looked up any other transpilers because Babel is amazing.

Finally when developing I have Prettier setup to make sure all my code is clean and uniform across all my JS files, and ESLint to make sure I catch any errors or code that could be optimized.

I'm really happy with this stack for my local env setup, and I'll probably stick with it for a while.

See more
npm
npm
Yarn
Yarn
#PackageManagers

#PackageManagers After a long time where npm failed to install packages and lot's of googling on answers, we switched to Yarn and alomost all those problems where solved. Today i mostly use "yarn add" instead of "npm install --save".

See more
Rails
Rails
Sidekiq
Sidekiq
PostgreSQL
PostgreSQL
Redis
Redis
MongoDB
MongoDB
Vue.js
Vue.js
vuex
vuex
jQuery
jQuery
React
React
Redux
Redux
Yarn
Yarn
#Bulma.io
#Font-awesome

I'm building a new process management tool. I decided to build with Rails as my backend, using Sidekiq for background jobs. I chose to work with these tools because I've worked with them before and know that they're able to get the job done. They may not be the sexiest tools, but they work and are reliable, which is what I was optimizing for. For data stores, I opted for PostgreSQL and Redis. Because I'm planning on offering dashboards, I wanted a SQL database instead of something like MongoDB that might work early on, but be difficult to use as soon as I want to facilitate aggregate queries.

On the front-end I'm using Vue.js and vuex in combination with #Turbolinks. In effect, I want to render most pages on the server side without key interactions being managed by Vue.js . This is the first project I'm working on where I've explicitly decided not to include jQuery . I have found React and Redux.js more confusing to setup. I appreciate the opinionated approach from the Vue.js community and that things just work together the way that I'd expect. To manage my javascript dependencies, I'm using Yarn .

For CSS frameworks, I'm using #Bulma.io. I really appreciate it's minimal nature and that there are no hard javascript dependencies. And to add a little spice, I'm using #font-awesome.

See more
Julian Sanchez
Julian Sanchez
Lead Developer at Chore Champion · | 7 upvotes · 7.2K views
atChore ChampionChore Champion
Yarn
Yarn

We use Yarn because it allows us to more simply manage our node_modules. It also simplifies commands and increases speed when installing modules. Our teams module download time was cut in half after switching from NPM to Yarn. We now require all employees to use Yarn (to prevent errors with package-lock.json and yarn.lock).

See more
Tim Abbott
Tim Abbott
Founder at Zulip · | 5 upvotes · 18.8K views
atZulipZulip
Yarn
Yarn
npm
npm
Node.js
Node.js

I have mixed feelings on the Yarn/npm/Node.js ecosystem. We use it for Zulip, because you basically have to in order to have a modern JavaScript toolchain. And I like that Yarn lets us pin dependency versions out of the box for predictability in our production releases; we have to do significant work for the Python version of this feature.

But one also deals with broken third-party dependencies uploaded to npm way too often (even ignoring the malicious packages issues that have gotten a lot of press of late). And one mostly has to use nvm in order to pin a specific version of node itself in a maintainable way, and nvm is a mess.

See more

Yarn Alternatives & Comparisons

What are some alternatives to Yarn?
npm
npm is the command-line interface to the npm ecosystem. It is battle-tested, surprisingly flexible, and used by hundreds of thousands of JavaScript developers every day.
Apache Mesos
Apache Mesos is a cluster manager that simplifies the complexity of running applications on a shared pool of servers.
Bower
Bower is a package manager for the web. It offers a generic, unopinionated solution to the problem of front-end package management, while exposing the package dependency model via an API that can be consumed by a more opinionated build stack. There are no system wide dependencies, no dependencies are shared between different apps, and the dependency tree is flat.
Webpack
A bundler for javascript and friends. Packs many modules into a few bundled assets. Code Splitting allows to load parts for the application on demand. Through "loaders" modules can be CommonJs, AMD, ES6 modules, CSS, Images, JSON, Coffeescript, LESS, ... and your custom stuff.
Zookeeper
A centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. All of these kinds of services are used in some form or another by distributed applications.
See all alternatives

Yarn's Followers
3622 developers follow Yarn to keep up with related blogs and decisions.
Nuno Morais
thepratt
bharath kumar
JuanFKurucz
daniyal moeen
apple apple
Jiří Kaipr
innomerphey
Carlos Martinez
mendi-git