Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/microsoft/tslib
Runtime library for TypeScript helpers.
https://github.com/microsoft/tslib
bundle dependency import optimize typescript typescript-helpers
Last synced: 4 days ago
JSON representation
Runtime library for TypeScript helpers.
- Host: GitHub
- URL: https://github.com/microsoft/tslib
- Owner: microsoft
- License: 0bsd
- Created: 2015-04-22T20:32:42.000Z (over 9 years ago)
- Default Branch: main
- Last Pushed: 2024-10-31T22:40:56.000Z (about 2 months ago)
- Last Synced: 2024-12-16T08:39:57.932Z (11 days ago)
- Topics: bundle, dependency, import, optimize, typescript, typescript-helpers
- Language: TypeScript
- Size: 471 KB
- Stars: 1,268
- Watchers: 74
- Forks: 131
- Open Issues: 55
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
- Security: SECURITY.md
Awesome Lists containing this project
README
# tslib
This is a runtime library for [TypeScript](https://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 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 [email protected]
```## yarn
```sh
# 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 [email protected]
```## bower
```sh
# 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 [email protected]
```## JSPM
```sh
# 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 [email protected]
```# 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": {
"tslib" : ["jspm_packages/npm/[email protected]/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](https://github.com/microsoft/tslib/releases)
- Run the [publish to npm](https://github.com/microsoft/tslib/actions?query=workflow%3A%22Publish+to+NPM%22) workflowDone.
# 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).# Documentation
* [Quick tutorial](http://www.typescriptlang.org/Tutorial)
* [Programming handbook](http://www.typescriptlang.org/Handbook)
* [Homepage](http://www.typescriptlang.org/)