Classification of yarn yarn classification. Textile yarn. Yarn count.
Yarn package management
-
Upload
rudiyardley -
Category
Software
-
view
153 -
download
1
Transcript of Yarn package management
I A M N O T A N E X P E R T
I N Y A R N
J U S T A J A V A S C R I P T D E V E L O P E R
NPM IS AMAZING
NPM IS HUGE
RANGE SPECIFIERS
PROBLEM
^1.2.3 ~1.2.3
NOT DETERMINISTIC~node_modules
RANGE SPECIFIERS
PROBLEM
^1.2.3 ~1.2.3
NOT DETERMINISTIC~node_modules
NPM IS SLOW
PROBLEM
SEQUENTIALDOWNLOADING
OFFLINE DEVELOPMENT
PROBLEM
NPM DOESNTWORK OFFLINE
CI BUNDLING
OFFLINE
NODE_MODULESMUST MATCH
PACKAGE.JSON
PREPUBLISH?
NPWTFM?
RANGE SPECIFIERS
PROBLEM
^1.2.3 ~1.2.3
NOT DETERMINISTIC~node_modules
FIXED VERSIONS?
RANGE SPECIFIERS PROBLEM
SUB DEPENDENCIESNOT FIXED
FIXED VERSIONS?
RANGE SPECIFIERS PROBLEM
SUB DEPENDENCIESNOT FIXED
NPM SHRINKWRAP?
RANGE SPECIFIERS PROBLEM
REQUIRESEXPLICIT SYNC
COMMIT MODULES?
RANGE SPECIFIERS PROBLEM
100S OF FILES IN PRMUST DEVELOP VIRTUALIZATION
HELPS WITH DEV - PRODUCTION INTEGRITY
OFFLINE DEVELOPMENT
PROBLEM
NPM DOESNTWORK OFFLINE
NPM CACHE-MIN?
OFFLINE DEVELOPMENT PROBLEM
NPM --CACHE-MIN INFINITY INSTALL LEFT-PAD- STILL NEEDS CONNECTIVITY
- FRAGILE
LOCAL REGISTRIES?
OFFLINE DEVELOPMENT PROBLEM
- SINOPEA- LOCAL-NPM- NPM_LAZY
LOCAL REGISTRIES?
OFFLINE DEVELOPMENT PROBLEM
- SINOPEA- LOCAL-NPM- NPM_LAZY
GOOD PRACTICE IS OPTIN
PROBLEM
SHRINKWRAP SAVING TO MANIFEST
TEAM CONVENTIONS?
GOOD PRACTICES ARE OPT IN PROBLEM
HARD TO ENSURE PEOPLE FOLLOW
PRECOMMIT HOOKS?
GOOD PRACTICES ARE OPT IN PROBLEM
CAN BE DISABLED
CUSTOM SCRIPTS?
GOOD PRACTICES ARE OPT IN PROBLEM
- GO AGAINST CONVENTION- GIT WORKFLOW ISSUES
- NEW THING- DEVELOPERS RESPONSIBILITY
NPM IS STILL SLOW
HOWEVER...
BUT LOCAL REGISTRIES AS CACHES HELP
SHARING NODE_MODULES?
BUNDLING CIPROBLEM
- GLOBAL NODE_MODULES FOLDER- PACKAGE.JSON HASH
- DOCKER CONTAINER CHANGES- NON-DETERMINISM CAUSES ISSUES
PREPUBLISH
NPWTFM
- DEAL WITH IT- IN-PUBLISH
SAM BOYER
PACKAGE MANAGERFOR GOLANG
GLIDE
"SOFTWARE IS TERRIBLE"
SAM BOYER
"PEOPLE ARE TERRIBLE"
SAM BOYER
"THERE ARE TOO MANY DIFFERENTSCENARIOS"
SAM BOYER
"NOTHING WILL REALLYWORK FOR SURE"
SAM BOYER
"IT’S PROVABLE THATNOTHING WILL REALLY
WORK FOR SURE"
SAM BOYER
"OUR LIVES AREMEANINGLESS PERTURBATIONS
IN A SWIRLING VORTEXOF CHAOS AND ENTROPY"
SAM BOYER
NEW NPM CLIENT
DOUBLE THE SPEEDCompared with npm 3
OFFLINE MIRRORecho 'yarn-offline-mirror "./my-cache"' > .yarnrc
rm -rf yarn.lock && yarn
DETERMINISTICnode_modules same everytime
YARN.LOCKSimilar to npm-shrinkwrap
AUTOMATIC MANIFEST SYNC
yarn add left-padyarn add mocha --dev
PACKAGE VALIDATIONPackage integrity validated
by checksum
WORKFLOWInstall and setup a project
DEMO
SPEED DEMO
OFFLINE MIRRORInstall dependencies without
an internet connection
DEMO
RUN SCRIPTSScripts are run based on
pattern matching
DEMO
YARN IS STILL WIP
MACOS SEEMS SOLIDPOS. ISSUES w/PRIVATE MODULES IN DOCKER
STILL UNPROVEN FOR US IN CI(WERE WORKING ON IT)
HMM...
YARN HAS QUIRKS
OFFLINE CACHE .yarnrcGITHUB URLS
STILL HAS PREPUBLISH
HMM...
YARN > NPM
YARN IS LONGER TO TYPE THAN NPM
NITPICK...
HTTP://YARNPKG.COM
THANKYOU
http://yarnpkg.com/en/docshttps://yarnpkg.com/blog/2016/11/24/offline-mirrorhttps://yarnpkg.com/en/docs/migrating-from-npmhttps://www.youtube.com/watch?v=Mou6JzfZVf0http://github.com/ryardley/yarn-talk
[email protected]/ryardleytwitter.com/rudiyardley
YARN