2979: vscode: now we are actually using tslib r=matklad a=Veetaha

We had an incorrect setup where `tslib` was in `devDependencies`.
FYI:
tslib is a runtime dependency, it contains functions that are used by transpiled JavaScript in order not to inline them in each file.
For example:
```ts
// foo.ts (source code)
import * as foo from "foo";
// ---------------------------
// foo.js (compiled output)
"use strict";
var __importStar = (this && this.__importStar) || function (mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
    result["default"] = mod;
    return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
const foo = __importStar(require("foo"));
```
As you see, `tsc` generated that `__importStar` helper function in compiled output. And it generates it per each file if you don't enable `"importHelpers": true`. Now with `importHelpers` enabled we get the following picture:
```ts
// foo.ts (source code)
import * as foo from "foo";
// ---------------------------
// foo.js (compiled output)
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const foo = tslib_1.__importStar(require("foo"));
```
It saves some bundle size, but I am not entirely sure wheter we want that. Discussions are welcome!

Co-authored-by: Veetaha <gerzoh1@gmail.com>
This commit is contained in:
bors[bot] 2020-02-02 14:05:23 +00:00 committed by GitHub
commit 856e4ba126
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 4 additions and 4 deletions

View file

@ -749,8 +749,7 @@
"tslib": { "tslib": {
"version": "1.10.0", "version": "1.10.0",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz",
"integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ=="
"dev": true
}, },
"tslint": { "tslint": {
"version": "5.20.1", "version": "5.20.1",

View file

@ -26,7 +26,8 @@
"dependencies": { "dependencies": {
"jsonc-parser": "^2.1.0", "jsonc-parser": "^2.1.0",
"seedrandom": "^3.0.5", "seedrandom": "^3.0.5",
"vscode-languageclient": "^6.1.0" "vscode-languageclient": "^6.1.0",
"tslib": "^1.10.0"
}, },
"devDependencies": { "devDependencies": {
"@rollup/plugin-commonjs": "^11.0.1", "@rollup/plugin-commonjs": "^11.0.1",
@ -36,7 +37,6 @@
"@types/seedrandom": "^2.4.28", "@types/seedrandom": "^2.4.28",
"@types/vscode": "^1.41.0", "@types/vscode": "^1.41.0",
"rollup": "^1.30.1", "rollup": "^1.30.1",
"tslib": "^1.10.0",
"tslint": "^5.20.1", "tslint": "^5.20.1",
"typescript": "^3.7.5", "typescript": "^3.7.5",
"typescript-formatter": "^7.2.2", "typescript-formatter": "^7.2.2",

View file

@ -15,6 +15,7 @@
"noFallthroughCasesInSwitch": true, "noFallthroughCasesInSwitch": true,
"newLine": "LF", "newLine": "LF",
"esModuleInterop": true, "esModuleInterop": true,
"importHelpers": true
}, },
"exclude": [ "exclude": [
"node_modules" "node_modules"