Git Product home page Git Product logo

types-sync's Introduction

types-sync

Keep your types in sync with DefinitelyTyped - auto install/uninstall types for dependencies on postinstall.

npm version

Features

  • Works with npm, yarn, pnpm, bolt
  • In sync with DefinitelyTyped
  • Can be hooked with npm and husky hooks

Install

npm install -D types-sync

Usage

As CLI

Use types-sync as postinstall scripts in your package.json

"scripts": {
  "postinstall": "types-sync",
}

As Module

import typesSync from 'types-sync';

const types = typesSync({
  dependencies,
  devDependencies,
  ignore,
});

Config

Add a .types-syncrc.json at the root of your project.

options type description
dependencies Array dependencies to manually add for sync
ignore Array ignore these dependencies from removing
packageManager npm/yarn/pnpm/bolt package manager to use
removeUnused Boolean remove unsued types

Note: types-sync will automatically detect the package manager being used according to the lock files. Explicitly defining the packageManager config option is optional and if defined will force types-sync to use the specified package manager.

Refer to ./types-syncrc.json for full config

Related

types-sync's People

Contributors

dhruwlalan avatar maddhruv avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

dhruwlalan

types-sync's Issues

Auto-detect the package manager being used

An attempt to run the install command using a package manager other than npm defaults to run types-sync using npm if not explicitly defined the package manager to be used in the .types-syncrc.json file.

In the case of yarn, it creates an extry package-lock.json file, while in the case of pnpm, it gets hung up.

undetect

It would be nice if the package manager used is auto-detected when the user does not contain the .types-syncrc.json file?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.