rsbuild-plugin-arethetypeswrong
Rsbuild plugin for checking TypeScript type definitions with arethetypeswrong.
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.
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.
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";
const defaultOptions = {
ignoreRules: [];
ignoreResolutions: [];
summary: true;
emoji: true;
};
pluginAreTheTypesWrong({
areTheTypesWrongOptions: {
ignoreRules: ["false-cjs"],
ignoreResolutions: ["node16-cjs"],
},
});
Credits
Thanks to:
License
MIT.