skip to content

Build Tools & Bundlers

The rival bundlers, transpilers and framework CLIs that turn source into shipped files, each with its own config, CLI and plugins. Interviewers ask which one fits a project and what leaving it costs.

on this pageshow

explore

→ has its own guide

questions

page 2 of 2

How do you run create-vue non-interactively from a script or CI job, and which prompts can still appear even when you pass feature flags?

level: seniorimportance: should knowfreq 15%

basics

~20 s

Pass a directory and feature flags after --, as in npm create vue@latest admin-tool -- --ts --router --pinia --vitest. Any feature flag skips the feature prompts, but a missing directory, a non-empty folder without --force or an invalid package name still prompts.

open as a page

What does the Angular CLI's `ng deploy` command actually run, and where does its behaviour come from?

level: middleimportance: nice to knowfreq 25%

basics

~20 s

ng deploy runs whatever builder the project's deploy target in angular.json names; the CLI ships none. A hosting package installed with ng add usually writes that target, and its builder builds the app and uploads the output.

open as a page

What do the Angular CLI's `ng update` flags `--create-commits` and `--allow-dirty` change, and why does a clean working tree matter?

level: middleimportance: nice to knowfreq 26%

basics

~20 s

--create-commits (-C) commits the version changes, then each migration separately with its name and description. --allow-dirty lets the update run with uncommitted changes, which it otherwise refuses, at the cost of mixing your edits into the update's diff.

open as a page

When is writing a custom Angular CLI builder justified, and how do you create one that `ng run` can execute?

level: seniorimportance: nice to knowfreq 20%

basics

~20 s

It is justified for a repeatable project task that needs angular.json options and configurations. Write a createBuilder() handler returning { success }, declare it in builders.json, point the package.json builders field at it, and run ng run project:target.

open as a page

In an Angular CLI library built with ng-packagr, how do you add a secondary entry point such as `ui-kit/testing`, and when is one worth it?

level: seniorimportance: nice to knowfreq 30%

basics

~20 s

A secondary entry point is a library subfolder with its own ng-package.json naming an entry file; the same ng build packages it as a separate import path like ui-kit/testing. Use one for optional code, heavy dependencies or test helpers.

open as a page

As an Angular library author, how do you ship a migration schematic so `ng update` rewrites consumers' code for your breaking change?

level: seniorimportance: nice to knowfreq 18%

basics

~20 s

Point ng-update.migrations in the library's package.json at a migration collection whose entries each carry a version, a factory and a description. When a consumer updates across that version, ng update runs the rule, which edits their code through the Tree.

open as a page

In a create-vue TypeScript project, why does tsconfig.json list no files but reference tsconfig.app, tsconfig.node and tsconfig.vitest, and what does npm run build run?

level: seniorimportance: nice to knowfreq 13%

basics

~20 s

The root tsconfig.json only references separate projects: app code for the browser, tool configs for Node, and tests for jsdom, each with its own globals. npm run build runs vue-tsc --build and vite build in parallel.

open as a page

showing 31–37 of 37