Home  

Random  

Nearby  



Log in  



Settings  



Donate  



About Wikipedia  

Disclaimers  



Wikipedia





Yarn (package manager)





Article  

Talk  



Language  

Watch  

Edit  


(Redirected from Yarn (software))
 


Yarn is one of the main JavaScript package managers,[3][4] developed in 2016 by Sebastian McKenzie of Meta (formerly Facebook) for the Node.js JavaScript runtime environment. An alternative to the npm package manager, Yarn was created as a collaboration of Facebook (now Meta), Exponent (now Expo.dev), Google, and Tilde (the company behind Ember.js) to solve consistency, security, and performance problems with large codebases.[5]

Yarn
Developer(s)Various
Initial release18 June 2016; 8 years ago (2016-06-18)[1]
Stable release

4.3.1[2] Edit this on Wikidata / 21 June 2024; 31 days ago (21 June 2024)

Repository
Written inTypeScript, JavaScript
PlatformCross-platform
TypePackage manager
LicenseBSD 2-Clause License
Websiteyarnpkg.com Edit this at Wikidata

Functionality

edit

Users can write their own plugins for Yarn.

Constraints

edit

Yarn constraints allow users to enforce rules for their dependencies or manifest fields across scoped workspaces.

Offline cache

edit

Downloaded packages are cached and stored as a single file.

Plug'n'Play

edit

Plug'n'Play allows users to run Node projects without node_modules folder, defining the way or location to resolve dependencies package files with the Plug-n-Play-control file. This feature is aimed to fix an unwell structured node_modules architecture and resulting in a faster Node.js application start-up time.

Plugins

edit

Plugins can add new resolvers, fetchers, linkers, commands, and can also register to some events or be integrated with each other, most features of Yarn are implemented through plugins, including yarn add and yarn install, which are also preinstalled plugins.

Protocols

edit

Users can define which protocol will be used to resolve certain packages, for example, the git protocol is used for downloading a public package from a Git repository, and the patch protocol is used for creating a patched copy of the original package.

Release Workflow

edit

Release Workflow automatically upgrades relative packages among monorepos workspaces when root packages are upgraded.

Workspaces

edit

Workspaces allow multiple projects to work together in the same repository and automatically apply changes to other relatives when source code is modified, allowing installation of multiple packages in a single pass by running the installation command only once.

Zero-Installs

edit

Zero-Installs solve the needs of installation of packages when packages is required to install when the codes is just fresh fetched to local.

Comparison to npm

edit

Syntax

edit

To install yarn:

npm install -g yarn

To install a package with yarn:[8]

yarn add package-name

To install a package with yarn for development and testing purposes:

yarn add package-name --dev

NB: in the first versions, it was:

yarn install package-name --save-dev

See also

edit

References

edit
  1. ^ "Earliest releases of yarn". GitHub. Retrieved Jun 18, 2016.
  • ^ "Release 4.3.1". 21 June 2024. Retrieved 27 June 2024.
  • ^ "Package management basics". MDN. 2022-09-28.
  • ^ "5 best JavaScript Package Managers". Dunebook.com. 2022-02-05.
  • ^ "Yarn: A new package manager for JavaScript". Engineering at Meta. 2016-10-11. Retrieved 2021-11-22.
  • ^ "Package Manager – NPM and Yarn Explained with Examples". Sitepoint. 2021-09-21.
  • ^ "How To Install and Use the Yarn Package Manager for Node.js". DigitalOcean. 2021-08-10.
  • ^ "Yarn vs npm: Everything You Need to Know". CodeSweetly. 2023-02-04.
  • edit

    Retrieved from "https://en.wikipedia.org/w/index.php?title=Yarn_(package_manager)&oldid=1225429680"
     



    Last edited on 24 May 2024, at 11:57  





    Languages

     


    العربية
    Čeština
    Español
    Français


    Slovenčina
    Українська

     

    Wikipedia


    This page was last edited on 24 May 2024, at 11:57 (UTC).

    Content is available under CC BY-SA 4.0 unless otherwise noted.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Terms of Use

    Desktop