Quiz · A TypeScript project · lesson 8 of 10Quiz — @types packagesWhere do the @types/* packages come from, and how does TypeScript find them?[A]tsc generates the @types/* packages itself on install: it reads the JavaScript in node_modules, works out the types and saves them under @types. That is why they must be generated again by hand after every single update of the library.[B]@types/* packages hold JavaScript that checks a library's types while the program runs. That is why they go into the dependencies the program needs at run time, right next to the library whose calls they check.[C]@types/* packages work only when the code imports them by name, as in from "@types/lodash" instead of from "lodash". tsc never looks into node_modules/@types on its own, so without that import line the library is left with no types at all, whatever is installed.[D]When a JavaScript package ships no types, the community publishes them as a separate @types/<name> package from DefinitelyTyped. When the code imports the library, tsc finds it in node_modules/@types itself. A package with its own .d.ts needs no @types.← Back.d.ts files and @typesNext →An order model: putting it together