# Suggestion I'd like to be able to install `@types/web` and have the following happen: - Other dependencies (like from DT) using something like `/// <reference lib="dom">` _do not_ resolve to the vendored `libdom.d.ts` - The default inclusion of `dom` in a project via `lib` would automatically pick up `@types/web` (or be fully suppressed) ## 🔍 Search Terms dom types/web web lib ## ✅ Viability Checklist <!-- Suggestions that don't meet all these criteria are very, very unlikely to be accepted. We always recommend reviewing the TypeScript design goals before investing time writing a proposal for ideas outside the scope of the project. --> My suggestion meets these guidelines: * [x] This wouldn't be a breaking change in existing TypeScript/JavaScript code * [x] This wouldn't change the runtime behavior of existing JavaScript code * [x] This could be implemented without emitting different JS based on the types of the expressions * x ] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.) * [x] This feature would agree with the rest of [TypeScript's Design Goals](https://github.com/Microsoft/TypeScript/wiki/TypeScript-Design-Goals). ## ⭐ Suggestion 1. Hardcode some sort of `dom` -> `@types/web` inside the TS compiler's 2. Support some kind of pragma in `@types/web` ## 1 - Hardcoding **Pros:** `@types/web` _is_ a special case (though there could be more in the future) and this could be the smallest possible change. **Cons:** It feels a bit meh. ## 2 - Pragmas **Pros:** We have existing pragmas: `/// <reference no-default-lib="true"/>` for type of thing. This answer is totally generic and would allow others to have their own implementations of other deployed libs. **Cons:** I'd need to check, but this might mean looking for the pragmas across all @types dts files before we can reliably use the files in`lib`