UNPKG

unleashed-typescript

Version:

TypeScript with exposed internal definitions and some private methods for type checking.

84 lines (54 loc) 2.86 kB
# unleashed-typescript TypeScript with exposed internal definitions and some private methods for type checking. ## How does it work? When you install the package, it will look for your local version of TypeScript. It will then make a copy of your version in its own location, apply the patches and re-export the patched version. Then you can import the patched version and enjoy your unleashed version of TypeScript while keeping your original version intact. ## What does it add/remove? 1. Removes all `@internal` tags which allows you to access internal types, classes, properties and methods with their declarations. 2. Export some very useful private methods from the `TypeChecker`: ```ts function isTypeSubtypeOf(source: Type, target: Type): boolean; function isTypeIdenticalTo(source: Type, target: Type): boolean; function isTypeDerivedFrom(source: Type, target: Type): boolean; function isTypeAssignableTo(source: Type, target: Type): boolean; function isTypeComparableTo(source: Type, target: Type): boolean; function areTypesComparable(source: Type, target: Type): boolean; ``` <details> <summary>And many other things...</summary> ``` interface OptionsNameMap; function getOptionsNameMap(): OptionsNameMap; interface CommandLineOptionOfCustomType; interface CommandLineOptionOfStringType; interface CommandLineOptionOfNumberType; interface CommandLineOptionOfBooleanType; interface TsConfigOnlyOption; interface CommandLineOptionOfListType; type CommandLineOption; ``` </details> # Installation ```ts pnpm add -D typescript unleashed-typescript ``` ```ts import ts from 'unleashed-typescript'; // Use ts as usual. ``` # CLI With no arguments `unleashed-typescript` patches your current version of typescript **if it is not already patched**. If you want to sync your version after an update you can use the `--force-patch` option. ```bash Usage: pnpm unleashed-typescript [options] Options: --unpatch Revert the patch (useful before a build/publish). --force-patch Force patch from your current typescript version. ``` # Alternatives `unleashed-typescript` is a combination of the alternatives listed below. But instead of maintaining an up-to-date build of TypeScript we use your locally installed version. ## Remove @internal tags - [byots](https://github.com/basarat/byots) Bring your own TypeScript with more internal definitions - [ts-expose-internals](https://github.com/nonara/ts-expose-internals) Expose TypeScript internal types by simply adding a development dependency ## Expose TypeChecker methods - [tsd-typescript](https://github.com/SamVerschueren/tsd-typescript) TypeScript with some extras for type-checking. # Contributing 💜 See [CONTRIBUTING.md](https://github.com/skarab42/unleashed-typescript/blob/main/CONTRIBUTING.md)