Skip to content

Repository files navigation

rsbuild-plugin-arethetypeswrong

Rsbuild plugin for checking TypeScript type definitions with arethetypeswrong.

npm version license downloads

rsbuild-plugin-arethetypeswrong is the perfect partner for Rslib. When building a library, arethetypeswrong helps you to analyze TypeScript types of the package to improve its compatibility with different module resolutions.

image

Usage

Install:

npm add rsbuild-plugin-arethetypeswrong -D

Add plugin to your rslib.config.ts or rsbuild.config.ts:

import { pluginAreTheTypesWrong } from 'rsbuild-plugin-arethetypeswrong';

export default {
  plugins: [pluginAreTheTypesWrong()],
};

Options

enable

Whether to enable arethetypeswrong.

  • Type: boolean
  • Default: true

For example, only run arethetypeswrong in the CI environment:

pluginAreTheTypesWrong({
  enable: Boolean(process.env.CI),
});

areTheTypesWrongOptions

Options for arethetypeswrong. See arethetypeswrong - Configuration for more details.

  • Type:
interface areTheTypesWrongOptions {
  ignoreRules?: ProblemFlag[];
  ignoreResolutions?: ResolutionKind[];
  summary?: boolean;
  emoji?: boolean;
}

type ProblemFlag =
  | 'no-resolution'
  | 'untyped-resolution'
  | 'false-cjs'
  | 'false-esm'
  | 'cjs-resolves-to-esm'
  | 'fallback-condition'
  | 'cjs-only-exports-default'
  | 'named-exports'
  | 'false-export-default'
  | 'missing-export-equals'
  | 'unexpected-module-syntax'
  | 'internal-resolution-error';

type ResolutionKind = 'node10' | 'node16-cjs' | 'node16-esm' | 'bundler';
  • Default:
const defaultOptions = {
  ignoreRules: [];
  ignoreResolutions: [];
  summary: true;
  emoji: true;
};
  • Example:
pluginAreTheTypesWrong({
  areTheTypesWrongOptions: {
    ignoreRules: ['false-cjs'],
    ignoreResolutions: ['node16-cjs'],
  },
});

Credits

Thanks to:

License

MIT.

About

Run `arethetypeswrong` to lint npm packages after the build.

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages