Git Product home page Git Product logo

unleashed-typescript's Introduction

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:

    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;
    

Installation

pnpm add -D typescript unleashed-typescript
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.

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 Bring your own TypeScript with more internal definitions
  • ts-expose-internals Expose TypeScript internal types by simply adding a development dependency

Expose TypeChecker methods

Contributing ๐Ÿ’œ

See CONTRIBUTING.md

unleashed-typescript's People

Contributors

skarab42 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.