Configure gulpfile for work with Transifex (#847)

This commit is contained in:
Yuri Skorokhodov 2018-11-30 18:13:07 +03:00 коммит произвёл GitHub
Родитель dd51b457a1
Коммит 74dba829f9
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
3 изменённых файлов: 407 добавлений и 92 удалений

Просмотреть файл

@ -1,29 +1,54 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for details.
var gulp = require("gulp");
var log = require('fancy-log');
var istanbul = require('gulp-istanbul');
var isparta = require('isparta');
var sourcemaps = require("gulp-sourcemaps");
var path = require("path");
var preprocess = require("gulp-preprocess");
var install = require("gulp-install");
var runSequence = require("run-sequence");
var ts = require("gulp-typescript");
var mocha = require("gulp-mocha");
var GulpExtras = require("./tools/gulp-extras");
var minimist = require("minimist");
var os = require("os");
var fs = require("fs");
var Q = require("q");
var remapIstanbul = require('remap-istanbul/lib/gulpRemapIstanbul');
var execSync = require('child_process').execSync;
const gulp = require("gulp");
const log = require('fancy-log');
const istanbul = require('gulp-istanbul');
const isparta = require('isparta');
const sourcemaps = require("gulp-sourcemaps");
const path = require("path");
const preprocess = require("gulp-preprocess");
const install = require("gulp-install");
const runSequence = require("run-sequence");
const ts = require("gulp-typescript");
const mocha = require("gulp-mocha");
const GulpExtras = require("./tools/gulp-extras");
const minimist = require("minimist");
const os = require("os");
const fs = require("fs");
const Q = require("q");
const es = require('event-stream');
const remapIstanbul = require('remap-istanbul/lib/gulpRemapIstanbul');
const execSync = require('child_process').execSync;
const nls = require('vscode-nls-dev');
var copyright = GulpExtras.checkCopyright;
var imports = GulpExtras.checkImports;
var executeCommand = GulpExtras.executeCommand;
const copyright = GulpExtras.checkCopyright;
const imports = GulpExtras.checkImports;
const executeCommand = GulpExtras.executeCommand;
const transifexApiHostname = 'www.transifex.com'
const transifexApiName = 'api';
const transifexApiToken = process.env.TRANSIFEX_API_TOKEN;
const transifexProjectName = 'vscode-extensions';
const transifexExtensionName = 'vscode-react-native';
const defaultLanguages = [
{ id: 'zh-tw', folderName: 'cht', transifexId: 'zh-hant' },
{ id: 'zh-cn', folderName: 'chs', transifexId: 'zh-hans' },
{ id: 'ja', folderName: 'jpn' },
{ id: 'ko', folderName: 'kor' },
{ id: 'de', folderName: 'deu' },
{ id: 'fr', folderName: 'fra' },
{ id: 'es', folderName: 'esn' },
{ id: 'ru', folderName: 'rus' },
{ id: 'it', folderName: 'ita' },
// These language-pack languages are included for VS but excluded from the vscode package
{ id: 'cs', folderName: 'csy' },
{ id: 'tr', folderName: 'trk' },
{ id: 'pt-br', folderName: 'ptb', transifexId: 'pt_BR' },
{ id: 'pl', folderName: 'plk' }
];
var srcPath = "src";
var testPath = "test";
@ -49,25 +74,41 @@ gulp.task("build", ["check-imports", "check-copyright"], build);
gulp.task("quick-build", build);
// Configuring build task
var failOnError = true;
var buildNls = true;
function build(callback) {
var tsProject = ts.createProject("tsconfig.json");
var isProd = options.env === "production";
var preprocessorContext = isProd ? { PROD: true } : { DEBUG: true };
let gotError = false;
log(`Building with preprocessor context: ${JSON.stringify(preprocessorContext)}`);
return tsProject.src()
var tsResult = tsProject.src()
.pipe(preprocess({ context: preprocessorContext })) //To set environment variables in-line
.pipe(sourcemaps.init())
.pipe(tsProject())
.on("error", function (e) {
callback(e);
})
.pipe(sourcemaps.write(".", {
includeContent: false,
sourceRoot: "."
}))
});
return tsResult.js
.pipe(buildNls ? nls.rewriteLocalizeCalls() : es.through())
.pipe(buildNls ? nls.createAdditionalLanguageFiles(defaultLanguages, 'i18n', '.') : es.through())
.pipe(buildNls ? nls.bundleMetaDataFiles('vsmobile.vscode-react-native', '.') : es.through())
.pipe(buildNls ? nls.bundleLanguageFiles() : es.through())
.pipe(sourcemaps.write('.', { includeContent: false, sourceRoot: '.' }))
.pipe(gulp.dest(function (file) {
return file.cwd;
}));
}))
.once('error', () => {
gotError = true;
})
.once('finish', () => {
if (failOnError && gotError) {
process.exit(1);
}
});
}
gulp.task("watch", ["build"], function (cb) {
@ -232,4 +273,42 @@ gulp.task("release", ["build"], function () {
fs.writeFileSync(path.join(__dirname, fileName), fs.readFileSync(path.join(backupFolder, fileName)));
});
});
});
});
// Creates package.i18n.json files for all languages to {workspaceRoot}/i18n folder
gulp.task('add-i18n', function () {
return gulp.src(['package.nls.json'])
.pipe(nls.createAdditionalLanguageFiles(defaultLanguages, 'i18n'))
.pipe(gulp.dest('.'));
});
// Gathers all strings to Transifex readable .xliff file for translating and pushes them to Transifex
gulp.task('transifex-push', ['build'], function () {
return gulp.src(['package.nls.json', 'out/nls.metadata.header.json','out/nls.metadata.json'])
.pipe(nls.createXlfFiles(transifexProjectName, transifexExtensionName))
.pipe(nls.pushXlfFiles(transifexApiHostname, transifexApiName, transifexApiToken));
});
// Creates Transifex readable .xliff file and saves it locally
gulp.task('transifex-push-test', ['build'], function() {
return gulp.src(['package.nls.json', 'out/nls.metadata.header.json','out/nls.metadata.json'])
.pipe(nls.createXlfFiles(transifexProjectName, transifexExtensionName))
.pipe(gulp.dest(path.join('..', `${transifexExtensionName}-push-test`)));
});
// Gets the files with localized strings from Transifex
gulp.task('transifex-pull', function () {
return es.merge(defaultLanguages.map(function(language) {
return nls.pullXlfFiles(transifexApiHostname, transifexApiName, transifexApiToken, language, [{ name: transifexExtensionName, project: transifexProjectName }]).
pipe(gulp.dest(`../${transifexExtensionName}-localization/${language.folderName}`));
}));
});
// Imports localization from raw localized Transifex strings to VS Code .i18n.json files
gulp.task('i18n-import', function() {
return es.merge(defaultLanguages.map(function(language) {
return gulp.src(`../${transifexExtensionName}-localization/${language.folderName}/**/*.xlf`)
.pipe(nls.prepareJsonFiles())
.pipe(gulp.dest(path.join('./i18n', language.folderName)));
}));
});

357
package-lock.json сгенерированный
Просмотреть файл

@ -79,7 +79,7 @@
},
"@types/events": {
"version": "1.2.0",
"resolved": "http://registry.npmjs.org/@types/events/-/events-1.2.0.tgz",
"resolved": "https://registry.npmjs.org/@types/events/-/events-1.2.0.tgz",
"integrity": "sha512-KEIlhXnIutzKwRbQkGWb/I4HFqBuUykAdHgDED6xqwXJfONCjF5VoE0cXEiurh3XauygxzeDzgtXUqvLkxFzzA==",
"dev": true
},
@ -114,7 +114,7 @@
},
"@types/mock-fs": {
"version": "3.6.30",
"resolved": "http://registry.npmjs.org/@types/mock-fs/-/mock-fs-3.6.30.tgz",
"resolved": "https://registry.npmjs.org/@types/mock-fs/-/mock-fs-3.6.30.tgz",
"integrity": "sha1-TYElQeh7I1dyYaWqlfcE3T0B5BA=",
"dev": true,
"requires": {
@ -154,7 +154,7 @@
},
"@types/source-map-support": {
"version": "0.2.28",
"resolved": "http://registry.npmjs.org/@types/source-map-support/-/source-map-support-0.2.28.tgz",
"resolved": "https://registry.npmjs.org/@types/source-map-support/-/source-map-support-0.2.28.tgz",
"integrity": "sha1-zmSX36nJ+9IadTlVtKUdiZPXWd0=",
"dev": true,
"requires": {
@ -163,7 +163,7 @@
},
"@types/strip-bom": {
"version": "3.0.0",
"resolved": "http://registry.npmjs.org/@types/strip-bom/-/strip-bom-3.0.0.tgz",
"resolved": "https://registry.npmjs.org/@types/strip-bom/-/strip-bom-3.0.0.tgz",
"integrity": "sha1-FKjsOVbC6B7bdSB5CuzyHCkK69I=",
"dev": true
},
@ -272,7 +272,7 @@
},
"ansi-escapes": {
"version": "3.1.0",
"resolved": "http://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz",
"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz",
"integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==",
"dev": true
},
@ -342,7 +342,7 @@
},
"applicationinsights": {
"version": "0.15.6",
"resolved": "http://registry.npmjs.org/applicationinsights/-/applicationinsights-0.15.6.tgz",
"resolved": "https://registry.npmjs.org/applicationinsights/-/applicationinsights-0.15.6.tgz",
"integrity": "sha1-IBoGgsBwT+S92aktCyy+NNKuWXI="
},
"archy": {
@ -1052,7 +1052,7 @@
},
"chalk": {
"version": "1.1.3",
"resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
"dev": true,
"requires": {
@ -1633,7 +1633,7 @@
},
"deep-assign": {
"version": "1.0.0",
"resolved": "http://registry.npmjs.org/deep-assign/-/deep-assign-1.0.0.tgz",
"resolved": "https://registry.npmjs.org/deep-assign/-/deep-assign-1.0.0.tgz",
"integrity": "sha1-sJJ0O+hCfcYh6gBnzex+cN0Z83s=",
"dev": true,
"requires": {
@ -1839,7 +1839,7 @@
},
"duplexer": {
"version": "0.1.1",
"resolved": "http://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz",
"resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz",
"integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=",
"dev": true
},
@ -2105,6 +2105,26 @@
"split": "0.3",
"stream-combiner": "~0.0.4",
"through": "~2.3.1"
},
"dependencies": {
"split": {
"version": "0.3.3",
"resolved": "http://registry.npmjs.org/split/-/split-0.3.3.tgz",
"integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=",
"dev": true,
"requires": {
"through": "2"
}
},
"stream-combiner": {
"version": "0.0.4",
"resolved": "http://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz",
"integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=",
"dev": true,
"requires": {
"duplexer": "~0.1.1"
}
}
}
},
"exec-sh": {
@ -2540,7 +2560,7 @@
"dependencies": {
"source-map": {
"version": "0.1.43",
"resolved": "http://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
"integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",
"requires": {
"amdefine": ">=0.0.4"
@ -3453,7 +3473,7 @@
},
"globby": {
"version": "5.0.0",
"resolved": "http://registry.npmjs.org/globby/-/globby-5.0.0.tgz",
"resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz",
"integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=",
"dev": true,
"requires": {
@ -3549,7 +3569,7 @@
},
"gulp": {
"version": "3.9.1",
"resolved": "http://registry.npmjs.org/gulp/-/gulp-3.9.1.tgz",
"resolved": "https://registry.npmjs.org/gulp/-/gulp-3.9.1.tgz",
"integrity": "sha1-VxzkWSjdQK9lFPxAEYZgFsE4RbQ=",
"dev": true,
"requires": {
@ -3680,7 +3700,7 @@
},
"through2": {
"version": "0.6.5",
"resolved": "http://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
"resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
"integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
"dev": true,
"requires": {
@ -3844,6 +3864,21 @@
"integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=",
"dev": true
},
"event-stream": {
"version": "3.3.4",
"resolved": "http://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz",
"integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=",
"dev": true,
"requires": {
"duplexer": "~0.1.1",
"from": "~0",
"map-stream": "~0.1.0",
"pause-stream": "0.0.11",
"split": "0.3",
"stream-combiner": "~0.0.4",
"through": "~2.3.1"
}
},
"is": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/is/-/is-3.2.1.tgz",
@ -3866,6 +3901,24 @@
"integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=",
"dev": true
},
"split": {
"version": "0.3.3",
"resolved": "http://registry.npmjs.org/split/-/split-0.3.3.tgz",
"integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=",
"dev": true,
"requires": {
"through": "2"
}
},
"stream-combiner": {
"version": "0.0.4",
"resolved": "http://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz",
"integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=",
"dev": true,
"requires": {
"duplexer": "~0.1.1"
}
},
"vinyl": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.0.tgz",
@ -3982,6 +4035,21 @@
"repeat-element": "^1.1.2"
}
},
"event-stream": {
"version": "3.3.4",
"resolved": "http://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz",
"integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=",
"dev": true,
"requires": {
"duplexer": "~0.1.1",
"from": "~0",
"map-stream": "~0.1.0",
"pause-stream": "0.0.11",
"split": "0.3",
"stream-combiner": "~0.0.4",
"through": "~2.3.1"
}
},
"expand-brackets": {
"version": "0.1.5",
"resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
@ -4160,6 +4228,24 @@
"util-deprecate": "~1.0.1"
}
},
"split": {
"version": "0.3.3",
"resolved": "http://registry.npmjs.org/split/-/split-0.3.3.tgz",
"integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=",
"dev": true,
"requires": {
"through": "2"
}
},
"stream-combiner": {
"version": "0.0.4",
"resolved": "http://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz",
"integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=",
"dev": true,
"requires": {
"duplexer": "~0.1.1"
}
},
"string_decoder": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
@ -4251,7 +4337,7 @@
},
"chalk": {
"version": "2.3.1",
"resolved": "http://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz",
"integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==",
"dev": true,
"requires": {
@ -4584,6 +4670,27 @@
"vinyl": "^1.2.0"
},
"dependencies": {
"event-stream": {
"version": "3.3.5",
"resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.5.tgz",
"integrity": "sha512-vyibDcu5JL20Me1fP734QBH/kenBGLZap2n0+XXM7mvuUPzJ20Ydqj1aKcIeMdri1p+PU+4yAKugjN8KCVst+g==",
"dev": true,
"requires": {
"duplexer": "^0.1.1",
"from": "^0.1.7",
"map-stream": "0.0.7",
"pause-stream": "^0.0.11",
"split": "^1.0.1",
"stream-combiner": "^0.2.2",
"through": "^2.3.8"
}
},
"map-stream": {
"version": "0.0.7",
"resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.0.7.tgz",
"integrity": "sha1-ih8HiW2CsQkmvTdEokIACfiJdKg=",
"dev": true
},
"vinyl": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz",
@ -4658,6 +4765,21 @@
"integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=",
"dev": true
},
"event-stream": {
"version": "3.3.4",
"resolved": "http://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz",
"integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=",
"dev": true,
"requires": {
"duplexer": "~0.1.1",
"from": "~0",
"map-stream": "~0.1.0",
"pause-stream": "0.0.11",
"split": "0.3",
"stream-combiner": "~0.0.4",
"through": "~2.3.1"
}
},
"glob-stream": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz",
@ -4733,6 +4855,24 @@
"integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=",
"dev": true
},
"split": {
"version": "0.3.3",
"resolved": "http://registry.npmjs.org/split/-/split-0.3.3.tgz",
"integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=",
"dev": true,
"requires": {
"through": "2"
}
},
"stream-combiner": {
"version": "0.0.4",
"resolved": "http://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz",
"integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=",
"dev": true,
"requires": {
"duplexer": "~0.1.1"
}
},
"string_decoder": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
@ -5136,7 +5276,7 @@
},
"is": {
"version": "0.2.7",
"resolved": "http://registry.npmjs.org/is/-/is-0.2.7.tgz",
"resolved": "https://registry.npmjs.org/is/-/is-0.2.7.tgz",
"integrity": "sha1-OzSixI81mXLzUEKEkZOucmS2NWI=",
"dev": true
},
@ -5345,7 +5485,7 @@
},
"is-obj": {
"version": "1.0.1",
"resolved": "http://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
"resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
"integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
"dev": true
},
@ -5800,7 +5940,7 @@
},
"jest-changed-files": {
"version": "22.4.3",
"resolved": "http://registry.npmjs.org/jest-changed-files/-/jest-changed-files-22.4.3.tgz",
"resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-22.4.3.tgz",
"integrity": "sha512-83Dh0w1aSkUNFhy5d2dvqWxi/y6weDwVVLU6vmK0cV9VpRxPzhTeGimbsbRDSnEoszhF937M4sDLLeS7Cu/Tmw==",
"dev": true,
"requires": {
@ -6054,7 +6194,7 @@
},
"jest-diff": {
"version": "22.4.3",
"resolved": "http://registry.npmjs.org/jest-diff/-/jest-diff-22.4.3.tgz",
"resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-22.4.3.tgz",
"integrity": "sha512-/QqGvCDP5oZOF6PebDuLwrB2BMD8ffJv6TAGAdEVuDx1+uEgrHpSFrfrOiMRx2eJ1hgNjlQrOQEHetVwij90KA==",
"dev": true,
"requires": {
@ -6103,7 +6243,7 @@
},
"jest-docblock": {
"version": "22.4.3",
"resolved": "http://registry.npmjs.org/jest-docblock/-/jest-docblock-22.4.3.tgz",
"resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-22.4.3.tgz",
"integrity": "sha512-uPKBEAw7YrEMcXueMKZXn/rbMxBiSv48fSqy3uEnmgOlQhSX+lthBqHb1fKWNVmFqAp9E/RsSdBfiV31LbzaOg==",
"dev": true,
"requires": {
@ -6112,7 +6252,7 @@
},
"jest-environment-jsdom": {
"version": "22.4.3",
"resolved": "http://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-22.4.3.tgz",
"resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-22.4.3.tgz",
"integrity": "sha512-FviwfR+VyT3Datf13+ULjIMO5CSeajlayhhYQwpzgunswoaLIPutdbrnfUHEMyJCwvqQFaVtTmn9+Y8WCt6n1w==",
"dev": true,
"requires": {
@ -6133,13 +6273,13 @@
},
"jest-get-type": {
"version": "22.4.3",
"resolved": "http://registry.npmjs.org/jest-get-type/-/jest-get-type-22.4.3.tgz",
"resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-22.4.3.tgz",
"integrity": "sha512-/jsz0Y+V29w1chdXVygEKSz2nBoHoYqNShPe+QgxSNjAuP1i8+k4LbQNrfoliKej0P45sivkSCh7yiD6ubHS3w==",
"dev": true
},
"jest-haste-map": {
"version": "22.4.3",
"resolved": "http://registry.npmjs.org/jest-haste-map/-/jest-haste-map-22.4.3.tgz",
"resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-22.4.3.tgz",
"integrity": "sha512-4Q9fjzuPVwnaqGKDpIsCSoTSnG3cteyk2oNVjBX12HHOaF1oxql+uUiqZb5Ndu7g/vTZfdNwwy4WwYogLh29DQ==",
"dev": true,
"requires": {
@ -6329,7 +6469,7 @@
},
"jest-leak-detector": {
"version": "22.4.3",
"resolved": "http://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-22.4.3.tgz",
"resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-22.4.3.tgz",
"integrity": "sha512-NZpR/Ls7+ndO57LuXROdgCGz2RmUdC541tTImL9bdUtU3WadgFGm0yV+Ok4Fuia/1rLAn5KaJ+i76L6e3zGJYQ==",
"dev": true,
"requires": {
@ -6338,7 +6478,7 @@
},
"jest-matcher-utils": {
"version": "22.4.3",
"resolved": "http://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-22.4.3.tgz",
"resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-22.4.3.tgz",
"integrity": "sha512-lsEHVaTnKzdAPR5t4B6OcxXo9Vy4K+kRRbG5gtddY8lBEC+Mlpvm1CJcsMESRjzUhzkz568exMV1hTB76nAKbA==",
"dev": true,
"requires": {
@ -6386,7 +6526,7 @@
},
"jest-message-util": {
"version": "22.4.3",
"resolved": "http://registry.npmjs.org/jest-message-util/-/jest-message-util-22.4.3.tgz",
"resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-22.4.3.tgz",
"integrity": "sha512-iAMeKxhB3Se5xkSjU0NndLLCHtP4n+GtCqV0bISKA5dmOXQfEbdEmYiu2qpnWBDCQdEafNDDU6Q+l6oBMd/+BA==",
"dev": true,
"requires": {
@ -6525,13 +6665,13 @@
},
"jest-mock": {
"version": "22.4.3",
"resolved": "http://registry.npmjs.org/jest-mock/-/jest-mock-22.4.3.tgz",
"resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-22.4.3.tgz",
"integrity": "sha512-+4R6mH5M1G4NK16CKg9N1DtCaFmuxhcIqF4lQK/Q1CIotqMs/XBemfpDPeVZBFow6iyUNu6EBT9ugdNOTT5o5Q==",
"dev": true
},
"jest-regex-util": {
"version": "22.4.3",
"resolved": "http://registry.npmjs.org/jest-regex-util/-/jest-regex-util-22.4.3.tgz",
"resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-22.4.3.tgz",
"integrity": "sha512-LFg1gWr3QinIjb8j833bq7jtQopiwdAs67OGfkPrvy7uNUbVMfTXXcOKXJaeY5GgjobELkKvKENqq1xrUectWg==",
"dev": true
},
@ -6584,7 +6724,7 @@
},
"jest-resolve-dependencies": {
"version": "22.4.3",
"resolved": "http://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-22.4.3.tgz",
"resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-22.4.3.tgz",
"integrity": "sha512-06czCMVToSN8F2U4EvgSB1Bv/56gc7MpCftZ9z9fBgUQM7dzHGCMBsyfVA6dZTx8v0FDcnALf7hupeQxaBCvpA==",
"dev": true,
"requires": {
@ -6784,7 +6924,7 @@
},
"jest-snapshot": {
"version": "22.4.3",
"resolved": "http://registry.npmjs.org/jest-snapshot/-/jest-snapshot-22.4.3.tgz",
"resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-22.4.3.tgz",
"integrity": "sha512-JXA0gVs5YL0HtLDCGa9YxcmmV2LZbwJ+0MfyXBBc5qpgkEYITQFJP7XNhcHFbUvRiniRpRbGVfJrOoYhhGE0RQ==",
"dev": true,
"requires": {
@ -6835,7 +6975,7 @@
},
"jest-util": {
"version": "22.4.3",
"resolved": "http://registry.npmjs.org/jest-util/-/jest-util-22.4.3.tgz",
"resolved": "https://registry.npmjs.org/jest-util/-/jest-util-22.4.3.tgz",
"integrity": "sha512-rfDfG8wyC5pDPNdcnAlZgwKnzHvZDu8Td2NJI/jAGKEGxJPYiE4F0ss/gSAkG4778Y23Hvbz+0GMrDJTeo7RjQ==",
"dev": true,
"requires": {
@ -6949,7 +7089,7 @@
},
"jest-worker": {
"version": "22.4.3",
"resolved": "http://registry.npmjs.org/jest-worker/-/jest-worker-22.4.3.tgz",
"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-22.4.3.tgz",
"integrity": "sha512-B1ucW4fI8qVAuZmicFxI1R3kr2fNeYJyvIQ1rKcuLYnenFV5K5aMbxFj6J0i00Ju83S8jP2d7Dz14+AvbIHRYQ==",
"dev": true,
"requires": {
@ -7717,7 +7857,7 @@
},
"minimist": {
"version": "1.2.0",
"resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
"dev": true
},
@ -7744,7 +7884,7 @@
},
"mkdirp": {
"version": "0.5.1",
"resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
"requires": {
"minimist": "0.0.8"
@ -7822,7 +7962,7 @@
},
"mocha-teamcity-reporter": {
"version": "1.1.1",
"resolved": "http://registry.npmjs.org/mocha-teamcity-reporter/-/mocha-teamcity-reporter-1.1.1.tgz",
"resolved": "https://registry.npmjs.org/mocha-teamcity-reporter/-/mocha-teamcity-reporter-1.1.1.tgz",
"integrity": "sha1-aW5ns9PTv3Iiw2CPNSNTf4VBFDk=",
"dev": true,
"requires": {
@ -7939,7 +8079,7 @@
},
"node.extend": {
"version": "1.0.8",
"resolved": "http://registry.npmjs.org/node.extend/-/node.extend-1.0.8.tgz",
"resolved": "https://registry.npmjs.org/node.extend/-/node.extend-1.0.8.tgz",
"integrity": "sha1-urBDefc4P0WHmQyd8Htqf2Xbdys=",
"dev": true,
"requires": {
@ -8292,7 +8432,7 @@
},
"os-tmpdir": {
"version": "1.0.2",
"resolved": "http://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
"resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
"integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
"dev": true
},
@ -8432,7 +8572,7 @@
},
"path-is-absolute": {
"version": "1.0.1",
"resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
},
"path-is-inside": {
@ -8510,7 +8650,7 @@
},
"pify": {
"version": "2.3.0",
"resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
"dev": true
},
@ -8605,7 +8745,7 @@
},
"pretty-format": {
"version": "22.4.3",
"resolved": "http://registry.npmjs.org/pretty-format/-/pretty-format-22.4.3.tgz",
"resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-22.4.3.tgz",
"integrity": "sha512-S4oT9/sT6MN7/3COoOy+ZJeA92VmOnveLHgrwBE3Z1W5N9S2A1QGNYiE1z75DAENbJrXXUb+OWXhpJcg05QKQQ==",
"dev": true,
"requires": {
@ -8819,7 +8959,7 @@
},
"readable-stream": {
"version": "1.1.14",
"resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
"dev": true,
"requires": {
@ -9087,7 +9227,7 @@
},
"req-cwd": {
"version": "1.0.1",
"resolved": "http://registry.npmjs.org/req-cwd/-/req-cwd-1.0.1.tgz",
"resolved": "https://registry.npmjs.org/req-cwd/-/req-cwd-1.0.1.tgz",
"integrity": "sha1-DXOurpJm5penj3l2AZZ352rPD/8=",
"dev": true,
"requires": {
@ -9096,7 +9236,7 @@
},
"req-from": {
"version": "1.0.1",
"resolved": "http://registry.npmjs.org/req-from/-/req-from-1.0.1.tgz",
"resolved": "https://registry.npmjs.org/req-from/-/req-from-1.0.1.tgz",
"integrity": "sha1-v4HaUUeUfTLRO5R9wSpYrUWHNQ4=",
"dev": true,
"requires": {
@ -9461,7 +9601,7 @@
},
"sinon": {
"version": "1.17.7",
"resolved": "http://registry.npmjs.org/sinon/-/sinon-1.17.7.tgz",
"resolved": "https://registry.npmjs.org/sinon/-/sinon-1.17.7.tgz",
"integrity": "sha1-RUKk9JugxFwF6y6d2dID4rjv4L8=",
"dev": true,
"requires": {
@ -9592,7 +9732,7 @@
},
"source-map": {
"version": "0.5.2",
"resolved": "http://registry.npmjs.org/source-map/-/source-map-0.5.2.tgz",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.2.tgz",
"integrity": "sha1-67bl6HQk9Jetb5csY4nqzzwMvgA="
},
"source-map-resolve": {
@ -9668,9 +9808,9 @@
"dev": true
},
"split": {
"version": "0.3.3",
"resolved": "http://registry.npmjs.org/split/-/split-0.3.3.tgz",
"integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=",
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz",
"integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==",
"dev": true,
"requires": {
"through": "2"
@ -9748,12 +9888,13 @@
"dev": true
},
"stream-combiner": {
"version": "0.0.4",
"resolved": "http://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz",
"integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=",
"version": "0.2.2",
"resolved": "http://registry.npmjs.org/stream-combiner/-/stream-combiner-0.2.2.tgz",
"integrity": "sha1-rsjLrBd7Vrb0+kec7YwZEs7lKFg=",
"dev": true,
"requires": {
"duplexer": "~0.1.1"
"duplexer": "~0.1.1",
"through": "~2.3.4"
}
},
"stream-consume": {
@ -9785,7 +9926,7 @@
},
"readable-stream": {
"version": "2.3.6",
"resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
"dev": true,
"requires": {
@ -9887,7 +10028,7 @@
},
"strip-ansi": {
"version": "3.0.1",
"resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
"dev": true,
"requires": {
@ -9968,7 +10109,7 @@
},
"tar": {
"version": "2.2.1",
"resolved": "http://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
"resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
"integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=",
"dev": true,
"requires": {
@ -9989,7 +10130,7 @@
"dependencies": {
"rimraf": {
"version": "2.2.8",
"resolved": "http://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz",
"integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=",
"dev": true
}
@ -10134,7 +10275,7 @@
},
"through": {
"version": "2.3.8",
"resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz",
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
"integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
"dev": true
},
@ -10156,7 +10297,7 @@
},
"readable-stream": {
"version": "2.3.6",
"resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
"dev": true,
"requires": {
@ -10644,7 +10785,7 @@
},
"typechecker": {
"version": "2.0.8",
"resolved": "http://registry.npmjs.org/typechecker/-/typechecker-2.0.8.tgz",
"resolved": "https://registry.npmjs.org/typechecker/-/typechecker-2.0.8.tgz",
"integrity": "sha1-6D2oS7ZMWEzLNFg4V2xAsDN9uC4="
},
"typed-rest-client": {
@ -11267,6 +11408,11 @@
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
},
"vscode-nls": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-2.0.2.tgz",
"integrity": "sha1-gIUiOAhEuK0VNJmvXDsDkhrqAto="
},
"ws": {
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz",
@ -11294,7 +11440,7 @@
},
"vscode-extension-telemetry": {
"version": "0.0.5",
"resolved": "http://registry.npmjs.org/vscode-extension-telemetry/-/vscode-extension-telemetry-0.0.5.tgz",
"resolved": "https://registry.npmjs.org/vscode-extension-telemetry/-/vscode-extension-telemetry-0.0.5.tgz",
"integrity": "sha1-IeKrtMvOMybkad27MiEjs3AvP4U=",
"requires": {
"applicationinsights": "0.15.6",
@ -11302,9 +11448,80 @@
}
},
"vscode-nls": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-2.0.2.tgz",
"integrity": "sha1-gIUiOAhEuK0VNJmvXDsDkhrqAto="
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-4.0.0.tgz",
"integrity": "sha512-qCfdzcH+0LgQnBpZA53bA32kzp9rpq/f66Som577ObeuDlFIrtbEJ+A/+CCxjIh4G8dpJYNCKIsxpRAHIfsbNw=="
},
"vscode-nls-dev": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/vscode-nls-dev/-/vscode-nls-dev-3.2.2.tgz",
"integrity": "sha512-6XyESZOyNowLza/fV6Kfmwx0+0iNwa4OkTsBRepwP+eaR7JYnf/ohPaFDX7Egqe4330swtRDCbqr+7i3Q9/TvA==",
"dev": true,
"requires": {
"clone": "^2.1.1",
"event-stream": "^3.3.4",
"glob": "^7.1.2",
"gulp-util": "^3.0.8",
"iconv-lite": "^0.4.19",
"is": "^3.2.1",
"source-map": "^0.6.1",
"typescript": "^2.6.2",
"vinyl": "^2.1.0",
"xml2js": "^0.4.19",
"yargs": "^10.1.1"
},
"dependencies": {
"clone": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
"integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=",
"dev": true
},
"clone-stats": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz",
"integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=",
"dev": true
},
"is": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/is/-/is-3.2.1.tgz",
"integrity": "sha1-0Kwq1V63sL7JJqUmb2xmKqqD3KU=",
"dev": true
},
"replace-ext": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz",
"integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=",
"dev": true
},
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
},
"typescript": {
"version": "2.9.2",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.2.tgz",
"integrity": "sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w==",
"dev": true
},
"vinyl": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.0.tgz",
"integrity": "sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg==",
"dev": true,
"requires": {
"clone": "^2.1.1",
"clone-buffer": "^1.0.0",
"clone-stats": "^1.0.0",
"cloneable-readable": "^1.0.0",
"remove-trailing-separator": "^1.0.1",
"replace-ext": "^1.0.0"
}
}
}
},
"vso-node-api": {
"version": "6.1.2-preview",
@ -11491,6 +11708,22 @@
"integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==",
"dev": true
},
"xml2js": {
"version": "0.4.19",
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz",
"integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==",
"dev": true,
"requires": {
"sax": ">=0.6.0",
"xmlbuilder": "~9.0.1"
}
},
"xmlbuilder": {
"version": "9.0.7",
"resolved": "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz",
"integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=",
"dev": true
},
"xregexp": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/xregexp/-/xregexp-3.1.0.tgz",

Просмотреть файл

@ -524,6 +524,7 @@
"vscode-debugadapter": "^1.23.0",
"vscode-debugprotocol": "^1.23.0",
"vscode-extension-telemetry": "0.0.5",
"vscode-nls": "^4.0.0",
"ws": "^3.2.0"
},
"devDependencies": {
@ -538,6 +539,7 @@
"@types/ws": "^0.0.39",
"ansi-colors": "^3.1.0",
"del": "^2.2.0",
"event-stream": "3.3.4",
"fancy-log": "^1.3.2",
"gulp": "^3.9.1",
"gulp-install": "^1.1.0",
@ -570,7 +572,8 @@
"tslint-microsoft-contrib": "^5.0.2",
"typescript": "2.4.2",
"vsce": "^1.3.0",
"vscode": "^1.1.22"
"vscode": "^1.1.22",
"vscode-nls-dev": "3.2.2"
},
"extensionDependencies": [
"ms-vscode.node-debug2"