Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/Sydsvenskan/node-ts-ignore-import

Add some @ts-ignore to imported dependencies in your auto-generated TypeScript type declarations
https://github.com/Sydsvenskan/node-ts-ignore-import

Last synced: 7 days ago
JSON representation

Add some @ts-ignore to imported dependencies in your auto-generated TypeScript type declarations

Awesome Lists containing this project

README

        

# TS Ignore Import

Ignores unwanted dependencies in TypeScript definitions. Useful for autogenerated declarations

[![js-semistandard-style](https://img.shields.io/badge/code%20style-semistandard-brightgreen.svg?style=flat)](https://github.com/Flet/semistandard)

Adds `// @ts-ignore` to unwanted `import` and `require` targets in TypeScript definition files.

## Install

```bash
yarn add --dev @hdsydsvenskan/ts-ignore-import
```

## Syntax

```bash
ts-ignore-import [...declaration files]
```

## Programmatic use

Very similar to CLI-use. See [type file](./index.d.ts).

## Examples

### Simplest

```bash
ts-ignore-import
```

### Allow some dependencies

```bash
ts-ignore-import --allow=bunyan-adapter --allow=express
```

### Advanced

```bash
ts-ignore-import \
--allow=bunyan-adapter \
--allow=express \
'lib/**/*.d.ts'
```

## Input

One or more declaration files that will be processed. Supports glob patterns.

## Flags

### Core Flags

* `--allow`, `-a` – Marks a module as allowed. It will then not have a `// @ts-ignore` added to it. (Already added ignores are kept though)
* `--skip`, `-s` – Skip a specific file. Follows .gitignore syntax. Matched against file paths relative to resolved path of ts-config.
* `--ts-config`, `-t` – Point to a `tsconfig.json` file to override any auto-discovered one

### Additional Flags

* `--debug` – Activates some very verbose logging
* `--dry-run` – Runs everything like normal, but doesn't save any changes
* `--help` – When set, this help will be printed
* `--silent` – When set, no feedback will be printed
* `--verbose`, `-v` – When set, more verbose feedback will be printed
* `--version` – When set, this tools version will be printed

## Config file

Optional. Uses [cosmiconfig](https://www.npmjs.com/package/cosmiconfig) to set it up. Useful for eg. `skipFiles`

### Possible file names

Non-exhaustive list:

* `.tsignoreimportrc` – JSON or YAML content
* `.tsignoreimportrc.json` – JSON content
* `.tsignoreimportrc.yml` – YAML content
* `tsignoreimportrc.config.js` – JS-file exporting the config
* `package.json` property: `tsIgnoreImport`

### Properties

* `allow` – an array of values that's same as `--allow`
* `files` – an array of one or more declaration files that will be processed. Supports glob patterns
* `skipFiles` – an array of values that's same as `--skip`
* `tsConfig` – same as `--ts-config`. Will get overriden by `--ts-config`