🌍 Front-end Web Development · subject

Front-end Web Development Build Tools Syllabus

The Build Tools syllabus for Front-end Web Development in full: 3 chapters and 6 topics, every one listed below, plus 50 Build Tools flashcards with answers.

3Chapters
6Topics
50Flashcards

Build Tools syllabus: all 3 chapters

Expand any chapter to see its topics and sub-topics.

  1. Package Managers

    2 topics
    • npm
    • yarn
  2. Module Bundlers

    2 topics
    • Webpack
    • Parcel
  3. Task Runners

    2 topics
    • Gulp
    • Grunt

Front-end Web Development Build Tools flashcards — 50 questions with answers

  1. What is npm?

    npm (Node Package Manager) is the default package manager for Node.js. It installs, manages, and shares JavaScript packages, and uses a registry plus a CLI to handle project dependencies.

  2. What file defines a project's dependencies and scripts in npm?

    package.json. It lists metadata, dependencies, devDependencies, and scripts that can be run with npm run.

  3. What is the purpose of package-lock.json?

    It locks the exact resolved version of every dependency (and sub-dependency), ensuring deterministic, reproducible installs across machines.

  4. In npm, what is the difference between dependencies and devDependencies?

    dependencies are packages needed at runtime in production; devDependencies are needed only during development/build (e.g. test runners, bundlers) and are omitted with npm install --production.

  5. What command installs all dependencies listed in package.json?

    npm install (or npm i).

  6. What does npm ci do and how does it differ from npm install?

    npm ci does a clean install strictly from package-lock.json: it deletes node_modules first, never updates the lock file, and fails if package.json and the lock file disagree. It is faster and used in CI/CD.

  7. In semantic versioning, what do the three numbers in MAJOR.MINOR.PATCH represent?

    MAJOR = breaking/incompatible changes; MINOR = new backward-compatible features; PATCH = backward-compatible bug fixes.

  8. What does the caret (^) version range mean in npm, e.g. ^1.2.3?

    It allows updates that do not change the leftmost non-zero digit — for ^1.2.3 it permits $\geq 1.2.3$ and $< 2.0.0$ (compatible minor and patch updates).

  9. What does the tilde (~) version range mean in npm, e.g. ~1.2.3?

    It allows patch-level updates only — for ~1.2.3 it permits $\geq 1.2.3$ and $< 1.3.0$.

  10. What does the --save-dev (or -D) flag do in npm install?

    It installs a package and records it under devDependencies in package.json.

  11. What does the -g (global) flag do when installing an npm package?

    It installs the package globally on the system (available as a CLI command everywhere) rather than locally in the project's node_modules.

  12. What is npx and what is it used for?

    npx is a tool bundled with npm that executes a package's binary without globally installing it — it runs the local or temporarily downloaded version of a CLI command.

  13. How do you run a script defined in package.json's scripts field?

    npm run <script-name>. The special scripts start, test, stop, and restart can be run without the run keyword (e.g. npm start).

  14. What is the node_modules folder?

    The directory where npm/yarn install all of a project's dependencies (and their transitive dependencies) locally for that project.

  15. What npm command checks for known security vulnerabilities in dependencies?

    npm audit (and npm audit fix to automatically apply compatible fixes).

  16. What is Yarn?

    Yarn is an alternative JavaScript package manager (originally by Facebook) created to address npm's early speed, determinism, and security shortcomings. It uses the same npm registry by default.

  17. What lockfile does Yarn use?

    yarn.lock, which records exact dependency versions for deterministic installs (analogous to npm's package-lock.json).

  18. What was a key original advantage of Yarn over early versions of npm?

    Parallel/concurrent installs (faster), a deterministic lockfile, offline caching, and integrity checksums for security.

  19. In Yarn, what command adds a new dependency?

    yarn add <package> (use yarn add --dev <package> for a devDependency), as opposed to npm install <package>.

  20. What is Yarn Plug'n'Play (PnP)?

    A Yarn (v2+/Berry) installation strategy that eliminates node_modules by mapping dependencies through a single lookup file, improving install speed and reliability.

Show the other 30 Build Tools flashcards
  1. What are Yarn/npm workspaces used for?

    Managing a monorepo: multiple packages within a single repository share one install, hoisting common dependencies and enabling cross-package linking.

  2. What is Webpack?

    Webpack is a static module bundler for JavaScript applications. It builds a dependency graph from entry points and bundles modules (JS, CSS, images, etc.) into optimized output files.

  3. What is the entry point in Webpack?

    The module Webpack uses to start building its internal dependency graph (default ./src/index.js); from it Webpack determines which other modules and libraries the entry depends on.

  4. What is the output configuration in Webpack?

    It tells Webpack where to emit the bundles and how to name them (default ./dist/main.js with output path ./dist).

  5. What are loaders in Webpack?

    Loaders let Webpack process and transform non-JavaScript files (e.g. transpile via babel-loader, handle CSS via css-loader) so they can be added to the dependency graph as modules.

  6. What are plugins in Webpack and how do they differ from loaders?

    Plugins perform broader build tasks across the whole bundle (e.g. asset optimization, injecting HTML, defining env variables). Loaders transform individual files; plugins act on the bundling process as a whole.

  7. What is the difference between Webpack's development and production modes?

    mode: 'development' optimizes for build speed and debugging (readable output, source maps); mode: 'production' enables optimizations like minification and tree shaking for smaller, faster bundles.

  8. What is tree shaking in Webpack?

    A dead-code elimination technique that removes unused exports from the final bundle. It relies on ES module static import/export syntax to detect what code is actually used.

  9. What is code splitting in Webpack?

    Breaking the bundle into multiple smaller chunks that can be loaded on demand (e.g. via dynamic import()), reducing initial load time.

  10. What is the default config file name for Webpack?

    webpack.config.js.

  11. What is Hot Module Replacement (HMR) in Webpack?

    A feature that swaps, adds, or removes modules in a running application without a full page reload, preserving application state during development.

  12. What are the four core concepts of Webpack configuration?

    Entry, Output, Loaders (module.rules), and Plugins. (Mode and devServer are also commonly configured.)

  13. What is webpack-dev-server?

    A development server that serves the bundle from memory, provides live reloading and HMR, and speeds up the develop-test loop.

  14. What is Parcel?

    Parcel is a zero-configuration web application bundler. It works out of the box without a config file, automatically handling assets, transforms, and dependencies.

  15. What is Parcel's main selling point compared to Webpack?

    Zero configuration — Parcel auto-detects and configures transforms, so developers can bundle apps without writing a config file, whereas Webpack typically requires explicit configuration.

  16. How does Parcel achieve fast build times?

    It uses multicore/parallel processing across CPU cores and a filesystem cache that persists between builds for fast incremental rebuilds.

  17. How do you typically start a Parcel project from an HTML entry?

    parcel index.html — Parcel treats the HTML file as the entry point, follows its asset references, and serves it with a dev server and hot reloading.

  18. What is Gulp?

    Gulp is a JavaScript task runner and build automation tool that uses code-over-configuration and Node.js streams to automate tasks like minification, compilation, and image optimization.

  19. What programming approach does Gulp use to define its build pipeline?

    Streaming, code-over-configuration: tasks are JS functions that pipe file streams through transformations using .pipe(), processing files in memory without temporary files.

  20. What is Gulp's configuration file named?

    gulpfile.js.

  21. What is the role of .pipe() in Gulp?

    It chains transformations together, passing the stream of files from one plugin to the next (e.g. gulp.src().pipe(sass()).pipe(gulp.dest())), avoiding intermediate files on disk.

  22. What do gulp.src() and gulp.dest() do?

    gulp.src() reads matching files into a stream (the source); gulp.dest() writes the processed stream to an output directory (the destination).

  23. What is Grunt?

    Grunt is a JavaScript task runner that automates repetitive build tasks using a configuration-over-code approach driven by a large plugin ecosystem.

  24. What is Grunt's configuration file named?

    Gruntfile.js (where tasks are configured via grunt.initConfig).

  25. What is the main architectural difference between Gulp and Grunt?

    Gulp uses code-over-configuration with in-memory streams (piping), while Grunt uses configuration-over-code where each plugin reads from and writes intermediate files to disk between steps.

  26. How does Gulp's file handling typically make it faster than Grunt?

    Gulp pipes files through transformations in memory (streams) without writing intermediate files to disk, whereas Grunt writes temporary files between each task, adding I/O overhead.

  27. What is the fundamental difference between a package manager and a module bundler?

    A package manager (npm, Yarn) installs and manages project dependencies; a module bundler (Webpack, Parcel) combines source modules and assets into optimized files for the browser.

  28. What is the difference between a task runner and a module bundler?

    A task runner (Gulp, Grunt) automates discrete build tasks (linting, compiling, copying) via a pipeline; a module bundler (Webpack, Parcel) specifically resolves a module dependency graph and outputs bundles.

  29. Classify these build tools by category: npm, Yarn, Webpack, Parcel, Gulp, Grunt.

    Package managers: npm, Yarn. Module bundlers: Webpack, Parcel. Task runners: Gulp, Grunt.

  30. What is minification, a common output of build tools?

    Removing unnecessary characters (whitespace, comments, shortening variable names) from code without changing functionality, to reduce file size and improve load performance.

Front-end Web Development Build Tools FAQ

What is in the Front-end Web Development Build Tools syllabus?

Front-end Web Development Build Tools is split into 3 chapters: Package Managers, Module Bundlers and Task Runners. Together they contain 6 topics.

How many chapters are in Front-end Web Development Build Tools?

3 chapters, containing 6 topics. The largest chapter is Package Managers, with 2 topics.

Are there flashcards for Front-end Web Development Build Tools?

Yes — a 50-card Build Tools deck, printed in full in the flashcards section of this page and available in the Examius app with spaced repetition. The free plan covers one exam of your choice, including its flashcards; Examius Pro, a one-time purchase, unlocks every other exam and deck.