microsoft/tslib


Runtime library for TypeScript helpers.

License: Apache-2.0

Language: TypeScript

Keywords: bundle, dependency, import, optimize, typescript, typescript-helpers


tslib

This is a runtime library for TypeScript that contains all of the TypeScript helper functions.

This library is primarily used by the --importHelpers flag in TypeScript. When using --importHelpers, a module that uses helper functions like __extends and __assign in the following emitted file:

var __assign = (this && this.__assign) || Object.assign || function(t) {
    for (var s, i = 1, n = arguments.length; i < n; i++) {
        s = arguments[i];
        for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
            t[p] = s[p];
    }
    return t;
};
exports.x = {};
exports.y = __assign({}, exports.x);

will instead be emitted as something like the following:

var tslib_1 = require("tslib");
exports.x = {};
exports.y = tslib_1.__assign({}, exports.x);

Because this can avoid duplicate declarations of things like __extends, __assign, etc., this means delivering users smaller files on average, as well as less runtime overhead. For optimized bundles with TypeScript, you should absolutely consider using tslib and --importHelpers.

Installing

For the latest stable version, run:

npm

# TypeScript 2.3.3 or later
npm install --save tslib

# TypeScript 2.3.2 or earlier
npm install --save tslib@1.6.1

yarn

# TypeScript 2.3.3 or later
yarn add tslib

# TypeScript 2.3.2 or earlier
yarn add tslib@1.6.1

bower

# TypeScript 2.3.3 or later
bower install tslib

# TypeScript 2.3.2 or earlier
bower install tslib@1.6.1

JSPM

# TypeScript 2.3.3 or later
jspm install tslib

# TypeScript 2.3.2 or earlier
jspm install tslib@1.6.1

Usage

Set the importHelpers compiler option on the command line:

tsc --importHelpers file.ts

or in your tsconfig.json:

{
    "compilerOptions": {
        "importHelpers": true
    }
}

For bower and JSPM users

You will need to add a paths mapping for tslib, e.g. For Bower users:

{
    "compilerOptions": {
        "module": "amd",
        "importHelpers": true,
        "baseUrl": "./",
        "paths": {
            "tslib" : ["bower_components/tslib/tslib.d.ts"]
        }
    }
}

For JSPM users:

{
    "compilerOptions": {
        "module": "system",
        "importHelpers": true,
        "baseUrl": "./",
        "paths": {
            "tslib" : ["jspm_packages/npm/tslib@1.11.1/tslib.d.ts"]
        }
    }
}

Contribute

There are many ways to contribute to TypeScript.

Documentation

Project Statistics

Sourcerank 24
Repository Size 164 KB
Stars 539
Forks 50
Watchers 82
Open issues 33
Dependencies 0
Contributors 22
Tags 19
Created
Last updated
Last pushed

Top Contributors See all

Ron Buckton Daniel Rosenwasser Mohamed Hegazy frankwallis Wesley Wigham Nathan Shively-Sanders Daniel Busłowicz Ryan Cavanaugh Bill Ticehurst Aluan Haddad Saulzi Orta Michael Gunter Simen Bekkhus Steven Mateusz Burzyński Tim Brust Илья Nicholas Yang kof

Packages Referencing this Repo

tslib
Runtime library for TypeScript helper functions
Latest release 1.11.1 - Updated - 539 stars
org.webjars.npm:tslib
WebJar for tslib
Latest release 1.9.3 - Updated - 539 stars

Recent Tags See all

1.11.1 February 26, 2020
1.11.0 February 20, 2020
1.10.0 June 10, 2019
1.9.3 June 22, 2018
1.9.2 May 29, 2018
1.9.1 May 14, 2018
1.9.0 January 18, 2018
1.8.1 December 06, 2017
1.8.0 October 11, 2017
1.7.1 May 15, 2017
1.7.0 May 04, 2017
1.6.1 April 19, 2017
v1.6.0 February 22, 2017
v1.5.0 January 05, 2017
v1.4.0 December 22, 2016

Something wrong with this page? Make a suggestion

Last synced: 2020-02-27 19:35:08 UTC

Login to resync this repository