Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
WHY BREAKING CHANGES?
• @sokra
• @wSokra
• WEBPACK
• FULL-TIME CORE TEAM
• YEAH WEBPACK 5
•
•
• BREAKING CHANGES
• BREAK MY BUILD
• INVEST TIME
• WHY
• WHY LARGEST BREAKING CHANGES
• BONUS KNOW PREPARED
• BONUS BENEFITS
• DISLIKE BREAKING
CHANGES
•
• IT’S WORTH IT
• 4.0.0 4.1.0 4.2.0 4.3.0 4.4.0 4.5.0 4.6.0 4.7.0 4.8.04.9.0 4.10.0 4.11.0 4.12.0
4.13.0 4.14.0 4.15.0 4.16.0 4.17.04.18.0 4.19.0 4.20.0 4.21.0
4.22.0 4.23.0 4.24.0 4.25.0 4.26.0 4.27.0 4.28.04.29.0
4.30.0 4.31.0 4.32.0 4.33.0
• MINOR
•
• TECHNICAL DEPT
• TODOS
•
• PLAN FUTURE FEATURES
• PREPARATIONS
• NON-BREAKING WAY
• LARGE PLUGIN API SURFACE
• LONG TERM GOALS
• FEATURES
• CLEANUP WORK
• REFACTORING MODERNIZATION
webpack.js.org/vote
•
•
• BETTER PERFORMANCE
• DISK
• LONG TERM CACHING
•
• EASIER RELIABLE
•
• FRONTEND MODULES
•
• LARGE
•
•
•
•
•
•
•
• UNAWARE
• ACCIDENTALLY
• BROWSER LIMITATIONS
• NATIVE WEB
• RESERVE NAMES
•
• OUTDATED
•
• AVOID USING
• PREFER FRONTEND-COMPATIBLE MODULES
• INSTALLING MANUALLY
•
•
•
•
•
• MUCH LARGER
• TEAMS ARE LARGER
• DEPLOYED MORE OFTEN
• BUNDLE SIZE BY DEFAULT
•
INVALIDATES ALL ASSETS
•
•
• DETERMINISTIC ALGORITHMS LONG TERM VALIDITY
•
•
•
•
•
•
• LONG TERM CACHING RELEVANT
•
•
• IN-MEMORY CACHING SYSTEM
• HOW TO PERSIST
• Module
• NOT SERIALIZABLE
• SUBCLASSES
• NON-PRIMITIVE NESTED OBJECTS
•
→ SERIALIZATION SYSTEM
→ SERIALIZABLE
• MODULE GRAPH
→ SEPARATE CLASS
• SYNCHRONOUS
ASYNC
• MORE EXPENSIVE
→ IDLE
•
→ close
• MINIMUM NODE.JS
•
• Set
• Map
• PURE-JS WATCHING
• QUEUES
• PLUGINS
•
•
https://github.com/sokra/slides
• USELESS FILENAMES
• ALGORITHM
• src_lazy-loaded_js
• react_react-dom
•
• DIFFERENT FILENAMES
• NOTHING TO DO
• /* webpackChunkName: "name" */
• EXTENSIBLE BY PLUGINS
• NEW KINDS OF PLUGINS
• EXTENSIBLE BY PLUGINS
• OTHER MODULE TYPES
•
•
• import from b.x
• import as from export
• export
https://github.com/sokra/slides
• EXPERIMENTS
• RELAXED SEMVER
•
• MOVE FASTER
•
• CHANGELOGS
• MULTIPLE WORKERS
•
•
• WITHOUT TOP-LEVEL RUNTIME
• ESM
•
• CSS
• HTML
• WASM-ESM-INTEGRATION
• TOP-LEVEL-AWAIT
https://github.com/sokra/slides