Learn English vocabulary for monorepo package management: workspace protocol, local package linking, changesets, internal versioning, and pnpm/Yarn Berry workspaces.
0 / 10 completed
1 / 10
The 'workspace:' protocol in pnpm (e.g., '"my-utils": "workspace:*"') means:
workspace:* tells pnpm to use the local package from within the monorepo rather than fetching from npm. When publishing, pnpm replaces workspace: references with real version numbers. Yarn Berry uses the same protocol.
2 / 10
In a monorepo, 'changesets' (the @changesets/cli tool) are used to:
Changesets solves multi-package versioning: developers add a changeset file describing their changes, then `changeset version` bumps all affected packages (including dependents) and `changeset publish` releases them to npm.
3 / 10
pnpm's use of a 'content-addressable store' and symlinks instead of copying packages means:
pnpm's store means if 50 projects use lodash@4.17.21, there is only one copy on disk. Projects get symlinks into the store. This also prevents phantom dependencies because node_modules only contains symlinks for declared dependencies.
4 / 10
In a monorepo, 'internal package versioning' strategies differ: 'fixed/locked' versioning means:
Fixed versioning (used by Babel, Vue) keeps all monorepo packages at the same version. When any package releases, all packages get the same bump. Independent versioning (used by Jest) bumps each package separately. Both strategies have trade-offs for coordination and consumer experience.
Yarn PnP patches Node's module resolution to use a generated map instead of node_modules traversal. Installation is faster (no copying files), disk usage drops, and phantom dependencies are impossible because the map only contains declared deps.
6 / 10
Reviewer: 'I'm seeing a lot of `workspace:` references in the `package.json` files for our core utilities. Is this intentional? I'm wondering if we should be using regular npm ranges instead – it seems less explicit.' What does this reviewer likely mean when referencing "my-utils": "workspace:*"?
The workspace:* syntax in a monorepo specifies that the dependency (my-utils) is meant to be sourced from another package within the same repository. This allows for consistent versions across all projects without relying on external registries or semantic versioning constraints. The reviewer's concern about standard npm ranges highlights a potential misunderstanding of how workspace dependencies are managed.
7 / 10
Slack Message (from @johndoe): 'Just ran `pnpm change` and it automatically updated the versions in all our packages. It's amazing!'. What is pnpm change primarily used for within a monorepo context?
pnpm change is a command designed to automatically propagate version changes throughout a monorepo. It intelligently updates dependencies based on their updated versions, streamlining the process of keeping all packages consistent. This differs from deployment or documentation generation, which are separate tasks.
8 / 10
API Response (from `pnpm store`): 'GET /packages/my-utils/versions – Content-Type: application/json; Version: 1.2.3'. In the context of a monorepo using pnpm, what is the primary benefit of pnpm's 'content-addressable store'?
pnpm's content-addressable store utilizes symlinks instead of copying package files. This means that multiple versions of a package can reside on the same disk space without duplication, leading to significant storage savings and faster installation times when resolving dependencies because pnpm only needs to resolve the *reference* to the package.
9 / 10
Standup Update (from @sarah): 'We're using fixed/locked versioning for our core packages. This means we'll always use the exact same version number that was tagged in Git.' What is a key characteristic of 'fixed/locked' versioning strategies within a monorepo?
'Fixed/locked' versioning means a specific package version is permanently pinned in Git. This ensures consistent builds and avoids unexpected behavior caused by automatic or incremental updates. While flexible in some ways, it does require careful consideration of potential breaking changes; this strategy prioritizes stability over rapid iteration.
10 / 10
Code Review Comment (from @david): 'PnP is really slick! No more node_modules cluttering up our projects.' What does Yarn Berry's 'Plug'n'Play' (PnP) feature primarily achieve?
Yarn Berry's PnP feature eliminates the need for a traditional node_modules directory by pre-building dependencies into optimized packages. These packages are then linked directly into the project, resulting in faster builds and reduced disk space usage – it's an efficient replacement for the standard dependency management approach.
What will I practise in "Monorepo Package Management Vocabulary"?
This module focuses on Package Management — real workplace phrasing you'll use on the job. It contains 10 scenario-based multiple-choice questions with instant feedback.
Is this exercise free to use?
Yes. Every exercise on CoderSlingo, including this one, is free to use with no account or sign-up required.
How many questions does this exercise have?
This module includes 10 questions. Each one gives an immediate right/wrong result plus a full explanation of the correct phrasing.
What happens if I answer a question incorrectly?
You'll see the correct answer highlighted straight away, along with a plain-English explanation of why it's right and why the other options don't fit — mistakes are part of the learning here.
Can I retry the exercise if I want a better score?
Yes — use the 'Try again' button on the results screen to reset your score and go through the questions again. There's no limit on attempts.
Who is this Package Management exercise for?
It's aimed at IT professionals with working English who want to sound more natural and precise around package management — useful whether you're preparing for real conversations at work or just building confidence with the vocabulary.
Do I need an account to track my progress?
No account is needed. Your progress through the exercise is tracked locally in your browser for the current session, and you can replay the module at any time.
How is this different from reading a blog article?
This exercise is an interactive drill that tests and reinforces specific phrasing through multiple-choice questions with instant feedback, while blog articles explain concepts and vocabulary in prose. The two work well together.
Where can I find more Package Management exercises?
See the Package Management hub for more modules like this one, or browse the full Exercises page for other IT-English topics.
Can I complete this exercise on my phone?
Yes — every exercise on CoderSlingo is fully responsive and works on phones and tablets, so you can practise anywhere.