TypeScript with exposed internal definitions and some private methods for type checking.
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.
-
Removes all
@internal
tags which allows you to access internal types, classes, properties and methods with their declarations. -
Export some very useful private methods from the
TypeChecker
: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;
And many other things...
interface OptionsNameMap; function getOptionsNameMap(): OptionsNameMap; interface CommandLineOptionOfCustomType; interface CommandLineOptionOfStringType; interface CommandLineOptionOfNumberType; interface CommandLineOptionOfBooleanType; interface TsConfigOnlyOption; interface CommandLineOptionOfListType; type CommandLineOption;
pnpm add -D typescript unleashed-typescript
import ts from 'unleashed-typescript';
// Use ts as usual.
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.
Usage: pnpm unleashed-typescript [options]
Options:
--unpatch Revert the patch (useful before a build/publish).
--force-patch Force patch from your current typescript version.
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.
- byots Bring your own TypeScript with more internal definitions
- ts-expose-internals Expose TypeScript internal types by simply adding a development dependency
- tsd-typescript TypeScript with some extras for type-checking.
See CONTRIBUTING.md