From b3751fbedabb41493285da03abc90c3e8d62731e Mon Sep 17 00:00:00 2001 From: Michael Aird Date: Fri, 18 May 2018 16:50:52 -0400 Subject: [PATCH 01/14] Handle d.ts.map files --- lib/compiler.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/compiler.ts b/lib/compiler.ts index e1538172..976b5daa 100644 --- a/lib/compiler.ts +++ b/lib/compiler.ts @@ -18,9 +18,11 @@ interface OutputFile { jsFileName?: string; dtsFileName?: string; + dtsMapFileName?: string; jsContent?: string; jsMapContent?: string; dtsContent?: string; + dtsMapContent?: string; } /** @@ -149,7 +151,7 @@ export class ProjectCompiler implements ICompiler { result.emitSkipped = emitOutput.emitSkipped; } - private emitFile({ file, jsFileName, dtsFileName, jsContent, dtsContent, jsMapContent }: OutputFile, currentDirectory: string) { + private emitFile({ file, jsFileName, dtsFileName, dtsMapFileName, jsContent, dtsContent, dtsMapContent, jsMapContent }: OutputFile, currentDirectory: string) { if (!jsFileName) return; let base: string; @@ -186,6 +188,9 @@ export class ProjectCompiler implements ICompiler { if (dtsContent !== undefined) { this.project.output.writeDts(baseDeclarations, dtsFileName, dtsContent, file ? file.gulp.cwd : currentDirectory); } + if (dtsMapContent !== undefined) { + this.project.output.writeDts(baseDeclarations, dtsMapFileName, dtsMapContent, file ? file.gulp.cwd : currentDirectory); + } } private reportDiagnostics(diagnostics: ReadonlyArray) { From 43e3a72cad50b8cf7279e211cbb590f4a4b91c02 Mon Sep 17 00:00:00 2001 From: Michael Aird Date: Fri, 18 May 2018 20:43:53 -0400 Subject: [PATCH 02/14] Added tests --- .gitmodules | 6 +++++ .vscode/tasks.json | 22 ------------------- gulpfile.js | 6 +++-- lib/compiler.ts | 6 ++++- test/baselines/base/2.9/errors.txt | 18 +++++++++++++++ test/baselines/base/2.9/js/a.js | 1 + test/baselines/basic/2.9/dts/other-3.d.ts | 3 +++ test/baselines/basic/2.9/dts/test-3.d.ts | 1 + test/baselines/basic/2.9/errors.txt | 10 +++++++++ test/baselines/basic/2.9/js/other-3.js | 12 ++++++++++ test/baselines/basic/2.9/js/other-3.js.map | 1 + test/baselines/basic/2.9/js/test-3.js | 8 +++++++ test/baselines/basic/2.9/js/test-3.js.map | 1 + test/baselines/bom/2.9/errors.txt | 10 +++++++++ test/baselines/bom/2.9/js/test-bom.js | 1 + test/baselines/errorReporting/2.9/errors.txt | 15 +++++++++++++ .../baselines/errorReporting/2.9/js/test-4.js | 8 +++++++ .../errorReporting/2.9/js/test-4.js.map | 1 + .../existingSourceMaps/2.9/errors.txt | 10 +++++++++ .../existingSourceMaps/2.9/js/all.js | 12 ++++++++++ .../existingSourceMaps/2.9/js/all.js.map | 1 + .../externalResolve/2.9/dts/test-2.d.ts | 2 ++ test/baselines/externalResolve/2.9/errors.txt | 10 +++++++++ .../externalResolve/2.9/js/test-2.js | 10 +++++++++ .../externalResolve/2.9/js/test-2.js.map | 1 + test/baselines/isolatedModules/2.9/errors.txt | 11 ++++++++++ .../isolatedModules/2.9/js/other-3.js | 11 ++++++++++ .../isolatedModules/2.9/js/other-3.js.map | 1 + .../isolatedModules/2.9/js/test-3.js | 7 ++++++ .../isolatedModules/2.9/js/test-3.js.map | 1 + test/baselines/noEmit/2.9/errors.txt | 12 ++++++++++ test/baselines/out/2.9/dts/concat.d.ts | 5 +++++ test/baselines/out/2.9/errors.txt | 10 +++++++++ test/baselines/out/2.9/js/concat.js | 7 ++++++ test/baselines/out/2.9/js/concat.js.map | 1 + test/baselines/sourceMaps/2.9/errors.txt | 10 +++++++++ .../sourceMaps/2.9/js/Main/MainFile.js | 8 +++++++ .../sourceMaps/2.9/js/Main/MainFile.js.map | 1 + .../sourceMaps/2.9/js/Main/MainFileTsx.js | 8 +++++++ .../sourceMaps/2.9/js/Main/MainFileTsx.js.map | 1 + .../sourceMaps/2.9/js/Main/sub/sub.js | 3 +++ .../sourceMaps/2.9/js/Main/sub/sub.js.map | 1 + .../baselines/sourceMapsOutDir/2.9/errors.txt | 10 +++++++++ .../sourceMapsOutDir/2.9/js/dist/main.js | 3 +++ .../sourceMapsOutDir/2.9/js/dist/main.js.map | 1 + .../2.9/js/dist/sub/second.js | 3 +++ .../2.9/js/dist/sub/second.js.map | 1 + .../2.3/dts/outFile.d.ts | 3 +++ .../tsconfigDeclarationMap/2.3/errors.txt | 10 +++++++++ .../tsconfigDeclarationMap/2.3/js/outFile.js | 5 +++++ .../2.7/dts/outFile.d.ts | 3 +++ .../tsconfigDeclarationMap/2.7/errors.txt | 10 +++++++++ .../tsconfigDeclarationMap/2.7/js/outFile.js | 5 +++++ .../2.9/dts/outFile.d.ts | 4 ++++ .../2.9/dts/outFile.d.ts.map | 1 + .../tsconfigDeclarationMap/2.9/errors.txt | 10 +++++++++ .../tsconfigDeclarationMap/2.9/js/outFile.js | 5 +++++ .../dev/dts/outFile.d.ts | 3 +++ .../tsconfigDeclarationMap/dev/errors.txt | 10 +++++++++ .../tsconfigDeclarationMap/dev/js/outFile.js | 5 +++++ .../tsconfigExtends/2.9/dts/other-3.d.ts | 3 +++ .../tsconfigExtends/2.9/dts/test-3.d.ts | 1 + test/baselines/tsconfigExtends/2.9/errors.txt | 10 +++++++++ .../tsconfigExtends/2.9/js/other-3.js | 12 ++++++++++ .../tsconfigExtends/2.9/js/other-3.js.map | 1 + .../tsconfigExtends/2.9/js/test-3.js | 8 +++++++ .../tsconfigExtends/2.9/js/test-3.js.map | 1 + test/baselines/tsconfigInclude/2.9/errors.txt | 12 ++++++++++ test/baselines/tsconfigInclude/2.9/out.js | 2 ++ test/baselines/tsconfigOutFile/2.9/errors.txt | 10 +++++++++ .../tsconfigOutFile/2.9/js/outFile.js | 7 ++++++ .../tsconfigOutFile/2.9/js/outFile.js.map | 1 + test/tsconfigDeclarationMap/gulptask.js | 16 ++++++++++++++ test/tsconfigDeclarationMap/src/app/bar.ts | 3 +++ test/tsconfigDeclarationMap/src/tsconfig.json | 8 +++++++ typescript/2.9 | 1 + 76 files changed, 437 insertions(+), 25 deletions(-) delete mode 100644 .vscode/tasks.json create mode 100644 test/baselines/base/2.9/errors.txt create mode 100644 test/baselines/base/2.9/js/a.js create mode 100644 test/baselines/basic/2.9/dts/other-3.d.ts create mode 100644 test/baselines/basic/2.9/dts/test-3.d.ts create mode 100644 test/baselines/basic/2.9/errors.txt create mode 100644 test/baselines/basic/2.9/js/other-3.js create mode 100644 test/baselines/basic/2.9/js/other-3.js.map create mode 100644 test/baselines/basic/2.9/js/test-3.js create mode 100644 test/baselines/basic/2.9/js/test-3.js.map create mode 100644 test/baselines/bom/2.9/errors.txt create mode 100644 test/baselines/bom/2.9/js/test-bom.js create mode 100644 test/baselines/errorReporting/2.9/errors.txt create mode 100644 test/baselines/errorReporting/2.9/js/test-4.js create mode 100644 test/baselines/errorReporting/2.9/js/test-4.js.map create mode 100644 test/baselines/existingSourceMaps/2.9/errors.txt create mode 100644 test/baselines/existingSourceMaps/2.9/js/all.js create mode 100644 test/baselines/existingSourceMaps/2.9/js/all.js.map create mode 100644 test/baselines/externalResolve/2.9/dts/test-2.d.ts create mode 100644 test/baselines/externalResolve/2.9/errors.txt create mode 100644 test/baselines/externalResolve/2.9/js/test-2.js create mode 100644 test/baselines/externalResolve/2.9/js/test-2.js.map create mode 100644 test/baselines/isolatedModules/2.9/errors.txt create mode 100644 test/baselines/isolatedModules/2.9/js/other-3.js create mode 100644 test/baselines/isolatedModules/2.9/js/other-3.js.map create mode 100644 test/baselines/isolatedModules/2.9/js/test-3.js create mode 100644 test/baselines/isolatedModules/2.9/js/test-3.js.map create mode 100644 test/baselines/noEmit/2.9/errors.txt create mode 100644 test/baselines/out/2.9/dts/concat.d.ts create mode 100644 test/baselines/out/2.9/errors.txt create mode 100644 test/baselines/out/2.9/js/concat.js create mode 100644 test/baselines/out/2.9/js/concat.js.map create mode 100644 test/baselines/sourceMaps/2.9/errors.txt create mode 100644 test/baselines/sourceMaps/2.9/js/Main/MainFile.js create mode 100644 test/baselines/sourceMaps/2.9/js/Main/MainFile.js.map create mode 100644 test/baselines/sourceMaps/2.9/js/Main/MainFileTsx.js create mode 100644 test/baselines/sourceMaps/2.9/js/Main/MainFileTsx.js.map create mode 100644 test/baselines/sourceMaps/2.9/js/Main/sub/sub.js create mode 100644 test/baselines/sourceMaps/2.9/js/Main/sub/sub.js.map create mode 100644 test/baselines/sourceMapsOutDir/2.9/errors.txt create mode 100644 test/baselines/sourceMapsOutDir/2.9/js/dist/main.js create mode 100644 test/baselines/sourceMapsOutDir/2.9/js/dist/main.js.map create mode 100644 test/baselines/sourceMapsOutDir/2.9/js/dist/sub/second.js create mode 100644 test/baselines/sourceMapsOutDir/2.9/js/dist/sub/second.js.map create mode 100644 test/baselines/tsconfigDeclarationMap/2.3/dts/outFile.d.ts create mode 100644 test/baselines/tsconfigDeclarationMap/2.3/errors.txt create mode 100644 test/baselines/tsconfigDeclarationMap/2.3/js/outFile.js create mode 100644 test/baselines/tsconfigDeclarationMap/2.7/dts/outFile.d.ts create mode 100644 test/baselines/tsconfigDeclarationMap/2.7/errors.txt create mode 100644 test/baselines/tsconfigDeclarationMap/2.7/js/outFile.js create mode 100644 test/baselines/tsconfigDeclarationMap/2.9/dts/outFile.d.ts create mode 100644 test/baselines/tsconfigDeclarationMap/2.9/dts/outFile.d.ts.map create mode 100644 test/baselines/tsconfigDeclarationMap/2.9/errors.txt create mode 100644 test/baselines/tsconfigDeclarationMap/2.9/js/outFile.js create mode 100644 test/baselines/tsconfigDeclarationMap/dev/dts/outFile.d.ts create mode 100644 test/baselines/tsconfigDeclarationMap/dev/errors.txt create mode 100644 test/baselines/tsconfigDeclarationMap/dev/js/outFile.js create mode 100644 test/baselines/tsconfigExtends/2.9/dts/other-3.d.ts create mode 100644 test/baselines/tsconfigExtends/2.9/dts/test-3.d.ts create mode 100644 test/baselines/tsconfigExtends/2.9/errors.txt create mode 100644 test/baselines/tsconfigExtends/2.9/js/other-3.js create mode 100644 test/baselines/tsconfigExtends/2.9/js/other-3.js.map create mode 100644 test/baselines/tsconfigExtends/2.9/js/test-3.js create mode 100644 test/baselines/tsconfigExtends/2.9/js/test-3.js.map create mode 100644 test/baselines/tsconfigInclude/2.9/errors.txt create mode 100644 test/baselines/tsconfigInclude/2.9/out.js create mode 100644 test/baselines/tsconfigOutFile/2.9/errors.txt create mode 100644 test/baselines/tsconfigOutFile/2.9/js/outFile.js create mode 100644 test/baselines/tsconfigOutFile/2.9/js/outFile.js.map create mode 100644 test/tsconfigDeclarationMap/gulptask.js create mode 100644 test/tsconfigDeclarationMap/src/app/bar.ts create mode 100644 test/tsconfigDeclarationMap/src/tsconfig.json create mode 160000 typescript/2.9 diff --git a/.gitmodules b/.gitmodules index f9d89928..9535de4b 100644 --- a/.gitmodules +++ b/.gitmodules @@ -5,3 +5,9 @@ [submodule "typescript/2.3"] path = typescript/2.3 url = https://github.com/Microsoft/TypeScript.git +[submodule "2.9"] + path = 2.9 + url = https://github.com/Microsoft/TypeScript +[submodule "typescript/2.9"] + path = typescript/2.9 + url = https://github.com/Microsoft/TypeScript diff --git a/.vscode/tasks.json b/.vscode/tasks.json deleted file mode 100644 index 12c3614e..00000000 --- a/.vscode/tasks.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "version": "0.1.0", - "command": "gulp", - "isShellCommand": true, - "args": [ - "--no-color" - ], - "tasks": [ - { - "taskName": "scripts", - "isBuildCommand": true, - "args": [], - "problemMatcher": ["$tsc"] - }, - { - "taskName": "test", - "isTestCommand": true, - "args": [], - "problemMatcher": ["$tsc"] - } - ] -} \ No newline at end of file diff --git a/gulpfile.js b/gulpfile.js index f6d04298..0ea4df51 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -11,6 +11,7 @@ const diff = require('gulp-diff'); const tsVersions = { dev: './typescript/dev', release23: './typescript/2.3', + release29: './typescript/2.9' }; function findTSDefinition(location) { @@ -73,8 +74,9 @@ gulp.task('typecheck', ['typecheck-dev', 'typecheck-2.3']); // We run every test on multiple typescript versions: const libs = [ - ['2.7', undefined], - ['2.3', require(tsVersions.release23)], + ['2.7', undefined], + ['2.3', require(tsVersions.release23)], + ['2.9', require(tsVersions.release29)], ['dev', require(tsVersions.dev)] ]; diff --git a/lib/compiler.ts b/lib/compiler.ts index 976b5daa..906d3ef7 100644 --- a/lib/compiler.ts +++ b/lib/compiler.ts @@ -127,13 +127,17 @@ export class ProjectCompiler implements ICompiler { } private attachContentToFile(file: OutputFile, fileName: string, content: string) { - const [, extension] = utils.splitExtension(fileName, ['d.ts']); + const [, extension] = utils.splitExtension(fileName, ['d.ts', 'd.ts.map']); switch (extension) { case 'js': case 'jsx': file.jsFileName = fileName; file.jsContent = content; break; + case 'd.ts.map': + file.dtsMapFileName = fileName; + file.dtsMapContent = content; + break; case 'd.ts': file.dtsFileName = fileName; file.dtsContent = content; diff --git a/test/baselines/base/2.9/errors.txt b/test/baselines/base/2.9/errors.txt new file mode 100644 index 00000000..4c350d69 --- /dev/null +++ b/test/baselines/base/2.9/errors.txt @@ -0,0 +1,18 @@ +TypeScript error: error TS2318: Cannot find global type 'Array'. +TypeScript error: error TS2318: Cannot find global type 'Boolean'. +TypeScript error: error TS2318: Cannot find global type 'Function'. +TypeScript error: error TS2318: Cannot find global type 'IArguments'. +TypeScript error: error TS2318: Cannot find global type 'Number'. +TypeScript error: error TS2318: Cannot find global type 'Object'. +TypeScript error: error TS2318: Cannot find global type 'RegExp'. +TypeScript error: error TS2318: Cannot find global type 'String'. +{ + "transpileErrors": 0, + "optionsErrors": 0, + "syntaxErrors": 0, + "globalErrors": 8, + "semanticErrors": 0, + "declarationErrors": 0, + "emitErrors": 0, + "emitSkipped": false +} \ No newline at end of file diff --git a/test/baselines/base/2.9/js/a.js b/test/baselines/base/2.9/js/a.js new file mode 100644 index 00000000..dc8896ed --- /dev/null +++ b/test/baselines/base/2.9/js/a.js @@ -0,0 +1 @@ +var x = {}; diff --git a/test/baselines/basic/2.9/dts/other-3.d.ts b/test/baselines/basic/2.9/dts/other-3.d.ts new file mode 100644 index 00000000..b3a0b19d --- /dev/null +++ b/test/baselines/basic/2.9/dts/other-3.d.ts @@ -0,0 +1,3 @@ +export declare class Hello { + value: string; +} diff --git a/test/baselines/basic/2.9/dts/test-3.d.ts b/test/baselines/basic/2.9/dts/test-3.d.ts new file mode 100644 index 00000000..cb0ff5c3 --- /dev/null +++ b/test/baselines/basic/2.9/dts/test-3.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/test/baselines/basic/2.9/errors.txt b/test/baselines/basic/2.9/errors.txt new file mode 100644 index 00000000..504a3a8a --- /dev/null +++ b/test/baselines/basic/2.9/errors.txt @@ -0,0 +1,10 @@ +{ + "transpileErrors": 0, + "optionsErrors": 0, + "syntaxErrors": 0, + "globalErrors": 0, + "semanticErrors": 0, + "declarationErrors": 0, + "emitErrors": 0, + "emitSkipped": false +} \ No newline at end of file diff --git a/test/baselines/basic/2.9/js/other-3.js b/test/baselines/basic/2.9/js/other-3.js new file mode 100644 index 00000000..954e7bd1 --- /dev/null +++ b/test/baselines/basic/2.9/js/other-3.js @@ -0,0 +1,12 @@ +define(["require", "exports"], function (require, exports) { + "use strict"; + exports.__esModule = true; + var Hello = /** @class */ (function () { + function Hello() { + } + return Hello; + }()); + exports.Hello = Hello; +}); + +//# sourceMappingURL=other-3.js.map diff --git a/test/baselines/basic/2.9/js/other-3.js.map b/test/baselines/basic/2.9/js/other-3.js.map new file mode 100644 index 00000000..3f884110 --- /dev/null +++ b/test/baselines/basic/2.9/js/other-3.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../other-3.ts"],"names":[],"mappings":";;;IAAA;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAFA,AAEC,IAAA;IAFY,sBAAK","file":"other-3.js","sourcesContent":["export class Hello {\n\tvalue: string;\n}"],"sourceRoot":"../../../../basic/"} \ No newline at end of file diff --git a/test/baselines/basic/2.9/js/test-3.js b/test/baselines/basic/2.9/js/test-3.js new file mode 100644 index 00000000..44d147aa --- /dev/null +++ b/test/baselines/basic/2.9/js/test-3.js @@ -0,0 +1,8 @@ +define(["require", "exports", "./other-3"], function (require, exports, other) { + "use strict"; + exports.__esModule = true; + var a = new other.Hello(); + console.log(a.value); +}); + +//# sourceMappingURL=test-3.js.map diff --git a/test/baselines/basic/2.9/js/test-3.js.map b/test/baselines/basic/2.9/js/test-3.js.map new file mode 100644 index 00000000..ee89706f --- /dev/null +++ b/test/baselines/basic/2.9/js/test-3.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../test-3.ts"],"names":[],"mappings":";;;IAEA,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;IAC1B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC","file":"test-3.js","sourcesContent":["import other = require('./other-3');\n\nvar a = new other.Hello();\nconsole.log(a.value);"],"sourceRoot":"../../../../basic/"} \ No newline at end of file diff --git a/test/baselines/bom/2.9/errors.txt b/test/baselines/bom/2.9/errors.txt new file mode 100644 index 00000000..504a3a8a --- /dev/null +++ b/test/baselines/bom/2.9/errors.txt @@ -0,0 +1,10 @@ +{ + "transpileErrors": 0, + "optionsErrors": 0, + "syntaxErrors": 0, + "globalErrors": 0, + "semanticErrors": 0, + "declarationErrors": 0, + "emitErrors": 0, + "emitSkipped": false +} \ No newline at end of file diff --git a/test/baselines/bom/2.9/js/test-bom.js b/test/baselines/bom/2.9/js/test-bom.js new file mode 100644 index 00000000..526b86c7 --- /dev/null +++ b/test/baselines/bom/2.9/js/test-bom.js @@ -0,0 +1 @@ +console.log('hello world!'); diff --git a/test/baselines/errorReporting/2.9/errors.txt b/test/baselines/errorReporting/2.9/errors.txt new file mode 100644 index 00000000..2c9b6a68 --- /dev/null +++ b/test/baselines/errorReporting/2.9/errors.txt @@ -0,0 +1,15 @@ +TypeScript error: test/errorReporting/test-4.ts(2,1): error TS2304: Cannot find name 'asdf'. +TypeScript error: test/errorReporting/test-4.ts(7,1): error TS2322: Type '{ y: string; }[][]' is not assignable to type '{ x: number; }[][]'. + Type '{ y: string; }[]' is not assignable to type '{ x: number; }[]'. + Type '{ y: string; }' is not assignable to type '{ x: number; }'. + Property 'x' is missing in type '{ y: string; }'. +{ + "transpileErrors": 0, + "optionsErrors": 0, + "syntaxErrors": 0, + "globalErrors": 0, + "semanticErrors": 2, + "declarationErrors": 0, + "emitErrors": 0, + "emitSkipped": false +} \ No newline at end of file diff --git a/test/baselines/errorReporting/2.9/js/test-4.js b/test/baselines/errorReporting/2.9/js/test-4.js new file mode 100644 index 00000000..9e317e1f --- /dev/null +++ b/test/baselines/errorReporting/2.9/js/test-4.js @@ -0,0 +1,8 @@ +// Simple error +asdf; +// Nested errors +var x = [[{ x: 0 }]]; +var y = [[{ y: "" }]]; +x = y; + +//# sourceMappingURL=test-4.js.map diff --git a/test/baselines/errorReporting/2.9/js/test-4.js.map b/test/baselines/errorReporting/2.9/js/test-4.js.map new file mode 100644 index 00000000..133c7b23 --- /dev/null +++ b/test/baselines/errorReporting/2.9/js/test-4.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["test-4.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,IAAI,CAAC;AAEL,gBAAgB;AAChB,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACrB,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AACtB,CAAC,GAAG,CAAC,CAAC","file":"test-4.js","sourceRoot":"../../../../errorReporting/"} \ No newline at end of file diff --git a/test/baselines/existingSourceMaps/2.9/errors.txt b/test/baselines/existingSourceMaps/2.9/errors.txt new file mode 100644 index 00000000..504a3a8a --- /dev/null +++ b/test/baselines/existingSourceMaps/2.9/errors.txt @@ -0,0 +1,10 @@ +{ + "transpileErrors": 0, + "optionsErrors": 0, + "syntaxErrors": 0, + "globalErrors": 0, + "semanticErrors": 0, + "declarationErrors": 0, + "emitErrors": 0, + "emitSkipped": false +} \ No newline at end of file diff --git a/test/baselines/existingSourceMaps/2.9/js/all.js b/test/baselines/existingSourceMaps/2.9/js/all.js new file mode 100644 index 00000000..1a6f6844 --- /dev/null +++ b/test/baselines/existingSourceMaps/2.9/js/all.js @@ -0,0 +1,12 @@ +var Apple = /** @class */ (function () { + function Apple() { + } + return Apple; +}()); +var Banana = /** @class */ (function () { + function Banana() { + } + return Banana; +}()); + +//# sourceMappingURL=all.js.map diff --git a/test/baselines/existingSourceMaps/2.9/js/all.js.map b/test/baselines/existingSourceMaps/2.9/js/all.js.map new file mode 100644 index 00000000..70694473 --- /dev/null +++ b/test/baselines/existingSourceMaps/2.9/js/all.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["apple.ts","banana.ts"],"names":[],"mappings":"AAAA;IAAA;IAAA,CAAA;IAAA,YAAA;AAAA,CAAA,IAAA;ACAA;IAAA;IAAA,CAAA;IAAA,aAAA;AAAA,CAAA,IAAA","file":"all.js","sourcesContent":["class Apple {}","class Banana {}"]} \ No newline at end of file diff --git a/test/baselines/externalResolve/2.9/dts/test-2.d.ts b/test/baselines/externalResolve/2.9/dts/test-2.d.ts new file mode 100644 index 00000000..a8bf206a --- /dev/null +++ b/test/baselines/externalResolve/2.9/dts/test-2.d.ts @@ -0,0 +1,2 @@ +/// +export {}; diff --git a/test/baselines/externalResolve/2.9/errors.txt b/test/baselines/externalResolve/2.9/errors.txt new file mode 100644 index 00000000..504a3a8a --- /dev/null +++ b/test/baselines/externalResolve/2.9/errors.txt @@ -0,0 +1,10 @@ +{ + "transpileErrors": 0, + "optionsErrors": 0, + "syntaxErrors": 0, + "globalErrors": 0, + "semanticErrors": 0, + "declarationErrors": 0, + "emitErrors": 0, + "emitSkipped": false +} \ No newline at end of file diff --git a/test/baselines/externalResolve/2.9/js/test-2.js b/test/baselines/externalResolve/2.9/js/test-2.js new file mode 100644 index 00000000..8d529f1f --- /dev/null +++ b/test/baselines/externalResolve/2.9/js/test-2.js @@ -0,0 +1,10 @@ +"use strict"; +exports.__esModule = true; +/// +var other = require("./other-2"); +var someModule = require("someModule"); +var a = new other.Hello(); +console.log(a.value); +console.log(someModule); + +//# sourceMappingURL=test-2.js.map diff --git a/test/baselines/externalResolve/2.9/js/test-2.js.map b/test/baselines/externalResolve/2.9/js/test-2.js.map new file mode 100644 index 00000000..f308550f --- /dev/null +++ b/test/baselines/externalResolve/2.9/js/test-2.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["test-2.ts"],"names":[],"mappings":";;AAAA,uCAAuC;AACvC,iCAAoC;AACpC,uCAA0C;AAE1C,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;AAC1B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAErB,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC","file":"test-2.js","sourcesContent":["/// \nimport other = require('./other-2');\nimport someModule = require('someModule');\n\nvar a = new other.Hello();\nconsole.log(a.value);\n\nconsole.log(someModule);\n"],"sourceRoot":"../../../../externalResolve/"} \ No newline at end of file diff --git a/test/baselines/isolatedModules/2.9/errors.txt b/test/baselines/isolatedModules/2.9/errors.txt new file mode 100644 index 00000000..3d6e1f78 --- /dev/null +++ b/test/baselines/isolatedModules/2.9/errors.txt @@ -0,0 +1,11 @@ +TypeScript error: test/isolatedModules/test-3.ts(2,1): error TS1128: Declaration or statement expected. +{ + "transpileErrors": 1, + "optionsErrors": 0, + "syntaxErrors": 0, + "globalErrors": 0, + "semanticErrors": 0, + "declarationErrors": 0, + "emitErrors": 0, + "emitSkipped": false +} \ No newline at end of file diff --git a/test/baselines/isolatedModules/2.9/js/other-3.js b/test/baselines/isolatedModules/2.9/js/other-3.js new file mode 100644 index 00000000..69e78cd0 --- /dev/null +++ b/test/baselines/isolatedModules/2.9/js/other-3.js @@ -0,0 +1,11 @@ +define(["require", "exports"], function (require, exports) { + "use strict"; + exports.__esModule = true; + var Hello = /** @class */ (function () { + function Hello() { + } + return Hello; + }()); + exports.Hello = Hello; +}); +//# sourceMappingURL=other-3.js.map diff --git a/test/baselines/isolatedModules/2.9/js/other-3.js.map b/test/baselines/isolatedModules/2.9/js/other-3.js.map new file mode 100644 index 00000000..e828029d --- /dev/null +++ b/test/baselines/isolatedModules/2.9/js/other-3.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["other-3.ts"],"names":[],"mappings":";;;IAAA;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAFA,AAEC,IAAA;IAFY,sBAAK","file":"other-3.js","sourcesContent":["export class Hello {\n\tvalue: string;\n}"],"sourceRoot":"../../../../isolatedModules/"} \ No newline at end of file diff --git a/test/baselines/isolatedModules/2.9/js/test-3.js b/test/baselines/isolatedModules/2.9/js/test-3.js new file mode 100644 index 00000000..49f24441 --- /dev/null +++ b/test/baselines/isolatedModules/2.9/js/test-3.js @@ -0,0 +1,7 @@ +define(["require", "exports", "./other-3"], function (require, exports, other) { + "use strict"; + exports.__esModule = true; + var a = new other.Hello(); + console.log(a.value); +}); +//# sourceMappingURL=test-3.js.map diff --git a/test/baselines/isolatedModules/2.9/js/test-3.js.map b/test/baselines/isolatedModules/2.9/js/test-3.js.map new file mode 100644 index 00000000..9b8d6c59 --- /dev/null +++ b/test/baselines/isolatedModules/2.9/js/test-3.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["test-3.ts"],"names":[],"mappings":";;;IAEA,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;IAC1B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC","file":"test-3.js","sourcesContent":["import other = require('./other-3');\n. // Syntax error\nvar a = new other.Hello();\nconsole.log(a.value);"],"sourceRoot":"../../../../isolatedModules/"} \ No newline at end of file diff --git a/test/baselines/noEmit/2.9/errors.txt b/test/baselines/noEmit/2.9/errors.txt new file mode 100644 index 00000000..20dcec29 --- /dev/null +++ b/test/baselines/noEmit/2.9/errors.txt @@ -0,0 +1,12 @@ +TypeScript error: test/noEmit/a.ts(1,14): error TS6131: Cannot compile modules using option 'outFile' unless the '--module' flag is 'amd' or 'system'. +{ + "transpileErrors": 0, + "optionsErrors": 0, + "syntaxErrors": 0, + "globalErrors": 0, + "semanticErrors": 1, + "declarationErrors": 0, + "emitErrors": 0, + "noEmit": true, + "emitSkipped": true +} \ No newline at end of file diff --git a/test/baselines/out/2.9/dts/concat.d.ts b/test/baselines/out/2.9/dts/concat.d.ts new file mode 100644 index 00000000..e978dc48 --- /dev/null +++ b/test/baselines/out/2.9/dts/concat.d.ts @@ -0,0 +1,5 @@ +declare class Hello { + value: string; +} +declare var a: Hello; +declare var b: Symbol; diff --git a/test/baselines/out/2.9/errors.txt b/test/baselines/out/2.9/errors.txt new file mode 100644 index 00000000..504a3a8a --- /dev/null +++ b/test/baselines/out/2.9/errors.txt @@ -0,0 +1,10 @@ +{ + "transpileErrors": 0, + "optionsErrors": 0, + "syntaxErrors": 0, + "globalErrors": 0, + "semanticErrors": 0, + "declarationErrors": 0, + "emitErrors": 0, + "emitSkipped": false +} \ No newline at end of file diff --git a/test/baselines/out/2.9/js/concat.js b/test/baselines/out/2.9/js/concat.js new file mode 100644 index 00000000..2ac2ca92 --- /dev/null +++ b/test/baselines/out/2.9/js/concat.js @@ -0,0 +1,7 @@ +class Hello { +} +var a = new Hello(); +console.log(a.value); +var b; // Target = ES6, so lib.es6.d.ts should be included. + +//# sourceMappingURL=concat.js.map diff --git a/test/baselines/out/2.9/js/concat.js.map b/test/baselines/out/2.9/js/concat.js.map new file mode 100644 index 00000000..3195d777 --- /dev/null +++ b/test/baselines/out/2.9/js/concat.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["test/out/bar.ts","test/out/foo.ts"],"names":[],"mappings":"AAAA;CAEC;ACFD,IAAI,CAAC,GAAG,IAAI,KAAK,EAAE,CAAC;AACpB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAErB,IAAI,CAAS,CAAC,CAAC,oDAAoD","file":"concat.js","sourcesContent":["class Hello {\n\tvalue: string;\n}","var a = new Hello();\nconsole.log(a.value);\n\nvar b: Symbol; // Target = ES6, so lib.es6.d.ts should be included."],"sourceRoot":"../../../../out/"} \ No newline at end of file diff --git a/test/baselines/sourceMaps/2.9/errors.txt b/test/baselines/sourceMaps/2.9/errors.txt new file mode 100644 index 00000000..504a3a8a --- /dev/null +++ b/test/baselines/sourceMaps/2.9/errors.txt @@ -0,0 +1,10 @@ +{ + "transpileErrors": 0, + "optionsErrors": 0, + "syntaxErrors": 0, + "globalErrors": 0, + "semanticErrors": 0, + "declarationErrors": 0, + "emitErrors": 0, + "emitSkipped": false +} \ No newline at end of file diff --git a/test/baselines/sourceMaps/2.9/js/Main/MainFile.js b/test/baselines/sourceMaps/2.9/js/Main/MainFile.js new file mode 100644 index 00000000..1e499dc7 --- /dev/null +++ b/test/baselines/sourceMaps/2.9/js/Main/MainFile.js @@ -0,0 +1,8 @@ +"use strict"; +exports.__esModule = true; +var foo = { + bar: 42 +}; +console.log(foo.bar); + +//# sourceMappingURL=MainFile.js.map diff --git a/test/baselines/sourceMaps/2.9/js/Main/MainFile.js.map b/test/baselines/sourceMaps/2.9/js/Main/MainFile.js.map new file mode 100644 index 00000000..9f558323 --- /dev/null +++ b/test/baselines/sourceMaps/2.9/js/Main/MainFile.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["MainFile.ts"],"names":[],"mappings":";;AAEA,IAAI,GAAG,GAAS;IACZ,GAAG,EAAE,EAAE;CACV,CAAC;AAEF,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC","file":"MainFile.js","sourcesContent":["import IFoo = require(\"../Outer/Foo\");\n\nvar foo: IFoo = {\n bar: 42\n};\n\nconsole.log(foo.bar);"]} \ No newline at end of file diff --git a/test/baselines/sourceMaps/2.9/js/Main/MainFileTsx.js b/test/baselines/sourceMaps/2.9/js/Main/MainFileTsx.js new file mode 100644 index 00000000..91447cfb --- /dev/null +++ b/test/baselines/sourceMaps/2.9/js/Main/MainFileTsx.js @@ -0,0 +1,8 @@ +"use strict"; +exports.__esModule = true; +var foo = { + bar: 42 +}; +console.log(foo.bar); + +//# sourceMappingURL=MainFileTsx.js.map diff --git a/test/baselines/sourceMaps/2.9/js/Main/MainFileTsx.js.map b/test/baselines/sourceMaps/2.9/js/Main/MainFileTsx.js.map new file mode 100644 index 00000000..304b4fae --- /dev/null +++ b/test/baselines/sourceMaps/2.9/js/Main/MainFileTsx.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["MainFileTsx.tsx"],"names":[],"mappings":";;AAEA,IAAI,GAAG,GAAS;IACZ,GAAG,EAAE,EAAE;CACV,CAAC;AAEF,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC","file":"MainFileTsx.js","sourcesContent":["import IFoo = require(\"../Outer/Foo\");\n\nvar foo: IFoo = {\n bar: 42\n};\n\nconsole.log(foo.bar);\n"]} \ No newline at end of file diff --git a/test/baselines/sourceMaps/2.9/js/Main/sub/sub.js b/test/baselines/sourceMaps/2.9/js/Main/sub/sub.js new file mode 100644 index 00000000..a52d4142 --- /dev/null +++ b/test/baselines/sourceMaps/2.9/js/Main/sub/sub.js @@ -0,0 +1,3 @@ +var x = 1; + +//# sourceMappingURL=sub.js.map diff --git a/test/baselines/sourceMaps/2.9/js/Main/sub/sub.js.map b/test/baselines/sourceMaps/2.9/js/Main/sub/sub.js.map new file mode 100644 index 00000000..85325d9b --- /dev/null +++ b/test/baselines/sourceMaps/2.9/js/Main/sub/sub.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["sub/sub.ts"],"names":[],"mappings":"AAAA,IAAI,CAAC,GAAG,CAAC,CAAC","file":"sub.js","sourcesContent":["var x = 1;"]} \ No newline at end of file diff --git a/test/baselines/sourceMapsOutDir/2.9/errors.txt b/test/baselines/sourceMapsOutDir/2.9/errors.txt new file mode 100644 index 00000000..504a3a8a --- /dev/null +++ b/test/baselines/sourceMapsOutDir/2.9/errors.txt @@ -0,0 +1,10 @@ +{ + "transpileErrors": 0, + "optionsErrors": 0, + "syntaxErrors": 0, + "globalErrors": 0, + "semanticErrors": 0, + "declarationErrors": 0, + "emitErrors": 0, + "emitSkipped": false +} \ No newline at end of file diff --git a/test/baselines/sourceMapsOutDir/2.9/js/dist/main.js b/test/baselines/sourceMapsOutDir/2.9/js/dist/main.js new file mode 100644 index 00000000..1d64cfab --- /dev/null +++ b/test/baselines/sourceMapsOutDir/2.9/js/dist/main.js @@ -0,0 +1,3 @@ +var x = 1; + +//# sourceMappingURL=main.js.map diff --git a/test/baselines/sourceMapsOutDir/2.9/js/dist/main.js.map b/test/baselines/sourceMapsOutDir/2.9/js/dist/main.js.map new file mode 100644 index 00000000..63a3d17f --- /dev/null +++ b/test/baselines/sourceMapsOutDir/2.9/js/dist/main.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../app/main.ts"],"names":[],"mappings":"AAAA,IAAM,CAAC,GAAG,CAAC,CAAC","file":"main.js","sourcesContent":["const x = 1;\n"]} \ No newline at end of file diff --git a/test/baselines/sourceMapsOutDir/2.9/js/dist/sub/second.js b/test/baselines/sourceMapsOutDir/2.9/js/dist/sub/second.js new file mode 100644 index 00000000..28436a02 --- /dev/null +++ b/test/baselines/sourceMapsOutDir/2.9/js/dist/sub/second.js @@ -0,0 +1,3 @@ +var y = 2; + +//# sourceMappingURL=second.js.map diff --git a/test/baselines/sourceMapsOutDir/2.9/js/dist/sub/second.js.map b/test/baselines/sourceMapsOutDir/2.9/js/dist/sub/second.js.map new file mode 100644 index 00000000..66a4ef27 --- /dev/null +++ b/test/baselines/sourceMapsOutDir/2.9/js/dist/sub/second.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../app/sub/second.ts"],"names":[],"mappings":"AAAA,IAAM,CAAC,GAAG,CAAC,CAAC","file":"second.js","sourcesContent":["const y = 2;\n"]} \ No newline at end of file diff --git a/test/baselines/tsconfigDeclarationMap/2.3/dts/outFile.d.ts b/test/baselines/tsconfigDeclarationMap/2.3/dts/outFile.d.ts new file mode 100644 index 00000000..7e9dfb1f --- /dev/null +++ b/test/baselines/tsconfigDeclarationMap/2.3/dts/outFile.d.ts @@ -0,0 +1,3 @@ +declare class Hello { + value: string; +} diff --git a/test/baselines/tsconfigDeclarationMap/2.3/errors.txt b/test/baselines/tsconfigDeclarationMap/2.3/errors.txt new file mode 100644 index 00000000..504a3a8a --- /dev/null +++ b/test/baselines/tsconfigDeclarationMap/2.3/errors.txt @@ -0,0 +1,10 @@ +{ + "transpileErrors": 0, + "optionsErrors": 0, + "syntaxErrors": 0, + "globalErrors": 0, + "semanticErrors": 0, + "declarationErrors": 0, + "emitErrors": 0, + "emitSkipped": false +} \ No newline at end of file diff --git a/test/baselines/tsconfigDeclarationMap/2.3/js/outFile.js b/test/baselines/tsconfigDeclarationMap/2.3/js/outFile.js new file mode 100644 index 00000000..ffafc8b8 --- /dev/null +++ b/test/baselines/tsconfigDeclarationMap/2.3/js/outFile.js @@ -0,0 +1,5 @@ +var Hello = (function () { + function Hello() { + } + return Hello; +}()); diff --git a/test/baselines/tsconfigDeclarationMap/2.7/dts/outFile.d.ts b/test/baselines/tsconfigDeclarationMap/2.7/dts/outFile.d.ts new file mode 100644 index 00000000..7e9dfb1f --- /dev/null +++ b/test/baselines/tsconfigDeclarationMap/2.7/dts/outFile.d.ts @@ -0,0 +1,3 @@ +declare class Hello { + value: string; +} diff --git a/test/baselines/tsconfigDeclarationMap/2.7/errors.txt b/test/baselines/tsconfigDeclarationMap/2.7/errors.txt new file mode 100644 index 00000000..504a3a8a --- /dev/null +++ b/test/baselines/tsconfigDeclarationMap/2.7/errors.txt @@ -0,0 +1,10 @@ +{ + "transpileErrors": 0, + "optionsErrors": 0, + "syntaxErrors": 0, + "globalErrors": 0, + "semanticErrors": 0, + "declarationErrors": 0, + "emitErrors": 0, + "emitSkipped": false +} \ No newline at end of file diff --git a/test/baselines/tsconfigDeclarationMap/2.7/js/outFile.js b/test/baselines/tsconfigDeclarationMap/2.7/js/outFile.js new file mode 100644 index 00000000..97954d12 --- /dev/null +++ b/test/baselines/tsconfigDeclarationMap/2.7/js/outFile.js @@ -0,0 +1,5 @@ +var Hello = /** @class */ (function () { + function Hello() { + } + return Hello; +}()); diff --git a/test/baselines/tsconfigDeclarationMap/2.9/dts/outFile.d.ts b/test/baselines/tsconfigDeclarationMap/2.9/dts/outFile.d.ts new file mode 100644 index 00000000..8d22cde7 --- /dev/null +++ b/test/baselines/tsconfigDeclarationMap/2.9/dts/outFile.d.ts @@ -0,0 +1,4 @@ +declare class Hello { + value: string; +} +//# sourceMappingURL=outFile.d.ts.map \ No newline at end of file diff --git a/test/baselines/tsconfigDeclarationMap/2.9/dts/outFile.d.ts.map b/test/baselines/tsconfigDeclarationMap/2.9/dts/outFile.d.ts.map new file mode 100644 index 00000000..d9f5ba1d --- /dev/null +++ b/test/baselines/tsconfigDeclarationMap/2.9/dts/outFile.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"outFile.d.ts","sourceRoot":"","sources":["app/bar.ts"],"names":[],"mappings":"AAAA;IACC,KAAK,EAAE,MAAM,CAAC;CACd"} \ No newline at end of file diff --git a/test/baselines/tsconfigDeclarationMap/2.9/errors.txt b/test/baselines/tsconfigDeclarationMap/2.9/errors.txt new file mode 100644 index 00000000..504a3a8a --- /dev/null +++ b/test/baselines/tsconfigDeclarationMap/2.9/errors.txt @@ -0,0 +1,10 @@ +{ + "transpileErrors": 0, + "optionsErrors": 0, + "syntaxErrors": 0, + "globalErrors": 0, + "semanticErrors": 0, + "declarationErrors": 0, + "emitErrors": 0, + "emitSkipped": false +} \ No newline at end of file diff --git a/test/baselines/tsconfigDeclarationMap/2.9/js/outFile.js b/test/baselines/tsconfigDeclarationMap/2.9/js/outFile.js new file mode 100644 index 00000000..97954d12 --- /dev/null +++ b/test/baselines/tsconfigDeclarationMap/2.9/js/outFile.js @@ -0,0 +1,5 @@ +var Hello = /** @class */ (function () { + function Hello() { + } + return Hello; +}()); diff --git a/test/baselines/tsconfigDeclarationMap/dev/dts/outFile.d.ts b/test/baselines/tsconfigDeclarationMap/dev/dts/outFile.d.ts new file mode 100644 index 00000000..7e9dfb1f --- /dev/null +++ b/test/baselines/tsconfigDeclarationMap/dev/dts/outFile.d.ts @@ -0,0 +1,3 @@ +declare class Hello { + value: string; +} diff --git a/test/baselines/tsconfigDeclarationMap/dev/errors.txt b/test/baselines/tsconfigDeclarationMap/dev/errors.txt new file mode 100644 index 00000000..504a3a8a --- /dev/null +++ b/test/baselines/tsconfigDeclarationMap/dev/errors.txt @@ -0,0 +1,10 @@ +{ + "transpileErrors": 0, + "optionsErrors": 0, + "syntaxErrors": 0, + "globalErrors": 0, + "semanticErrors": 0, + "declarationErrors": 0, + "emitErrors": 0, + "emitSkipped": false +} \ No newline at end of file diff --git a/test/baselines/tsconfigDeclarationMap/dev/js/outFile.js b/test/baselines/tsconfigDeclarationMap/dev/js/outFile.js new file mode 100644 index 00000000..97954d12 --- /dev/null +++ b/test/baselines/tsconfigDeclarationMap/dev/js/outFile.js @@ -0,0 +1,5 @@ +var Hello = /** @class */ (function () { + function Hello() { + } + return Hello; +}()); diff --git a/test/baselines/tsconfigExtends/2.9/dts/other-3.d.ts b/test/baselines/tsconfigExtends/2.9/dts/other-3.d.ts new file mode 100644 index 00000000..b3a0b19d --- /dev/null +++ b/test/baselines/tsconfigExtends/2.9/dts/other-3.d.ts @@ -0,0 +1,3 @@ +export declare class Hello { + value: string; +} diff --git a/test/baselines/tsconfigExtends/2.9/dts/test-3.d.ts b/test/baselines/tsconfigExtends/2.9/dts/test-3.d.ts new file mode 100644 index 00000000..cb0ff5c3 --- /dev/null +++ b/test/baselines/tsconfigExtends/2.9/dts/test-3.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/test/baselines/tsconfigExtends/2.9/errors.txt b/test/baselines/tsconfigExtends/2.9/errors.txt new file mode 100644 index 00000000..504a3a8a --- /dev/null +++ b/test/baselines/tsconfigExtends/2.9/errors.txt @@ -0,0 +1,10 @@ +{ + "transpileErrors": 0, + "optionsErrors": 0, + "syntaxErrors": 0, + "globalErrors": 0, + "semanticErrors": 0, + "declarationErrors": 0, + "emitErrors": 0, + "emitSkipped": false +} \ No newline at end of file diff --git a/test/baselines/tsconfigExtends/2.9/js/other-3.js b/test/baselines/tsconfigExtends/2.9/js/other-3.js new file mode 100644 index 00000000..954e7bd1 --- /dev/null +++ b/test/baselines/tsconfigExtends/2.9/js/other-3.js @@ -0,0 +1,12 @@ +define(["require", "exports"], function (require, exports) { + "use strict"; + exports.__esModule = true; + var Hello = /** @class */ (function () { + function Hello() { + } + return Hello; + }()); + exports.Hello = Hello; +}); + +//# sourceMappingURL=other-3.js.map diff --git a/test/baselines/tsconfigExtends/2.9/js/other-3.js.map b/test/baselines/tsconfigExtends/2.9/js/other-3.js.map new file mode 100644 index 00000000..54f42217 --- /dev/null +++ b/test/baselines/tsconfigExtends/2.9/js/other-3.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["other-3.ts"],"names":[],"mappings":";;;IAAA;QAAA;QAEA,CAAC;QAAD,YAAC;IAAD,CAFA,AAEC,IAAA;IAFY,sBAAK","file":"other-3.js","sourcesContent":["export class Hello {\n\tvalue: string;\n}"],"sourceRoot":"../../../../basic/"} \ No newline at end of file diff --git a/test/baselines/tsconfigExtends/2.9/js/test-3.js b/test/baselines/tsconfigExtends/2.9/js/test-3.js new file mode 100644 index 00000000..44d147aa --- /dev/null +++ b/test/baselines/tsconfigExtends/2.9/js/test-3.js @@ -0,0 +1,8 @@ +define(["require", "exports", "./other-3"], function (require, exports, other) { + "use strict"; + exports.__esModule = true; + var a = new other.Hello(); + console.log(a.value); +}); + +//# sourceMappingURL=test-3.js.map diff --git a/test/baselines/tsconfigExtends/2.9/js/test-3.js.map b/test/baselines/tsconfigExtends/2.9/js/test-3.js.map new file mode 100644 index 00000000..c9c950ca --- /dev/null +++ b/test/baselines/tsconfigExtends/2.9/js/test-3.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["test-3.ts"],"names":[],"mappings":";;;IAEA,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;IAC1B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC","file":"test-3.js","sourcesContent":["import other = require('./other-3');\n\nvar a = new other.Hello();\nconsole.log(a.value);"],"sourceRoot":"../../../../basic/"} \ No newline at end of file diff --git a/test/baselines/tsconfigInclude/2.9/errors.txt b/test/baselines/tsconfigInclude/2.9/errors.txt new file mode 100644 index 00000000..3e2356fa --- /dev/null +++ b/test/baselines/tsconfigInclude/2.9/errors.txt @@ -0,0 +1,12 @@ +TypeScript error: test/tsconfigInclude/file.ts(1,1): error TS2552: Cannot find name 'file'. Did you mean 'File'? +TypeScript error: test/tsconfigInclude/include.ts(1,1): error TS2304: Cannot find name 'include'. +{ + "transpileErrors": 0, + "optionsErrors": 0, + "syntaxErrors": 0, + "globalErrors": 0, + "semanticErrors": 2, + "declarationErrors": 0, + "emitErrors": 0, + "emitSkipped": false +} \ No newline at end of file diff --git a/test/baselines/tsconfigInclude/2.9/out.js b/test/baselines/tsconfigInclude/2.9/out.js new file mode 100644 index 00000000..1ef71e5a --- /dev/null +++ b/test/baselines/tsconfigInclude/2.9/out.js @@ -0,0 +1,2 @@ +file; +include; diff --git a/test/baselines/tsconfigOutFile/2.9/errors.txt b/test/baselines/tsconfigOutFile/2.9/errors.txt new file mode 100644 index 00000000..504a3a8a --- /dev/null +++ b/test/baselines/tsconfigOutFile/2.9/errors.txt @@ -0,0 +1,10 @@ +{ + "transpileErrors": 0, + "optionsErrors": 0, + "syntaxErrors": 0, + "globalErrors": 0, + "semanticErrors": 0, + "declarationErrors": 0, + "emitErrors": 0, + "emitSkipped": false +} \ No newline at end of file diff --git a/test/baselines/tsconfigOutFile/2.9/js/outFile.js b/test/baselines/tsconfigOutFile/2.9/js/outFile.js new file mode 100644 index 00000000..0c09577d --- /dev/null +++ b/test/baselines/tsconfigOutFile/2.9/js/outFile.js @@ -0,0 +1,7 @@ +var Hello = /** @class */ (function () { + function Hello() { + } + return Hello; +}()); + +//# sourceMappingURL=outFile.js.map diff --git a/test/baselines/tsconfigOutFile/2.9/js/outFile.js.map b/test/baselines/tsconfigOutFile/2.9/js/outFile.js.map new file mode 100644 index 00000000..558ce479 --- /dev/null +++ b/test/baselines/tsconfigOutFile/2.9/js/outFile.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["app/bar.ts"],"names":[],"mappings":"AAAA;IAAA;IAEA,CAAC;IAAD,YAAC;AAAD,CAFA,AAEC,IAAA","file":"outFile.js","sourcesContent":["class Hello {\n\tvalue: string;\n}"]} \ No newline at end of file diff --git a/test/tsconfigDeclarationMap/gulptask.js b/test/tsconfigDeclarationMap/gulptask.js new file mode 100644 index 00000000..35ec0f07 --- /dev/null +++ b/test/tsconfigDeclarationMap/gulptask.js @@ -0,0 +1,16 @@ +var gulp = require('gulp'); +var sourcemaps = require('gulp-sourcemaps'); + +module.exports = function(newTS, lib, output, reporter) { + var project = newTS.createProject('test/tsconfigDeclarationMap/src/tsconfig.json', { + typescript: lib + }); + + var tsResult = project.src() + .pipe(project(reporter)); + + tsResult.dts.pipe(gulp.dest(output + '/dts')) + + return tsResult.js + .pipe(gulp.dest(output + "js")); +} diff --git a/test/tsconfigDeclarationMap/src/app/bar.ts b/test/tsconfigDeclarationMap/src/app/bar.ts new file mode 100644 index 00000000..49df0eee --- /dev/null +++ b/test/tsconfigDeclarationMap/src/app/bar.ts @@ -0,0 +1,3 @@ +class Hello { + value: string; +} \ No newline at end of file diff --git a/test/tsconfigDeclarationMap/src/tsconfig.json b/test/tsconfigDeclarationMap/src/tsconfig.json new file mode 100644 index 00000000..6444ebde --- /dev/null +++ b/test/tsconfigDeclarationMap/src/tsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "outFile": "outFile.js", + "declaration": true, + "declarationMap": true, + "types": [] + } +} diff --git a/typescript/2.9 b/typescript/2.9 new file mode 160000 index 00000000..4c22bf78 --- /dev/null +++ b/typescript/2.9 @@ -0,0 +1 @@ +Subproject commit 4c22bf786ea01f9ad382e5d8e915326674a6a173 From ea2025a36e0eeb91e2f3b42bc5976614e51c2eef Mon Sep 17 00:00:00 2001 From: Michael Aird Date: Wed, 23 May 2018 12:21:10 -0400 Subject: [PATCH 03/14] Changes based on input from ivogabe --- gulpfile.js | 4 ++-- lib/compiler.ts | 5 +---- lib/output.ts | 4 +++- .../tsconfigDeclarationMap/2.9/dts/outFile.d.ts.map | 2 +- test/tsconfigDeclarationMap/gulptask.js | 6 +++++- 5 files changed, 12 insertions(+), 9 deletions(-) diff --git a/gulpfile.js b/gulpfile.js index 0ea4df51..7e4a8280 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -76,8 +76,8 @@ gulp.task('typecheck', ['typecheck-dev', 'typecheck-2.3']); const libs = [ ['2.7', undefined], ['2.3', require(tsVersions.release23)], - ['2.9', require(tsVersions.release29)], - ['dev', require(tsVersions.dev)] + ['2.9', require(tsVersions.release29)], + ['dev', require(tsVersions.dev)] ]; /** diff --git a/lib/compiler.ts b/lib/compiler.ts index 906d3ef7..3c66e0eb 100644 --- a/lib/compiler.ts +++ b/lib/compiler.ts @@ -190,10 +190,7 @@ export class ProjectCompiler implements ICompiler { this.project.output.writeJs(base, jsFileName, jsContent, jsMapContent, file ? file.gulp.cwd : currentDirectory, file); } if (dtsContent !== undefined) { - this.project.output.writeDts(baseDeclarations, dtsFileName, dtsContent, file ? file.gulp.cwd : currentDirectory); - } - if (dtsMapContent !== undefined) { - this.project.output.writeDts(baseDeclarations, dtsMapFileName, dtsMapContent, file ? file.gulp.cwd : currentDirectory); + this.project.output.writeDts(baseDeclarations, dtsFileName, dtsContent, dtsMapContent, file ? file.gulp.cwd : currentDirectory, file); } } diff --git a/lib/output.ts b/lib/output.ts index 9e18e76b..3bc5d179 100644 --- a/lib/output.ts +++ b/lib/output.ts @@ -38,13 +38,15 @@ export class Output { this.streamJs.push(file); } - writeDts(base: string, fileName: string, content: string, cwd: string) { + writeDts(base: string, fileName: string, content: string, declarationMapContent: string, cwd: string, original: input.File) { const file = new VinylFile({ path: fileName, contents: new Buffer(content), cwd, base }); + const appliedSourceMap = this.applySourceMap(declarationMapContent, original, file); + if (appliedSourceMap) file.sourceMap = JSON.parse(appliedSourceMap); this.streamFull.push(file); this.streamDts.push(file); } diff --git a/test/baselines/tsconfigDeclarationMap/2.9/dts/outFile.d.ts.map b/test/baselines/tsconfigDeclarationMap/2.9/dts/outFile.d.ts.map index d9f5ba1d..b85c8714 100644 --- a/test/baselines/tsconfigDeclarationMap/2.9/dts/outFile.d.ts.map +++ b/test/baselines/tsconfigDeclarationMap/2.9/dts/outFile.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"outFile.d.ts","sourceRoot":"","sources":["app/bar.ts"],"names":[],"mappings":"AAAA;IACC,KAAK,EAAE,MAAM,CAAC;CACd"} \ No newline at end of file +{"version":3,"sources":["app/bar.ts"],"names":[],"mappings":"AAAA;IACC,KAAK,EAAE,MAAM,CAAC;CACd","file":"outFile.d.ts","sourcesContent":["class Hello {\n\tvalue: string;\n}"]} \ No newline at end of file diff --git a/test/tsconfigDeclarationMap/gulptask.js b/test/tsconfigDeclarationMap/gulptask.js index 35ec0f07..64211093 100644 --- a/test/tsconfigDeclarationMap/gulptask.js +++ b/test/tsconfigDeclarationMap/gulptask.js @@ -7,9 +7,13 @@ module.exports = function(newTS, lib, output, reporter) { }); var tsResult = project.src() + .pipe(sourcemaps.init()) .pipe(project(reporter)); - tsResult.dts.pipe(gulp.dest(output + '/dts')) + tsResult.dts + .pipe(sourcemaps.write(".")) + .pipe(gulp.dest(output + '/dts')); + return tsResult.js .pipe(gulp.dest(output + "js")); From c90c045cb686e1659fc77f281d00c9238e5f26fc Mon Sep 17 00:00:00 2001 From: Ivo Gabe de Wolff Date: Tue, 5 Jun 2018 22:12:21 +0200 Subject: [PATCH 04/14] Set `declarationMap` to true if `declaration` is set --- gulpfile.js | 8 ++++---- lib/main.ts | 10 ++++++++-- package.json | 2 +- test/baselines/basic/2.9/dts/other-3.d.ts | 1 + test/baselines/basic/2.9/dts/test-3.d.ts | 1 + test/baselines/basic/dev/dts/other-3.d.ts | 1 + test/baselines/basic/dev/dts/test-3.d.ts | 2 ++ test/baselines/existingSourceMaps/2.3/all.d.ts | 4 ++++ test/baselines/existingSourceMaps/2.3/{js => }/all.js | 0 .../existingSourceMaps/2.3/{js => }/all.js.map | 0 test/baselines/existingSourceMaps/2.7/all.d.ts | 4 ++++ test/baselines/existingSourceMaps/2.7/{js => }/all.js | 0 .../existingSourceMaps/2.7/{js => }/all.js.map | 0 test/baselines/existingSourceMaps/2.9/all.d.ts | 5 +++++ test/baselines/existingSourceMaps/2.9/all.d.ts.map | 1 + test/baselines/existingSourceMaps/2.9/{js => }/all.js | 0 .../existingSourceMaps/2.9/{js => }/all.js.map | 0 test/baselines/existingSourceMaps/dev/all.d.ts | 5 +++++ test/baselines/existingSourceMaps/dev/all.d.ts.map | 1 + test/baselines/existingSourceMaps/dev/{js => }/all.js | 0 .../existingSourceMaps/dev/{js => }/all.js.map | 0 test/baselines/externalResolve/2.9/dts/test-2.d.ts | 1 + test/baselines/externalResolve/dev/dts/test-2.d.ts | 2 ++ test/baselines/out/2.9/dts/concat.d.ts | 1 + test/baselines/out/dev/dts/concat.d.ts | 1 + .../tsconfigDeclarationMap/dev/dts/outFile.d.ts | 1 + .../tsconfigDeclarationMap/dev/dts/outFile.d.ts.map | 1 + test/baselines/tsconfigExtends/2.9/dts/other-3.d.ts | 1 + test/baselines/tsconfigExtends/2.9/dts/test-3.d.ts | 1 + test/baselines/tsconfigExtends/dev/dts/other-3.d.ts | 1 + test/baselines/tsconfigExtends/dev/dts/test-3.d.ts | 2 ++ test/existingSourceMaps/gulptask.js | 4 ++-- test/tsconfigDeclarationMap/src/tsconfig.json | 1 - typescript/dev | 2 +- 34 files changed, 53 insertions(+), 11 deletions(-) create mode 100644 test/baselines/existingSourceMaps/2.3/all.d.ts rename test/baselines/existingSourceMaps/2.3/{js => }/all.js (100%) rename test/baselines/existingSourceMaps/2.3/{js => }/all.js.map (100%) create mode 100644 test/baselines/existingSourceMaps/2.7/all.d.ts rename test/baselines/existingSourceMaps/2.7/{js => }/all.js (100%) rename test/baselines/existingSourceMaps/2.7/{js => }/all.js.map (100%) create mode 100644 test/baselines/existingSourceMaps/2.9/all.d.ts create mode 100644 test/baselines/existingSourceMaps/2.9/all.d.ts.map rename test/baselines/existingSourceMaps/2.9/{js => }/all.js (100%) rename test/baselines/existingSourceMaps/2.9/{js => }/all.js.map (100%) create mode 100644 test/baselines/existingSourceMaps/dev/all.d.ts create mode 100644 test/baselines/existingSourceMaps/dev/all.d.ts.map rename test/baselines/existingSourceMaps/dev/{js => }/all.js (100%) rename test/baselines/existingSourceMaps/dev/{js => }/all.js.map (100%) create mode 100644 test/baselines/tsconfigDeclarationMap/dev/dts/outFile.d.ts.map diff --git a/gulpfile.js b/gulpfile.js index 7e4a8280..15bb7017 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -74,10 +74,10 @@ gulp.task('typecheck', ['typecheck-dev', 'typecheck-2.3']); // We run every test on multiple typescript versions: const libs = [ - ['2.7', undefined], - ['2.3', require(tsVersions.release23)], - ['2.9', require(tsVersions.release29)], - ['dev', require(tsVersions.dev)] + ['2.7', undefined], + ['2.3', require(tsVersions.release23)], + ['2.9', require(tsVersions.release29)], + ['dev', require(tsVersions.dev)] ]; /** diff --git a/lib/main.ts b/lib/main.ts index 17b5c902..c3a5ce42 100644 --- a/lib/main.ts +++ b/lib/main.ts @@ -70,12 +70,18 @@ function checkAndNormalizeSettings(settings: compile.Settings): compile.Settings return standardSettings; } -function normalizeCompilerOptions(options: ts.CompilerOptions): void { +function normalizeCompilerOptions(options: ts.CompilerOptions, typescript: typeof ts): void { options.sourceMap = true; (options as any).suppressOutputPathCheck = true; options.inlineSourceMap = false; options.sourceRoot = undefined; options.inlineSources = false; + + // For TS >=2.9, we set `declarationMap` to true, if `declaration` is set. + // We check for this version by checking whether `createFileLevelUniqueName` exists. + if ("createFileLevelUniqueName" in typescript && options.declaration && !options.isolatedModules) { + options.declarationMap = true; + } } function reportErrors(errors: ts.Diagnostic[], typescript: typeof ts, ignore: number[] = []): void { @@ -196,7 +202,7 @@ module compile { } } - normalizeCompilerOptions(compilerOptions); + normalizeCompilerOptions(compilerOptions, typescript); const project = _project.setupProject(projectDirectory, tsConfigFileName, rawConfig, tsConfigContent, compilerOptions, typescript); return project; diff --git a/package.json b/package.json index cdffee73..68aa5110 100644 --- a/package.json +++ b/package.json @@ -87,7 +87,7 @@ "typescript": "2.7.1" }, "peerDependencies": { - "typescript": "~2.7.1 || >=2.8.0-dev || >=2.9.0-dev" + "typescript": "~2.7.1 || >=2.8.0-dev || >=2.9.0-dev || ~3.0.0 || >=3.0.0-dev || >=3.1.0-dev" }, "scripts": { "test": "gulp" diff --git a/test/baselines/basic/2.9/dts/other-3.d.ts b/test/baselines/basic/2.9/dts/other-3.d.ts index b3a0b19d..6f884f8e 100644 --- a/test/baselines/basic/2.9/dts/other-3.d.ts +++ b/test/baselines/basic/2.9/dts/other-3.d.ts @@ -1,3 +1,4 @@ export declare class Hello { value: string; } +//# sourceMappingURL=other-3.d.ts.map \ No newline at end of file diff --git a/test/baselines/basic/2.9/dts/test-3.d.ts b/test/baselines/basic/2.9/dts/test-3.d.ts index cb0ff5c3..e5d642d1 100644 --- a/test/baselines/basic/2.9/dts/test-3.d.ts +++ b/test/baselines/basic/2.9/dts/test-3.d.ts @@ -1 +1,2 @@ export {}; +//# sourceMappingURL=test-3.d.ts.map \ No newline at end of file diff --git a/test/baselines/basic/dev/dts/other-3.d.ts b/test/baselines/basic/dev/dts/other-3.d.ts index b3a0b19d..6f884f8e 100644 --- a/test/baselines/basic/dev/dts/other-3.d.ts +++ b/test/baselines/basic/dev/dts/other-3.d.ts @@ -1,3 +1,4 @@ export declare class Hello { value: string; } +//# sourceMappingURL=other-3.d.ts.map \ No newline at end of file diff --git a/test/baselines/basic/dev/dts/test-3.d.ts b/test/baselines/basic/dev/dts/test-3.d.ts index e69de29b..e5d642d1 100644 --- a/test/baselines/basic/dev/dts/test-3.d.ts +++ b/test/baselines/basic/dev/dts/test-3.d.ts @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=test-3.d.ts.map \ No newline at end of file diff --git a/test/baselines/existingSourceMaps/2.3/all.d.ts b/test/baselines/existingSourceMaps/2.3/all.d.ts new file mode 100644 index 00000000..94ff59ef --- /dev/null +++ b/test/baselines/existingSourceMaps/2.3/all.d.ts @@ -0,0 +1,4 @@ +declare class Apple { +} +declare class Banana { +} diff --git a/test/baselines/existingSourceMaps/2.3/js/all.js b/test/baselines/existingSourceMaps/2.3/all.js similarity index 100% rename from test/baselines/existingSourceMaps/2.3/js/all.js rename to test/baselines/existingSourceMaps/2.3/all.js diff --git a/test/baselines/existingSourceMaps/2.3/js/all.js.map b/test/baselines/existingSourceMaps/2.3/all.js.map similarity index 100% rename from test/baselines/existingSourceMaps/2.3/js/all.js.map rename to test/baselines/existingSourceMaps/2.3/all.js.map diff --git a/test/baselines/existingSourceMaps/2.7/all.d.ts b/test/baselines/existingSourceMaps/2.7/all.d.ts new file mode 100644 index 00000000..94ff59ef --- /dev/null +++ b/test/baselines/existingSourceMaps/2.7/all.d.ts @@ -0,0 +1,4 @@ +declare class Apple { +} +declare class Banana { +} diff --git a/test/baselines/existingSourceMaps/2.7/js/all.js b/test/baselines/existingSourceMaps/2.7/all.js similarity index 100% rename from test/baselines/existingSourceMaps/2.7/js/all.js rename to test/baselines/existingSourceMaps/2.7/all.js diff --git a/test/baselines/existingSourceMaps/2.7/js/all.js.map b/test/baselines/existingSourceMaps/2.7/all.js.map similarity index 100% rename from test/baselines/existingSourceMaps/2.7/js/all.js.map rename to test/baselines/existingSourceMaps/2.7/all.js.map diff --git a/test/baselines/existingSourceMaps/2.9/all.d.ts b/test/baselines/existingSourceMaps/2.9/all.d.ts new file mode 100644 index 00000000..ea33a46e --- /dev/null +++ b/test/baselines/existingSourceMaps/2.9/all.d.ts @@ -0,0 +1,5 @@ +declare class Apple { +} +declare class Banana { +} +//# sourceMappingURL=all.d.ts.map \ No newline at end of file diff --git a/test/baselines/existingSourceMaps/2.9/all.d.ts.map b/test/baselines/existingSourceMaps/2.9/all.d.ts.map new file mode 100644 index 00000000..59907636 --- /dev/null +++ b/test/baselines/existingSourceMaps/2.9/all.d.ts.map @@ -0,0 +1 @@ +{"version":3,"sources":["apple.ts","banana.ts"],"names":[],"mappings":"AAAA;CAAA;ACAA;CAAA","file":"all.d.ts","sourcesContent":["class Apple {}","class Banana {}"]} \ No newline at end of file diff --git a/test/baselines/existingSourceMaps/2.9/js/all.js b/test/baselines/existingSourceMaps/2.9/all.js similarity index 100% rename from test/baselines/existingSourceMaps/2.9/js/all.js rename to test/baselines/existingSourceMaps/2.9/all.js diff --git a/test/baselines/existingSourceMaps/2.9/js/all.js.map b/test/baselines/existingSourceMaps/2.9/all.js.map similarity index 100% rename from test/baselines/existingSourceMaps/2.9/js/all.js.map rename to test/baselines/existingSourceMaps/2.9/all.js.map diff --git a/test/baselines/existingSourceMaps/dev/all.d.ts b/test/baselines/existingSourceMaps/dev/all.d.ts new file mode 100644 index 00000000..ea33a46e --- /dev/null +++ b/test/baselines/existingSourceMaps/dev/all.d.ts @@ -0,0 +1,5 @@ +declare class Apple { +} +declare class Banana { +} +//# sourceMappingURL=all.d.ts.map \ No newline at end of file diff --git a/test/baselines/existingSourceMaps/dev/all.d.ts.map b/test/baselines/existingSourceMaps/dev/all.d.ts.map new file mode 100644 index 00000000..59907636 --- /dev/null +++ b/test/baselines/existingSourceMaps/dev/all.d.ts.map @@ -0,0 +1 @@ +{"version":3,"sources":["apple.ts","banana.ts"],"names":[],"mappings":"AAAA;CAAA;ACAA;CAAA","file":"all.d.ts","sourcesContent":["class Apple {}","class Banana {}"]} \ No newline at end of file diff --git a/test/baselines/existingSourceMaps/dev/js/all.js b/test/baselines/existingSourceMaps/dev/all.js similarity index 100% rename from test/baselines/existingSourceMaps/dev/js/all.js rename to test/baselines/existingSourceMaps/dev/all.js diff --git a/test/baselines/existingSourceMaps/dev/js/all.js.map b/test/baselines/existingSourceMaps/dev/all.js.map similarity index 100% rename from test/baselines/existingSourceMaps/dev/js/all.js.map rename to test/baselines/existingSourceMaps/dev/all.js.map diff --git a/test/baselines/externalResolve/2.9/dts/test-2.d.ts b/test/baselines/externalResolve/2.9/dts/test-2.d.ts index a8bf206a..a7e9159e 100644 --- a/test/baselines/externalResolve/2.9/dts/test-2.d.ts +++ b/test/baselines/externalResolve/2.9/dts/test-2.d.ts @@ -1,2 +1,3 @@ /// export {}; +//# sourceMappingURL=test-2.d.ts.map \ No newline at end of file diff --git a/test/baselines/externalResolve/dev/dts/test-2.d.ts b/test/baselines/externalResolve/dev/dts/test-2.d.ts index d3fe4c35..a7e9159e 100644 --- a/test/baselines/externalResolve/dev/dts/test-2.d.ts +++ b/test/baselines/externalResolve/dev/dts/test-2.d.ts @@ -1 +1,3 @@ /// +export {}; +//# sourceMappingURL=test-2.d.ts.map \ No newline at end of file diff --git a/test/baselines/out/2.9/dts/concat.d.ts b/test/baselines/out/2.9/dts/concat.d.ts index e978dc48..ee5b0273 100644 --- a/test/baselines/out/2.9/dts/concat.d.ts +++ b/test/baselines/out/2.9/dts/concat.d.ts @@ -3,3 +3,4 @@ declare class Hello { } declare var a: Hello; declare var b: Symbol; +//# sourceMappingURL=concat.d.ts.map \ No newline at end of file diff --git a/test/baselines/out/dev/dts/concat.d.ts b/test/baselines/out/dev/dts/concat.d.ts index e978dc48..ee5b0273 100644 --- a/test/baselines/out/dev/dts/concat.d.ts +++ b/test/baselines/out/dev/dts/concat.d.ts @@ -3,3 +3,4 @@ declare class Hello { } declare var a: Hello; declare var b: Symbol; +//# sourceMappingURL=concat.d.ts.map \ No newline at end of file diff --git a/test/baselines/tsconfigDeclarationMap/dev/dts/outFile.d.ts b/test/baselines/tsconfigDeclarationMap/dev/dts/outFile.d.ts index 7e9dfb1f..8d22cde7 100644 --- a/test/baselines/tsconfigDeclarationMap/dev/dts/outFile.d.ts +++ b/test/baselines/tsconfigDeclarationMap/dev/dts/outFile.d.ts @@ -1,3 +1,4 @@ declare class Hello { value: string; } +//# sourceMappingURL=outFile.d.ts.map \ No newline at end of file diff --git a/test/baselines/tsconfigDeclarationMap/dev/dts/outFile.d.ts.map b/test/baselines/tsconfigDeclarationMap/dev/dts/outFile.d.ts.map new file mode 100644 index 00000000..b85c8714 --- /dev/null +++ b/test/baselines/tsconfigDeclarationMap/dev/dts/outFile.d.ts.map @@ -0,0 +1 @@ +{"version":3,"sources":["app/bar.ts"],"names":[],"mappings":"AAAA;IACC,KAAK,EAAE,MAAM,CAAC;CACd","file":"outFile.d.ts","sourcesContent":["class Hello {\n\tvalue: string;\n}"]} \ No newline at end of file diff --git a/test/baselines/tsconfigExtends/2.9/dts/other-3.d.ts b/test/baselines/tsconfigExtends/2.9/dts/other-3.d.ts index b3a0b19d..6f884f8e 100644 --- a/test/baselines/tsconfigExtends/2.9/dts/other-3.d.ts +++ b/test/baselines/tsconfigExtends/2.9/dts/other-3.d.ts @@ -1,3 +1,4 @@ export declare class Hello { value: string; } +//# sourceMappingURL=other-3.d.ts.map \ No newline at end of file diff --git a/test/baselines/tsconfigExtends/2.9/dts/test-3.d.ts b/test/baselines/tsconfigExtends/2.9/dts/test-3.d.ts index cb0ff5c3..e5d642d1 100644 --- a/test/baselines/tsconfigExtends/2.9/dts/test-3.d.ts +++ b/test/baselines/tsconfigExtends/2.9/dts/test-3.d.ts @@ -1 +1,2 @@ export {}; +//# sourceMappingURL=test-3.d.ts.map \ No newline at end of file diff --git a/test/baselines/tsconfigExtends/dev/dts/other-3.d.ts b/test/baselines/tsconfigExtends/dev/dts/other-3.d.ts index b3a0b19d..6f884f8e 100644 --- a/test/baselines/tsconfigExtends/dev/dts/other-3.d.ts +++ b/test/baselines/tsconfigExtends/dev/dts/other-3.d.ts @@ -1,3 +1,4 @@ export declare class Hello { value: string; } +//# sourceMappingURL=other-3.d.ts.map \ No newline at end of file diff --git a/test/baselines/tsconfigExtends/dev/dts/test-3.d.ts b/test/baselines/tsconfigExtends/dev/dts/test-3.d.ts index e69de29b..e5d642d1 100644 --- a/test/baselines/tsconfigExtends/dev/dts/test-3.d.ts +++ b/test/baselines/tsconfigExtends/dev/dts/test-3.d.ts @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=test-3.d.ts.map \ No newline at end of file diff --git a/test/existingSourceMaps/gulptask.js b/test/existingSourceMaps/gulptask.js index 663bf0d4..9e316868 100644 --- a/test/existingSourceMaps/gulptask.js +++ b/test/existingSourceMaps/gulptask.js @@ -6,7 +6,7 @@ module.exports = function(newTS, lib, output, reporter) { return gulp.src('test/existingSourceMaps/*.ts') .pipe(sourcemaps.init()) .pipe(concat('all.ts')) - .pipe(newTS({ typescript: lib }, reporter)).js + .pipe(newTS({ typescript: lib, declaration: true }, reporter)) .pipe(sourcemaps.write('.')) - .pipe(gulp.dest(output + '/js')); + .pipe(gulp.dest(output)); }; diff --git a/test/tsconfigDeclarationMap/src/tsconfig.json b/test/tsconfigDeclarationMap/src/tsconfig.json index 6444ebde..66602f2c 100644 --- a/test/tsconfigDeclarationMap/src/tsconfig.json +++ b/test/tsconfigDeclarationMap/src/tsconfig.json @@ -2,7 +2,6 @@ "compilerOptions": { "outFile": "outFile.js", "declaration": true, - "declarationMap": true, "types": [] } } diff --git a/typescript/dev b/typescript/dev index b15ecfc5..d9b93903 160000 --- a/typescript/dev +++ b/typescript/dev @@ -1 +1 @@ -Subproject commit b15ecfc51c84cc3b9a44d3ee167c2d18e7664278 +Subproject commit d9b93903c035e48c8da1d731332787f83efc4619 From 67629d9f765cfc0581cbdb2142328e7d4aafd4c8 Mon Sep 17 00:00:00 2001 From: Ivo Gabe de Wolff Date: Tue, 5 Jun 2018 22:14:42 +0200 Subject: [PATCH 05/14] Add short notice on declarationMap to readme --- readme.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/readme.md b/readme.md index 47c6f43a..cff6f11a 100644 --- a/readme.md +++ b/readme.md @@ -56,7 +56,7 @@ Almost all options from TypeScript are supported. See the [TypeScript wiki](https://www.typescriptlang.org/docs/handbook/compiler-options.html) for a complete list. These options are not supported: -- Sourcemap options (`sourceMap`, `inlineSourceMap`, `inlineSources`, `sourceRoot`) - Use [gulp-sourcemaps](https://github.com/floridoo/gulp-sourcemaps) instead. +- Sourcemap options (`sourceMap`, `inlineSourceMap`, `inlineSources`, `sourceRoot`, `declarationMap`) - Use [gulp-sourcemaps](https://github.com/floridoo/gulp-sourcemaps) instead. - `watch` - Use `gulp.watch` instead. See the paragraph "Incremental compilation". - `project` - See "Using `tsconfig.json`". - Obvious: `help`, `version` @@ -181,7 +181,9 @@ var tsProject = ts.createProject('tsconfig.json', { Source maps ---------- -gulp-typescript supports source maps by the usage of the gulp-sourcemaps plugin. Configuring the paths of source maps can be hard. The easiest way to get working source maps is to inline the sources of your TypeScript files in the source maps. This will of course increase the size of the source maps. The following example demonstrates this approach: +gulp-typescript supports source maps by the usage of the gulp-sourcemaps plugin. It works for both JavaScript and definition (`.d.ts`) files. You don't have to set `sourceMap` or `declarationMap` in your configuration. When you use gulp-sourcemaps, they will be generated automatically. + +Configuring the paths of source maps can be hard. The easiest way to get working source maps is to inline the sources of your TypeScript files in the source maps. This will of course increase the size of the source maps. The following example demonstrates this approach: ```javascript var gulp = require('gulp') From 2a4d47ace88ea7d4a21977c87e4fb29771c9f7c7 Mon Sep 17 00:00:00 2001 From: Ivo Gabe de Wolff Date: Fri, 8 Jun 2018 16:40:37 +0200 Subject: [PATCH 06/14] Update dependencies --- package-lock.json | 4118 ++++++++++++++++++++++++++++----------------- package.json | 16 +- 2 files changed, 2603 insertions(+), 1531 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3101ca55..4d9e4b16 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "gulp-typescript", - "version": "4.0.1", + "version": "4.0.2", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -10,11 +10,11 @@ "integrity": "sha1-z6I7xYQPkQTOMqZedNt+epdLvuE=", "dev": true, "requires": { - "acorn": "5.2.1", - "css": "2.2.1", - "normalize-path": "2.1.1", - "source-map": "0.5.7", - "through2": "2.0.3" + "acorn": "^5.0.3", + "css": "^2.2.1", + "normalize-path": "^2.1.1", + "source-map": "^0.5.6", + "through2": "^2.0.3" }, "dependencies": { "source-map": { @@ -31,8 +31,8 @@ "integrity": "sha1-iQrnxdjId/bThIYCFazp1+yUW9o=", "dev": true, "requires": { - "normalize-path": "2.1.1", - "through2": "2.0.3" + "normalize-path": "^2.0.1", + "through2": "^2.0.3" } }, "@types/ansi-colors": { @@ -53,9 +53,9 @@ "integrity": "sha512-sUvpieq+HsWTLdkeOI8Mi8u22Ag3AoGuM3sv+XMP1bKtbaIAHpEA2f52K2mz6vK5PVhTa3bFyRZLZMqTxOo2Cw==", "dev": true, "requires": { - "@types/events": "1.1.0", - "@types/minimatch": "3.0.2", - "@types/node": "8.5.2" + "@types/events": "*", + "@types/minimatch": "*", + "@types/node": "*" } }, "@types/glob-stream": { @@ -64,8 +64,8 @@ "integrity": "sha512-RHv6ZQjcTncXo3thYZrsbAVwoy4vSKosSWhuhuQxLOTv74OJuFQxXkmUuZCr3q9uNBEVCvIzmZL/FeRNbHZGUg==", "dev": true, "requires": { - "@types/glob": "5.0.34", - "@types/node": "8.5.2" + "@types/glob": "*", + "@types/node": "*" } }, "@types/minimatch": { @@ -98,7 +98,7 @@ "integrity": "sha1-H/LoihAN+1sUDnu5h5HxGUQA0TE=", "dev": true, "requires": { - "@types/node": "8.5.2" + "@types/node": "*" } }, "@types/vinyl": { @@ -107,7 +107,7 @@ "integrity": "sha512-2iYpNuOl98SrLPBZfEN9Mh2JCJ2EI9HU35SfgBEb51DcmaHkhp8cKMblYeBqMQiwXMgAD3W60DbQ4i/UdLiXhw==", "dev": true, "requires": { - "@types/node": "8.5.2" + "@types/node": "*" } }, "@types/vinyl-fs": { @@ -116,15 +116,15 @@ "integrity": "sha512-yE2pN9OOrxJVeO7IZLHAHrh5R4Q0osbn5WQRuQU6GdXoK7dNFrMK3K7YhATkzf3z0yQBkol3+gafs7Rp0s7dDg==", "dev": true, "requires": { - "@types/glob-stream": "6.1.0", - "@types/node": "8.5.2", - "@types/vinyl": "2.0.2" + "@types/glob-stream": "*", + "@types/node": "*", + "@types/vinyl": "*" } }, "acorn": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.2.1.tgz", - "integrity": "sha512-jG0u7c4Ly+3QkkW18V+NRDN+4bWHdln30NL1ZL2AvFZZmQe/BfopYCtghCKKVBUSetZ4QKcyA0pY6/4Gw8Pv8w==", + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.6.2.tgz", + "integrity": "sha512-zUzo1E5dI2Ey8+82egfnttyMlMZ2y0D8xOCO3PNPPlYXpl8NZvF6Qk9L9BEtJs+43FqEmfBViDqc5d1ckRDguw==", "dev": true }, "amdefine": { @@ -134,17 +134,15 @@ "dev": true }, "ansi-colors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.0.1.tgz", - "integrity": "sha512-yopkAU0ZD/WQ56Tms3xLn6jRuX3SyUMAVi0FdmDIbmmnHW3jHiI1sQFdUl3gfVddjnrsP3Y6ywFKvCRopvoVIA==", - "requires": { - "ansi-wrap": "0.1.0" - } + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-2.0.1.tgz", + "integrity": "sha512-qUIXfMVe0LoHCFPD6dGtjDDuVoP7B2DWBXIfd5aN/hGNIZDndQmqCwNjCChzxi8TPPGmBV4TB3XPc0VfgR7iIQ==" }, "ansi-cyan": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz", "integrity": "sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM=", + "dev": true, "requires": { "ansi-wrap": "0.1.0" } @@ -162,6 +160,7 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz", "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=", + "dev": true, "requires": { "ansi-wrap": "0.1.0" } @@ -183,12 +182,22 @@ "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=" }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, "append-buffer": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz", "integrity": "sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE=", "requires": { - "buffer-equal": "1.0.0" + "buffer-equal": "^1.0.0" } }, "archy": { @@ -198,31 +207,38 @@ "dev": true }, "arr-diff": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz", - "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + }, + "arr-filter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/arr-filter/-/arr-filter-1.1.2.tgz", + "integrity": "sha1-Q/3d0JHo7xGqTEXZzcGOLf8XEe4=", + "dev": true, "requires": { - "arr-flatten": "1.1.0", - "array-slice": "0.2.3" - }, - "dependencies": { - "array-slice": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", - "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=" - } + "make-iterator": "^1.0.0" } }, "arr-flatten": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/arr-map/-/arr-map-2.0.2.tgz", + "integrity": "sha1-Onc0X/wc814qkYJWAfnljy4kysQ=", + "dev": true, + "requires": { + "make-iterator": "^1.0.0" + } }, "arr-union": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" }, "array-differ": { "version": "1.0.0", @@ -236,30 +252,133 @@ "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", "dev": true }, + "array-initial": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-initial/-/array-initial-1.1.0.tgz", + "integrity": "sha1-L6dLJnOTccOUe9enrcc74zSz15U=", + "dev": true, + "requires": { + "array-slice": "^1.0.0", + "is-number": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true + } + } + }, + "array-last": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/array-last/-/array-last-1.3.0.tgz", + "integrity": "sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg==", + "dev": true, + "requires": { + "is-number": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true + } + } + }, "array-slice": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", "dev": true }, + "array-sort": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-sort/-/array-sort-1.0.0.tgz", + "integrity": "sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg==", + "dev": true, + "requires": { + "default-compare": "^1.0.0", + "get-value": "^2.0.6", + "kind-of": "^5.0.2" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, "array-uniq": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", "dev": true }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, "assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" + }, + "async-done": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/async-done/-/async-done-1.3.1.tgz", + "integrity": "sha512-R1BaUeJ4PMoLNJuk+0tLJgjmEqVsdN118+Z8O+alhnQDQgy0kmD5Mqi0DNEmMx2LM0Ed5yekKu+ZXYvIHceicg==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.2", + "process-nextick-args": "^1.0.7", + "stream-exhaust": "^1.0.1" + } + }, + "async-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", "dev": true }, + "async-settle": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-settle/-/async-settle-1.0.0.tgz", + "integrity": "sha1-HQqRS7Aldb7IqPOnTlCA9yssDGs=", + "dev": true, + "requires": { + "async-done": "^1.2.2" + } + }, "atob": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.0.3.tgz", - "integrity": "sha1-GcenYEc3dEaPILLS0DNyrX1Mv10=", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz", + "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=", "dev": true }, + "bach": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/bach/-/bach-1.2.0.tgz", + "integrity": "sha1-Szzpa/JxNPeaG0FKUcFONMO9mIA=", + "dev": true, + "requires": { + "arr-filter": "^1.1.1", + "arr-flatten": "^1.0.1", + "arr-map": "^2.0.0", + "array-each": "^1.0.0", + "array-initial": "^1.0.0", + "array-last": "^1.1.1", + "async-done": "^1.2.2", + "async-settle": "^1.0.0", + "now-and-later": "^2.0.0" + } + }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", @@ -271,20 +390,52 @@ "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "dev": true, "requires": { - "cache-base": "1.0.1", - "class-utils": "0.3.5", - "component-emitter": "1.2.1", - "define-property": "1.0.0", - "isobject": "3.0.1", - "mixin-deep": "1.3.0", - "pascalcase": "0.1.1" + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" }, "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } } } }, @@ -294,69 +445,144 @@ "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=", "dev": true }, + "binary-extensions": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", + "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=", + "dev": true + }, "brace-expansion": { "version": "1.1.8", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, "buffer-equal": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", "integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=" }, + "buffer-from": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.0.tgz", + "integrity": "sha512-c5mRlguI/Pe2dSZmpER62rSCu0ryKmWddzRYsuXc50U2/g8jMOulc31VZMa4mYx31U5xsmSOpDCgH88Vl9cDGQ==", + "dev": true + }, + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true + }, "cache-base": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "dev": true, "requires": { - "collection-visit": "1.0.0", - "component-emitter": "1.2.1", - "get-value": "2.0.6", - "has-value": "1.0.0", - "isobject": "3.0.1", - "set-value": "2.0.0", - "to-object-path": "0.3.0", - "union-value": "1.0.0", - "unset-value": "1.0.0" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" } }, + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "chokidar": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.3.tgz", + "integrity": "sha512-zW8iXYZtXMx4kux/nuZVXjkLP+CyIK5Al5FHnj1OgTKGZfp4Oy6/ymtMSKFv3GD8DviEmUPmJg9eFdJ/JzudMg==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.0", + "braces": "^2.3.0", + "fsevents": "^1.1.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.1", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^2.1.1", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.0.0", + "upath": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", + "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + } } }, "class-utils": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.5.tgz", - "integrity": "sha1-F+eTEDdQ+WJ7IXbqNM/RtWWQPIA=", + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "dev": true, "requires": { - "arr-union": "3.1.0", - "define-property": "0.2.5", - "isobject": "3.0.1", - "lazy-cache": "2.0.2", - "static-extend": "0.1.2" + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" }, "dependencies": { "define-property": { @@ -365,31 +591,8 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "0.1.6" - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-descriptor": "^0.1.0" } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true } } }, @@ -399,12 +602,23 @@ "integrity": "sha1-OlrnT9drYmevZm5p4q+70B3vNNE=", "dev": true, "requires": { - "ansi-regex": "2.1.1", - "d": "1.0.0", - "es5-ext": "0.10.37", - "es6-iterator": "2.0.3", - "memoizee": "0.4.11", - "timers-ext": "0.1.2" + "ansi-regex": "^2.1.1", + "d": "1", + "es5-ext": "^0.10.12", + "es6-iterator": "2", + "memoizee": "^0.4.3", + "timers-ext": "0.1" + } + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" } }, "clone": { @@ -429,9 +643,26 @@ "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.0.0.tgz", "integrity": "sha1-pikNQT8hemEjL5XkWP84QYz7ARc=", "requires": { - "inherits": "2.0.3", - "process-nextick-args": "1.0.7", - "through2": "2.0.3" + "inherits": "^2.0.1", + "process-nextick-args": "^1.0.6", + "through2": "^2.0.1" + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, + "collection-map": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-map/-/collection-map-1.0.0.tgz", + "integrity": "sha1-rqDwb40mx4DCt1SUOFVEsiVa8Yw=", + "dev": true, + "requires": { + "arr-map": "^2.0.2", + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" } }, "collection-visit": { @@ -440,8 +671,8 @@ "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "dev": true, "requires": { - "map-visit": "1.0.0", - "object-visit": "1.0.1" + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" } }, "color-support": { @@ -461,19 +692,69 @@ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, "concat-with-sourcemaps": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.0.4.tgz", - "integrity": "sha1-9Vs74q60dgGxCi1SWcz7cP0vHdY=", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz", + "integrity": "sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==", "dev": true, "requires": { - "source-map": "0.5.7" + "source-map": "^0.6.1" }, "dependencies": { "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true } } @@ -489,55 +770,41 @@ "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", "dev": true }, + "copy-props": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/copy-props/-/copy-props-2.0.4.tgz", + "integrity": "sha512-7cjuUME+p+S3HZlbllgsn2CDwS+5eCCX16qBgNC4jgSTf49qR1VKy/Zhl400m0IQXl/bPGEVqncgUUMjrr4s8A==", + "dev": true, + "requires": { + "each-props": "^1.3.0", + "is-plain-object": "^2.0.1" + } + }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, "css": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/css/-/css-2.2.1.tgz", - "integrity": "sha1-c6TIHehdtmTU7mdPfUcIXjstVdw=", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/css/-/css-2.2.3.tgz", + "integrity": "sha512-0W171WccAjQGGTKLhw4m2nnl0zPHUlTO/I8td4XzJgIB8Hg3ZZx71qT4G4eX8OVsSiaAKiUMy73E3nsbPlg2DQ==", "dev": true, "requires": { - "inherits": "2.0.3", - "source-map": "0.1.43", - "source-map-resolve": "0.3.1", - "urix": "0.1.0" + "inherits": "^2.0.1", + "source-map": "^0.1.38", + "source-map-resolve": "^0.5.1", + "urix": "^0.1.0" }, "dependencies": { - "atob": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/atob/-/atob-1.1.3.tgz", - "integrity": "sha1-lfE2KbEsOlGl0hWr3OKqnzL4B3M=", - "dev": true - }, "source-map": { "version": "0.1.43", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", "dev": true, "requires": { - "amdefine": "1.0.1" - } - }, - "source-map-resolve": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.3.1.tgz", - "integrity": "sha1-YQ9hIqRFuN1RU1oqcbeD38Ekh2E=", - "dev": true, - "requires": { - "atob": "1.1.3", - "resolve-url": "0.2.1", - "source-map-url": "0.3.0", - "urix": "0.1.0" + "amdefine": ">=0.0.4" } - }, - "source-map-url": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.3.0.tgz", - "integrity": "sha1-fsrxO1e80J2opAxdJp2zN5nUqvk=", - "dev": true } } }, @@ -547,7 +814,7 @@ "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", "dev": true, "requires": { - "es5-ext": "0.10.37" + "es5-ext": "^0.10.9" } }, "dateformat": { @@ -566,14 +833,14 @@ } }, "debug-fabulous": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/debug-fabulous/-/debug-fabulous-1.0.0.tgz", - "integrity": "sha512-dsd50qQ1atDeurcxL7XOjPp4nZCGZzWIONDujDXzl1atSyC3hMbZD+v6440etw+Vt0Pr8ce4TQzHfX3KZM05Mw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/debug-fabulous/-/debug-fabulous-1.1.0.tgz", + "integrity": "sha512-GZqvGIgKNlUnHUPQhepnUZFIMoi3dgZKQBzKDeL2g7oJF9SNAji/AAu36dusFUas0O+pae74lNeoIPHqXWDkLg==", "dev": true, "requires": { - "debug": "3.1.0", - "memoizee": "0.4.11", - "object-assign": "4.1.1" + "debug": "3.X", + "memoizee": "0.4.X", + "object-assign": "4.X" }, "dependencies": { "debug": { @@ -593,52 +860,98 @@ } } }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, "decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", "dev": true }, - "defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "default-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/default-compare/-/default-compare-1.0.0.tgz", + "integrity": "sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ==", "dev": true, "requires": { - "clone": "1.0.3" + "kind-of": "^5.0.2" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } } }, + "default-resolution": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/default-resolution/-/default-resolution-2.0.0.tgz", + "integrity": "sha1-vLgrqnKtebQmp2cy8aga1t8m1oQ=", + "dev": true + }, "define-properties": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", "requires": { - "foreach": "2.0.5", - "object-keys": "1.0.11" + "foreach": "^2.0.5", + "object-keys": "^1.0.8" } }, "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "dev": true, "requires": { - "is-descriptor": "1.0.1" - } - }, - "deprecated": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/deprecated/-/deprecated-0.0.1.tgz", - "integrity": "sha1-+cmvVGSvoeepcUWKi97yqpTVuxk=", - "dev": true - }, - "detect-file": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", - "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", - "dev": true - }, - "detect-newline": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", + "dev": true + }, + "detect-newline": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=", @@ -662,18 +975,18 @@ "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", "dev": true, "requires": { - "readable-stream": "1.1.14" + "readable-stream": "~1.1.9" } }, "duplexify": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.1.tgz", - "integrity": "sha512-j5goxHTwVED1Fpe5hh3q9R93Kip0Bg2KVAt4f8CEYM3UEwYcPSvWbXaUQOzdX/HtiNomipv+gU7ASQPDbV7pGQ==", - "requires": { - "end-of-stream": "1.4.0", - "inherits": "2.0.3", - "readable-stream": "2.3.3", - "stream-shift": "1.0.0" + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz", + "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==", + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" }, "dependencies": { "isarray": { @@ -681,36 +994,60 @@ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" + }, "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "~5.1.0" } } } }, + "each-props": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/each-props/-/each-props-1.3.2.tgz", + "integrity": "sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.1", + "object.defaults": "^1.1.0" + } + }, "end-of-stream": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.0.tgz", - "integrity": "sha1-epDYM+/abPpurA9JSduw+tOmMgY=", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", + "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", "requires": { - "once": "1.4.0" + "once": "^1.4.0" + } + }, + "error-ex": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", + "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" } }, "es5-ext": { @@ -719,8 +1056,8 @@ "integrity": "sha1-DudB0Ui4AGm6J9AgOTdWryV978M=", "dev": true, "requires": { - "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1" + "es6-iterator": "~2.0.1", + "es6-symbol": "~3.1.1" } }, "es6-iterator": { @@ -729,9 +1066,9 @@ "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.37", - "es6-symbol": "3.1.1" + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" } }, "es6-symbol": { @@ -740,8 +1077,8 @@ "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.37" + "d": "1", + "es5-ext": "~0.10.14" } }, "es6-weak-map": { @@ -750,10 +1087,10 @@ "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.37", - "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1" + "d": "1", + "es5-ext": "^0.10.14", + "es6-iterator": "^2.0.1", + "es6-symbol": "^3.1.1" } }, "escape-string-regexp": { @@ -768,8 +1105,8 @@ "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.37" + "d": "1", + "es5-ext": "~0.10.14" } }, "event-stream": { @@ -778,13 +1115,48 @@ "integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=", "dev": true, "requires": { - "duplexer": "0.1.1", - "from": "0.1.7", - "map-stream": "0.1.0", + "duplexer": "~0.1.1", + "from": "~0", + "map-stream": "~0.1.0", "pause-stream": "0.0.11", - "split": "0.3.3", - "stream-combiner": "0.0.4", - "through": "2.3.8" + "split": "0.3", + "stream-combiner": "~0.0.4", + "through": "~2.3.1" + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } } }, "expand-tilde": { @@ -793,7 +1165,7 @@ "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", "dev": true, "requires": { - "homedir-polyfill": "1.0.1" + "homedir-polyfill": "^1.0.1" } }, "extend": { @@ -802,221 +1174,160 @@ "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=" }, "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "0.1.1" - } - }, - "fancy-log": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.2.tgz", - "integrity": "sha1-9BEl49hPLn2JpD0G2VjI94vha+E=", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "dev": true, "requires": { - "ansi-gray": "0.1.1", - "color-support": "1.1.3", - "time-stamp": "1.1.0" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } } }, - "find-index": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/find-index/-/find-index-0.1.1.tgz", - "integrity": "sha1-Z101iyyjiS15Whq0cjL4tuLg3eQ=", - "dev": true - }, - "findup-sync": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", - "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "requires": { - "detect-file": "1.0.0", - "is-glob": "3.1.0", - "micromatch": "3.1.4", - "resolve-dir": "1.0.1" + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true - }, - "braces": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.0.tgz", - "integrity": "sha512-P4O8UQRdGiMLWSizsApmXVQDBS6KCt7dSexgLKBmH5Hr1CZq7vsnscFh8oR1sP1ab1Zj0uCHCEzZeV6SfUf3rA==", - "dev": true, - "requires": { - "arr-flatten": "1.1.0", - "array-unique": "0.3.2", - "define-property": "1.0.0", - "extend-shallow": "2.0.1", - "fill-range": "4.0.0", - "isobject": "3.0.1", - "repeat-element": "1.1.2", - "snapdragon": "0.8.1", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.1" - } - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.0", - "snapdragon": "0.8.1", - "to-regex": "3.0.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "0.1.6" - } - } + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" } }, - "extglob": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.3.tgz", - "integrity": "sha512-AyptZexgu7qppEPq59DtN/XJGZDrLcVxSHai+4hdgMMS9EpF4GBvygcWWApno8lL9qSjVpYt7Raao28qzJX1ww==", + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "array-unique": "0.3.2", - "define-property": "1.0.0", - "expand-brackets": "2.1.4", - "extend-shallow": "2.0.1", - "fragment-cache": "0.2.1", - "regex-not": "1.0.0", - "snapdragon": "0.8.1", - "to-regex": "3.0.1" + "is-extendable": "^0.1.0" } }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "extend-shallow": "2.0.1", - "is-number": "3.0.0", - "repeat-string": "1.6.1", - "to-regex-range": "2.1.1" + "kind-of": "^6.0.0" } }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } + "kind-of": "^6.0.0" } }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - }, - "micromatch": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.4.tgz", - "integrity": "sha512-kFRtviKYoAJT+t7HggMl0tBFGNAKLw/S7N+CO9qfEQyisob1Oy4pao+geRbkyeEd+V9aOkvZ4mhuyPvI/q9Sfg==", - "dev": true, - "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.0", - "define-property": "1.0.0", - "extend-shallow": "2.0.1", - "extglob": "2.0.3", - "fragment-cache": "0.2.1", - "kind-of": "6.0.2", - "nanomatch": "1.2.6", - "object.pick": "1.3.0", - "regex-not": "1.0.0", - "snapdragon": "0.8.1", - "to-regex": "3.0.1" + } + } + }, + "fancy-log": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.2.tgz", + "integrity": "sha1-9BEl49hPLn2JpD0G2VjI94vha+E=", + "dev": true, + "requires": { + "ansi-gray": "^0.1.1", + "color-support": "^1.1.3", + "time-stamp": "^1.0.0" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" } } } }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "findup-sync": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", + "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^3.1.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + } + }, "fined": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fined/-/fined-1.1.0.tgz", "integrity": "sha1-s33IRLdqL15wgeiE98CuNE8VNHY=", "dev": true, "requires": { - "expand-tilde": "2.0.2", - "is-plain-object": "2.0.4", - "object.defaults": "1.1.0", - "object.pick": "1.3.0", - "parse-filepath": "1.0.2" + "expand-tilde": "^2.0.2", + "is-plain-object": "^2.0.3", + "object.defaults": "^1.1.0", + "object.pick": "^1.2.0", + "parse-filepath": "^1.0.1" } }, - "first-chunk-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz", - "integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=", - "dev": true - }, "flagged-respawn": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.0.tgz", @@ -1024,12 +1335,12 @@ "dev": true }, "flush-write-stream": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.2.tgz", - "integrity": "sha1-yBuQ2HRnZvGmCaRoCZRsRd2K5Bc=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz", + "integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==", "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.3" + "inherits": "^2.0.1", + "readable-stream": "^2.0.4" }, "dependencies": { "isarray": { @@ -1037,26 +1348,31 @@ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" + }, "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "~5.1.0" } } } @@ -1067,6 +1383,15 @@ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", "dev": true }, + "for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "dev": true, + "requires": { + "for-in": "^1.0.1" + } + }, "foreach": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", @@ -1078,7 +1403,7 @@ "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", "dev": true, "requires": { - "map-cache": "0.2.2" + "map-cache": "^0.2.2" } }, "from": { @@ -1092,8 +1417,8 @@ "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz", "integrity": "sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes=", "requires": { - "graceful-fs": "4.1.11", - "through2": "2.0.3" + "graceful-fs": "^4.1.11", + "through2": "^2.0.3" } }, "fs.realpath": { @@ -1101,19 +1426,545 @@ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, + "fsevents": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", + "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", + "dev": true, + "optional": true, + "requires": { + "nan": "^2.9.2", + "node-pre-gyp": "^0.10.0" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "debug": { + "version": "2.6.9", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.21", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safer-buffer": "^2.1.0" + } + }, + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + }, + "minipass": { + "version": "2.2.4", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "^5.1.1", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "needle": { + "version": "2.2.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "debug": "^2.1.2", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.10.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.0", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.1.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "npm-packlist": { + "version": "1.1.10", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.7", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "deep-extend": "^0.5.1", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "rimraf": { + "version": "2.6.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "glob": "^7.0.5" + } + }, + "safe-buffer": { + "version": "5.1.1", + "bundled": true, + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "bundled": true, + "dev": true, + "optional": true + }, + "semver": { + "version": "5.5.0", + "bundled": true, + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "tar": { + "version": "4.4.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "chownr": "^1.0.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.2.4", + "minizlib": "^1.1.0", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.1", + "yallist": "^3.0.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "wide-align": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "string-width": "^1.0.2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "yallist": { + "version": "3.0.2", + "bundled": true, + "dev": true + } + } + }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, - "gaze": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz", - "integrity": "sha1-QLcJU30k0dRXZ9takIaJ3+aaxE8=", - "dev": true, - "requires": { - "globule": "0.1.0" - } + "get-caller-file": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", + "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", + "dev": true }, "get-value": { "version": "2.0.6", @@ -1126,12 +1977,12 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "glob-parent": { @@ -1139,8 +1990,8 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", "requires": { - "is-glob": "3.1.0", - "path-dirname": "1.0.2" + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" } }, "glob-stream": { @@ -1148,16 +1999,16 @@ "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz", "integrity": "sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ=", "requires": { - "extend": "3.0.1", - "glob": "7.1.2", - "glob-parent": "3.1.0", - "is-negated-glob": "1.0.0", - "ordered-read-streams": "1.0.1", - "pumpify": "1.3.5", - "readable-stream": "2.3.3", - "remove-trailing-separator": "1.1.0", - "to-absolute-glob": "2.0.2", - "unique-stream": "2.2.1" + "extend": "^3.0.0", + "glob": "^7.1.1", + "glob-parent": "^3.1.0", + "is-negated-glob": "^1.0.0", + "ordered-read-streams": "^1.0.0", + "pumpify": "^1.3.5", + "readable-stream": "^2.1.5", + "remove-trailing-separator": "^1.0.1", + "to-absolute-glob": "^2.0.0", + "unique-stream": "^2.0.2" }, "dependencies": { "isarray": { @@ -1165,125 +2016,78 @@ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, - "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" - } + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "requires": { - "safe-buffer": "5.1.1" - } - } - } - }, - "glob-watcher": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.6.tgz", - "integrity": "sha1-uVtKjfdLOcgymLDAXJeLTZo7cQs=", - "dev": true, - "requires": { - "gaze": "0.5.2" - } - }, - "glob2base": { - "version": "0.0.12", - "resolved": "https://registry.npmjs.org/glob2base/-/glob2base-0.0.12.tgz", - "integrity": "sha1-nUGbPijxLoOjYhZKJ3BVkiycDVY=", - "dev": true, - "requires": { - "find-index": "0.1.1" - } - }, - "global-modules": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", - "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", - "dev": true, - "requires": { - "global-prefix": "1.0.2", - "is-windows": "1.0.1", - "resolve-dir": "1.0.1" - } - }, - "global-prefix": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", - "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", - "dev": true, - "requires": { - "expand-tilde": "2.0.2", - "homedir-polyfill": "1.0.1", - "ini": "1.3.5", - "is-windows": "1.0.1", - "which": "1.3.0" - } - }, - "globule": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz", - "integrity": "sha1-2cjt3h2nnRJaFRt5UzuXhnY0auU=", - "dev": true, - "requires": { - "glob": "3.1.21", - "lodash": "1.0.2", - "minimatch": "0.2.14" - }, - "dependencies": { - "glob": { - "version": "3.1.21", - "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", - "integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=", - "dev": true, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { - "graceful-fs": "1.2.3", - "inherits": "1.0.2", - "minimatch": "0.2.14" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "graceful-fs": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz", - "integrity": "sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=", - "dev": true - }, - "inherits": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz", - "integrity": "sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=", - "dev": true - }, - "minimatch": { - "version": "0.2.14", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", - "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=", - "dev": true, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { - "lru-cache": "2.7.3", - "sigmund": "1.0.1" + "safe-buffer": "~5.1.0" } } } }, + "glob-watcher": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.1.tgz", + "integrity": "sha512-fK92r2COMC199WCyGUblrZKhjra3cyVMDiypDdqg1vsSDmexnbYivK1kNR4QItiNXLKmGlqan469ks67RtNa2g==", + "dev": true, + "requires": { + "async-done": "^1.2.0", + "chokidar": "^2.0.0", + "just-debounce": "^1.0.0", + "object.defaults": "^1.1.0" + } + }, + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + } + }, "glogg": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.0.tgz", "integrity": "sha1-f+DxmfV6yQbPUS/urY+Q7kooT8U=", "dev": true, "requires": { - "sparkles": "1.0.0" + "sparkles": "^1.0.0" } }, "graceful-fs": { @@ -1292,144 +2096,50 @@ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" }, "gulp": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/gulp/-/gulp-3.9.1.tgz", - "integrity": "sha1-VxzkWSjdQK9lFPxAEYZgFsE4RbQ=", - "dev": true, - "requires": { - "archy": "1.0.0", - "chalk": "1.1.3", - "deprecated": "0.0.1", - "gulp-util": "3.0.8", - "interpret": "1.1.0", - "liftoff": "2.5.0", - "minimist": "1.2.0", - "orchestrator": "0.3.8", - "pretty-hrtime": "1.0.3", - "semver": "4.3.6", - "tildify": "1.2.0", - "v8flags": "2.1.1", - "vinyl-fs": "0.3.14" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/gulp/-/gulp-4.0.0.tgz", + "integrity": "sha1-lXZsYB2t5Kd+0+eyttwDiBtZY2Y=", + "dev": true, + "requires": { + "glob-watcher": "^5.0.0", + "gulp-cli": "^2.0.0", + "undertaker": "^1.0.0", + "vinyl-fs": "^3.0.0" }, "dependencies": { - "clone": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", - "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=", - "dev": true - }, - "glob": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz", - "integrity": "sha1-xstz0yJsHv7wTePFbQEvAzd+4V8=", - "dev": true, - "requires": { - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "2.0.10", - "once": "1.4.0" - } - }, - "glob-stream": { - "version": "3.1.18", - "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-3.1.18.tgz", - "integrity": "sha1-kXCl8St5Awb9/lmPMT+PeVT9FDs=", - "dev": true, - "requires": { - "glob": "4.5.3", - "glob2base": "0.0.12", - "minimatch": "2.0.10", - "ordered-read-streams": "0.1.0", - "through2": "0.6.5", - "unique-stream": "1.0.0" - } - }, - "graceful-fs": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz", - "integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=", - "dev": true, - "requires": { - "natives": "1.1.1" - } - }, - "minimatch": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz", - "integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=", - "dev": true, - "requires": { - "brace-expansion": "1.1.8" - } - }, - "ordered-read-streams": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz", - "integrity": "sha1-/VZamvjrRHO6abbtijQ1LLVS8SY=", - "dev": true - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "0.0.1", - "string_decoder": "0.10.31" - } - }, - "strip-bom": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-1.0.0.tgz", - "integrity": "sha1-hbiGLzhEtabV7IRnqTWYFzo295Q=", - "dev": true, - "requires": { - "first-chunk-stream": "1.0.0", - "is-utf8": "0.2.1" - } - }, - "through2": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", - "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", - "dev": true, - "requires": { - "readable-stream": "1.0.34", - "xtend": "4.0.1" - } - }, - "unique-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-1.0.0.tgz", - "integrity": "sha1-1ZpKdUJ0R9mqbJHnAmP40mpLEEs=", - "dev": true - }, - "vinyl": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz", - "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", + "ansi-colors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", + "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", "dev": true, "requires": { - "clone": "0.2.0", - "clone-stats": "0.0.1" + "ansi-wrap": "^0.1.0" } }, - "vinyl-fs": { - "version": "0.3.14", - "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.14.tgz", - "integrity": "sha1-mmhRzhysHBzqX+hsCTHWIMLPqeY=", + "gulp-cli": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-2.0.1.tgz", + "integrity": "sha512-RxujJJdN8/O6IW2nPugl7YazhmrIEjmiVfPKrWt68r71UCaLKS71Hp0gpKT+F6qOUFtr7KqtifDKaAJPRVvMYQ==", "dev": true, "requires": { - "defaults": "1.0.3", - "glob-stream": "3.1.18", - "glob-watcher": "0.0.6", - "graceful-fs": "3.0.11", - "mkdirp": "0.5.1", - "strip-bom": "1.0.0", - "through2": "0.6.5", - "vinyl": "0.4.6" + "ansi-colors": "^1.0.1", + "archy": "^1.0.0", + "array-sort": "^1.0.0", + "color-support": "^1.1.3", + "concat-stream": "^1.6.0", + "copy-props": "^2.0.1", + "fancy-log": "^1.3.2", + "gulplog": "^1.0.0", + "interpret": "^1.1.0", + "isobject": "^3.0.1", + "liftoff": "^2.5.0", + "matchdep": "^2.0.0", + "mute-stdout": "^1.0.0", + "pretty-hrtime": "^1.0.0", + "replace-homedir": "^1.0.0", + "semver-greatest-satisfied-range": "^1.1.0", + "v8flags": "^3.0.1", + "yargs": "^7.1.0" } } } @@ -1440,9 +2150,9 @@ "integrity": "sha1-Yz0WyV2IUEYorQJmVmPO5aR5M1M=", "dev": true, "requires": { - "concat-with-sourcemaps": "1.0.4", - "through2": "2.0.3", - "vinyl": "2.1.0" + "concat-with-sourcemaps": "^1.0.0", + "through2": "^2.0.0", + "vinyl": "^2.0.0" }, "dependencies": { "clone": { @@ -1469,12 +2179,12 @@ "integrity": "sha1-Ah+cLPlR1rk5lDyJ617lrdT9kkw=", "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.1.0", - "replace-ext": "1.0.0" + "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" } } } @@ -1485,52 +2195,134 @@ "integrity": "sha1-EBsjcS3WsQe9B9BauI6jrEhf7Xc=", "dev": true, "requires": { - "cli-color": "1.2.0", - "diff": "2.2.3", - "event-stream": "3.3.4", - "gulp-util": "3.0.8", - "through2": "2.0.3" + "cli-color": "^1.0.0", + "diff": "^2.0.2", + "event-stream": "^3.1.5", + "gulp-util": "^3.0.6", + "through2": "^2.0.0" } }, "gulp-header": { - "version": "1.8.9", - "resolved": "https://registry.npmjs.org/gulp-header/-/gulp-header-1.8.9.tgz", - "integrity": "sha1-yfEP7gYy2B6Tl4nG7PRaFRvzCYs=", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/gulp-header/-/gulp-header-2.0.5.tgz", + "integrity": "sha512-7bOIiHvM1GUHIG3LRH+UIanOxyjSys0FbzzgUBlV2cZIIZihEW+KKKKm0ejUBNGvRdhISEFFr6HlptXoa28gtQ==", "dev": true, "requires": { - "concat-with-sourcemaps": "1.0.4", - "gulp-util": "3.0.8", - "object-assign": "3.0.0", - "through2": "2.0.3" + "concat-with-sourcemaps": "*", + "lodash.template": "^4.4.0", + "through2": "^2.0.0" + }, + "dependencies": { + "lodash.template": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.4.0.tgz", + "integrity": "sha1-5zoDhcg1VZF0bgILmWecaQ5o+6A=", + "dev": true, + "requires": { + "lodash._reinterpolate": "~3.0.0", + "lodash.templatesettings": "^4.0.0" + } + }, + "lodash.templatesettings": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz", + "integrity": "sha1-K01OlbpEDZFf8IvImeRVNmZxMxY=", + "dev": true, + "requires": { + "lodash._reinterpolate": "~3.0.0" + } + } } }, "gulp-plumber": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/gulp-plumber/-/gulp-plumber-1.1.0.tgz", - "integrity": "sha1-8SF2wtBCL2AwbCQv/2oBo5T6ugk=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gulp-plumber/-/gulp-plumber-1.2.0.tgz", + "integrity": "sha512-L/LJftsbKoHbVj6dN5pvMsyJn9jYI0wT0nMg3G6VZhDac4NesezecYTi8/48rHi+yEic3sUpw6jlSc7qNWh32A==", "dev": true, "requires": { - "gulp-util": "3.0.8", - "through2": "2.0.3" + "chalk": "^1.1.3", + "fancy-log": "^1.3.2", + "plugin-error": "^0.1.2", + "through2": "^2.0.3" + }, + "dependencies": { + "arr-diff": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz", + "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=", + "dev": true, + "requires": { + "arr-flatten": "^1.0.1", + "array-slice": "^0.2.3" + } + }, + "arr-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz", + "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0=", + "dev": true + }, + "array-slice": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", + "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=", + "dev": true + }, + "extend-shallow": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz", + "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=", + "dev": true, + "requires": { + "kind-of": "^1.1.0" + } + }, + "kind-of": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", + "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=", + "dev": true + }, + "plugin-error": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz", + "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=", + "dev": true, + "requires": { + "ansi-cyan": "^0.1.1", + "ansi-red": "^0.1.1", + "arr-diff": "^1.0.1", + "arr-union": "^2.0.1", + "extend-shallow": "^1.1.2" + } + } } }, "gulp-sourcemaps": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-2.6.2.tgz", - "integrity": "sha1-T0HHKzWn6ga2ZtLj9XkX4sDnHE4=", + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-2.6.4.tgz", + "integrity": "sha1-y7IAhFCxvM5s0jv5gze+dRv24wo=", "dev": true, "requires": { - "@gulp-sourcemaps/identity-map": "1.0.1", - "@gulp-sourcemaps/map-sources": "1.0.0", - "acorn": "5.2.1", - "convert-source-map": "1.5.1", - "css": "2.2.1", - "debug-fabulous": "1.0.0", - "detect-newline": "2.1.0", - "graceful-fs": "4.1.11", - "source-map": "0.6.1", - "strip-bom-string": "1.0.0", - "through2": "2.0.3" + "@gulp-sourcemaps/identity-map": "1.X", + "@gulp-sourcemaps/map-sources": "1.X", + "acorn": "5.X", + "convert-source-map": "1.X", + "css": "2.X", + "debug-fabulous": "1.X", + "detect-newline": "2.X", + "graceful-fs": "4.X", + "source-map": "~0.6.0", + "strip-bom-string": "1.X", + "through2": "2.X" + }, + "dependencies": { + "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 + } } }, "gulp-util": { @@ -1539,24 +2331,24 @@ "integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=", "dev": true, "requires": { - "array-differ": "1.0.0", - "array-uniq": "1.0.3", - "beeper": "1.1.1", - "chalk": "1.1.3", - "dateformat": "2.2.0", - "fancy-log": "1.3.2", - "gulplog": "1.0.0", - "has-gulplog": "0.1.0", - "lodash._reescape": "3.0.0", - "lodash._reevaluate": "3.0.0", - "lodash._reinterpolate": "3.0.0", - "lodash.template": "3.6.2", - "minimist": "1.2.0", - "multipipe": "0.1.2", - "object-assign": "3.0.0", + "array-differ": "^1.0.0", + "array-uniq": "^1.0.2", + "beeper": "^1.0.0", + "chalk": "^1.0.0", + "dateformat": "^2.0.0", + "fancy-log": "^1.1.0", + "gulplog": "^1.0.0", + "has-gulplog": "^0.1.0", + "lodash._reescape": "^3.0.0", + "lodash._reevaluate": "^3.0.0", + "lodash._reinterpolate": "^3.0.0", + "lodash.template": "^3.0.0", + "minimist": "^1.1.0", + "multipipe": "^0.1.2", + "object-assign": "^3.0.0", "replace-ext": "0.0.1", - "through2": "2.0.3", - "vinyl": "0.5.3" + "through2": "^2.0.0", + "vinyl": "^0.5.0" }, "dependencies": { "vinyl": { @@ -1565,8 +2357,8 @@ "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=", "dev": true, "requires": { - "clone": "1.0.3", - "clone-stats": "0.0.1", + "clone": "^1.0.0", + "clone-stats": "^0.0.1", "replace-ext": "0.0.1" } } @@ -1578,7 +2370,7 @@ "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", "dev": true, "requires": { - "glogg": "1.0.0" + "glogg": "^1.0.0" } }, "has-ansi": { @@ -1587,7 +2379,7 @@ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "has-gulplog": { @@ -1596,7 +2388,7 @@ "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=", "dev": true, "requires": { - "sparkles": "1.0.0" + "sparkles": "^1.0.0" } }, "has-symbols": { @@ -1610,17 +2402,9 @@ "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "dev": true, "requires": { - "get-value": "2.0.6", - "has-values": "1.0.0", - "isobject": "3.0.1" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" } }, "has-values": { @@ -1629,37 +2413,17 @@ "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "dev": true, "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" }, "dependencies": { - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, "kind-of": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -1670,16 +2434,22 @@ "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=", "dev": true, "requires": { - "parse-passwd": "1.0.0" + "parse-passwd": "^1.0.0" } }, + "hosted-git-info": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz", + "integrity": "sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw==", + "dev": true + }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -1699,13 +2469,19 @@ "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=", "dev": true }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true + }, "is-absolute": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", "requires": { - "is-relative": "1.0.0", - "is-windows": "1.0.1" + "is-relative": "^1.0.0", + "is-windows": "^1.0.1" } }, "is-accessor-descriptor": { @@ -1714,7 +2490,33 @@ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "^1.0.0" } }, "is-buffer": { @@ -1722,24 +2524,44 @@ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, + "is-builtin-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "dev": true, + "requires": { + "builtin-modules": "^1.0.0" + } + }, "is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } } }, "is-descriptor": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.1.tgz", - "integrity": "sha512-G3fFVFTqfaqu7r4YuSBHKBAuOaLz8Sy7ekklUpFEliaLMP1Y2ZjoN9jS62YWCAPQrQpMUQSitRlrzibbuCZjdA==", + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "dependencies": { "kind-of": { @@ -1761,12 +2583,21 @@ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, "is-glob": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "requires": { - "is-extglob": "2.1.1" + "is-extglob": "^2.1.0" } }, "is-negated-glob": { @@ -1774,40 +2605,55 @@ "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz", "integrity": "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=" }, - "is-odd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-1.0.0.tgz", - "integrity": "sha1-O4qTLrAos3dcObsJ6RdnrM22kIg=", + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "is-number": "3.0.0" + "kind-of": "^3.0.2" }, "dependencies": { - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "kind-of": "3.2.2" + "is-buffer": "^1.1.5" } } } }, + "is-odd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz", + "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==", + "dev": true, + "requires": { + "is-number": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true + } + } + }, "is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" }, "dependencies": { "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" } } }, @@ -1822,7 +2668,7 @@ "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", "requires": { - "is-unc-path": "1.0.0" + "is-unc-path": "^1.0.0" } }, "is-unc-path": { @@ -1830,7 +2676,7 @@ "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", "requires": { - "unc-path-regex": "0.1.2" + "unc-path-regex": "^0.1.2" } }, "is-utf8": { @@ -1860,12 +2706,18 @@ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, "json-stable-stringify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", "requires": { - "jsonify": "0.0.0" + "jsonify": "~0.0.0" } }, "jsonify": { @@ -1873,22 +2725,26 @@ "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" }, + "just-debounce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/just-debounce/-/just-debounce-1.0.0.tgz", + "integrity": "sha1-h/zPrv/AtozRnVX2cilD+SnqNeo=", + "dev": true + }, "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true }, - "lazy-cache": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz", - "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=", + "last-run": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/last-run/-/last-run-1.1.1.tgz", + "integrity": "sha1-RblpQsF7HHnHchmCWbqUO+v4yls=", "dev": true, "requires": { - "set-getter": "0.1.0" + "default-resolution": "^2.0.0", + "es6-weak-map": "^2.0.1" } }, "lazystream": { @@ -1896,7 +2752,7 @@ "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", "requires": { - "readable-stream": "2.3.3" + "readable-stream": "^2.0.5" }, "dependencies": { "isarray": { @@ -1904,36 +2760,50 @@ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" + }, "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "~5.1.0" } } } }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, + "requires": { + "invert-kv": "^1.0.0" + } + }, "lead": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz", "integrity": "sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI=", "requires": { - "flush-write-stream": "1.0.2" + "flush-write-stream": "^1.0.2" } }, "liftoff": { @@ -1942,21 +2812,28 @@ "integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=", "dev": true, "requires": { - "extend": "3.0.1", - "findup-sync": "2.0.0", - "fined": "1.1.0", - "flagged-respawn": "1.0.0", - "is-plain-object": "2.0.4", - "object.map": "1.0.1", - "rechoir": "0.6.2", - "resolve": "1.5.0" + "extend": "^3.0.0", + "findup-sync": "^2.0.0", + "fined": "^1.0.1", + "flagged-respawn": "^1.0.0", + "is-plain-object": "^2.0.4", + "object.map": "^1.0.0", + "rechoir": "^0.6.2", + "resolve": "^1.1.7" } }, - "lodash": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz", - "integrity": "sha1-j1dWDIO1n8JwvT1WG2kAQ0MOJVE=", - "dev": true + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + } }, "lodash._basecopy": { "version": "3.0.1", @@ -2018,7 +2895,7 @@ "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=", "dev": true, "requires": { - "lodash._root": "3.0.1" + "lodash._root": "^3.0.0" } }, "lodash.isarguments": { @@ -2039,9 +2916,9 @@ "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", "dev": true, "requires": { - "lodash._getnative": "3.9.1", - "lodash.isarguments": "3.1.0", - "lodash.isarray": "3.0.4" + "lodash._getnative": "^3.0.0", + "lodash.isarguments": "^3.0.0", + "lodash.isarray": "^3.0.0" } }, "lodash.restparam": { @@ -2056,15 +2933,15 @@ "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=", "dev": true, "requires": { - "lodash._basecopy": "3.0.1", - "lodash._basetostring": "3.0.1", - "lodash._basevalues": "3.0.0", - "lodash._isiterateecall": "3.0.9", - "lodash._reinterpolate": "3.0.0", - "lodash.escape": "3.2.0", - "lodash.keys": "3.1.2", - "lodash.restparam": "3.6.1", - "lodash.templatesettings": "3.1.1" + "lodash._basecopy": "^3.0.0", + "lodash._basetostring": "^3.0.0", + "lodash._basevalues": "^3.0.0", + "lodash._isiterateecall": "^3.0.0", + "lodash._reinterpolate": "^3.0.0", + "lodash.escape": "^3.0.0", + "lodash.keys": "^3.0.0", + "lodash.restparam": "^3.0.0", + "lodash.templatesettings": "^3.0.0" } }, "lodash.templatesettings": { @@ -2073,32 +2950,26 @@ "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=", "dev": true, "requires": { - "lodash._reinterpolate": "3.0.0", - "lodash.escape": "3.2.0" + "lodash._reinterpolate": "^3.0.0", + "lodash.escape": "^3.0.0" } }, - "lru-cache": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", - "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=", - "dev": true - }, "lru-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz", "integrity": "sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=", "dev": true, "requires": { - "es5-ext": "0.10.37" + "es5-ext": "~0.10.2" } }, "make-iterator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.0.tgz", - "integrity": "sha1-V7713IXSOSO6I3ZzJNjo+PPZaUs=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", + "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^6.0.2" } }, "map-cache": { @@ -2119,7 +2990,19 @@ "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "dev": true, "requires": { - "object-visit": "1.0.1" + "object-visit": "^1.0.0" + } + }, + "matchdep": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/matchdep/-/matchdep-2.0.0.tgz", + "integrity": "sha1-xvNINKDY28OzfCfui7yyfHd1WC4=", + "dev": true, + "requires": { + "findup-sync": "^2.0.0", + "micromatch": "^3.0.4", + "resolve": "^1.4.0", + "stack-trace": "0.0.10" } }, "memoizee": { @@ -2128,14 +3011,14 @@ "integrity": "sha1-vemBdmPJ5A/bKk6hw2cpYIeujI8=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.37", - "es6-weak-map": "2.0.2", - "event-emitter": "0.3.5", - "is-promise": "2.1.0", - "lru-queue": "0.1.0", - "next-tick": "1.0.0", - "timers-ext": "0.1.2" + "d": "1", + "es5-ext": "^0.10.30", + "es6-weak-map": "^2.0.2", + "event-emitter": "^0.3.5", + "is-promise": "^2.1", + "lru-queue": "0.1", + "next-tick": "1", + "timers-ext": "^0.1.2" } }, "merge-stream": { @@ -2144,7 +3027,7 @@ "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=", "dev": true, "requires": { - "readable-stream": "2.3.3" + "readable-stream": "^2.0.1" }, "dependencies": { "isarray": { @@ -2159,13 +3042,13 @@ "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.0.3", + "util-deprecate": "~1.0.1" } }, "string_decoder": { @@ -2174,17 +3057,38 @@ "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", "dev": true, "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "~5.1.0" } } } }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "brace-expansion": "1.1.8" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -2194,40 +3098,23 @@ "dev": true }, "mixin-deep": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.0.tgz", - "integrity": "sha512-dgaCvoh6i1nosAUBKb0l0pfJ78K8+S9fluyIR2YvAeUD/QuMahnFnF3xYty5eYXMjhGSsB0DsW6A0uAZyetoAg==", - "dev": true, - "requires": { - "for-in": "1.0.2", - "is-extendable": "1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "2.0.4" - } - } - } - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", + "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", "dev": true, "requires": { - "minimist": "0.0.8" + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" }, "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } } } }, @@ -2246,63 +3133,71 @@ "duplexer2": "0.0.2" } }, + "mute-stdout": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.0.tgz", + "integrity": "sha1-WzLqB+tDyd7WEwQ0z5JvRrKn/U0=", + "dev": true + }, + "nan": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", + "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", + "dev": true, + "optional": true + }, "nanomatch": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.6.tgz", - "integrity": "sha512-WJ6XTCbvWXUFPbi/bDwKcYkCeOGUHzaJj72KbuPqGn78Ba/F5Vu26Zlo6SuMQbCIst1RGKL1zfWBCOGAlbRLAg==", - "dev": true, - "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "define-property": "1.0.0", - "extend-shallow": "2.0.1", - "fragment-cache": "0.2.1", - "is-odd": "1.0.0", - "kind-of": "5.1.0", - "object.pick": "1.3.0", - "regex-not": "1.0.0", - "snapdragon": "0.8.1", - "to-regex": "3.0.1" + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz", + "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-odd": "^2.0.0", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true } } }, - "natives": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/natives/-/natives-1.1.1.tgz", - "integrity": "sha512-8eRaxn8u/4wN8tGkhlc2cgwwvOLMLUMUn4IYTexMgWd+LyUDfeXVkk2ygQR0hvIHbJQXgHujia3ieUUDwNGkEA==", - "dev": true - }, "next-tick": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", "dev": true }, + "normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, "normalize-path": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "requires": { - "remove-trailing-separator": "1.1.0" + "remove-trailing-separator": "^1.0.1" } }, "now-and-later": { @@ -2310,9 +3205,15 @@ "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.0.tgz", "integrity": "sha1-vGHLtFbXnLMiB85HygUTb/Ln1u4=", "requires": { - "once": "1.4.0" + "once": "^1.3.2" } }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, "object-assign": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", @@ -2325,9 +3226,9 @@ "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "dev": true, "requires": { - "copy-descriptor": "0.1.1", - "define-property": "0.2.5", - "kind-of": "3.2.2" + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" }, "dependencies": { "define-property": { @@ -2336,26 +3237,16 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } + "is-buffer": "^1.1.5" } } } @@ -2371,15 +3262,7 @@ "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "dev": true, "requires": { - "isobject": "3.0.1" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } + "isobject": "^3.0.0" } }, "object.assign": { @@ -2387,10 +3270,10 @@ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", "requires": { - "define-properties": "1.1.2", - "function-bind": "1.1.1", - "has-symbols": "1.0.0", - "object-keys": "1.0.11" + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" } }, "object.defaults": { @@ -2399,27 +3282,10 @@ "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", "dev": true, "requires": { - "array-each": "1.0.1", - "array-slice": "1.1.0", - "for-own": "1.0.0", - "isobject": "3.0.1" - }, - "dependencies": { - "for-own": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", - "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", - "dev": true, - "requires": { - "for-in": "1.0.2" - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } + "array-each": "^1.0.1", + "array-slice": "^1.0.0", + "for-own": "^1.0.0", + "isobject": "^3.0.0" } }, "object.map": { @@ -2428,19 +3294,8 @@ "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=", "dev": true, "requires": { - "for-own": "1.0.0", - "make-iterator": "1.0.0" - }, - "dependencies": { - "for-own": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", - "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", - "dev": true, - "requires": { - "for-in": "1.0.2" - } - } + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" } }, "object.pick": { @@ -2449,15 +3304,17 @@ "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "dev": true, "requires": { - "isobject": "3.0.1" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } + "isobject": "^3.0.1" + } + }, + "object.reduce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.reduce/-/object.reduce-1.0.1.tgz", + "integrity": "sha1-b+NI8qx/oPlcpiEiZZkJaCW7A60=", + "dev": true, + "requires": { + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" } }, "once": { @@ -2465,38 +3322,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { - "wrappy": "1.0.2" - } - }, - "orchestrator": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/orchestrator/-/orchestrator-0.3.8.tgz", - "integrity": "sha1-FOfp4nZPcxX7rBhOUGx6pt+UrX4=", - "dev": true, - "requires": { - "end-of-stream": "0.1.5", - "sequencify": "0.0.7", - "stream-consume": "0.1.0" - }, - "dependencies": { - "end-of-stream": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz", - "integrity": "sha1-jhdyBsPICDfYVjLouTWd/osvbq8=", - "dev": true, - "requires": { - "once": "1.3.3" - } - }, - "once": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", - "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", - "dev": true, - "requires": { - "wrappy": "1.0.2" - } - } + "wrappy": "1" } }, "ordered-read-streams": { @@ -2504,7 +3330,7 @@ "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz", "integrity": "sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=", "requires": { - "readable-stream": "2.3.3" + "readable-stream": "^2.0.1" }, "dependencies": { "isarray": { @@ -2512,35 +3338,43 @@ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" + }, "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "~5.1.0" } } } }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, + "requires": { + "lcid": "^1.0.0" + } }, "parse-filepath": { "version": "1.0.2", @@ -2548,9 +3382,18 @@ "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", "dev": true, "requires": { - "is-absolute": "1.0.0", - "map-cache": "0.2.2", - "path-root": "0.1.1" + "is-absolute": "^1.0.0", + "map-cache": "^0.2.0", + "path-root": "^0.1.1" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" } }, "parse-passwd": { @@ -2570,6 +3413,15 @@ "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", @@ -2587,7 +3439,7 @@ "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", "dev": true, "requires": { - "path-root-regex": "0.1.2" + "path-root-regex": "^0.1.0" } }, "path-root-regex": { @@ -2596,44 +3448,82 @@ "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=", "dev": true }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, "pause-stream": { "version": "0.0.11", "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", "dev": true, "requires": { - "through": "2.3.8" + "through": "~2.3" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" } }, "plugin-error": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz", - "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=", - "requires": { - "ansi-cyan": "0.1.1", - "ansi-red": "0.1.1", - "arr-diff": "1.1.0", - "arr-union": "2.1.0", - "extend-shallow": "1.1.4" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz", + "integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==", + "requires": { + "ansi-colors": "^1.0.1", + "arr-diff": "^4.0.0", + "arr-union": "^3.1.0", + "extend-shallow": "^3.0.2" }, "dependencies": { - "arr-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz", - "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0=" + "ansi-colors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", + "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", + "requires": { + "ansi-wrap": "^0.1.0" + } }, "extend-shallow": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz", - "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "requires": { - "kind-of": "1.1.0" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" } }, - "kind-of": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", - "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=" + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } } } }, @@ -2655,22 +3545,43 @@ "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" }, "pump": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", - "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", "requires": { - "end-of-stream": "1.4.0", - "once": "1.4.0" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, "pumpify": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.3.5.tgz", - "integrity": "sha1-G2ccYZlAq8rqwK0OOjwWS+dgmTs=", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, "requires": { - "duplexify": "3.5.1", - "inherits": "2.0.3", - "pump": "1.0.3" + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" } }, "readable-stream": { @@ -2679,10 +3590,60 @@ "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", "isarray": "0.0.1", - "string_decoder": "0.10.31" + "string_decoder": "~0.10.x" + } + }, + "readdirp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", + "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "minimatch": "^3.0.2", + "readable-stream": "^2.0.2", + "set-immediate-shim": "^1.0.1" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "rechoir": { @@ -2691,16 +3652,17 @@ "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", "dev": true, "requires": { - "resolve": "1.5.0" + "resolve": "^1.1.6" } }, "regex-not": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.0.tgz", - "integrity": "sha1-Qvg+OXcWIt+CawKvF2Ul1qXxV/k=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "dev": true, "requires": { - "extend-shallow": "2.0.1" + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" } }, "remove-bom-buffer": { @@ -2708,8 +3670,8 @@ "resolved": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz", "integrity": "sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==", "requires": { - "is-buffer": "1.1.6", - "is-utf8": "0.2.1" + "is-buffer": "^1.1.5", + "is-utf8": "^0.2.1" } }, "remove-bom-stream": { @@ -2717,9 +3679,9 @@ "resolved": "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz", "integrity": "sha1-BfGlk/FuQuH7kOv1nejlaVJflSM=", "requires": { - "remove-bom-buffer": "3.0.0", - "safe-buffer": "5.1.1", - "through2": "2.0.3" + "remove-bom-buffer": "^3.0.0", + "safe-buffer": "^5.1.0", + "through2": "^2.0.3" } }, "remove-trailing-separator": { @@ -2745,13 +3707,36 @@ "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=", "dev": true }, + "replace-homedir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/replace-homedir/-/replace-homedir-1.0.0.tgz", + "integrity": "sha1-6H9tUTuSjd6AgmDBK+f+xv9ueYw=", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1", + "is-absolute": "^1.0.0", + "remove-trailing-separator": "^1.1.0" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, "resolve": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz", - "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==", + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz", + "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==", "dev": true, "requires": { - "path-parse": "1.0.5" + "path-parse": "^1.0.5" } }, "resolve-dir": { @@ -2760,8 +3745,8 @@ "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", "dev": true, "requires": { - "expand-tilde": "2.0.2", - "global-modules": "1.0.0" + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" } }, "resolve-options": { @@ -2769,7 +3754,7 @@ "resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz", "integrity": "sha1-MrueOcBtZzONyTeMDW1gdFZq0TE=", "requires": { - "value-or-function": "3.0.0" + "value-or-function": "^3.0.0" } }, "resolve-url": { @@ -2778,13 +3763,19 @@ "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", "dev": true }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, "rimraf": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "safe-buffer": { @@ -2792,59 +3783,79 @@ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" }, - "semver": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", - "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=", - "dev": true + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "~0.1.10" + } }, - "sequencify": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/sequencify/-/sequencify-0.0.7.tgz", - "integrity": "sha1-kM/xnQLgcCf9dn9erT57ldHnOAw=", + "semver": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", "dev": true }, - "set-getter": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/set-getter/-/set-getter-0.1.0.tgz", - "integrity": "sha1-12nBgsnVpR9AkUXy+6guXoboA3Y=", + "semver-greatest-satisfied-range": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz", + "integrity": "sha1-E+jCZYq5aRywzXEJMkAoDTb3els=", "dev": true, "requires": { - "to-object-path": "0.3.0" + "sver-compat": "^1.5.0" } }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", + "dev": true + }, "set-value": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", "dev": true, "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "split-string": "3.1.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } } }, - "sigmund": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", - "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", - "dev": true - }, "snapdragon": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.1.tgz", - "integrity": "sha1-4StUh/re0+PeoKyR6UAL91tAE3A=", - "dev": true, - "requires": { - "base": "0.11.2", - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "map-cache": "0.2.2", - "source-map": "0.5.7", - "source-map-resolve": "0.5.1", - "use": "2.0.2" + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" }, "dependencies": { "define-property": { @@ -2853,26 +3864,18 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-extendable": "^0.1.0" } }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", @@ -2887,16 +3890,48 @@ "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "dev": true, "requires": { - "define-property": "1.0.0", - "isobject": "3.0.1", - "snapdragon-util": "3.0.1" + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" }, "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } } } }, @@ -2906,13 +3941,24 @@ "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } } }, "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" }, "source-map-resolve": { "version": "0.5.1", @@ -2920,11 +3966,11 @@ "integrity": "sha512-0KW2wvzfxm8NCTb30z0LMNyPqWCdDGE2viwzUaucqJdkTRXtZiSY3I+2A6nVAjmdOy0I4gU8DwnVVGsk9jvP2A==", "dev": true, "requires": { - "atob": "2.0.3", - "decode-uri-component": "0.2.0", - "resolve-url": "0.2.1", - "source-map-url": "0.4.0", - "urix": "0.1.0" + "atob": "^2.0.0", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" } }, "source-map-url": { @@ -2939,13 +3985,45 @@ "integrity": "sha1-Gsu/tZJDbRC76PeFt8xvgoFQEsM=", "dev": true }, + "spdx-correct": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", + "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", + "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", + "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==", + "dev": true + }, "split": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=", "dev": true, "requires": { - "through": "2.3.8" + "through": "2" } }, "split-string": { @@ -2954,38 +4032,23 @@ "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "dev": true, "requires": { - "extend-shallow": "3.0.2" - }, - "dependencies": { - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "requires": { - "assign-symbols": "1.0.0", - "is-extendable": "1.0.1" - } - }, - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "2.0.4" - } - } + "extend-shallow": "^3.0.0" } }, + "stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", + "dev": true + }, "static-extend": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "dev": true, "requires": { - "define-property": "0.2.5", - "object-copy": "0.1.0" + "define-property": "^0.2.5", + "object-copy": "^0.1.0" }, "dependencies": { "define-property": { @@ -2994,25 +4057,8 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "0.1.6" - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-descriptor": "^0.1.0" } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true } } }, @@ -3022,13 +4068,13 @@ "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=", "dev": true, "requires": { - "duplexer": "0.1.1" + "duplexer": "~0.1.1" } }, - "stream-consume": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/stream-consume/-/stream-consume-0.1.0.tgz", - "integrity": "sha1-pB6tGm1ggc63n2WwYZAbbY89HQ8=", + "stream-exhaust": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz", + "integrity": "sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==", "dev": true }, "stream-shift": { @@ -3036,6 +4082,17 @@ "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=" }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, "string_decoder": { "version": "0.10.31", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", @@ -3048,7 +4105,16 @@ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" } }, "strip-bom-string": { @@ -3063,6 +4129,16 @@ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", "dev": true }, + "sver-compat": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/sver-compat/-/sver-compat-1.5.0.tgz", + "integrity": "sha1-PPh9/rTQe0o/FIJ7wYaz/QxkXNg=", + "dev": true, + "requires": { + "es6-iterator": "^2.0.1", + "es6-symbol": "^3.1.1" + } + }, "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", @@ -3074,8 +4150,8 @@ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", "requires": { - "readable-stream": "2.3.3", - "xtend": "4.0.1" + "readable-stream": "^2.1.5", + "xtend": "~4.0.1" }, "dependencies": { "isarray": { @@ -3088,13 +4164,13 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.0.3", + "util-deprecate": "~1.0.1" } }, "string_decoder": { @@ -3102,7 +4178,7 @@ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "~5.1.0" } } } @@ -3112,17 +4188,8 @@ "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz", "integrity": "sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw=", "requires": { - "through2": "2.0.3", - "xtend": "4.0.1" - } - }, - "tildify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/tildify/-/tildify-1.2.0.tgz", - "integrity": "sha1-3OwD9V3Km3qj5bBPIYF+tW5jWIo=", - "dev": true, - "requires": { - "os-homedir": "1.0.2" + "through2": "~2.0.0", + "xtend": "~4.0.0" } }, "time-stamp": { @@ -3137,8 +4204,8 @@ "integrity": "sha1-YcxHp2wavTGV8UUn+XjViulMUgQ=", "dev": true, "requires": { - "es5-ext": "0.10.37", - "next-tick": "1.0.0" + "es5-ext": "~0.10.14", + "next-tick": "1" } }, "to-absolute-glob": { @@ -3146,8 +4213,8 @@ "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz", "integrity": "sha1-GGX0PZ50sIItufFFt4z/fQ98hJs=", "requires": { - "is-absolute": "1.0.0", - "is-negated-glob": "1.0.0" + "is-absolute": "^1.0.0", + "is-negated-glob": "^1.0.0" } }, "to-object-path": { @@ -3156,67 +4223,40 @@ "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "dev": true, "requires": { - "kind-of": "3.2.2" - } - }, - "to-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.1.tgz", - "integrity": "sha1-FTWL7kosg712N3uh3ASdDxiDeq4=", - "dev": true, - "requires": { - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "regex-not": "1.0.0" + "kind-of": "^3.0.2" }, "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "0.1.6" - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-buffer": "^1.1.5" } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true } } }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, "to-regex-range": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "dev": true, "requires": { - "is-number": "3.0.0", - "repeat-string": "1.6.1" - }, - "dependencies": { - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - } - } + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" } }, "to-through": { @@ -3224,9 +4264,15 @@ "resolved": "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz", "integrity": "sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY=", "requires": { - "through2": "2.0.3" + "through2": "^2.0.3" } }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, "typescript": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.7.1.tgz", @@ -3238,28 +4284,60 @@ "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=" }, + "undertaker": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/undertaker/-/undertaker-1.2.0.tgz", + "integrity": "sha1-M52kZGJS0ILcN45wgGcpl1DhG0k=", + "dev": true, + "requires": { + "arr-flatten": "^1.0.1", + "arr-map": "^2.0.0", + "bach": "^1.0.0", + "collection-map": "^1.0.0", + "es6-weak-map": "^2.0.1", + "last-run": "^1.1.0", + "object.defaults": "^1.0.0", + "object.reduce": "^1.0.0", + "undertaker-registry": "^1.0.0" + } + }, + "undertaker-registry": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-1.0.1.tgz", + "integrity": "sha1-XkvaMI5KiirlhPm5pDWaSZglzFA=", + "dev": true + }, "union-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", "dev": true, "requires": { - "arr-union": "3.1.0", - "get-value": "2.0.6", - "is-extendable": "0.1.1", - "set-value": "0.4.3" + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^0.4.3" }, "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, "set-value": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", "dev": true, "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "to-object-path": "0.3.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.1", + "to-object-path": "^0.3.0" } } } @@ -3269,8 +4347,8 @@ "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.2.1.tgz", "integrity": "sha1-WqADz76Uxf+GbE59ZouxxNuts2k=", "requires": { - "json-stable-stringify": "1.0.1", - "through2-filter": "2.0.0" + "json-stable-stringify": "^1.0.0", + "through2-filter": "^2.0.0" } }, "unset-value": { @@ -3279,8 +4357,8 @@ "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "dev": true, "requires": { - "has-value": "0.3.1", - "isobject": "3.0.1" + "has-value": "^0.3.1", + "isobject": "^3.0.0" }, "dependencies": { "has-value": { @@ -3289,9 +4367,9 @@ "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", "dev": true, "requires": { - "get-value": "2.0.6", - "has-values": "0.1.4", - "isobject": "2.1.0" + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" }, "dependencies": { "isobject": { @@ -3316,15 +4394,15 @@ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true } } }, + "upath": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", + "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==", + "dev": true + }, "urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", @@ -3332,68 +4410,36 @@ "dev": true }, "use": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/use/-/use-2.0.2.tgz", - "integrity": "sha1-riig1y+TvyJCKhii43mZMRLeyOg=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz", + "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==", "dev": true, "requires": { - "define-property": "0.2.5", - "isobject": "3.0.1", - "lazy-cache": "2.0.2" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "0.1.6" - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } + "kind-of": "^6.0.2" } }, - "user-home": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz", - "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=", - "dev": true - }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, "v8flags": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz", - "integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.1.1.tgz", + "integrity": "sha512-iw/1ViSEaff8NJ3HLyEjawk/8hjJib3E7pvG4pddVXfUg1983s3VGsiClDjhK64MQVDGqc1Q8r18S4VKQZS9EQ==", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "validate-npm-package-license": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", + "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", "dev": true, "requires": { - "user-home": "1.1.1" + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" } }, "value-or-function": { @@ -3406,12 +4452,12 @@ "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.1.0.tgz", "integrity": "sha1-Ah+cLPlR1rk5lDyJ617lrdT9kkw=", "requires": { - "clone": "2.1.1", - "clone-buffer": "1.0.0", - "clone-stats": "1.0.0", - "cloneable-readable": "1.0.0", - "remove-trailing-separator": "1.1.0", - "replace-ext": "1.0.0" + "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" }, "dependencies": { "clone": { @@ -3432,55 +4478,59 @@ } }, "vinyl-fs": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.0.tgz", - "integrity": "sha1-zjRZK5DAM4vaLVwSFWaXNlH5DCM=", - "requires": { - "flush-write-stream": "1.0.2", - "fs-mkdirp-stream": "1.0.0", - "glob-stream": "6.1.0", - "graceful-fs": "4.1.11", - "is-valid-glob": "1.0.0", - "lazystream": "1.0.0", - "lead": "1.0.0", - "object.assign": "4.1.0", - "pumpify": "1.3.5", - "remove-bom-buffer": "3.0.0", - "remove-bom-stream": "1.2.0", - "resolve-options": "1.1.0", - "through2": "2.0.3", - "to-through": "2.0.0", - "value-or-function": "3.0.0", - "vinyl": "2.1.0", - "vinyl-sourcemap": "1.1.0" + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.3.tgz", + "integrity": "sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng==", + "requires": { + "fs-mkdirp-stream": "^1.0.0", + "glob-stream": "^6.1.0", + "graceful-fs": "^4.0.0", + "is-valid-glob": "^1.0.0", + "lazystream": "^1.0.0", + "lead": "^1.0.0", + "object.assign": "^4.0.4", + "pumpify": "^1.3.5", + "readable-stream": "^2.3.3", + "remove-bom-buffer": "^3.0.0", + "remove-bom-stream": "^1.2.0", + "resolve-options": "^1.1.0", + "through2": "^2.0.0", + "to-through": "^2.0.0", + "value-or-function": "^3.0.0", + "vinyl": "^2.0.0", + "vinyl-sourcemap": "^1.1.0" }, "dependencies": { - "clone": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.1.tgz", - "integrity": "sha1-0hfR6WERjjrJpLi7oyhVU79kfNs=" - }, - "clone-stats": { + "isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", - "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=" + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, - "replace-ext": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", - "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=" + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" }, - "vinyl": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.1.0.tgz", - "integrity": "sha1-Ah+cLPlR1rk5lDyJ617lrdT9kkw=", + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { - "clone": "2.1.1", - "clone-buffer": "1.0.0", - "clone-stats": "1.0.0", - "cloneable-readable": "1.0.0", - "remove-trailing-separator": "1.1.0", - "replace-ext": "1.0.0" + "safe-buffer": "~5.1.0" } } } @@ -3490,52 +4540,38 @@ "resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz", "integrity": "sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY=", "requires": { - "append-buffer": "1.0.2", - "convert-source-map": "1.5.1", - "graceful-fs": "4.1.11", - "normalize-path": "2.1.1", - "now-and-later": "2.0.0", - "remove-bom-buffer": "3.0.0", - "vinyl": "2.1.0" - }, - "dependencies": { - "clone": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.1.tgz", - "integrity": "sha1-0hfR6WERjjrJpLi7oyhVU79kfNs=" - }, - "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=" - }, - "replace-ext": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", - "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=" - }, - "vinyl": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.1.0.tgz", - "integrity": "sha1-Ah+cLPlR1rk5lDyJ617lrdT9kkw=", - "requires": { - "clone": "2.1.1", - "clone-buffer": "1.0.0", - "clone-stats": "1.0.0", - "cloneable-readable": "1.0.0", - "remove-trailing-separator": "1.1.0", - "replace-ext": "1.0.0" - } - } + "append-buffer": "^1.0.2", + "convert-source-map": "^1.5.0", + "graceful-fs": "^4.1.6", + "normalize-path": "^2.1.1", + "now-and-later": "^2.0.0", + "remove-bom-buffer": "^3.0.0", + "vinyl": "^2.0.0" } }, "which": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", - "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "requires": { - "isexe": "2.0.0" + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "dev": true + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" } }, "wrappy": { @@ -3547,6 +4583,42 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true + }, + "yargs": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", + "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", + "dev": true, + "requires": { + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^5.0.0" + } + }, + "yargs-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", + "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", + "dev": true, + "requires": { + "camelcase": "^3.0.0" + } } } } diff --git a/package.json b/package.json index 68aa5110..57879d16 100644 --- a/package.json +++ b/package.json @@ -61,11 +61,11 @@ "types": "release/main.d.ts", "typings": "release/main.d.ts", "dependencies": { - "ansi-colors": "^1.0.1", - "plugin-error": "^0.1.2", - "source-map": "^0.6.1", + "ansi-colors": "^2.0.1", + "plugin-error": "^1.0.1", + "source-map": "^0.7.3", "through2": "^2.0.3", - "vinyl-fs": "^3.0.0", + "vinyl-fs": "^3.0.3", "vinyl": "^2.1.0" }, "devDependencies": { @@ -76,12 +76,12 @@ "@types/through2": "^2.0.33", "@types/vinyl": "^2.0.2", "@types/vinyl-fs": "^2.4.8", - "gulp": "^3.9.1", + "gulp": "^4.0.0", "gulp-concat": "^2.6.1", "gulp-diff": "^1.0.0", - "gulp-header": "^1.8.9", - "gulp-plumber": "^1.1.0", - "gulp-sourcemaps": "^2.6.2", + "gulp-header": "^2.0.5", + "gulp-plumber": "^1.2.0", + "gulp-sourcemaps": "^2.6.4", "merge-stream": "^1.0.1", "rimraf": "^2.6.2", "typescript": "2.7.1" From 2c098305bcd8d18aba3905f45f7f2be860a98641 Mon Sep 17 00:00:00 2001 From: Ivo Gabe de Wolff Date: Fri, 8 Jun 2018 17:29:06 +0200 Subject: [PATCH 07/14] Changes for latest gulp & source-map --- gulpfile.js | 40 ++++++++++++++++++---------------- lib/output.ts | 55 +++++++++++++++++++++++++++++++++++------------ lib/tsconfig.json | 6 +++++- 3 files changed, 67 insertions(+), 34 deletions(-) diff --git a/gulpfile.js b/gulpfile.js index 15bb7017..761427ed 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -36,9 +36,9 @@ const tests = fs.readdirSync(path.join(__dirname, 'test')).filter(function(dir) }); // Clean -gulp.task('clean', function(cb) { +function clean(cb) { rimraf(paths.releaseBeta, cb); -}); +} gulp.task('clean-test', function(cb) { rimraf('test/output', cb); }); @@ -47,28 +47,28 @@ gulp.task('clean-release', function(cb) { }); // Compile sources -gulp.task('scripts', ['clean'], function() { +const compile = gulp.series(clean, function compile() { return gulp.src(paths.scripts.concat(paths.definitionTypeScript)) .pipe(tsProject()) .pipe(gulp.dest(paths.releaseBeta)); }); + // Type checking against multiple versions of TypeScript -gulp.task('typecheck-dev', function() { +function typecheckDev() { return gulp.src(paths.scripts.concat([ '!definitions/typescript.d.ts', findTSDefinition(tsVersions.dev) ])).pipe(createProject({ noEmit: true })()); -}); - -gulp.task('typecheck-2.3', function() { +} +function typecheck2_3() { return gulp.src(paths.scripts.concat([ '!definitions/typescript.d.ts', findTSDefinition(tsVersions.release23) ])).pipe(createProject({ noEmit: true })()); -}); +} -gulp.task('typecheck', ['typecheck-dev', 'typecheck-2.3']); +const typecheck = gulp.parallel(typecheckDev, typecheck2_3); // Tests @@ -130,18 +130,18 @@ async function runTest(name) { })); } -gulp.task('test-run', ['clean-test', 'scripts'], async function() { +gulp.task('test-run', gulp.series('clean-test', async function testRun() { fs.mkdirSync('test/output/'); for (const testName of tests) { await runTest(testName); } -}); +})); /** * Executes all the test tasks and then compares their output against the expected output (defined in * `test/baseline`). */ -gulp.task('test', ['test-run'], function() { +gulp.task('test', gulp.series('test-run', function testVerify() { let failed = false; function onError(error) { failed = true; @@ -157,21 +157,23 @@ gulp.task('test', ['test-run'], function() { throw new Error('Tests failed'); } }); -}); +})); // Accept new baselines -gulp.task('test-baselines-accept', function(cb) { +gulp.task('test-baselines-accept', function testBaselinesAccept(cb) { rimraf('test/baselines', function() { gulp.src('test/output/**').pipe(gulp.dest('test/baselines')).on('finish', cb); }); }); -gulp.task('release', function() { +gulp.task('release', function release() { return gulp.src(paths.releaseBeta + '/**').pipe(gulp.dest(paths.release)); }); -gulp.task('watch', ['scripts'], function() { - gulp.watch(paths.scripts, ['scripts']); -}); +// Expose main tasks +gulp.task('scripts', compile); +gulp.task('default', gulp.series(compile, gulp.parallel(typecheck, 'test'))); -gulp.task('default', ['scripts', 'typecheck', 'test']); +gulp.task('watch', gulp.series('scripts', function watch() { + gulp.watch(paths.scripts, ['scripts']); +})); diff --git a/lib/output.ts b/lib/output.ts index 3bc5d179..37a72706 100644 --- a/lib/output.ts +++ b/lib/output.ts @@ -25,6 +25,9 @@ export class Output { // .d.ts files streamDts: stream.Readable; + // Number of pending IO operatrions + private pendingIO = 0; + writeJs(base: string, fileName: string, content: string, sourceMapContent: string, cwd: string, original: input.File) { const file = new VinylFile({ path: fileName, @@ -32,26 +35,40 @@ export class Output { cwd, base }); - const appliedSourceMap = this.applySourceMap(sourceMapContent, original, file); - if (appliedSourceMap) file.sourceMap = JSON.parse(appliedSourceMap); - this.streamFull.push(file); - this.streamJs.push(file); + + this.pendingIO++; + + this.applySourceMap(sourceMapContent, original, file).then(appliedSourceMap => { + if (appliedSourceMap) file.sourceMap = JSON.parse(appliedSourceMap); + this.streamFull.push(file); + this.streamJs.push(file); + + this.pendingIO--; + this.mightFinish(); + }); } - writeDts(base: string, fileName: string, content: string, declarationMapContent: string, cwd: string, original: input.File) { + async writeDts(base: string, fileName: string, content: string, declarationMapContent: string, cwd: string, original: input.File) { const file = new VinylFile({ path: fileName, contents: new Buffer(content), cwd, base }); - const appliedSourceMap = this.applySourceMap(declarationMapContent, original, file); - if (appliedSourceMap) file.sourceMap = JSON.parse(appliedSourceMap); - this.streamFull.push(file); - this.streamDts.push(file); + + this.pendingIO++; + + this.applySourceMap(declarationMapContent, original, file).then(appliedSourceMap => { + if (appliedSourceMap) file.sourceMap = JSON.parse(appliedSourceMap); + this.streamFull.push(file); + this.streamDts.push(file); + + this.pendingIO--; + this.mightFinish(); + }); } - private applySourceMap(sourceMapContent: string, original: input.File, output: VinylFile) { + private async applySourceMap(sourceMapContent: string, original: input.File, output: VinylFile) { if (sourceMapContent === undefined) return undefined; const map = JSON.parse(sourceMapContent); @@ -64,7 +81,8 @@ export class Output { delete map.sourceRoot; - const generator = sourceMap.SourceMapGenerator.fromSourceMap(new sourceMap.SourceMapConsumer(map)); + const consumer = await new sourceMap.SourceMapConsumer(map); + const generator = sourceMap.SourceMapGenerator.fromSourceMap(consumer); const sourceMapOrigins = this.project.singleOutput ? this.project.input.getFileNames(true).map(fName => this.project.input.getFile(fName)) @@ -80,8 +98,9 @@ export class Output { // We should only apply the input mappings if the input mapping isn't empty, // since `generator.applySourceMap` has a really bad performance on big inputs. if (inputMap.mappings !== '') { - const consumer = new sourceMap.SourceMapConsumer(inputMap); - generator.applySourceMap(consumer); + const inputConsumer = await new sourceMap.SourceMapConsumer(inputMap); + generator.applySourceMap(inputConsumer); + inputConsumer.destroy(); } if (!inputMap.sources || !inputMap.sourcesContent) continue; @@ -91,6 +110,7 @@ export class Output { generator.setSourceContent(utils.forwardSlashes(relative), inputMap.sourcesContent[i]); } } + consumer.destroy(); return generator.toString(); function relativeToOutput(fileName: string) { @@ -101,7 +121,14 @@ export class Output { finish(result: reporter.CompilationResult) { this.result = result; - if (this.project.reporter.finish) this.project.reporter.finish(result); + + this.mightFinish(); + } + + private mightFinish() { + if (this.result === undefined || this.pendingIO !== 0) return; + + if (this.project.reporter.finish) this.project.reporter.finish(this.result); this.streamFull.emit('finish'); this.streamFull.push(null); diff --git a/lib/tsconfig.json b/lib/tsconfig.json index 52b074f2..8ae1c2ba 100644 --- a/lib/tsconfig.json +++ b/lib/tsconfig.json @@ -6,6 +6,10 @@ "noImplicitAny": true, "noImplicitReturns": true, "declaration": true, - "preserveConstEnums": true + "preserveConstEnums": true, + "lib": [ + "dom", + "es2015" + ] } } From 3cff9685de066dea8bbcb57b64f2670f892a2076 Mon Sep 17 00:00:00 2001 From: Ivo Gabe de Wolff Date: Fri, 8 Jun 2018 17:40:17 +0200 Subject: [PATCH 08/14] Don't use deprecated new Buffer(..) --- lib/compiler.ts | 2 +- lib/output.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/compiler.ts b/lib/compiler.ts index 3c66e0eb..96434a5d 100644 --- a/lib/compiler.ts +++ b/lib/compiler.ts @@ -276,7 +276,7 @@ export class FileCompiler implements ICompiler { mapString = mapString.substring(start.length); - let map: RawSourceMap = JSON.parse(new Buffer(mapString, 'base64').toString()); + let map: RawSourceMap = JSON.parse(Buffer.from(mapString, 'base64').toString()); // TODO: Set paths correctly // map.sourceRoot = path.resolve(file.gulp.cwd, file.gulp.base); // map.sources[0] = path.relative(map.sourceRoot, file.gulp.path); diff --git a/lib/output.ts b/lib/output.ts index 37a72706..bbd1364c 100644 --- a/lib/output.ts +++ b/lib/output.ts @@ -31,7 +31,7 @@ export class Output { writeJs(base: string, fileName: string, content: string, sourceMapContent: string, cwd: string, original: input.File) { const file = new VinylFile({ path: fileName, - contents: new Buffer(content), + contents: Buffer.from(content), cwd, base }); @@ -51,7 +51,7 @@ export class Output { async writeDts(base: string, fileName: string, content: string, declarationMapContent: string, cwd: string, original: input.File) { const file = new VinylFile({ path: fileName, - contents: new Buffer(content), + contents: Buffer.from(content), cwd, base }); From 63cca9f6122136a2eac82ebd304c4efb03d54820 Mon Sep 17 00:00:00 2001 From: Ivo Gabe de Wolff Date: Fri, 8 Jun 2018 17:40:24 +0200 Subject: [PATCH 09/14] Compile to es2015 --- lib/tsconfig.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/tsconfig.json b/lib/tsconfig.json index 8ae1c2ba..7031edc2 100644 --- a/lib/tsconfig.json +++ b/lib/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "ES5", + "target": "es2015", "module": "commonjs", "noUnusedLocals": true, "noImplicitAny": true, From aa962ff926ca050d1a229896cfb3cdf5c3972c93 Mon Sep 17 00:00:00 2001 From: Ivo Gabe de Wolff Date: Mon, 11 Jun 2018 21:58:01 +0200 Subject: [PATCH 10/14] Crash the build on error, fix #295 --- gulpfile.js | 2 +- lib/output.ts | 6 ++++-- lib/project.ts | 3 --- lib/reporter.ts | 10 ++++++++++ lib/tsconfig.json | 6 +----- test/base/gulptask.js | 3 ++- test/basic/gulptask.js | 3 ++- test/bom/gulptask.js | 3 ++- test/errorReporting/gulptask.js | 3 ++- test/existingSourceMaps/gulptask.js | 1 + test/externalResolve/gulptask.js | 3 ++- test/isolatedModules/gulptask.js | 3 ++- test/noEmit/gulptask.js | 1 + test/out/gulptask.js | 4 +++- test/sourceMaps/gulptask.js | 3 ++- test/sourceMapsOutDir/gulptask.js | 3 ++- test/tsconfigDeclarationMap/gulptask.js | 9 +++++---- test/tsconfigExtends/gulptask.js | 3 ++- test/tsconfigInclude/gulptask.js | 3 ++- test/tsconfigOutFile/gulptask.js | 3 ++- 20 files changed, 48 insertions(+), 27 deletions(-) diff --git a/gulpfile.js b/gulpfile.js index 761427ed..5f9ecd33 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -175,5 +175,5 @@ gulp.task('scripts', compile); gulp.task('default', gulp.series(compile, gulp.parallel(typecheck, 'test'))); gulp.task('watch', gulp.series('scripts', function watch() { - gulp.watch(paths.scripts, ['scripts']); + gulp.watch(paths.scripts, compile); })); diff --git a/lib/output.ts b/lib/output.ts index bbd1364c..8559c1aa 100644 --- a/lib/output.ts +++ b/lib/output.ts @@ -88,7 +88,6 @@ export class Output { ? this.project.input.getFileNames(true).map(fName => this.project.input.getFile(fName)) : [original]; - for (const sourceFile of sourceMapOrigins) { if (!sourceFile || !sourceFile.gulp || !sourceFile.gulp.sourceMap) continue; @@ -130,6 +129,10 @@ export class Output { if (this.project.reporter.finish) this.project.reporter.finish(this.result); + if (reporter.countErrors(this.result) !== 0) { + this.streamFull.emit('error', new Error("TypeScript: Compilation failed")); + } + this.streamFull.emit('finish'); this.streamFull.push(null); this.streamJs.push(null); @@ -151,6 +154,5 @@ export class Output { // call reporter callback if (this.project.reporter.error) this.project.reporter.error( error, this.project.typescript); // & emit the error on the stream. - this.streamFull.emit('error', error); } } diff --git a/lib/project.ts b/lib/project.ts index 92768d03..9a558e5c 100644 --- a/lib/project.ts +++ b/lib/project.ts @@ -144,9 +144,6 @@ class CompileStream extends stream.Duplex implements ICompileStream { super({objectMode: true}); this.project = project; - - // Prevent "Unhandled stream error in pipe" when a compilation error occurs. - this.on('error', () => {}); } private project: ProjectInfo; diff --git a/lib/reporter.ts b/lib/reporter.ts index 558766a7..b8f0be0e 100644 --- a/lib/reporter.ts +++ b/lib/reporter.ts @@ -55,6 +55,16 @@ export interface Reporter { finish?: (results: CompilationResult) => void; } +export function countErrors(results: CompilationResult) { + return results.transpileErrors + + results.optionsErrors + + results.syntaxErrors + + results.globalErrors + + results.semanticErrors + + results.declarationErrors + + results.emitErrors; +} + function defaultFinishHandler(results: CompilationResult) { let hasError = false; const showErrorCount = (count: number, type: string) => { diff --git a/lib/tsconfig.json b/lib/tsconfig.json index 7031edc2..9288f834 100644 --- a/lib/tsconfig.json +++ b/lib/tsconfig.json @@ -6,10 +6,6 @@ "noImplicitAny": true, "noImplicitReturns": true, "declaration": true, - "preserveConstEnums": true, - "lib": [ - "dom", - "es2015" - ] + "preserveConstEnums": true } } diff --git a/test/base/gulptask.js b/test/base/gulptask.js index 45d617ad..d00b3998 100644 --- a/test/base/gulptask.js +++ b/test/base/gulptask.js @@ -7,7 +7,8 @@ module.exports = function(newTS, lib, output, reporter) { }); var tsResult = tsProject.src() - .pipe(tsProject(reporter)); + .pipe(tsProject(reporter)) + .on('error', () => {}); tsResult.dts.pipe(gulp.dest(output + '/dts')); return tsResult.js diff --git a/test/basic/gulptask.js b/test/basic/gulptask.js index 355d82fc..0debf9cd 100644 --- a/test/basic/gulptask.js +++ b/test/basic/gulptask.js @@ -8,7 +8,8 @@ module.exports = function(newTS, lib, output, reporter) { var tsResult = tsProject.src() .pipe(sourcemaps.init()) - .pipe(tsProject(reporter)); + .pipe(tsProject(reporter)) + .on('error', () => {}); tsResult.dts.pipe(gulp.dest(output + '/dts')); return tsResult.js diff --git a/test/bom/gulptask.js b/test/bom/gulptask.js index 2c3d393e..10828e6a 100644 --- a/test/bom/gulptask.js +++ b/test/bom/gulptask.js @@ -5,7 +5,8 @@ module.exports = function(newTS, lib, output, reporter) { var tsProject = newTS.createProject('test/bom/tsconfig.json', { typescript: lib }); var tsResult = tsProject.src() - .pipe(tsProject(reporter)); + .pipe(tsProject(reporter)) + .on('error', () => {}); tsResult.dts.pipe(gulp.dest(output + '/dts')); return tsResult.js diff --git a/test/errorReporting/gulptask.js b/test/errorReporting/gulptask.js index d560e285..cd72f00c 100644 --- a/test/errorReporting/gulptask.js +++ b/test/errorReporting/gulptask.js @@ -5,7 +5,8 @@ module.exports = function(newTS, lib, output, reporter) { var errors = 0; var tsResult = gulp.src('test/errorReporting/*.ts') .pipe(sourcemaps.init()) - .pipe(newTS({ typescript: lib }, reporter)); + .pipe(newTS({ typescript: lib }, reporter)) + .on('error', () => {}); tsResult.dts.pipe(gulp.dest(output + 'dts')); return tsResult.js diff --git a/test/existingSourceMaps/gulptask.js b/test/existingSourceMaps/gulptask.js index 9e316868..b4254ce0 100644 --- a/test/existingSourceMaps/gulptask.js +++ b/test/existingSourceMaps/gulptask.js @@ -7,6 +7,7 @@ module.exports = function(newTS, lib, output, reporter) { .pipe(sourcemaps.init()) .pipe(concat('all.ts')) .pipe(newTS({ typescript: lib, declaration: true }, reporter)) + .on('error', () => {}) .pipe(sourcemaps.write('.')) .pipe(gulp.dest(output)); }; diff --git a/test/externalResolve/gulptask.js b/test/externalResolve/gulptask.js index 82e42b77..d95a0a45 100644 --- a/test/externalResolve/gulptask.js +++ b/test/externalResolve/gulptask.js @@ -8,7 +8,8 @@ module.exports = function(newTS, lib, output, reporter) { declarationFiles: true, module: 'commonjs', typescript: lib - }, reporter)); + }, reporter)) + .on('error', () => {}); tsResult.dts.pipe(gulp.dest(output + 'dts')); return tsResult.js diff --git a/test/isolatedModules/gulptask.js b/test/isolatedModules/gulptask.js index 4572cdda..e4284152 100644 --- a/test/isolatedModules/gulptask.js +++ b/test/isolatedModules/gulptask.js @@ -10,7 +10,8 @@ module.exports = function(newTS, lib, output, reporter) { var tsResult = tsProject.src() .pipe(plumber()) .pipe(sourcemaps.init()) - .pipe(tsProject(reporter)); + .pipe(tsProject(reporter)) + .on('error', () => {}); tsResult.dts.pipe(gulp.dest(output + '/dts')); return tsResult.js diff --git a/test/noEmit/gulptask.js b/test/noEmit/gulptask.js index 902a8a1a..32203c02 100644 --- a/test/noEmit/gulptask.js +++ b/test/noEmit/gulptask.js @@ -3,5 +3,6 @@ const gulp = require('gulp'); module.exports = function(newTS, lib, output, reporter) { return gulp.src('test/noEmit/**/*.ts') .pipe(newTS({ noEmit: true, typescript: lib, outFile: 'foo.js' }, reporter)) + .on('error', () => {}) .pipe(gulp.dest(output)); }; diff --git a/test/out/gulptask.js b/test/out/gulptask.js index 9230c06b..a68ea864 100644 --- a/test/out/gulptask.js +++ b/test/out/gulptask.js @@ -10,7 +10,9 @@ module.exports = function(newTS, lib, output, reporter) { typescript: lib, target: 'es6', types: [] - }, reporter)); + }, reporter)) + .on('error', () => {}); + tsResult.dts.pipe(gulp.dest(output + '/dts')); return tsResult.js .pipe(sourcemaps.write('.', { sourceRoot: '../../../../out/' })) diff --git a/test/sourceMaps/gulptask.js b/test/sourceMaps/gulptask.js index a1559a0e..24bae5a4 100644 --- a/test/sourceMaps/gulptask.js +++ b/test/sourceMaps/gulptask.js @@ -8,7 +8,8 @@ module.exports = function(newTS, lib, output, reporter) { return project.src() .pipe(sourcemaps.init()) - .pipe(project(reporter)).js + .pipe(project(reporter)) + .on('error', () => {}).js .pipe(sourcemaps.write(".")) .pipe(gulp.dest(output + "js/Main")); } diff --git a/test/sourceMapsOutDir/gulptask.js b/test/sourceMapsOutDir/gulptask.js index 52b364ac..5d150794 100644 --- a/test/sourceMapsOutDir/gulptask.js +++ b/test/sourceMapsOutDir/gulptask.js @@ -8,7 +8,8 @@ module.exports = function(newTS, lib, output, reporter) { return project.src() .pipe(sourcemaps.init()) - .pipe(project(reporter)).js + .pipe(project(reporter)) + .on('error', () => {}).js .pipe(sourcemaps.write(".")) .pipe(gulp.dest(output + "js/dist")); } diff --git a/test/tsconfigDeclarationMap/gulptask.js b/test/tsconfigDeclarationMap/gulptask.js index 64211093..9432245e 100644 --- a/test/tsconfigDeclarationMap/gulptask.js +++ b/test/tsconfigDeclarationMap/gulptask.js @@ -7,12 +7,13 @@ module.exports = function(newTS, lib, output, reporter) { }); var tsResult = project.src() - .pipe(sourcemaps.init()) - .pipe(project(reporter)); + .pipe(sourcemaps.init()) + .pipe(project(reporter)) + .on('error', () => {}); tsResult.dts - .pipe(sourcemaps.write(".")) - .pipe(gulp.dest(output + '/dts')); + .pipe(sourcemaps.write(".")) + .pipe(gulp.dest(output + '/dts')); return tsResult.js diff --git a/test/tsconfigExtends/gulptask.js b/test/tsconfigExtends/gulptask.js index f2a5c03a..a362a692 100644 --- a/test/tsconfigExtends/gulptask.js +++ b/test/tsconfigExtends/gulptask.js @@ -23,7 +23,8 @@ module.exports = function(newTS, lib, output, reporter) { var tsResult = tsProject.src() .pipe(sourcemaps.init()) - .pipe(tsProject(reporter)); + .pipe(tsProject(reporter)) + .on('error', () => {}); tsResult.dts.pipe(gulp.dest(output + '/dts')); return tsResult.js diff --git a/test/tsconfigInclude/gulptask.js b/test/tsconfigInclude/gulptask.js index 76dbaa65..84e31a5a 100644 --- a/test/tsconfigInclude/gulptask.js +++ b/test/tsconfigInclude/gulptask.js @@ -7,7 +7,8 @@ module.exports = function(newTS, lib, output, reporter) { }); var tsResult = tsProject.src() - .pipe(tsProject(reporter)); + .pipe(tsProject(reporter)) + .on('error', () => {}); return tsResult.pipe(gulp.dest(output)); } diff --git a/test/tsconfigOutFile/gulptask.js b/test/tsconfigOutFile/gulptask.js index 26b4ebf9..a2c3df31 100644 --- a/test/tsconfigOutFile/gulptask.js +++ b/test/tsconfigOutFile/gulptask.js @@ -8,7 +8,8 @@ module.exports = function(newTS, lib, output, reporter) { return project.src() .pipe(sourcemaps.init()) - .pipe(project(reporter)).js + .pipe(project(reporter)) + .on('error', () => {}).js .pipe(sourcemaps.write(".")) .pipe(gulp.dest(output + "js")); } From 6bdc9bbe292bb5c91364b7b8a8966a96726f593c Mon Sep 17 00:00:00 2001 From: Ivo Gabe de Wolff Date: Mon, 11 Jun 2018 21:58:08 +0200 Subject: [PATCH 11/14] Update LKG --- release/compiler.d.ts | 2 +- release/compiler.js | 164 ++++++++++++++++--------------- release/host.js | 60 ++++++------ release/input.js | 218 ++++++++++++++++++------------------------ release/main.js | 59 ++++++------ release/output.d.ts | 4 +- release/output.js | 191 +++++++++++++++++++++--------------- release/project.js | 117 ++++++++++------------- release/reporter.d.ts | 1 + release/reporter.js | 37 ++++--- release/utils.js | 35 ++++--- 11 files changed, 439 insertions(+), 449 deletions(-) diff --git a/release/compiler.d.ts b/release/compiler.d.ts index 62685b46..3d43b90b 100644 --- a/release/compiler.d.ts +++ b/release/compiler.d.ts @@ -20,7 +20,7 @@ export declare class ProjectCompiler implements ICompiler { inputDone(): void; private attachContentToFile(file, fileName, content); private emit(result, callback); - private emitFile({file, jsFileName, dtsFileName, jsContent, dtsContent, jsMapContent}, currentDirectory); + private emitFile({file, jsFileName, dtsFileName, dtsMapFileName, jsContent, dtsContent, dtsMapContent, jsMapContent}, currentDirectory); private reportDiagnostics(diagnostics); private removeSourceMapComment(content); } diff --git a/release/compiler.js b/release/compiler.js index 600b45c4..060e6da5 100644 --- a/release/compiler.js +++ b/release/compiler.js @@ -1,42 +1,39 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var path = require("path"); -var input_1 = require("./input"); -var host_1 = require("./host"); -var reporter_1 = require("./reporter"); -var utils = require("./utils"); +const path = require("path"); +const input_1 = require("./input"); +const host_1 = require("./host"); +const reporter_1 = require("./reporter"); +const utils = require("./utils"); /** * Compiles a whole project, with full type checking */ -var ProjectCompiler = /** @class */ (function () { - function ProjectCompiler() { - } - ProjectCompiler.prototype.prepare = function (project) { +class ProjectCompiler { + prepare(project) { this.project = project; this.hasSourceMap = false; - }; - ProjectCompiler.prototype.inputFile = function (file) { + } + inputFile(file) { if (file.gulp.sourceMap) this.hasSourceMap = true; - }; - ProjectCompiler.prototype.inputDone = function () { - var _this = this; + } + inputDone() { if (!this.project.input.firstSourceFile) { this.project.output.finish(reporter_1.emptyCompilationResult(this.project.options.noEmit)); return; } - var rootFilenames = this.project.input.getFileNames(true); + const rootFilenames = this.project.input.getFileNames(true); if (!this.project.singleOutput) { if (this.project.options.rootDir === undefined) { - this.project.options.rootDir = utils.getCommonBasePathOfArray(rootFilenames.filter(function (fileName) { return fileName.substr(-5) !== ".d.ts"; }) - .map(function (fileName) { return _this.project.input.getFile(fileName).gulp.base; })); + this.project.options.rootDir = utils.getCommonBasePathOfArray(rootFilenames.filter(fileName => fileName.substr(-5) !== ".d.ts") + .map(fileName => this.project.input.getFile(fileName).gulp.base)); } } this.project.options.sourceMap = this.hasSourceMap; - var currentDirectory = utils.getCommonBasePathOfArray(rootFilenames.map(function (fileName) { return _this.project.input.getFile(fileName).gulp.cwd; })); + const currentDirectory = utils.getCommonBasePathOfArray(rootFilenames.map(fileName => this.project.input.getFile(fileName).gulp.cwd)); this.host = new host_1.Host(this.project.typescript, currentDirectory, this.project.input, this.project.options); this.program = this.project.typescript.createProgram(rootFilenames, this.project.options, this.host, this.program); - var result = reporter_1.emptyCompilationResult(this.project.options.noEmit); + const result = reporter_1.emptyCompilationResult(this.project.options.noEmit); result.optionsErrors = this.reportDiagnostics(this.program.getOptionsDiagnostics()); result.syntaxErrors = this.reportDiagnostics(this.program.getSyntacticDiagnostics()); result.globalErrors = this.reportDiagnostics(this.program.getGlobalDiagnostics()); @@ -45,47 +42,51 @@ var ProjectCompiler = /** @class */ (function () { result.declarationErrors = this.program.getDeclarationDiagnostics().length; } if (this.project.singleOutput) { - var output_1 = { + const output = { file: undefined }; - this.emit(result, function (fileName, content) { - _this.attachContentToFile(output_1, fileName, content); + this.emit(result, (fileName, content) => { + this.attachContentToFile(output, fileName, content); }); - this.emitFile(output_1, currentDirectory); + this.emitFile(output, currentDirectory); } else { - var output_2 = {}; - var input = this.host.input.getFileNames(true); - for (var i = 0; i < input.length; i++) { - var fileName = utils.normalizePath(input[i]); - var file = this.project.input.getFile(fileName); - output_2[fileName] = { file: file }; + const output = {}; + const input = this.host.input.getFileNames(true); + for (let i = 0; i < input.length; i++) { + const fileName = utils.normalizePath(input[i]); + const file = this.project.input.getFile(fileName); + output[fileName] = { file }; } - this.emit(result, function (fileName, content, writeByteOrderMark, onError, sourceFiles) { + this.emit(result, (fileName, content, writeByteOrderMark, onError, sourceFiles) => { if (sourceFiles.length !== 1) { throw new Error("Failure: sourceFiles in WriteFileCallback should have length 1, got " + sourceFiles.length); } - var fileNameOriginal = utils.normalizePath(sourceFiles[0].fileName); - var file = output_2[fileNameOriginal]; + const fileNameOriginal = utils.normalizePath(sourceFiles[0].fileName); + const file = output[fileNameOriginal]; if (!file) return; - _this.attachContentToFile(file, fileName, content); + this.attachContentToFile(file, fileName, content); }); - for (var i = 0; i < input.length; i++) { - var fileName = utils.normalizePath(input[i]); - this.emitFile(output_2[fileName], currentDirectory); + for (let i = 0; i < input.length; i++) { + const fileName = utils.normalizePath(input[i]); + this.emitFile(output[fileName], currentDirectory); } } this.project.output.finish(result); - }; - ProjectCompiler.prototype.attachContentToFile = function (file, fileName, content) { - var _a = utils.splitExtension(fileName, ['d.ts']), extension = _a[1]; + } + attachContentToFile(file, fileName, content) { + const [, extension] = utils.splitExtension(fileName, ['d.ts', 'd.ts.map']); switch (extension) { case 'js': case 'jsx': file.jsFileName = fileName; file.jsContent = content; break; + case 'd.ts.map': + file.dtsMapFileName = fileName; + file.dtsMapContent = content; + break; case 'd.ts': file.dtsFileName = fileName; file.dtsContent = content; @@ -94,28 +95,27 @@ var ProjectCompiler = /** @class */ (function () { file.jsMapContent = content; break; } - }; - ProjectCompiler.prototype.emit = function (result, callback) { - var emitOutput = this.program.emit(undefined, callback); + } + emit(result, callback) { + const emitOutput = this.program.emit(undefined, callback); result.emitErrors += emitOutput.diagnostics.length; this.reportDiagnostics(emitOutput.diagnostics); result.emitSkipped = emitOutput.emitSkipped; - }; - ProjectCompiler.prototype.emitFile = function (_a, currentDirectory) { - var file = _a.file, jsFileName = _a.jsFileName, dtsFileName = _a.dtsFileName, jsContent = _a.jsContent, dtsContent = _a.dtsContent, jsMapContent = _a.jsMapContent; + } + emitFile({ file, jsFileName, dtsFileName, dtsMapFileName, jsContent, dtsContent, dtsMapContent, jsMapContent }, currentDirectory) { if (!jsFileName) return; - var base; - var baseDeclarations; + let base; + let baseDeclarations; if (file) { base = file.gulp.base; if (this.project.options.outDir) { - var baseRelative = path.relative(this.project.options.rootDir, base); + const baseRelative = path.relative(this.project.options.rootDir, base); base = path.join(this.project.options.outDir, baseRelative); } baseDeclarations = base; if (this.project.options.declarationDir) { - var baseRelative = path.relative(this.project.options.rootDir, file.gulp.base); + const baseRelative = path.relative(this.project.options.rootDir, file.gulp.base); baseDeclarations = path.join(this.project.options.declarationDir, baseRelative); } } @@ -138,82 +138,78 @@ var ProjectCompiler = /** @class */ (function () { this.project.output.writeJs(base, jsFileName, jsContent, jsMapContent, file ? file.gulp.cwd : currentDirectory, file); } if (dtsContent !== undefined) { - this.project.output.writeDts(baseDeclarations, dtsFileName, dtsContent, file ? file.gulp.cwd : currentDirectory); + this.project.output.writeDts(baseDeclarations, dtsFileName, dtsContent, dtsMapContent, file ? file.gulp.cwd : currentDirectory, file); } - }; - ProjectCompiler.prototype.reportDiagnostics = function (diagnostics) { - for (var _i = 0, diagnostics_1 = diagnostics; _i < diagnostics_1.length; _i++) { - var error = diagnostics_1[_i]; + } + reportDiagnostics(diagnostics) { + for (const error of diagnostics) { this.project.output.diagnostic(error); } return diagnostics.length; - }; - ProjectCompiler.prototype.removeSourceMapComment = function (content) { + } + removeSourceMapComment(content) { // By default the TypeScript automaticly inserts a source map comment. // This should be removed because gulp-sourcemaps takes care of that. // The comment is always on the last line, so it's easy to remove it // (But the last line also ends with a \n, so we need to look for the \n before the other) - var index = content.lastIndexOf('\n', content.length - 2); + const index = content.lastIndexOf('\n', content.length - 2); return content.substring(0, index) + '\n'; - }; - return ProjectCompiler; -}()); + } +} exports.ProjectCompiler = ProjectCompiler; -var FileCompiler = /** @class */ (function () { - function FileCompiler() { +class FileCompiler { + constructor() { this.output = {}; this.previousOutput = {}; this.compilationResult = undefined; } - FileCompiler.prototype.prepare = function (project) { + prepare(project) { this.project = project; this.project.input.noParse = true; this.compilationResult = reporter_1.emptyCompilationResult(this.project.options.noEmit); - }; - FileCompiler.prototype.write = function (file, fileName, diagnostics, content, sourceMap) { - this.output[file.fileNameNormalized] = { fileName: fileName, diagnostics: diagnostics, content: content, sourceMap: sourceMap }; - for (var _i = 0, diagnostics_2 = diagnostics; _i < diagnostics_2.length; _i++) { - var error = diagnostics_2[_i]; + } + write(file, fileName, diagnostics, content, sourceMap) { + this.output[file.fileNameNormalized] = { fileName, diagnostics, content, sourceMap }; + for (const error of diagnostics) { this.project.output.diagnostic(error); } this.compilationResult.transpileErrors += diagnostics.length; this.project.output.writeJs(file.gulp.base, fileName, content, sourceMap, file.gulp.cwd, file); - }; - FileCompiler.prototype.inputFile = function (file) { + } + inputFile(file) { if (file.fileNameNormalized.substr(file.fileNameNormalized.length - 5) === '.d.ts') { return; // Don't compile definition files } if (this.project.input.getFileChange(file.fileNameOriginal).state === input_1.FileChangeState.Equal) { // Not changed, re-use old file. - var old = this.previousOutput[file.fileNameNormalized]; + const old = this.previousOutput[file.fileNameNormalized]; this.write(file, old.fileName, old.diagnostics, old.content, old.sourceMap); return; } - var diagnostics = []; - var outputString = this.project.typescript.transpile(file.content, this.project.options, file.fileNameOriginal, diagnostics); - var index = outputString.lastIndexOf('\n'); - var mapString = outputString.substring(index + 1); + const diagnostics = []; + const outputString = this.project.typescript.transpile(file.content, this.project.options, file.fileNameOriginal, diagnostics); + let index = outputString.lastIndexOf('\n'); + let mapString = outputString.substring(index + 1); if (mapString.substring(0, 1) === '\r') mapString = mapString.substring(1); - var start = '//# sourceMappingURL=data:application/json;base64,'; + const start = '//# sourceMappingURL=data:application/json;base64,'; if (mapString.substring(0, start.length) !== start) { console.log('Couldn\'t read the sourceMap generated by TypeScript. This is likely an issue with gulp-typescript.'); return; } mapString = mapString.substring(start.length); - var map = JSON.parse(new Buffer(mapString, 'base64').toString()); + let map = JSON.parse(Buffer.from(mapString, 'base64').toString()); // TODO: Set paths correctly // map.sourceRoot = path.resolve(file.gulp.cwd, file.gulp.base); // map.sources[0] = path.relative(map.sourceRoot, file.gulp.path); - var fileNameExtensionless = utils.splitExtension(file.fileNameOriginal)[0]; - var _a = utils.splitExtension(map.file), extension = _a[1]; // js or jsx + const [fileNameExtensionless] = utils.splitExtension(file.fileNameOriginal); + const [, extension] = utils.splitExtension(map.file); // js or jsx this.write(file, fileNameExtensionless + '.' + extension, diagnostics, outputString.substring(0, index), JSON.stringify(map)); - }; - FileCompiler.prototype.inputDone = function () { + } + inputDone() { this.project.output.finish(this.compilationResult); this.previousOutput = this.output; this.output = {}; - }; - return FileCompiler; -}()); + } +} exports.FileCompiler = FileCompiler; diff --git a/release/host.js b/release/host.js index c52fca97..51ca3e0d 100644 --- a/release/host.js +++ b/release/host.js @@ -1,55 +1,53 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var utils = require("./utils"); -var Host = /** @class */ (function () { - function Host(typescript, currentDirectory, input, options) { - var _this = this; - this.getCurrentDirectory = function () { - return _this.currentDirectory; +const utils = require("./utils"); +class Host { + constructor(typescript, currentDirectory, input, options) { + this.getCurrentDirectory = () => { + return this.currentDirectory; }; - this.writeFile = function (fileName, data, writeByteOrderMark, onError) { }; - this.fileExists = function (fileName) { - var sourceFile = _this.input.getFile(fileName); + this.writeFile = (fileName, data, writeByteOrderMark, onError) => { }; + this.fileExists = (fileName) => { + let sourceFile = this.input.getFile(fileName); if (sourceFile) return true; - return _this.fallback.fileExists(fileName); + return this.fallback.fileExists(fileName); }; - this.readFile = function (fileName) { - var sourceFile = _this.input.getFile(fileName); + this.readFile = (fileName) => { + let sourceFile = this.input.getFile(fileName); if (sourceFile) return sourceFile.content; - return _this.fallback.readFile(fileName); + return this.fallback.readFile(fileName); }; - this.getSourceFile = function (fileName, languageVersion, onError) { + this.getSourceFile = (fileName, languageVersion, onError) => { // TODO: Cache lib.d.ts files between compilations - var sourceFile = _this.input.getFile(fileName); + let sourceFile = this.input.getFile(fileName); if (sourceFile) return sourceFile.ts; - return _this.fallback.getSourceFile(fileName, languageVersion, onError); + return this.fallback.getSourceFile(fileName, languageVersion, onError); }; - this.realpath = function (path) { return _this.fallback.realpath(path); }; - this.getDirectories = function (path) { return _this.fallback.getDirectories(path); }; - this.directoryExists = function (path) { return _this.fallback.directoryExists(path); }; + this.realpath = (path) => this.fallback.realpath(path); + this.getDirectories = (path) => this.fallback.getDirectories(path); + this.directoryExists = (path) => this.fallback.directoryExists(path); this.typescript = typescript; this.fallback = typescript.createCompilerHost(options); this.currentDirectory = currentDirectory; this.input = input; } - Host.prototype.getNewLine = function () { + getNewLine() { return '\n'; - }; - Host.prototype.useCaseSensitiveFileNames = function () { + } + useCaseSensitiveFileNames() { return false; - }; - Host.prototype.getCanonicalFileName = function (filename) { + } + getCanonicalFileName(filename) { return utils.normalizePath(filename); - }; - Host.prototype.getDefaultLibFileName = function (options) { + } + getDefaultLibFileName(options) { return this.fallback.getDefaultLibFileName(options); - }; - Host.prototype.getDefaultLibLocation = function () { + } + getDefaultLibLocation() { return this.fallback.getDefaultLibLocation(); - }; - return Host; -}()); + } +} exports.Host = Host; diff --git a/release/input.js b/release/input.js index da496720..09abebec 100644 --- a/release/input.js +++ b/release/input.js @@ -1,7 +1,7 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var path = require("path"); -var utils = require("./utils"); +const path = require("path"); +const utils = require("./utils"); var FileChangeState; (function (FileChangeState) { FileChangeState[FileChangeState["New"] = 0] = "New"; @@ -18,20 +18,20 @@ var FileKind; var File; (function (File) { function fromContent(fileName, content) { - var kind = FileKind.Source; + let kind = FileKind.Source; if (path.extname(fileName).toLowerCase() === 'json') kind = FileKind.Config; return { fileNameNormalized: utils.normalizePath(fileName), fileNameOriginal: fileName, - content: content, - kind: kind + content, + kind }; } File.fromContent = fromContent; function fromGulp(file) { - var str = file.contents.toString('utf8'); - var data = fromContent(file.path, str); + let str = file.contents.toString('utf8'); + let data = fromContent(file.path, str); data.gulp = file; return data; } @@ -57,19 +57,19 @@ var File; } File.getChangeState = getChangeState; })(File = exports.File || (exports.File = {})); -var FileDictionary = /** @class */ (function () { - function FileDictionary(typescript) { +class FileDictionary { + constructor(typescript) { this.files = {}; this.firstSourceFile = undefined; this.typescript = typescript; } - FileDictionary.prototype.addGulp = function (gFile) { + addGulp(gFile) { return this.addFile(File.fromGulp(gFile)); - }; - FileDictionary.prototype.addContent = function (fileName, content) { + } + addContent(fileName, content) { return this.addFile(File.fromContent(fileName, content)); - }; - FileDictionary.prototype.addFile = function (file) { + } + addFile(file) { if (file.kind === FileKind.Source) { this.initTypeScriptSourceFile(file); if (!this.firstSourceFile) @@ -77,69 +77,57 @@ var FileDictionary = /** @class */ (function () { } this.files[file.fileNameNormalized] = file; return file; - }; - FileDictionary.prototype.getFile = function (name) { + } + getFile(name) { return this.files[utils.normalizePath(name)]; - }; - FileDictionary.prototype.getFileNames = function (onlyGulp) { - if (onlyGulp === void 0) { onlyGulp = false; } - var fileNames = []; - for (var fileName in this.files) { + } + getFileNames(onlyGulp = false) { + const fileNames = []; + for (const fileName in this.files) { if (!this.files.hasOwnProperty(fileName)) continue; - var file = this.files[fileName]; + let file = this.files[fileName]; if (onlyGulp && !file.gulp) continue; fileNames.push(file.fileNameOriginal); } return fileNames; - }; - FileDictionary.prototype.getSourceFileNames = function (onlyGulp) { - var fileNames = this.getFileNames(onlyGulp); - var sourceFileNames = fileNames - .filter(function (fileName) { return fileName.substr(fileName.length - 5).toLowerCase() !== '.d.ts'; }); + } + getSourceFileNames(onlyGulp) { + const fileNames = this.getFileNames(onlyGulp); + const sourceFileNames = fileNames + .filter(fileName => fileName.substr(fileName.length - 5).toLowerCase() !== '.d.ts'); if (sourceFileNames.length === 0) { // Only definition files, so we will calculate the common base path based on the // paths of the definition files. return fileNames; } return sourceFileNames; - }; - Object.defineProperty(FileDictionary.prototype, "commonBasePath", { - get: function () { - var _this = this; - var fileNames = this.getSourceFileNames(true); - return utils.getCommonBasePathOfArray(fileNames.map(function (fileName) { - var file = _this.files[utils.normalizePath(fileName)]; - return path.resolve(process.cwd(), file.gulp.base); - })); - }, - // This empty setter will prevent that TS emits 'readonly' modifier. - // 'readonly' is not supported in current stable release. - set: function (value) { }, - enumerable: true, - configurable: true - }); - Object.defineProperty(FileDictionary.prototype, "commonSourceDirectory", { - get: function () { - var _this = this; - var fileNames = this.getSourceFileNames(); - return utils.getCommonBasePathOfArray(fileNames.map(function (fileName) { - var file = _this.files[utils.normalizePath(fileName)]; - return path.dirname(file.fileNameNormalized); - })); - }, - // This empty setter will prevent that TS emits 'readonly' modifier. - // 'readonly' is not supported in current stable release. - set: function (value) { }, - enumerable: true, - configurable: true - }); - return FileDictionary; -}()); + } + get commonBasePath() { + const fileNames = this.getSourceFileNames(true); + return utils.getCommonBasePathOfArray(fileNames.map(fileName => { + const file = this.files[utils.normalizePath(fileName)]; + return path.resolve(process.cwd(), file.gulp.base); + })); + } + // This empty setter will prevent that TS emits 'readonly' modifier. + // 'readonly' is not supported in current stable release. + set commonBasePath(value) { } + get commonSourceDirectory() { + const fileNames = this.getSourceFileNames(); + return utils.getCommonBasePathOfArray(fileNames.map(fileName => { + const file = this.files[utils.normalizePath(fileName)]; + return path.dirname(file.fileNameNormalized); + })); + } + // This empty setter will prevent that TS emits 'readonly' modifier. + // 'readonly' is not supported in current stable release. + set commonSourceDirectory(value) { } +} exports.FileDictionary = FileDictionary; -var FileCache = /** @class */ (function () { - function FileCache(typescript, options) { +class FileCache { + constructor(typescript, options) { this.previous = undefined; this.noParse = false; // true when using a file based compiler. this.version = 0; @@ -147,100 +135,82 @@ var FileCache = /** @class */ (function () { this.options = options; this.createDictionary(); } - FileCache.prototype.addGulp = function (gFile) { + addGulp(gFile) { return this.current.addGulp(gFile); - }; - FileCache.prototype.addContent = function (fileName, content) { + } + addContent(fileName, content) { return this.current.addContent(fileName, content); - }; - FileCache.prototype.reset = function () { + } + reset() { this.version++; this.previous = this.current; this.createDictionary(); - }; - FileCache.prototype.createDictionary = function () { - var _this = this; + } + createDictionary() { this.current = new FileDictionary(this.typescript); - this.current.initTypeScriptSourceFile = function (file) { return _this.initTypeScriptSourceFile(file); }; - }; - FileCache.prototype.initTypeScriptSourceFile = function (file) { + this.current.initTypeScriptSourceFile = (file) => this.initTypeScriptSourceFile(file); + } + initTypeScriptSourceFile(file) { if (this.noParse) return; if (this.previous) { - var previous = this.previous.getFile(file.fileNameOriginal); + let previous = this.previous.getFile(file.fileNameOriginal); if (File.equal(previous, file)) { file.ts = previous.ts; // Re-use previous source file. return; } } file.ts = this.typescript.createSourceFile(file.fileNameOriginal, file.content, this.options.target); - }; - FileCache.prototype.getFile = function (name) { + } + getFile(name) { return this.current.getFile(name); - }; - FileCache.prototype.getFileChange = function (name) { - var previous; + } + getFileChange(name) { + let previous; if (this.previous) { previous = this.previous.getFile(name); } - var current = this.current.getFile(name); + let current = this.current.getFile(name); return { - previous: previous, - current: current, + previous, + current, state: File.getChangeState(previous, current) }; - }; - FileCache.prototype.getFileNames = function (onlyGulp) { - if (onlyGulp === void 0) { onlyGulp = false; } + } + getFileNames(onlyGulp = false) { return this.current.getFileNames(onlyGulp); - }; - Object.defineProperty(FileCache.prototype, "firstSourceFile", { - get: function () { - return this.current.firstSourceFile; - }, - // This empty setter will prevent that TS emits 'readonly' modifier. - // 'readonly' is not supported in current stable release. - set: function (value) { }, - enumerable: true, - configurable: true - }); - Object.defineProperty(FileCache.prototype, "commonBasePath", { - get: function () { - return this.current.commonBasePath; - }, - set: function (value) { }, - enumerable: true, - configurable: true - }); - Object.defineProperty(FileCache.prototype, "commonSourceDirectory", { - get: function () { - return this.current.commonSourceDirectory; - }, - set: function (value) { }, - enumerable: true, - configurable: true - }); - FileCache.prototype.isChanged = function (onlyGulp) { - if (onlyGulp === void 0) { onlyGulp = false; } + } + get firstSourceFile() { + return this.current.firstSourceFile; + } + // This empty setter will prevent that TS emits 'readonly' modifier. + // 'readonly' is not supported in current stable release. + set firstSourceFile(value) { } + get commonBasePath() { + return this.current.commonBasePath; + } + set commonBasePath(value) { } + get commonSourceDirectory() { + return this.current.commonSourceDirectory; + } + set commonSourceDirectory(value) { } + isChanged(onlyGulp = false) { if (!this.previous) return true; - var files = this.getFileNames(onlyGulp); - var oldFiles = this.previous.getFileNames(onlyGulp); + const files = this.getFileNames(onlyGulp); + const oldFiles = this.previous.getFileNames(onlyGulp); if (files.length !== oldFiles.length) return true; - for (var _i = 0, files_1 = files; _i < files_1.length; _i++) { - var fileName = files_1[_i]; + for (const fileName of files) { if (oldFiles.indexOf(fileName) === -1) return true; } - for (var _a = 0, files_2 = files; _a < files_2.length; _a++) { - var fileName = files_2[_a]; - var change = this.getFileChange(fileName); + for (const fileName of files) { + const change = this.getFileChange(fileName); if (change.state !== FileChangeState.Equal) return true; } return false; - }; - return FileCache; -}()); + } +} exports.FileCache = FileCache; diff --git a/release/main.js b/release/main.js index 487b1bc3..b5fd71c5 100644 --- a/release/main.js +++ b/release/main.js @@ -8,15 +8,15 @@ var __rest = (this && this.__rest) || function (s, e) { t[p[i]] = s[p[i]]; return t; }; -var path = require("path"); -var _project = require("./project"); -var utils = require("./utils"); -var _reporter = require("./reporter"); +const path = require("path"); +const _project = require("./project"); +const utils = require("./utils"); +const _reporter = require("./reporter"); function compile(param, theReporter) { if (arguments.length >= 3) { utils.deprecate("Reporter are now passed as the second argument", "remove the second argument", "Filters have been removed as of gulp-typescript 3.0.\nThe reporter is now passed as the second argument instead of the third argument."); } - var proj; + let proj; if (typeof param === "function") { proj = param; if (arguments.length >= 2) { @@ -43,7 +43,7 @@ function getTypeScript(typescript) { } } function checkAndNormalizeSettings(settings) { - var declarationFiles = settings.declarationFiles, noExternalResolve = settings.noExternalResolve, sortOutput = settings.sortOutput, typescript = settings.typescript, standardSettings = __rest(settings, ["declarationFiles", "noExternalResolve", "sortOutput", "typescript"]); + const { declarationFiles, noExternalResolve, sortOutput, typescript } = settings, standardSettings = __rest(settings, ["declarationFiles", "noExternalResolve", "sortOutput", "typescript"]); if (settings.sourceRoot !== undefined) { console.warn('gulp-typescript: sourceRoot isn\'t supported any more. Use sourceRoot option of gulp-sourcemaps instead.'); } @@ -58,18 +58,21 @@ function checkAndNormalizeSettings(settings) { } return standardSettings; } -function normalizeCompilerOptions(options) { +function normalizeCompilerOptions(options, typescript) { options.sourceMap = true; options.suppressOutputPathCheck = true; options.inlineSourceMap = false; options.sourceRoot = undefined; options.inlineSources = false; + // For TS >=2.9, we set `declarationMap` to true, if `declaration` is set. + // We check for this version by checking whether `createFileLevelUniqueName` exists. + if ("createFileLevelUniqueName" in typescript && options.declaration && !options.isolatedModules) { + options.declarationMap = true; + } } -function reportErrors(errors, typescript, ignore) { - if (ignore === void 0) { ignore = []; } - var reporter = _reporter.defaultReporter(); - for (var _i = 0, errors_1 = errors; _i < errors_1.length; _i++) { - var error = errors_1[_i]; +function reportErrors(errors, typescript, ignore = []) { + const reporter = _reporter.defaultReporter(); + for (const error of errors) { if (ignore.indexOf(error.code) !== -1) continue; reporter.error(utils.getError(error, typescript), typescript); @@ -78,13 +81,13 @@ function reportErrors(errors, typescript, ignore) { (function (compile) { compile.reporter = _reporter; function createProject(fileNameOrSettings, settings) { - var tsConfigFileName = undefined; - var tsConfigContent = undefined; - var projectDirectory = process.cwd(); - var typescript; - var compilerOptions; - var fileName; - var rawConfig; + let tsConfigFileName = undefined; + let tsConfigContent = undefined; + let projectDirectory = process.cwd(); + let typescript; + let compilerOptions; + let fileName; + let rawConfig; if (fileNameOrSettings !== undefined) { if (typeof fileNameOrSettings === 'string') { fileName = fileNameOrSettings; @@ -98,17 +101,17 @@ function reportErrors(errors, typescript, ignore) { } typescript = getTypeScript(settings.typescript); settings = checkAndNormalizeSettings(settings); - var settingsResult = typescript.convertCompilerOptionsFromJson(settings, projectDirectory); + const settingsResult = typescript.convertCompilerOptionsFromJson(settings, projectDirectory); if (settingsResult.errors) { reportErrors(settingsResult.errors, typescript); } compilerOptions = settingsResult.options; if (fileName !== undefined) { - var tsConfig = typescript.readConfigFile(tsConfigFileName, typescript.sys.readFile); + let tsConfig = typescript.readConfigFile(tsConfigFileName, typescript.sys.readFile); if (tsConfig.error) { console.log(tsConfig.error.messageText); } - var parsed = typescript.parseJsonConfigFileContent(tsConfig.config || {}, getTsconfigSystem(typescript), path.resolve(projectDirectory), compilerOptions, path.basename(tsConfigFileName)); + let parsed = typescript.parseJsonConfigFileContent(tsConfig.config || {}, getTsconfigSystem(typescript), path.resolve(projectDirectory), compilerOptions, path.basename(tsConfigFileName)); rawConfig = parsed.raw; tsConfigContent = parsed.raw; if (parsed.errors) { @@ -117,16 +120,12 @@ function reportErrors(errors, typescript, ignore) { compilerOptions = parsed.options; } } - normalizeCompilerOptions(compilerOptions); - var project = _project.setupProject(projectDirectory, tsConfigFileName, rawConfig, tsConfigContent, compilerOptions, typescript); + normalizeCompilerOptions(compilerOptions, typescript); + const project = _project.setupProject(projectDirectory, tsConfigFileName, rawConfig, tsConfigContent, compilerOptions, typescript); return project; } compile.createProject = createProject; - function filter() { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } + function filter(...args) { utils.deprecate('ts.filter() is deprecated', 'soon you can use tsProject.resolve()', 'Filters have been removed as of gulp-typescript 3.0.\nSoon tsProject.resolve() will be available as an alternative.\nSee https://github.com/ivogabe/gulp-typescript/issues/190.'); } compile.filter = filter; @@ -134,7 +133,7 @@ function reportErrors(errors, typescript, ignore) { function getTsconfigSystem(typescript) { return { useCaseSensitiveFileNames: typescript.sys.useCaseSensitiveFileNames, - readDirectory: function () { return []; }, + readDirectory: () => [], fileExists: typescript.sys.fileExists, readFile: typescript.sys.readFile }; diff --git a/release/output.d.ts b/release/output.d.ts index f486037d..80d83d6c 100644 --- a/release/output.d.ts +++ b/release/output.d.ts @@ -11,10 +11,12 @@ export declare class Output { streamFull: stream.Readable; streamJs: stream.Readable; streamDts: stream.Readable; + private pendingIO; writeJs(base: string, fileName: string, content: string, sourceMapContent: string, cwd: string, original: input.File): void; - writeDts(base: string, fileName: string, content: string, cwd: string): void; + writeDts(base: string, fileName: string, content: string, declarationMapContent: string, cwd: string, original: input.File): Promise; private applySourceMap(sourceMapContent, original, output); finish(result: reporter.CompilationResult): void; + private mightFinish(); private getError(info); diagnostic(info: ts.Diagnostic): void; error(error: reporter.TypeScriptError): void; diff --git a/release/output.js b/release/output.js index f13b4481..d9618a1f 100644 --- a/release/output.js +++ b/release/output.js @@ -1,106 +1,139 @@ "use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; Object.defineProperty(exports, "__esModule", { value: true }); -var path = require("path"); -var sourceMap = require("source-map"); -var VinylFile = require("vinyl"); -var utils = require("./utils"); -var Output = /** @class */ (function () { - function Output(_project, streamFull, streamJs, streamDts) { +const path = require("path"); +const sourceMap = require("source-map"); +const VinylFile = require("vinyl"); +const utils = require("./utils"); +const reporter = require("./reporter"); +class Output { + constructor(_project, streamFull, streamJs, streamDts) { + // Number of pending IO operatrions + this.pendingIO = 0; this.project = _project; this.streamFull = streamFull; this.streamJs = streamJs; this.streamDts = streamDts; } - Output.prototype.writeJs = function (base, fileName, content, sourceMapContent, cwd, original) { - var file = new VinylFile({ + writeJs(base, fileName, content, sourceMapContent, cwd, original) { + const file = new VinylFile({ path: fileName, - contents: new Buffer(content), - cwd: cwd, - base: base + contents: Buffer.from(content), + cwd, + base }); - var appliedSourceMap = this.applySourceMap(sourceMapContent, original, file); - if (appliedSourceMap) - file.sourceMap = JSON.parse(appliedSourceMap); - this.streamFull.push(file); - this.streamJs.push(file); - }; - Output.prototype.writeDts = function (base, fileName, content, cwd) { - var file = new VinylFile({ - path: fileName, - contents: new Buffer(content), - cwd: cwd, - base: base + this.pendingIO++; + this.applySourceMap(sourceMapContent, original, file).then(appliedSourceMap => { + if (appliedSourceMap) + file.sourceMap = JSON.parse(appliedSourceMap); + this.streamFull.push(file); + this.streamJs.push(file); + this.pendingIO--; + this.mightFinish(); + }); + } + writeDts(base, fileName, content, declarationMapContent, cwd, original) { + return __awaiter(this, void 0, void 0, function* () { + const file = new VinylFile({ + path: fileName, + contents: Buffer.from(content), + cwd, + base + }); + this.pendingIO++; + this.applySourceMap(declarationMapContent, original, file).then(appliedSourceMap => { + if (appliedSourceMap) + file.sourceMap = JSON.parse(appliedSourceMap); + this.streamFull.push(file); + this.streamDts.push(file); + this.pendingIO--; + this.mightFinish(); + }); }); - this.streamFull.push(file); - this.streamDts.push(file); - }; - Output.prototype.applySourceMap = function (sourceMapContent, original, output) { - var _this = this; - if (sourceMapContent === undefined) - return undefined; - var map = JSON.parse(sourceMapContent); - var directory = path.dirname(output.path); - // gulp-sourcemaps docs: - // paths in the generated source map (`file` and `sources`) are relative to `file.base` (e.g. use `file.relative`). - map.file = utils.forwardSlashes(output.relative); - map.sources = map.sources.map(relativeToOutput); - delete map.sourceRoot; - var generator = sourceMap.SourceMapGenerator.fromSourceMap(new sourceMap.SourceMapConsumer(map)); - var sourceMapOrigins = this.project.singleOutput - ? this.project.input.getFileNames(true).map(function (fName) { return _this.project.input.getFile(fName); }) - : [original]; - for (var _i = 0, sourceMapOrigins_1 = sourceMapOrigins; _i < sourceMapOrigins_1.length; _i++) { - var sourceFile = sourceMapOrigins_1[_i]; - if (!sourceFile || !sourceFile.gulp || !sourceFile.gulp.sourceMap) - continue; - var inputOriginalMap = sourceFile.gulp.sourceMap; - var inputMap = typeof inputOriginalMap === 'object' ? inputOriginalMap : JSON.parse(inputOriginalMap); - // We should only apply the input mappings if the input mapping isn't empty, - // since `generator.applySourceMap` has a really bad performance on big inputs. - if (inputMap.mappings !== '') { - var consumer = new sourceMap.SourceMapConsumer(inputMap); - generator.applySourceMap(consumer); + } + applySourceMap(sourceMapContent, original, output) { + return __awaiter(this, void 0, void 0, function* () { + if (sourceMapContent === undefined) + return undefined; + const map = JSON.parse(sourceMapContent); + const directory = path.dirname(output.path); + // gulp-sourcemaps docs: + // paths in the generated source map (`file` and `sources`) are relative to `file.base` (e.g. use `file.relative`). + map.file = utils.forwardSlashes(output.relative); + map.sources = map.sources.map(relativeToOutput); + delete map.sourceRoot; + const consumer = yield new sourceMap.SourceMapConsumer(map); + const generator = sourceMap.SourceMapGenerator.fromSourceMap(consumer); + const sourceMapOrigins = this.project.singleOutput + ? this.project.input.getFileNames(true).map(fName => this.project.input.getFile(fName)) + : [original]; + for (const sourceFile of sourceMapOrigins) { + if (!sourceFile || !sourceFile.gulp || !sourceFile.gulp.sourceMap) + continue; + const inputOriginalMap = sourceFile.gulp.sourceMap; + const inputMap = typeof inputOriginalMap === 'object' ? inputOriginalMap : JSON.parse(inputOriginalMap); + // We should only apply the input mappings if the input mapping isn't empty, + // since `generator.applySourceMap` has a really bad performance on big inputs. + if (inputMap.mappings !== '') { + const inputConsumer = yield new sourceMap.SourceMapConsumer(inputMap); + generator.applySourceMap(inputConsumer); + inputConsumer.destroy(); + } + if (!inputMap.sources || !inputMap.sourcesContent) + continue; + for (let i = 0; i < inputMap.sources.length; i++) { + const absolute = path.resolve(sourceFile.gulp.base, inputMap.sources[i]); + const relative = path.relative(output.base, absolute); + generator.setSourceContent(utils.forwardSlashes(relative), inputMap.sourcesContent[i]); + } } - if (!inputMap.sources || !inputMap.sourcesContent) - continue; - for (var i = 0; i < inputMap.sources.length; i++) { - var absolute = path.resolve(sourceFile.gulp.base, inputMap.sources[i]); - var relative = path.relative(output.base, absolute); - generator.setSourceContent(utils.forwardSlashes(relative), inputMap.sourcesContent[i]); + consumer.destroy(); + return generator.toString(); + function relativeToOutput(fileName) { + const absolute = path.resolve(directory, fileName); + return utils.forwardSlashes(path.relative(output.base, absolute)); } - } - return generator.toString(); - function relativeToOutput(fileName) { - var absolute = path.resolve(directory, fileName); - return utils.forwardSlashes(path.relative(output.base, absolute)); - } - }; - Output.prototype.finish = function (result) { + }); + } + finish(result) { this.result = result; + this.mightFinish(); + } + mightFinish() { + if (this.result === undefined || this.pendingIO !== 0) + return; if (this.project.reporter.finish) - this.project.reporter.finish(result); + this.project.reporter.finish(this.result); + if (reporter.countErrors(this.result) !== 0) { + this.streamFull.emit('error', new Error("TypeScript: Compilation failed")); + } this.streamFull.emit('finish'); this.streamFull.push(null); this.streamJs.push(null); this.streamDts.push(null); - }; - Output.prototype.getError = function (info) { - var fileName = info.file && info.file.fileName; - var file = fileName && this.project.input.getFile(fileName); + } + getError(info) { + let fileName = info.file && info.file.fileName; + const file = fileName && this.project.input.getFile(fileName); return utils.getError(info, this.project.typescript, file); - }; - Output.prototype.diagnostic = function (info) { + } + diagnostic(info) { this.error(this.getError(info)); - }; - Output.prototype.error = function (error) { + } + error(error) { if (!error) return; // call reporter callback if (this.project.reporter.error) this.project.reporter.error(error, this.project.typescript); // & emit the error on the stream. - this.streamFull.emit('error', error); - }; - return Output; -}()); + } +} exports.Output = Output; diff --git a/release/project.js b/release/project.js index 34d2dfc6..679dc3ff 100644 --- a/release/project.js +++ b/release/project.js @@ -1,14 +1,4 @@ "use strict"; -var __extends = (this && this.__extends) || (function () { - var extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) @@ -19,41 +9,41 @@ var __rest = (this && this.__rest) || function (s, e) { return t; }; Object.defineProperty(exports, "__esModule", { value: true }); -var stream = require("stream"); -var vfs = require("vinyl-fs"); -var path = require("path"); -var PluginError = require("plugin-error"); -var utils = require("./utils"); -var reporter_1 = require("./reporter"); -var input_1 = require("./input"); -var output_1 = require("./output"); -var compiler_1 = require("./compiler"); +const stream = require("stream"); +const vfs = require("vinyl-fs"); +const path = require("path"); +const PluginError = require("plugin-error"); +const utils = require("./utils"); +const reporter_1 = require("./reporter"); +const input_1 = require("./input"); +const output_1 = require("./output"); +const compiler_1 = require("./compiler"); function setupProject(projectDirectory, configFileName, rawConfig, config, options, typescript) { - var input = new input_1.FileCache(typescript, options); - var compiler = options.isolatedModules ? new compiler_1.FileCompiler() : new compiler_1.ProjectCompiler(); - var running = false; + const input = new input_1.FileCache(typescript, options); + const compiler = options.isolatedModules ? new compiler_1.FileCompiler() : new compiler_1.ProjectCompiler(); + let running = false; if (options.isolatedModules) { options.newLine = typescript.NewLineKind.LineFeed; options.sourceMap = false; options.declaration = false; options.inlineSourceMap = true; } - var project = function (reporter) { + const project = (reporter) => { if (running) { throw new Error('gulp-typescript: A project cannot be used in two compilations at the same time. Create multiple projects with createProject instead.'); } running = true; input.reset(); compiler.prepare(projectInfo); - var stream = new CompileStream(projectInfo); + const stream = new CompileStream(projectInfo); projectInfo.output = new output_1.Output(projectInfo, stream, stream.js, stream.dts); projectInfo.reporter = reporter || reporter_1.defaultReporter(); - stream.on('finish', function () { + stream.on('finish', () => { running = false; }); return stream; }; - var singleOutput = options.out !== undefined || options.outFile !== undefined; + const singleOutput = options.out !== undefined || options.outFile !== undefined; project.src = src; project.typescript = typescript; project.projectDirectory = projectDirectory; @@ -61,12 +51,12 @@ function setupProject(projectDirectory, configFileName, rawConfig, config, optio project.rawConfig = rawConfig; project.config = config; project.options = options; - var projectInfo = { - input: input, - singleOutput: singleOutput, - compiler: compiler, - options: options, - typescript: typescript, + const projectInfo = { + input, + singleOutput, + compiler, + options, + typescript, directory: projectDirectory, // Set when `project` is called output: undefined, @@ -79,35 +69,31 @@ function src() { if (arguments.length >= 1) { utils.message("tsProject.src() takes no arguments", "Use gulp.src(..) if you need to specify a glob"); } - var base; + let base; if (this.options["rootDir"]) { base = path.resolve(this.projectDirectory, this.options["rootDir"]); } - var _a = this.rawConfig, _extends = _a.extends, config = __rest(_a, ["extends"]); - var _b = this.typescript.parseJsonConfigFileContent(config, this.typescript.sys, path.resolve(this.projectDirectory), undefined, path.basename(this.configFileName)), fileNames = _b.fileNames, errors = _b.errors; - for (var _i = 0, errors_1 = errors; _i < errors_1.length; _i++) { - var error = errors_1[_i]; + const _a = this.rawConfig, { extends: _extends } = _a, config = __rest(_a, ["extends"]); + const { fileNames, errors } = this.typescript.parseJsonConfigFileContent(config, this.typescript.sys, path.resolve(this.projectDirectory), undefined, path.basename(this.configFileName)); + for (const error of errors) { console.log(error.messageText); } if (base === undefined) - base = utils.getCommonBasePathOfArray(fileNames.filter(function (file) { return file.substr(-5) !== ".d.ts"; }) - .map(function (file) { return path.dirname(file); })); - var vinylOptions = { base: base, allowEmpty: true }; + base = utils.getCommonBasePathOfArray(fileNames.filter(file => file.substr(-5) !== ".d.ts") + .map(file => path.dirname(file))); + const vinylOptions = { base, allowEmpty: true }; return vfs.src(fileNames, vinylOptions); } -var CompileStream = /** @class */ (function (_super) { - __extends(CompileStream, _super); - function CompileStream(project) { - var _this = _super.call(this, { objectMode: true }) || this; - _this.js = new CompileOutputStream(); - _this.dts = new CompileOutputStream(); - _this.project = project; +class CompileStream extends stream.Duplex { + constructor(project) { + super({ objectMode: true }); + this.js = new CompileOutputStream(); + this.dts = new CompileOutputStream(); + this.project = project; // Prevent "Unhandled stream error in pipe" when a compilation error occurs. - _this.on('error', function () { }); - return _this; + // this.on('error', () => {}); } - CompileStream.prototype._write = function (file, encoding, cb) { - if (cb === void 0) { cb = function (err) { }; } + _write(file, encoding, cb = (err) => { }) { if (!file) return cb(); if (file.isNull()) { @@ -117,13 +103,13 @@ var CompileStream = /** @class */ (function (_super) { if (file.isStream()) { return cb(new PluginError('gulp-typescript', 'Streaming not supported')); } - var inputFile = this.project.input.addGulp(file); + const inputFile = this.project.input.addGulp(file); this.project.compiler.inputFile(inputFile); cb(); - }; - CompileStream.prototype._read = function () { - }; - CompileStream.prototype.end = function (chunk, encoding, callback) { + } + _read() { + } + end(chunk, encoding, callback) { if (typeof chunk === 'function') { this._write(null, null, chunk); } @@ -134,15 +120,12 @@ var CompileStream = /** @class */ (function (_super) { this._write(chunk, encoding, callback); } this.project.compiler.inputDone(); - }; - return CompileStream; -}(stream.Duplex)); -var CompileOutputStream = /** @class */ (function (_super) { - __extends(CompileOutputStream, _super); - function CompileOutputStream() { - return _super.call(this, { objectMode: true }) || this; } - CompileOutputStream.prototype._read = function () { - }; - return CompileOutputStream; -}(stream.Readable)); +} +class CompileOutputStream extends stream.Readable { + constructor() { + super({ objectMode: true }); + } + _read() { + } +} diff --git a/release/reporter.d.ts b/release/reporter.d.ts index dbb0d9f0..03965db0 100644 --- a/release/reporter.d.ts +++ b/release/reporter.d.ts @@ -37,6 +37,7 @@ export interface Reporter { error?: (error: TypeScriptError, typescript: typeof ts) => void; finish?: (results: CompilationResult) => void; } +export declare function countErrors(results: CompilationResult): number; export declare function nullReporter(): Reporter; export declare function defaultReporter(): Reporter; export declare function longReporter(): Reporter; diff --git a/release/reporter.js b/release/reporter.js index cd042bcf..cac9228a 100644 --- a/release/reporter.js +++ b/release/reporter.js @@ -1,6 +1,6 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var colors = require("ansi-colors"); +const colors = require("ansi-colors"); function emptyCompilationResult(noEmit) { return { transpileErrors: 0, @@ -10,14 +10,24 @@ function emptyCompilationResult(noEmit) { semanticErrors: 0, declarationErrors: 0, emitErrors: 0, - noEmit: noEmit, + noEmit, emitSkipped: false }; } exports.emptyCompilationResult = emptyCompilationResult; +function countErrors(results) { + return results.transpileErrors + + results.optionsErrors + + results.syntaxErrors + + results.globalErrors + + results.semanticErrors + + results.declarationErrors + + results.emitErrors; +} +exports.countErrors = countErrors; function defaultFinishHandler(results) { - var hasError = false; - var showErrorCount = function (count, type) { + let hasError = false; + const showErrorCount = (count, type) => { if (count === 0) return; console.log('TypeScript:', colors.magenta(count.toString()), (type !== '' ? type + ' ' : '') + (count === 1 ? 'error' : 'errors')); @@ -45,7 +55,7 @@ function nullReporter() { exports.nullReporter = nullReporter; function defaultReporter() { return { - error: function (error) { + error: (error) => { console.log(error.message); }, finish: defaultFinishHandler @@ -53,9 +63,9 @@ function defaultReporter() { } exports.defaultReporter = defaultReporter; function longReporter() { - var typescript = require('typescript'); + const typescript = require('typescript'); return { - error: function (error) { + error: (error) => { if (error.tsFile) { console.log('[' + colors.gray('gulp-typescript') + '] ' + colors.red(error.fullFilename + '(' + error.startPosition.line + ',' + error.startPosition.character + '): ') @@ -69,18 +79,17 @@ function longReporter() { }; } exports.longReporter = longReporter; -function fullReporter(fullFilename) { - if (fullFilename === void 0) { fullFilename = false; } +function fullReporter(fullFilename = false) { return { - error: function (error, typescript) { + error: (error, typescript) => { console.log('[' + colors.gray('gulp-typescript') + '] ' + colors.bgred(error.diagnostic.code + '') + ' ' + colors.red(typescript.flattenDiagnosticMessageText(error.diagnostic.messageText, '\n'))); if (error.tsFile) { console.log('> ' + colors.gray('file: ') + (fullFilename ? error.fullFilename : error.relativeFilename) + colors.gray(':')); - var lines_1 = error.tsFile.text.split(/(?:\r\n|\r|\n)/); - var logLine = function (lineIndex, errorStart, errorEnd) { - var line = lines_1[lineIndex]; + const lines = error.tsFile.text.split(/(?:\r\n|\r|\n)/); + const logLine = (lineIndex, errorStart, errorEnd) => { + const line = lines[lineIndex]; if (errorEnd === undefined) errorEnd = line.length; console.log('> ' + colors.gray('[' + lineIndex + '] ') @@ -88,7 +97,7 @@ function fullReporter(fullFilename) { + colors.red(line.substring(errorStart, errorEnd)) + line.substring(errorEnd)); }; - for (var i = error.startPosition.line; i <= error.endPosition.line; i++) { + for (let i = error.startPosition.line; i <= error.endPosition.line; i++) { logLine(i, i === error.startPosition.line ? error.startPosition.character - 1 : 0, i === error.endPosition.line ? error.endPosition.character - 1 : undefined); } } diff --git a/release/utils.js b/release/utils.js index 9d63c902..488e76bf 100644 --- a/release/utils.js +++ b/release/utils.js @@ -1,7 +1,7 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var path = require("path"); -var colors = require("ansi-colors"); +const path = require("path"); +const colors = require("ansi-colors"); function forwardSlashes(fileName) { return fileName.replace(/\\/g, '/'); } @@ -18,16 +18,15 @@ exports.normalizePath = normalizePath; */ function splitExtension(fileName, knownExtensions) { if (knownExtensions) { - for (var _i = 0, knownExtensions_1 = knownExtensions; _i < knownExtensions_1.length; _i++) { - var ext_1 = knownExtensions_1[_i]; - var index_1 = fileName.length - ext_1.length - 1; - if (fileName.substr(index_1) === '.' + ext_1) { - return [fileName.substr(0, index_1), ext_1]; + for (const ext of knownExtensions) { + const index = fileName.length - ext.length - 1; + if (fileName.substr(index) === '.' + ext) { + return [fileName.substr(0, index), ext]; } } } - var ext = path.extname(fileName).toLowerCase().substr(1); - var index = fileName.length - ext.length; + const ext = path.extname(fileName).toLowerCase().substr(1); + const index = fileName.length - ext.length; return [fileName.substr(0, index - 1), ext]; } exports.splitExtension = splitExtension; @@ -35,10 +34,10 @@ exports.splitExtension = splitExtension; * Finds the common base path of two directories */ function getCommonBasePath(a, b) { - var aSplit = a.split(/\\|\//); // Split on '/' or '\'. - var bSplit = b.split(/\\|\//); - var commonLength = 0; - for (var i = 0; i < aSplit.length && i < bSplit.length; i++) { + const aSplit = a.split(/\\|\//); // Split on '/' or '\'. + const bSplit = b.split(/\\|\//); + let commonLength = 0; + for (let i = 0; i < aSplit.length && i < bSplit.length; i++) { if (aSplit[i] !== bSplit[i]) break; commonLength += aSplit[i].length + 1; @@ -53,10 +52,10 @@ function getCommonBasePathOfArray(paths) { } exports.getCommonBasePathOfArray = getCommonBasePathOfArray; function getError(info, typescript, file) { - var err = new Error(); + const err = new Error(); err.name = 'TypeScript error'; err.diagnostic = info; - var codeAndMessageText = typescript.DiagnosticCategory[info.category].toLowerCase() + + const codeAndMessageText = typescript.DiagnosticCategory[info.category].toLowerCase() + ' TS' + info.code + ': ' + @@ -65,7 +64,7 @@ function getError(info, typescript, file) { err.message = codeAndMessageText; return err; } - var fileName = info.file.fileName; + let fileName = info.file.fileName; if (file) { err.tsFile = file.ts; err.fullFilename = file.fileNameOriginal; @@ -81,8 +80,8 @@ function getError(info, typescript, file) { else { err.fullFilename = info.file.fileName; } - var startPos = typescript.getLineAndCharacterOfPosition(info.file, info.start); - var endPos = typescript.getLineAndCharacterOfPosition(info.file, info.start + info.length); + const startPos = typescript.getLineAndCharacterOfPosition(info.file, info.start); + const endPos = typescript.getLineAndCharacterOfPosition(info.file, info.start + info.length); err.startPosition = { position: info.start, line: startPos.line, From 37eb4b723bdaa66d3d7a0238888967f4f0c780e9 Mon Sep 17 00:00:00 2001 From: Ivo Gabe de Wolff Date: Mon, 11 Jun 2018 21:58:39 +0200 Subject: [PATCH 12/14] Update LKG --- release/project.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/release/project.js b/release/project.js index 679dc3ff..983bd7fe 100644 --- a/release/project.js +++ b/release/project.js @@ -90,8 +90,6 @@ class CompileStream extends stream.Duplex { this.js = new CompileOutputStream(); this.dts = new CompileOutputStream(); this.project = project; - // Prevent "Unhandled stream error in pipe" when a compilation error occurs. - // this.on('error', () => {}); } _write(file, encoding, cb = (err) => { }) { if (!file) From 0098d9cd566a510fbcd84a6b52d74dc408ee2dba Mon Sep 17 00:00:00 2001 From: Ivo Gabe de Wolff Date: Mon, 11 Jun 2018 22:37:48 +0200 Subject: [PATCH 13/14] Update docs --- readme.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/readme.md b/readme.md index cff6f11a..80825431 100644 --- a/readme.md +++ b/readme.md @@ -227,7 +227,9 @@ For more information, see [gulp-sourcemaps](https://github.com/floridoo/gulp-sou Reporters --------- -You can specify a custom reporter as the second argument of the main function, or as the only argument when using a `tsProject`: +By default, errors are logged to the console and the build crashes on compiler errors. In watch mode, the build does not throw, meaning that consequent builds are still ran. If you do not want to crash the gulp process, you must catch the error. You then need to add `.on('error', () => {})` after `.pipe(tsProject())` or `.pipe(ts(..))`. + +If you want to change the way that messages are logged to the console (or some other output), you can provide a reporter. You can specify a custom reporter as the second argument of the main function, or as the only argument when using a `tsProject`: ```javascript ts(options, reporter); tsProject(reporter); From fd3239c3c561f8c210a87e3c980cb16f9f1a72ba Mon Sep 17 00:00:00 2001 From: Ivo Gabe de Wolff Date: Mon, 11 Jun 2018 22:38:01 +0200 Subject: [PATCH 14/14] v5.0.0-alpha.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 57879d16..7d23d980 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "gulp-typescript", - "version": "4.0.2", + "version": "5.0.0-alpha.1", "description": "A typescript compiler for gulp with incremental compilation support.", "homepage": "https://github.com/ivogabe/gulp-typescript", "bugs": "https://github.com/ivogabe/gulp-typescript/issues",