Learn dependency tree vocabulary: direct vs. transitive dependencies, peer deps, hoisting, dependency conflicts, and deduplication.
0 / 10 completed
1 / 10
A 'transitive dependency' is:
Transitive (indirect) dependencies are pulled in by your direct dependencies. If package A requires B, and B requires C, then C is a transitive dependency of your project.
2 / 10
In npm, 'dependency hoisting' means:
Hoisting moves shared packages to the root node_modules to prevent multiple installations of the same package version, saving disk space and preventing version conflicts.
3 / 10
A 'dependency conflict' occurs when:
Dependency conflicts arise when different packages require mutually exclusive versions of a shared dependency — package managers handle this by either failing or installing multiple versions.
4 / 10
What is the purpose of a lock file (package-lock.json, yarn.lock)?
Lock files record the complete dependency tree with exact versions resolved at install time — ensuring every developer and CI environment installs identical dependencies.
5 / 10
Which command identifies security vulnerabilities in your project's dependencies?
'npm audit' checks your dependency tree against a database of known vulnerabilities (CVEs) and reports them with severity levels and remediation advice.
6 / 10
During a code review of Sarah's new feature implementation for the user authentication service, you notice she's using a very old version of the lodash library. She explains it was a quick fix to avoid a breaking change in another dependency. What does 'dependency tree' refer to in this context?
The 'dependency tree' describes the interconnectedness between software libraries. It represents how a package depends on other packages, forming a hierarchical structure. Sarah's use of an outdated lodash highlights that dependency trees are about transitive dependencies – where one change ripples through multiple layers.
7 / 10
You're in a Slack channel discussing potential improvements to the build process with Mark. He suggests using `npm prune --production` to reduce the size of your project's production bundle. What does 'dependency pruning' primarily aim to achieve?
'Dependency pruning' focuses on reducing the size of your final bundle by removing unnecessary dependencies and their transitive dependencies. This is crucial for production environments where minimizing payload size improves performance and reduces bandwidth usage – it's about streamlining the dependency tree.
8 / 10
You're writing a PR description explaining your changes to a new API endpoint. You want to clearly state how your code interacts with existing dependencies. Which of the following best describes the concept of 'reverse dependency'?
A 'reverse dependency' describes the scenario where one package relies on the *output* or interface provided by another package. It's a crucial concept for understanding how different components interact within a larger system; this contrasts with a standard dependency where Package A uses Package B to function.
9 / 10
During a standup meeting, David mentions he's using a 'dependency graph tool' to visualize the relationships between the various libraries in his project. What is the primary benefit of generating and visualizing a dependency graph?
A dependency graph visually represents the entire interconnectedness of your project's libraries. This allows developers to quickly identify potential security vulnerabilities by exposing transitive dependencies – where a vulnerability in a lower-level library can affect applications that rely on it.
10 / 10
You're reviewing the response from an API endpoint related to user profiles. The response includes several fields for user preferences. You notice some of these fields are directly tied to external libraries that handle data validation and formatting. What is the significance of this dependency in relation to your project's 'dependency tree'?
The inclusion of external libraries for data validation and formatting directly expands your project's dependency tree – demonstrating a reliance on external components. Understanding these dependencies is vital for managing updates, security vulnerabilities, and potential conflicts within the overall system.
What will I practise in "Dependency Tree 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.