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.10.0/tslib.d.ts"]
        }
    }
}

Contribute

There are many ways to contribute to TypeScript.

Documentation

Project Statistics

Sourcerank 22
Repository Size 135 KB
Stars 489
Forks 44
Watchers 82
Open issues 28
Dependencies 0
Contributors 18
Tags 17
Created
Last updated
Last pushed

Top Contributors See all

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

Packages Referencing this Repo

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

Recent Tags See all

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
v1.3.0 December 21, 2016
v1.2.0 November 30, 2016

Something wrong with this page? Make a suggestion

Last synced: 2019-11-29 09:41:55 UTC

Login to resync this repository