@hdsydsvenskan/ts-ignore-import

Ignores unwanted dependencies in TypeScript definitions. Useful for autogenerated declarations

Usage no npm install needed!

<script type="module">
  import hdsydsvenskanTsIgnoreImport from 'https://cdn.skypack.dev/@hdsydsvenskan/ts-ignore-import';
</script>

README

TS Ignore Import

Ignores unwanted dependencies in TypeScript definitions. Useful for autogenerated declarations

js-semistandard-style

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

Install

npm install -g @hdsydsvenskan/ts-ignore-import

Syntax

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

Programmatic use

Very similar to CLI-use. See type file.

Examples

Simplest

ts-ignore-import

Allow some dependencies

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

Advanced

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 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