This plugin automatically adds @types/
packages into your dependencies when you add a package that's covered by one.
Note that for performance reasons the plugin doesn't try to check whether the added package contains its own types - so you might end up with extraneous type packages in some cases.
Note: This plugin (as all other Yarn plugins) is only compatible with Yarn 2. Yarn 2 is still in a "developer preview" state, meaning that you're welcome to use it and give us your feedback but you might have to get your hands a little dirty to dive into the mechanic.
-
Install the
@yarnpkg/plugin-typescript
plugin:$ yarn plugin import @yarnpkg/plugin-typescript
β― yarn/packages/plugin-typescript β― yarn add lodash
β€ BR0000: β Resolution step
β€ BR0002: β babel-preset-jest@npm:24.1.0 doesn't provide @babel/core@^7.0.0-0 requested by @babel/plugin-syntax-object-rest-spread@npm:7.2.0
β€ BR0000: β Completed in 0.24s
β€ BR0000: β Fetch step
β€ BR0013: β @types/lodash@npm:4.14.121 can't be found in the cache and will be fetched from the remote registry
β€ BR0000: β Completed in 3.63s
β€ BR0000: β Link step
β€ BR0005: β webpack-cli@npm:3.2.1 lists build scripts, but its build has been explicitly disabled through configuration.
β€ BR0005: β fsevents@npm:1.2.6 lists build scripts, but its build has been explicitly disabled through configuration.
β€ BR0005: β webpack-cli@npm:3.2.1 lists build scripts, but its build has been explicitly disabled through configuration.
β€ BR0005: β webpack-cli@npm:3.2.1 lists build scripts, but its build has been explicitly disabled through configuration.
β€ BR0000: β Completed in 2.75s
β€ BR0000: Done with warnings in 6.81s
As you can see in the fetch step, even though we only added lodash
into our dependencies, Yarn automatically figured out that we would need @types/lodash
and added it.