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..5f9ecd33 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) { @@ -35,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); }); @@ -46,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 @@ -75,6 +76,7 @@ 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)] ]; @@ -128,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; @@ -155,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, compile); +})); diff --git a/lib/compiler.ts b/lib/compiler.ts index e1538172..96434a5d 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; } /** @@ -125,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; @@ -149,7 +155,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; @@ -184,7 +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); + this.project.output.writeDts(baseDeclarations, dtsFileName, dtsContent, dtsMapContent, file ? file.gulp.cwd : currentDirectory, file); } } @@ -270,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/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/lib/output.ts b/lib/output.ts index 9e18e76b..8559c1aa 100644 --- a/lib/output.ts +++ b/lib/output.ts @@ -25,31 +25,50 @@ 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, - contents: new Buffer(content), + contents: Buffer.from(content), 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, cwd: string) { + 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 }); - 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); @@ -62,13 +81,13 @@ 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)) : [original]; - for (const sourceFile of sourceMapOrigins) { if (!sourceFile || !sourceFile.gulp || !sourceFile.gulp.sourceMap) continue; @@ -78,8 +97,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; @@ -89,6 +109,7 @@ export class Output { generator.setSourceContent(utils.forwardSlashes(relative), inputMap.sourcesContent[i]); } } + consumer.destroy(); return generator.toString(); function relativeToOutput(fileName: string) { @@ -99,7 +120,18 @@ 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); + + if (reporter.countErrors(this.result) !== 0) { + this.streamFull.emit('error', new Error("TypeScript: Compilation failed")); + } this.streamFull.emit('finish'); this.streamFull.push(null); @@ -122,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 52b074f2..9288f834 100644 --- a/lib/tsconfig.json +++ b/lib/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "ES5", + "target": "es2015", "module": "commonjs", "noUnusedLocals": true, "noImplicitAny": true, 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 cdffee73..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", @@ -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,18 +76,18 @@ "@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" }, "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/readme.md b/readme.md index 47c6f43a..80825431 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') @@ -225,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); 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..983bd7fe 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,29 @@ 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; - // Prevent "Unhandled stream error in pipe" when a compilation error occurs. - _this.on('error', function () { }); - return _this; +class CompileStream extends stream.Duplex { + constructor(project) { + super({ objectMode: true }); + this.js = new CompileOutputStream(); + this.dts = new CompileOutputStream(); + this.project = project; } - 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 +101,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 +118,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, 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/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..6f884f8e --- /dev/null +++ b/test/baselines/basic/2.9/dts/other-3.d.ts @@ -0,0 +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 new file mode 100644 index 00000000..e5d642d1 --- /dev/null +++ b/test/baselines/basic/2.9/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/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/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/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.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/dev/js/all.js b/test/baselines/existingSourceMaps/2.9/all.js similarity index 100% rename from test/baselines/existingSourceMaps/dev/js/all.js rename to test/baselines/existingSourceMaps/2.9/all.js diff --git a/test/baselines/existingSourceMaps/dev/js/all.js.map b/test/baselines/existingSourceMaps/2.9/all.js.map similarity index 100% rename from test/baselines/existingSourceMaps/dev/js/all.js.map rename to test/baselines/existingSourceMaps/2.9/all.js.map 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/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/all.js b/test/baselines/existingSourceMaps/dev/all.js new file mode 100644 index 00000000..1a6f6844 --- /dev/null +++ b/test/baselines/existingSourceMaps/dev/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/dev/all.js.map b/test/baselines/existingSourceMaps/dev/all.js.map new file mode 100644 index 00000000..70694473 --- /dev/null +++ b/test/baselines/existingSourceMaps/dev/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..a7e9159e --- /dev/null +++ b/test/baselines/externalResolve/2.9/dts/test-2.d.ts @@ -0,0 +1,3 @@ +/// +export {}; +//# sourceMappingURL=test-2.d.ts.map \ No newline at end of file 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/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/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..ee5b0273 --- /dev/null +++ b/test/baselines/out/2.9/dts/concat.d.ts @@ -0,0 +1,6 @@ +declare class Hello { + value: string; +} +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/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/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/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..b85c8714 --- /dev/null +++ b/test/baselines/tsconfigDeclarationMap/2.9/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/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..8d22cde7 --- /dev/null +++ b/test/baselines/tsconfigDeclarationMap/dev/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/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/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..6f884f8e --- /dev/null +++ b/test/baselines/tsconfigExtends/2.9/dts/other-3.d.ts @@ -0,0 +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 new file mode 100644 index 00000000..e5d642d1 --- /dev/null +++ b/test/baselines/tsconfigExtends/2.9/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/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/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/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/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 663bf0d4..b4254ce0 100644 --- a/test/existingSourceMaps/gulptask.js +++ b/test/existingSourceMaps/gulptask.js @@ -6,7 +6,8 @@ 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)) + .on('error', () => {}) .pipe(sourcemaps.write('.')) - .pipe(gulp.dest(output + '/js')); + .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 new file mode 100644 index 00000000..9432245e --- /dev/null +++ b/test/tsconfigDeclarationMap/gulptask.js @@ -0,0 +1,21 @@ +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(sourcemaps.init()) + .pipe(project(reporter)) + .on('error', () => {}); + + tsResult.dts + .pipe(sourcemaps.write(".")) + .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..66602f2c --- /dev/null +++ b/test/tsconfigDeclarationMap/src/tsconfig.json @@ -0,0 +1,7 @@ +{ + "compilerOptions": { + "outFile": "outFile.js", + "declaration": true, + "types": [] + } +} 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")); } 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 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