2020-01-28 13:08:03 +08:00
# tslib
This is a runtime library for [TypeScript ](http://www.typescriptlang.org/ ) 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:
```ts
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:
```ts
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
```sh
# TypeScript 2.3.3 or later
npm install --save tslib
# TypeScript 2.3.2 or earlier
npm install --save tslib@1.6.1
```
2020-03-22 05:13:25 +08:00
## yarn
```sh
# TypeScript 2.3.3 or later
yarn add tslib
# TypeScript 2.3.2 or earlier
yarn add tslib@1.6.1
```
2020-01-28 13:08:03 +08:00
## bower
```sh
# TypeScript 2.3.3 or later
bower install tslib
# TypeScript 2.3.2 or earlier
bower install tslib@1.6.1
```
## JSPM
```sh
# 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:
```json
{
"compilerOptions": {
"importHelpers": true
}
}
```
#### For bower and JSPM users
You will need to add a `paths` mapping for `tslib` , e.g. For Bower users:
```json
{
"compilerOptions": {
"module": "amd",
"importHelpers": true,
"baseUrl": "./",
"paths": {
"tslib" : ["bower_components/tslib/tslib.d.ts"]
}
}
}
```
For JSPM users:
```json
{
"compilerOptions": {
"module": "system",
"importHelpers": true,
"baseUrl": "./",
"paths": {
2020-03-22 05:13:25 +08:00
"tslib" : ["jspm_packages/npm/tslib@1.11.1/tslib.d.ts"]
2020-01-28 13:08:03 +08:00
}
}
}
```
# Contribute
There are many ways to [contribute ](https://github.com/Microsoft/TypeScript/blob/master/CONTRIBUTING.md ) to TypeScript.
* [Submit bugs ](https://github.com/Microsoft/TypeScript/issues ) and help us verify fixes as they are checked in.
* Review the [source code changes ](https://github.com/Microsoft/TypeScript/pulls ).
* Engage with other TypeScript users and developers on [StackOverflow ](http://stackoverflow.com/questions/tagged/typescript ).
* Join the [#typescript ](http://twitter.com/#!/search/realtime/%23typescript ) discussion on Twitter.
* [Contribute bug fixes ](https://github.com/Microsoft/TypeScript/blob/master/CONTRIBUTING.md ).
* Read the language specification ([docx](http://go.microsoft.com/fwlink/?LinkId=267121), [pdf ](http://go.microsoft.com/fwlink/?LinkId=267238 )).
# Documentation
* [Quick tutorial ](http://www.typescriptlang.org/Tutorial )
* [Programming handbook ](http://www.typescriptlang.org/Handbook )
* [Language specification ](https://github.com/Microsoft/TypeScript/blob/master/doc/spec.md )
* [Homepage ](http://www.typescriptlang.org/ )