Runtime library for TypeScript helpers.
Перейти к файлу
Andrew Branch d72d6f70b3
2.8.1
2024-10-31 15:40:16 -07:00
.github Add missing registry-url parameter 2024-10-15 10:51:20 -07:00
docs Remove extra line in generator.md 2022-10-25 19:34:10 -04:00
modules Add rewriteRelativeImportExtension helper 2024-09-23 10:09:50 -07:00
test Add URL-ish test 2024-09-24 15:33:34 -07:00
.gitattributes Added initial version of tslib.js 2015-04-22 13:47:06 -07:00
.gitignore General cleanup. 2016-05-18 13:25:21 -07:00
.npmignore Address feedback, and adds more tests 2020-10-05 15:08:15 -04:00
.npmrc Address feedback, and adds more tests 2020-10-05 15:08:15 -04:00
CopyrightNotice.txt Don't require license to be included by bundlers 2021-11-15 16:46:37 +00:00
LICENSE.txt Don't be so reserved about a relicense. 2020-04-21 16:54:49 -07:00
README.md http -> https 2023-02-03 16:56:31 +08:00
SECURITY.md Microsoft mandatory file 2022-08-31 15:23:07 +00:00
bower.json Bump version to 2.7.0. 2024-08-23 12:51:40 -07:00
package.json 2.8.1 2024-10-31 15:40:16 -07:00
tslib.d.ts Add rewriteRelativeImportExtension helper 2024-09-23 10:09:50 -07:00
tslib.es6.html Added html importable files 2016-11-13 21:18:11 +01:00
tslib.es6.js Include non-enumerable keys in __importStar helper (#272) 2024-10-18 10:26:13 -04:00
tslib.es6.mjs Include non-enumerable keys in __importStar helper (#272) 2024-10-18 10:26:13 -04:00
tslib.html Added html importable files 2016-11-13 21:18:11 +01:00
tslib.js Merge pull request #275 from microsoft/bug/es5-compat 2024-10-31 15:39:11 -07:00

README.md

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 3.9.2 or later
npm install tslib

# TypeScript 3.8.4 or earlier
npm install tslib@^1

# TypeScript 2.3.2 or earlier
npm install tslib@1.6.1

yarn

# TypeScript 3.9.2 or later
yarn add tslib

# TypeScript 3.8.4 or earlier
yarn add tslib@^1

# TypeScript 2.3.2 or earlier
yarn add tslib@1.6.1

bower

# TypeScript 3.9.2 or later
bower install tslib

# TypeScript 3.8.4 or earlier
bower install tslib@^1

# TypeScript 2.3.2 or earlier
bower install tslib@1.6.1

JSPM

# TypeScript 3.9.2 or later
jspm install tslib

# TypeScript 3.8.4 or earlier
jspm install tslib@^1

# 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@2.x.y/tslib.d.ts"]
        }
    }
}

Deployment

  • Choose your new version number
  • Set it in package.json and bower.json
  • Create a tag: git tag [version]
  • Push the tag: git push --tags
  • Create a release in GitHub
  • Run the publish to npm workflow

Done.

Contribute

There are many ways to contribute to TypeScript.

Documentation