Build webpack from scratch
-
Add a
--minifyflag that runs a minifier liketerseron each individual file in the bundle. -
Add a
--Gzipflag that send response of compressed resources or usebrotli, learn aboutContent-Encoding -
Add a
--treeShakingflag that tree shakes the code -
Add a
--codeSplittingflag that makes lazy load the code -
Add a cache that will store transformed files and only re-compile files that have changed.
-
Medium: Learn about source maps and generate the corresponding
.mapfile for your bundle. -
Medium: Add a
--devoption that starts a HTTP server that serves the bundled code through an HTTP endpoint. -
Medium: After implementing the HTTP server, make use of
jest-haste-map’swatchfunction to listen for changes and re-bundle automatically. -
Advanced: Learn about Import Maps and change the bundler from being
requirebased to work with native ESM! -
Advanced: Hot reloading: Adjust the runtime so it can update modules by first de-registering and then re-running the module and all of its dependencies.
-
Advanced: Rewrite the above bundler in another programming language like Rust.

