Install missing TypeScript typings for dependencies in your package.json
.
npm install -g typesync
You can also use it directly with npx
which will install it for you:
npx typesync
typesync [path/to/package.json] [--dry]
Path is relative to the current working directory. If omitted, defaults to package.json
.
If --dry
is specified, will not actually write to the file, it only prints added typings,
To ignore certain sections, you can use the --ignoredeps=
flag. For example, to ignore devDependencies
, use --ignoredeps=dev
. To ignore multiple, comma-separate them, like this: --ignoredeps=deps,peer
(ignores dependencies
and peerDependencies
).
--ignoredeps=deps
— ignoresdependencies
--ignoredeps=dev
— ignoresdevDependencies
--ignoredeps=peer
— ignorespeerDependencies
--ignoredeps=optional
— ignoresoptionalDependencies
Note: typesync
only modifies your package.json
- you still need to run npm install
, or — if drinking the k00laid — yarn
.
TypeSync will add typings for packages that:
- have a
@types/package
available - don't already provide typings internally (the
typings
andtypes
field inpackage.json
)
TypeSync will try to respect semver parity for the code and typings packages, and will fall back to the latest available typings package.
If you use a Semver ^
or ~
for a package, the same prefix will be used for the typings package. If you pin to an exact version ("some-package": "1.2.3"
), no prefix will be written.
If a typings package in your package.json
is not used (has no corresponding code package in your package.json
and does not contribute to the global namespace), TypeSync will automatically remove it.
TypeSync added support for monorepos in v0.4.0. It will look at packages
/workspaces
globs in package.json
and sync every matching file in one fell swoop.
Installing typings manually sucks. Flow has flow-typed
which installs type definitions by looking at a package.json
, which would be cool to have for TypeScript. Now we do!
See CHANGELOG.md
Jeff Hansen - @Jeffijoe