Skip to content

rspack-contrib/rsbuild-plugin-arethetypeswrong

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

License

Stars

Watchers

Forks

Contributors 2

  •  
  •