├── 01-this-keyword ├── package.json ├── src │ └── app.ts └── tsconfig.json ├── 02-call-apply-bind ├── package.json ├── src │ └── app.ts └── tsconfig.json ├── 03-lexical-scope-arrow-functions ├── package.json ├── src │ └── app.ts └── tsconfig.json ├── 04-typing-this ├── package.json ├── src │ └── app.ts └── tsconfig.json ├── 05-typeof-type-query ├── package.json ├── src │ └── app.ts └── tsconfig.json ├── 06-keyof-type-query ├── package.json ├── src │ └── app.ts └── tsconfig.json ├── 07-keyof-lookup-generics ├── package.json ├── src │ └── app.ts └── tsconfig.json ├── 08-readonly-mapped-type ├── package.json ├── src │ └── app.ts └── tsconfig.json ├── 09-partial-mapped-type ├── package.json ├── src │ └── app.ts └── tsconfig.json ├── 10-required-mapped-type ├── package.json ├── src │ └── app.ts └── tsconfig.json ├── 11-pick-mapped-type ├── package.json ├── src │ └── app.ts └── tsconfig.json ├── 12-record-mapped-type ├── package.json ├── src │ └── app.ts └── tsconfig.json ├── 13-typeof-type-guard ├── package.json ├── src │ └── app.ts └── tsconfig.json ├── 14-instanceof-type-guard ├── package.json ├── src │ └── app.ts └── tsconfig.json ├── 15-user-defined-type-guard ├── package.json ├── src │ └── app.ts └── tsconfig.json ├── 16-in-operator-literal-type-guard ├── package.json ├── src │ └── app.ts └── tsconfig.json ├── 17-intersection-types ├── package.json ├── src │ └── app.ts └── tsconfig.json ├── 18-discriminated-union-types ├── package.json ├── src │ └── app.ts └── tsconfig.json ├── 19-interface-vs-type-alias ├── package.json ├── src │ └── app.ts └── tsconfig.json ├── 20-interface-vs-class ├── package.json ├── src │ └── app.ts └── tsconfig.json ├── 21-generics ├── index.html ├── package.json ├── src │ └── app.ts ├── tsconfig.json ├── webpack.config.js └── yarn.lock ├── 22-overloads ├── index.html ├── package.json ├── src │ └── app.ts ├── tsconfig.json ├── webpack.config.js └── yarn.lock ├── 23-enum-numeric ├── index.html ├── package.json ├── src │ └── app.ts ├── tsconfig.json ├── webpack.config.js └── yarn.lock ├── 24-enum-string-inlining-members ├── index.html ├── package.json ├── src │ └── app.ts ├── tsconfig.json ├── webpack.config.js └── yarn.lock ├── 25-writing-declaration-files ├── package.json ├── src │ ├── @types │ │ └── lodash │ │ │ └── index.d.ts │ └── app.ts └── tsconfig.json ├── 26-augmenting-modules ├── package.json ├── src │ ├── @types │ │ └── lodash │ │ │ └── index.d.ts │ └── app.ts └── tsconfig.json ├── 27-emitting-declaration-files ├── @types │ └── app.d.ts ├── package.json ├── src │ └── app.ts └── tsconfig.json ├── 28-files-include-exclude ├── package.json ├── src │ ├── app.spec.ts │ └── app.ts └── tsconfig.json ├── 29-config-inheritance-extends ├── package.json ├── src │ ├── app.ts │ └── tsconfig.json └── tsconfig-base.json ├── 30-output-locations ├── package.json ├── src │ └── app.ts └── tsconfig.json ├── 31-source-maps ├── package.json ├── src │ └── app.ts └── tsconfig.json ├── 32-target-experimental ├── package.json ├── src │ └── app.ts └── tsconfig.json ├── 33-lib-property ├── package.json ├── src │ └── app.ts └── tsconfig.json ├── 34-strict-flags ├── package.json ├── src │ └── app.ts └── tsconfig.json ├── 35-cli-output ├── package.json ├── src │ └── app.ts └── tsconfig.json ├── 36-code-quality ├── package.json ├── src │ └── app.ts └── tsconfig.json ├── 37-tslib ├── package.json ├── src │ ├── app.ts │ ├── bar.ts │ └── foo.ts └── tsconfig.json └── README.md /01-this-keyword/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "typescript-masterclass-seed", 3 | "author": "Ultimate Angular", 4 | "version": "0.0.0", 5 | "scripts": { 6 | "start": "webpack-dev-server" 7 | }, 8 | "devDependencies": { 9 | "awesome-typescript-loader": "3.4.1", 10 | "typescript": "2.7.2", 11 | "webpack": "3.10.0", 12 | "webpack-dev-server": "2.9.7" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /01-this-keyword/src/app.ts: -------------------------------------------------------------------------------- 1 | // Function 2 | function myFunction() { 3 | console.log('Function:::', this); 4 | } 5 | myFunction(); 6 | 7 | // Object literal 8 | const myObj = { 9 | myMethod() { 10 | console.log('Object:::', this); 11 | }, 12 | }; 13 | myObj.myMethod(); 14 | 15 | // Classes 16 | class MyClass { 17 | myMethod() { 18 | console.log('Class:::', this); 19 | } 20 | } 21 | 22 | const myInstance = new MyClass(); 23 | myInstance.myMethod(); 24 | -------------------------------------------------------------------------------- /01-this-keyword/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "module": "commonjs", 5 | "lib": ["dom", "es6"], 6 | "outDir": "dist" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /02-call-apply-bind/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "typescript-masterclass-seed", 3 | "author": "Ultimate Angular", 4 | "version": "0.0.0", 5 | "scripts": { 6 | "start": "webpack-dev-server" 7 | }, 8 | "devDependencies": { 9 | "awesome-typescript-loader": "3.4.1", 10 | "typescript": "2.7.2", 11 | "webpack": "3.10.0", 12 | "webpack-dev-server": "2.9.7" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /02-call-apply-bind/src/app.ts: -------------------------------------------------------------------------------- 1 | // Object literal 2 | const myObj = { 3 | myMethod() { 4 | console.log('Object:::', this); 5 | }, 6 | }; 7 | // myObj.myMethod(); 8 | 9 | // Function 10 | function myFunction(...text: string[]) { 11 | console.log('Function:::', this, text); 12 | } 13 | const bindFunction = myFunction.bind(myObj); 14 | bindFunction('ABC', 'DEF'); 15 | bindFunction('123', '456'); 16 | bindFunction('ABC', 'DEF'); 17 | myFunction.call(myObj, 'ABC', 'DEF'); 18 | myFunction.apply(myObj, ['ABC', 'DEF']); 19 | -------------------------------------------------------------------------------- /02-call-apply-bind/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "module": "commonjs", 5 | "lib": ["dom", "es6"], 6 | "outDir": "dist" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /03-lexical-scope-arrow-functions/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "typescript-masterclass-seed", 3 | "author": "Ultimate Angular", 4 | "version": "0.0.0", 5 | "scripts": { 6 | "start": "webpack-dev-server" 7 | }, 8 | "devDependencies": { 9 | "awesome-typescript-loader": "3.4.1", 10 | "typescript": "2.7.2", 11 | "webpack": "3.10.0", 12 | "webpack-dev-server": "2.9.7" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /03-lexical-scope-arrow-functions/src/app.ts: -------------------------------------------------------------------------------- 1 | class MyClass { 2 | myMethod() { 3 | const foo = 123; 4 | console.log('1', this); 5 | setTimeout(() => { 6 | console.log('2', this); 7 | }, 0); 8 | } 9 | } 10 | 11 | const myInstance = new MyClass(); 12 | myInstance.myMethod(); 13 | -------------------------------------------------------------------------------- /03-lexical-scope-arrow-functions/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "module": "commonjs", 5 | "lib": ["dom", "es6"], 6 | "outDir": "dist" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /04-typing-this/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "typescript-masterclass-seed", 3 | "author": "Ultimate Angular", 4 | "version": "0.0.0", 5 | "scripts": { 6 | "start": "webpack-dev-server" 7 | }, 8 | "devDependencies": { 9 | "awesome-typescript-loader": "3.4.1", 10 | "typescript": "2.7.2", 11 | "webpack": "3.10.0", 12 | "webpack-dev-server": "2.9.7" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /04-typing-this/src/app.ts: -------------------------------------------------------------------------------- 1 | const elem = document.querySelector('.click'); 2 | 3 | function handleClick(this: HTMLAnchorElement, event: Event) { 4 | event.preventDefault(); 5 | console.log(this.className); 6 | } 7 | 8 | elem.addEventListener('click', handleClick, false); 9 | -------------------------------------------------------------------------------- /04-typing-this/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "module": "commonjs", 5 | "lib": ["dom", "es6"], 6 | "outDir": "dist", 7 | "noImplicitThis": true 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /05-typeof-type-query/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "typescript-masterclass-seed", 3 | "author": "Ultimate Angular", 4 | "version": "0.0.0", 5 | "scripts": { 6 | "start": "webpack-dev-server" 7 | }, 8 | "devDependencies": { 9 | "awesome-typescript-loader": "3.4.1", 10 | "typescript": "2.7.2", 11 | "webpack": "3.10.0", 12 | "webpack-dev-server": "2.9.7" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /05-typeof-type-query/src/app.ts: -------------------------------------------------------------------------------- 1 | const person = { 2 | name: 'Todd', 3 | age: 27, 4 | }; 5 | 6 | type Person = typeof person; 7 | 8 | const anotherPerson: Person = { 9 | name: 'John', 10 | age: 30, 11 | }; 12 | 13 | // JavaScript 14 | // typeof person // 'object' 15 | -------------------------------------------------------------------------------- /05-typeof-type-query/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "module": "commonjs", 5 | "lib": ["dom", "es6"], 6 | "outDir": "dist", 7 | "noImplicitThis": true 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /06-keyof-type-query/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "typescript-masterclass-seed", 3 | "author": "Ultimate Angular", 4 | "version": "0.0.0", 5 | "scripts": { 6 | "start": "webpack-dev-server" 7 | }, 8 | "devDependencies": { 9 | "awesome-typescript-loader": "3.4.1", 10 | "typescript": "2.7.2", 11 | "webpack": "3.10.0", 12 | "webpack-dev-server": "2.9.7" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /06-keyof-type-query/src/app.ts: -------------------------------------------------------------------------------- 1 | const person = { 2 | name: 'Todd', 3 | age: 27, 4 | }; 5 | 6 | type Person = typeof person; 7 | type PersonKeys = keyof Person; 8 | 9 | type PersonTypes = Person[PersonKeys]; 10 | 11 | const anotherPerson: Person = { 12 | name: 'John', 13 | age: 30, 14 | }; 15 | -------------------------------------------------------------------------------- /06-keyof-type-query/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "module": "commonjs", 5 | "lib": ["dom", "es6"], 6 | "outDir": "dist", 7 | "noImplicitThis": true 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /07-keyof-lookup-generics/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "typescript-masterclass-seed", 3 | "author": "Ultimate Angular", 4 | "version": "0.0.0", 5 | "scripts": { 6 | "start": "webpack-dev-server" 7 | }, 8 | "devDependencies": { 9 | "awesome-typescript-loader": "3.4.1", 10 | "typescript": "2.7.2", 11 | "webpack": "3.10.0", 12 | "webpack-dev-server": "2.9.7" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /07-keyof-lookup-generics/src/app.ts: -------------------------------------------------------------------------------- 1 | const person = { 2 | name: 'Todd', 3 | age: 27, 4 | }; 5 | 6 | type Person = typeof person; 7 | type PersonKeys = keyof Person; 8 | type PersonTypes = Person[PersonKeys]; 9 | 10 | function getProperty(obj: T, key: K) { 11 | return obj[key]; 12 | } 13 | 14 | const personName = getProperty(person, 'age'); 15 | 16 | const anotherPerson: Person = { 17 | name: 'John', 18 | age: 30, 19 | }; 20 | -------------------------------------------------------------------------------- /07-keyof-lookup-generics/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "module": "commonjs", 5 | "lib": ["dom", "es6"], 6 | "outDir": "dist", 7 | "noImplicitThis": true 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /08-readonly-mapped-type/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "typescript-masterclass-seed", 3 | "author": "Ultimate Angular", 4 | "version": "0.0.0", 5 | "scripts": { 6 | "start": "webpack-dev-server" 7 | }, 8 | "devDependencies": { 9 | "awesome-typescript-loader": "3.4.1", 10 | "typescript": "2.7.2", 11 | "webpack": "3.10.0", 12 | "webpack-dev-server": "2.9.7" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /08-readonly-mapped-type/src/app.ts: -------------------------------------------------------------------------------- 1 | interface Person { 2 | name: string; 3 | age: number; 4 | } 5 | 6 | const person: Person = { 7 | name: 'Todd', 8 | age: 27, 9 | }; 10 | 11 | type MyReadonly = { 12 | readonly [P in keyof T]: T[P] 13 | }; 14 | 15 | function freeze(obj: T): MyReadonly { 16 | return Object.freeze(obj); 17 | } 18 | 19 | const newPerson = freeze(person); -------------------------------------------------------------------------------- /08-readonly-mapped-type/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "module": "commonjs", 5 | "lib": ["dom", "es6"], 6 | "outDir": "dist", 7 | "noImplicitThis": true 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /09-partial-mapped-type/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "typescript-masterclass-seed", 3 | "author": "Ultimate Angular", 4 | "version": "0.0.0", 5 | "scripts": { 6 | "start": "webpack-dev-server" 7 | }, 8 | "devDependencies": { 9 | "awesome-typescript-loader": "3.4.1", 10 | "typescript": "2.7.2", 11 | "webpack": "3.10.0", 12 | "webpack-dev-server": "2.9.7" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /09-partial-mapped-type/src/app.ts: -------------------------------------------------------------------------------- 1 | interface Person { 2 | name: string; 3 | age: number; 4 | } 5 | 6 | type MyPartial = { 7 | [P in keyof T]?: T[P] 8 | }; 9 | 10 | function updatePerson(person: Person, prop: Partial) { 11 | return { ...person, ...prop }; 12 | } 13 | 14 | const person: Person = { 15 | name: 'Todd', 16 | age: 27, 17 | }; 18 | 19 | updatePerson(person, { name: 'ABC' }); -------------------------------------------------------------------------------- /09-partial-mapped-type/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "module": "commonjs", 5 | "lib": ["dom", "es6"], 6 | "outDir": "dist", 7 | "noImplicitThis": true 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /10-required-mapped-type/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "typescript-masterclass-seed", 3 | "author": "Ultimate Angular", 4 | "version": "0.0.0", 5 | "scripts": { 6 | "start": "webpack-dev-server" 7 | }, 8 | "devDependencies": { 9 | "awesome-typescript-loader": "3.4.1", 10 | "typescript": "2.8.1", 11 | "webpack": "3.10.0", 12 | "webpack-dev-server": "2.9.7" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /10-required-mapped-type/src/app.ts: -------------------------------------------------------------------------------- 1 | interface Person { 2 | name: string; 3 | age?: number; 4 | } 5 | 6 | type MyRequired = { 7 | [P in keyof T]-?: T[P] 8 | }; 9 | 10 | function printAge(person: Required) { 11 | return `${person.name} is ${person.age}`; 12 | } 13 | 14 | const person: Required = { 15 | name: 'Todd', 16 | age: 27 17 | }; 18 | 19 | const age = printAge(person); 20 | -------------------------------------------------------------------------------- /10-required-mapped-type/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "module": "commonjs", 5 | "lib": ["dom", "es6"], 6 | "outDir": "dist", 7 | "noImplicitThis": true 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /11-pick-mapped-type/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "typescript-masterclass-seed", 3 | "author": "Ultimate Angular", 4 | "version": "0.0.0", 5 | "scripts": { 6 | "start": "webpack-dev-server" 7 | }, 8 | "devDependencies": { 9 | "awesome-typescript-loader": "3.4.1", 10 | "typescript": "2.8.1", 11 | "webpack": "3.10.0", 12 | "webpack-dev-server": "2.9.7" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /11-pick-mapped-type/src/app.ts: -------------------------------------------------------------------------------- 1 | interface Person { 2 | name: string; 3 | age: number; 4 | address: {} 5 | } 6 | 7 | type MyPick = { 8 | [P in K]: T[P] 9 | }; 10 | 11 | const person: Pick = { 12 | name: 'Todd', 13 | age: 27 14 | }; -------------------------------------------------------------------------------- /11-pick-mapped-type/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "module": "commonjs", 5 | "lib": ["dom", "es6"], 6 | "outDir": "dist", 7 | "noImplicitThis": true 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /12-record-mapped-type/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "typescript-masterclass-seed", 3 | "author": "Ultimate Angular", 4 | "version": "0.0.0", 5 | "scripts": { 6 | "start": "webpack-dev-server" 7 | }, 8 | "devDependencies": { 9 | "awesome-typescript-loader": "3.4.1", 10 | "typescript": "2.8.1", 11 | "webpack": "3.10.0", 12 | "webpack-dev-server": "2.9.7" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /12-record-mapped-type/src/app.ts: -------------------------------------------------------------------------------- 1 | let dictionary: Record = {}; 2 | 3 | interface TrackStates { 4 | current: string; 5 | next: string; 6 | } 7 | 8 | const item: Record = { 9 | current: 'js02js9', 10 | next: '8nlksjsk', 11 | }; 12 | 13 | // Numbers are coerced to String 14 | dictionary[0] = item; -------------------------------------------------------------------------------- /12-record-mapped-type/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "module": "commonjs", 5 | "lib": ["dom", "es6"], 6 | "outDir": "dist", 7 | "noImplicitThis": true 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /13-typeof-type-guard/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "typescript-masterclass-seed", 3 | "author": "Ultimate Angular", 4 | "version": "0.0.0", 5 | "scripts": { 6 | "start": "webpack-dev-server" 7 | }, 8 | "devDependencies": { 9 | "awesome-typescript-loader": "3.4.1", 10 | "typescript": "2.7.2", 11 | "webpack": "3.10.0", 12 | "webpack-dev-server": "2.9.7" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /13-typeof-type-guard/src/app.ts: -------------------------------------------------------------------------------- 1 | class Song { 2 | constructor(public title: string, public duration: string | number) {} 3 | } 4 | 5 | function getSongDuration(item: Song) { 6 | if (typeof item.duration === 'string') { 7 | return item.duration; 8 | } 9 | const { duration } = item; 10 | const minutes = Math.floor(duration / 60000); 11 | const seconds = (duration / 1000) % 60; 12 | return `${minutes}:${seconds}`; 13 | } 14 | 15 | const songDurationFromString = getSongDuration( 16 | new Song('Wonderful Wonderful', '05:31') 17 | ); 18 | console.log(songDurationFromString); 19 | 20 | const songDurationFromMS = getSongDuration( 21 | new Song('Wonderful Wonderful', 330000) 22 | ); 23 | console.log(songDurationFromMS); 24 | -------------------------------------------------------------------------------- /13-typeof-type-guard/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "module": "commonjs", 5 | "lib": ["dom", "es6"], 6 | "outDir": "dist" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /14-instanceof-type-guard/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "typescript-masterclass-seed", 3 | "author": "Ultimate Angular", 4 | "version": "0.0.0", 5 | "scripts": { 6 | "start": "webpack-dev-server" 7 | }, 8 | "devDependencies": { 9 | "awesome-typescript-loader": "3.4.1", 10 | "typescript": "2.7.2", 11 | "webpack": "3.10.0", 12 | "webpack-dev-server": "2.9.7" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /14-instanceof-type-guard/src/app.ts: -------------------------------------------------------------------------------- 1 | class Foo { 2 | bar() { } 3 | } 4 | 5 | const bar = new Foo(); 6 | 7 | // console.log(bar instanceof Foo); 8 | // console.log(Object.getPrototypeOf(bar) === Foo.prototype); 9 | 10 | class Song { 11 | constructor(public title: string, public duration: number) { } 12 | } 13 | 14 | class Playlist { 15 | constructor(public name: string, public songs: Song[]) { } 16 | } 17 | 18 | function getItemName(item: Song | Playlist) { 19 | if (item instanceof Song) { 20 | return item.title; 21 | } 22 | return item.name; 23 | } 24 | 25 | const songName = getItemName(new Song('Wonderful Wonderful', 300000)); 26 | console.log('Song name:', songName); 27 | 28 | const playlistName = getItemName( 29 | new Playlist('The Best Songs', [new Song('The Man', 300000)]) 30 | ); 31 | console.log('Playlist name:', playlistName); 32 | -------------------------------------------------------------------------------- /14-instanceof-type-guard/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "module": "commonjs", 5 | "lib": ["dom", "es6"], 6 | "outDir": "dist" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /15-user-defined-type-guard/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "typescript-masterclass-seed", 3 | "author": "Ultimate Angular", 4 | "version": "0.0.0", 5 | "scripts": { 6 | "start": "webpack-dev-server" 7 | }, 8 | "devDependencies": { 9 | "awesome-typescript-loader": "3.4.1", 10 | "typescript": "2.7.2", 11 | "webpack": "3.10.0", 12 | "webpack-dev-server": "2.9.7" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /15-user-defined-type-guard/src/app.ts: -------------------------------------------------------------------------------- 1 | class Song { 2 | constructor(public title: string, public duration: number) {} 3 | } 4 | 5 | class Playlist { 6 | constructor(public name: string, public songs: Song[]) {} 7 | } 8 | 9 | function isSong(item: any): item is Song { 10 | return item instanceof Song; 11 | } 12 | 13 | function getItemName(item: Song | Playlist) { 14 | if (isSong(item)) { 15 | return item.title; 16 | } 17 | return item.name; 18 | } 19 | 20 | const songName = getItemName(new Song('Wonderful Wonderful', 300000)); 21 | console.log('Song name:', songName); 22 | 23 | const playlistName = getItemName( 24 | new Playlist('The Best Songs', [new Song('The Man', 300000)]) 25 | ); 26 | console.log('Playlist name:', playlistName); 27 | -------------------------------------------------------------------------------- /15-user-defined-type-guard/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "module": "commonjs", 5 | "lib": ["dom", "es6"], 6 | "outDir": "dist" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /16-in-operator-literal-type-guard/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "typescript-masterclass-seed", 3 | "author": "Ultimate Angular", 4 | "version": "0.0.0", 5 | "scripts": { 6 | "start": "webpack-dev-server" 7 | }, 8 | "devDependencies": { 9 | "awesome-typescript-loader": "3.4.1", 10 | "typescript": "2.7.2", 11 | "webpack": "3.10.0", 12 | "webpack-dev-server": "2.9.7" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /16-in-operator-literal-type-guard/src/app.ts: -------------------------------------------------------------------------------- 1 | class Song { 2 | kind: 'song'; 3 | constructor(public title: string, public duration: number) {} 4 | } 5 | 6 | class Playlist { 7 | kind: 'playlist'; 8 | constructor(public name: string, public songs: Song[]) {} 9 | } 10 | 11 | function isSong(item: any): item is Song { 12 | return 'title' in item; 13 | } 14 | 15 | function getItemName(item: Song | Playlist) { 16 | // if (isSong(item)) { 17 | if (item.kind === 'song') { 18 | return item.title; 19 | } 20 | return item.name; 21 | } 22 | 23 | const songName = getItemName(new Song('Wonderful Wonderful', 300000)); 24 | console.log('Song name:', songName); 25 | 26 | const playlistName = getItemName( 27 | new Playlist('The Best Songs', [new Song('The Man', 300000)]) 28 | ); 29 | console.log('Playlist name:', playlistName); 30 | -------------------------------------------------------------------------------- /16-in-operator-literal-type-guard/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "module": "commonjs", 5 | "lib": ["dom", "es6"], 6 | "outDir": "dist" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /17-intersection-types/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "typescript-masterclass-seed", 3 | "author": "Ultimate Angular", 4 | "version": "0.0.0", 5 | "scripts": { 6 | "start": "webpack-dev-server" 7 | }, 8 | "devDependencies": { 9 | "awesome-typescript-loader": "3.4.1", 10 | "typescript": "2.8.1", 11 | "webpack": "3.10.0", 12 | "webpack-dev-server": "2.9.7" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /17-intersection-types/src/app.ts: -------------------------------------------------------------------------------- 1 | interface Order { 2 | id: string; 3 | amount: number; 4 | currency: string; 5 | } 6 | 7 | interface Stripe { 8 | card: string; 9 | cvc: string; 10 | } 11 | 12 | interface PayPal { 13 | email: string; 14 | } 15 | 16 | type CheckoutCard = Order & Stripe; 17 | type CheckoutPayPal = Order & PayPal; 18 | // type CheckoutABC = Order & { name: string }; 19 | 20 | const order: Order = { 21 | id: 'xj28s', 22 | amount: 100, 23 | currency: 'USD' 24 | }; 25 | 26 | const orderCard: CheckoutCard = { 27 | ...order, 28 | card: '1000 2000 3000 4000', 29 | cvc: '123' 30 | }; 31 | 32 | const orderPayPal: CheckoutPayPal = { 33 | ...order, 34 | email: 'abc@def.com' 35 | }; 36 | 37 | const assigned = Object.assign({}, order, orderCard); -------------------------------------------------------------------------------- /17-intersection-types/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "module": "commonjs", 5 | "lib": ["dom", "es6"], 6 | "outDir": "dist", 7 | "noImplicitThis": true 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /18-discriminated-union-types/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "typescript-masterclass-seed", 3 | "author": "Ultimate Angular", 4 | "version": "0.0.0", 5 | "scripts": { 6 | "start": "webpack-dev-server" 7 | }, 8 | "devDependencies": { 9 | "awesome-typescript-loader": "3.4.1", 10 | "typescript": "2.8.1", 11 | "webpack": "3.10.0", 12 | "webpack-dev-server": "2.9.7" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /18-discriminated-union-types/src/app.ts: -------------------------------------------------------------------------------- 1 | interface Order { 2 | id: string; 3 | amount: number; 4 | currency: string; 5 | } 6 | 7 | interface Stripe { 8 | type: 'stripe'; 9 | card: string; 10 | cvc: string; 11 | } 12 | 13 | interface PayPal { 14 | type: 'paypal'; 15 | email: string; 16 | } 17 | 18 | type CheckoutCard = Order & Stripe; 19 | type CheckoutPayPal = Order & PayPal; 20 | 21 | const order: Order = { 22 | id: 'xj28s', 23 | amount: 100, 24 | currency: 'USD' 25 | }; 26 | 27 | const orderCard: CheckoutCard = { 28 | ...order, 29 | type: 'stripe', 30 | card: '1000 2000 3000 4000', 31 | cvc: '123' 32 | }; 33 | 34 | const orderPayPal: CheckoutPayPal = { 35 | ...order, 36 | type: 'paypal', 37 | email: 'abc@def.com' 38 | }; 39 | 40 | type Payload = CheckoutCard | CheckoutPayPal; 41 | 42 | function checkout(payload: Payload) { 43 | if (payload.type === 'stripe') { 44 | console.log(payload.card, payload.cvc); 45 | } 46 | if (payload.type === 'paypal') { 47 | console.log(payload.email); 48 | } 49 | } -------------------------------------------------------------------------------- /18-discriminated-union-types/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "module": "commonjs", 5 | "lib": ["dom", "es6"], 6 | "outDir": "dist", 7 | "noImplicitThis": true 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /19-interface-vs-type-alias/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "typescript-masterclass-seed", 3 | "author": "Ultimate Angular", 4 | "version": "0.0.0", 5 | "scripts": { 6 | "start": "webpack-dev-server" 7 | }, 8 | "devDependencies": { 9 | "awesome-typescript-loader": "3.4.1", 10 | "typescript": "2.8.1", 11 | "webpack": "3.10.0", 12 | "webpack-dev-server": "2.9.7" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /19-interface-vs-type-alias/src/app.ts: -------------------------------------------------------------------------------- 1 | interface Item { 2 | name: string; 3 | } 4 | 5 | interface Artist extends Item { 6 | songs: number; 7 | } 8 | 9 | interface Artist { 10 | getSongs(): number; 11 | } 12 | 13 | type Artist2 = { name: string } & Item; 14 | 15 | const newArtist: Artist = { 16 | name: 'ABC', 17 | songs: 5, 18 | getSongs() { 19 | return this.songs; 20 | } 21 | }; -------------------------------------------------------------------------------- /19-interface-vs-type-alias/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "module": "commonjs", 5 | "lib": ["dom", "es6"], 6 | "outDir": "dist", 7 | "noImplicitThis": true 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /20-interface-vs-class/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "typescript-masterclass-seed", 3 | "author": "Ultimate Angular", 4 | "version": "0.0.0", 5 | "scripts": { 6 | "start": "webpack-dev-server" 7 | }, 8 | "devDependencies": { 9 | "awesome-typescript-loader": "3.4.1", 10 | "typescript": "2.8.1", 11 | "webpack": "3.10.0", 12 | "webpack-dev-server": "2.9.7" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /20-interface-vs-class/src/app.ts: -------------------------------------------------------------------------------- 1 | // interface Artist { 2 | // name: string; 3 | // } 4 | 5 | class ArtistCreator /*implements Artist*/ { 6 | constructor(public name: string) {} 7 | } 8 | 9 | function artistFactory({ name }: ArtistCreator) { 10 | return new ArtistCreator(name); 11 | } 12 | 13 | artistFactory({ name: 'Todd' }); -------------------------------------------------------------------------------- /20-interface-vs-class/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "module": "commonjs", 5 | "lib": ["dom", "es6"], 6 | "outDir": "dist", 7 | "noImplicitThis": true 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /21-generics/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Ultimate Angular: TypeScript Basics 6 | 7 | 8 |
9 | 10 |
11 | 12 | 13 | -------------------------------------------------------------------------------- /21-generics/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "typescript-basics-seed", 3 | "version": "1.0.0", 4 | "description": "Seed for TypeScript and Webpack", 5 | "main": "index.js", 6 | "scripts": { 7 | "start": "webpack-dev-server", 8 | "test": "echo \"Error: no test specified\" && exit 1" 9 | }, 10 | "repository": { 11 | "type": "git", 12 | "url": "git+https://github.com/UltimateAngular/typescript-basics-seed.git" 13 | }, 14 | "keywords": ["typescript"], 15 | "devDependencies": { 16 | "awesome-typescript-loader": "3.4.1", 17 | "typescript": "2.6.2", 18 | "webpack": "3.10.0", 19 | "webpack-dev-server": "2.9.7" 20 | }, 21 | "author": "Ultimate Angular", 22 | "license": "MIT", 23 | "bugs": { 24 | "url": "https://github.com/UltimateAngular/typescript-basics-seed/issues" 25 | }, 26 | "homepage": "https://github.com/UltimateAngular/typescript-basics-seed#readme" 27 | } 28 | -------------------------------------------------------------------------------- /21-generics/src/app.ts: -------------------------------------------------------------------------------- 1 | class Pizza { 2 | constructor(private name: string, private price: number) {} 3 | } 4 | 5 | class List { 6 | private list: T[]; 7 | 8 | addItem(item: T): void { 9 | this.list.push(item); 10 | } 11 | 12 | getList(): T[] { 13 | return this.list; 14 | } 15 | } 16 | 17 | const list = new List(); 18 | 19 | list.addItem(new Pizza('Pepperoni', 15)); 20 | 21 | const pizzas = list.getList(); 22 | 23 | class Coupon { 24 | constructor(private name: string) {} 25 | } 26 | 27 | const anotherList = new List(); 28 | 29 | anotherList.addItem(new Coupon('PIZZA25')); 30 | -------------------------------------------------------------------------------- /21-generics/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "module": "commonjs", 5 | "strict": true, 6 | "outDir": "dist", 7 | } 8 | } -------------------------------------------------------------------------------- /21-generics/webpack.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | entry: './src/app.ts', 3 | output: { 4 | filename: 'app.js', 5 | path: __dirname + './dist', 6 | }, 7 | resolve: { 8 | extensions: ['.ts', '.js'], 9 | }, 10 | module: { 11 | rules: [{ test: /\.ts$/, use: 'awesome-typescript-loader' }], 12 | }, 13 | devServer: { 14 | port: 3000, 15 | }, 16 | }; 17 | -------------------------------------------------------------------------------- /21-generics/yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | abbrev@1: 6 | version "1.1.1" 7 | resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" 8 | 9 | accepts@~1.3.4: 10 | version "1.3.4" 11 | resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.4.tgz#86246758c7dd6d21a6474ff084a4740ec05eb21f" 12 | dependencies: 13 | mime-types "~2.1.16" 14 | negotiator "0.6.1" 15 | 16 | acorn-dynamic-import@^2.0.0: 17 | version "2.0.2" 18 | resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz#c752bd210bef679501b6c6cb7fc84f8f47158cc4" 19 | dependencies: 20 | acorn "^4.0.3" 21 | 22 | acorn@^4.0.3: 23 | version "4.0.13" 24 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787" 25 | 26 | acorn@^5.0.0: 27 | version "5.2.1" 28 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.2.1.tgz#317ac7821826c22c702d66189ab8359675f135d7" 29 | 30 | ajv-keywords@^2.0.0: 31 | version "2.1.1" 32 | resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz#617997fc5f60576894c435f940d819e135b80762" 33 | 34 | ajv@^4.9.1: 35 | version "4.11.8" 36 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" 37 | dependencies: 38 | co "^4.6.0" 39 | json-stable-stringify "^1.0.1" 40 | 41 | ajv@^5.1.5: 42 | version "5.5.2" 43 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" 44 | dependencies: 45 | co "^4.6.0" 46 | fast-deep-equal "^1.0.0" 47 | fast-json-stable-stringify "^2.0.0" 48 | json-schema-traverse "^0.3.0" 49 | 50 | align-text@^0.1.1, align-text@^0.1.3: 51 | version "0.1.4" 52 | resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" 53 | dependencies: 54 | kind-of "^3.0.2" 55 | longest "^1.0.1" 56 | repeat-string "^1.5.2" 57 | 58 | ansi-html@0.0.7: 59 | version "0.0.7" 60 | resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" 61 | 62 | ansi-regex@^2.0.0: 63 | version "2.1.1" 64 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" 65 | 66 | ansi-regex@^3.0.0: 67 | version "3.0.0" 68 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" 69 | 70 | anymatch@^1.3.0: 71 | version "1.3.2" 72 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a" 73 | dependencies: 74 | micromatch "^2.1.5" 75 | normalize-path "^2.0.0" 76 | 77 | aproba@^1.0.3: 78 | version "1.2.0" 79 | resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" 80 | 81 | are-we-there-yet@~1.1.2: 82 | version "1.1.4" 83 | resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d" 84 | dependencies: 85 | delegates "^1.0.0" 86 | readable-stream "^2.0.6" 87 | 88 | arr-diff@^2.0.0: 89 | version "2.0.0" 90 | resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" 91 | dependencies: 92 | arr-flatten "^1.0.1" 93 | 94 | arr-diff@^4.0.0: 95 | version "4.0.0" 96 | resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" 97 | 98 | arr-flatten@^1.0.1, arr-flatten@^1.1.0: 99 | version "1.1.0" 100 | resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" 101 | 102 | arr-union@^3.1.0: 103 | version "3.1.0" 104 | resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" 105 | 106 | array-find-index@^1.0.1: 107 | version "1.0.2" 108 | resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" 109 | 110 | array-flatten@1.1.1: 111 | version "1.1.1" 112 | resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" 113 | 114 | array-flatten@^2.1.0: 115 | version "2.1.1" 116 | resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.1.tgz#426bb9da84090c1838d812c8150af20a8331e296" 117 | 118 | array-includes@^3.0.3: 119 | version "3.0.3" 120 | resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz#184b48f62d92d7452bb31b323165c7f8bd02266d" 121 | dependencies: 122 | define-properties "^1.1.2" 123 | es-abstract "^1.7.0" 124 | 125 | array-union@^1.0.1: 126 | version "1.0.2" 127 | resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" 128 | dependencies: 129 | array-uniq "^1.0.1" 130 | 131 | array-uniq@^1.0.1: 132 | version "1.0.3" 133 | resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" 134 | 135 | array-unique@^0.2.1: 136 | version "0.2.1" 137 | resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" 138 | 139 | array-unique@^0.3.2: 140 | version "0.3.2" 141 | resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" 142 | 143 | asn1.js@^4.0.0: 144 | version "4.9.2" 145 | resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.9.2.tgz#8117ef4f7ed87cd8f89044b5bff97ac243a16c9a" 146 | dependencies: 147 | bn.js "^4.0.0" 148 | inherits "^2.0.1" 149 | minimalistic-assert "^1.0.0" 150 | 151 | asn1@~0.2.3: 152 | version "0.2.3" 153 | resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" 154 | 155 | assert-plus@1.0.0, assert-plus@^1.0.0: 156 | version "1.0.0" 157 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" 158 | 159 | assert-plus@^0.2.0: 160 | version "0.2.0" 161 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" 162 | 163 | assert@^1.1.1: 164 | version "1.4.1" 165 | resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" 166 | dependencies: 167 | util "0.10.3" 168 | 169 | assign-symbols@^1.0.0: 170 | version "1.0.0" 171 | resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" 172 | 173 | async-each@^1.0.0: 174 | version "1.0.1" 175 | resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" 176 | 177 | async@^1.5.2: 178 | version "1.5.2" 179 | resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" 180 | 181 | async@^2.1.2: 182 | version "2.6.0" 183 | resolved "https://registry.yarnpkg.com/async/-/async-2.6.0.tgz#61a29abb6fcc026fea77e56d1c6ec53a795951f4" 184 | dependencies: 185 | lodash "^4.14.0" 186 | 187 | asynckit@^0.4.0: 188 | version "0.4.0" 189 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 190 | 191 | atob@^2.0.0: 192 | version "2.0.3" 193 | resolved "https://registry.yarnpkg.com/atob/-/atob-2.0.3.tgz#19c7a760473774468f20b2d2d03372ad7d4cbf5d" 194 | 195 | awesome-typescript-loader@3.4.1: 196 | version "3.4.1" 197 | resolved "https://registry.yarnpkg.com/awesome-typescript-loader/-/awesome-typescript-loader-3.4.1.tgz#22fa49800f0619ec18ab15383aef93b95378dea9" 198 | dependencies: 199 | colors "^1.1.2" 200 | enhanced-resolve "3.3.0" 201 | loader-utils "^1.1.0" 202 | lodash "^4.17.4" 203 | micromatch "^3.0.3" 204 | mkdirp "^0.5.1" 205 | object-assign "^4.1.1" 206 | source-map-support "^0.4.15" 207 | 208 | aws-sign2@~0.6.0: 209 | version "0.6.0" 210 | resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" 211 | 212 | aws4@^1.2.1: 213 | version "1.6.0" 214 | resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" 215 | 216 | balanced-match@^1.0.0: 217 | version "1.0.0" 218 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 219 | 220 | base64-js@^1.0.2: 221 | version "1.2.1" 222 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.1.tgz#a91947da1f4a516ea38e5b4ec0ec3773675e0886" 223 | 224 | base@^0.11.1: 225 | version "0.11.2" 226 | resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" 227 | dependencies: 228 | cache-base "^1.0.1" 229 | class-utils "^0.3.5" 230 | component-emitter "^1.2.1" 231 | define-property "^1.0.0" 232 | isobject "^3.0.1" 233 | mixin-deep "^1.2.0" 234 | pascalcase "^0.1.1" 235 | 236 | batch@0.6.1: 237 | version "0.6.1" 238 | resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" 239 | 240 | bcrypt-pbkdf@^1.0.0: 241 | version "1.0.1" 242 | resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" 243 | dependencies: 244 | tweetnacl "^0.14.3" 245 | 246 | big.js@^3.1.3: 247 | version "3.2.0" 248 | resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" 249 | 250 | binary-extensions@^1.0.0: 251 | version "1.11.0" 252 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.11.0.tgz#46aa1751fb6a2f93ee5e689bb1087d4b14c6c205" 253 | 254 | block-stream@*: 255 | version "0.0.9" 256 | resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" 257 | dependencies: 258 | inherits "~2.0.0" 259 | 260 | bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: 261 | version "4.11.8" 262 | resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" 263 | 264 | body-parser@1.18.2: 265 | version "1.18.2" 266 | resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.2.tgz#87678a19d84b47d859b83199bd59bce222b10454" 267 | dependencies: 268 | bytes "3.0.0" 269 | content-type "~1.0.4" 270 | debug "2.6.9" 271 | depd "~1.1.1" 272 | http-errors "~1.6.2" 273 | iconv-lite "0.4.19" 274 | on-finished "~2.3.0" 275 | qs "6.5.1" 276 | raw-body "2.3.2" 277 | type-is "~1.6.15" 278 | 279 | bonjour@^3.5.0: 280 | version "3.5.0" 281 | resolved "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" 282 | dependencies: 283 | array-flatten "^2.1.0" 284 | deep-equal "^1.0.1" 285 | dns-equal "^1.0.0" 286 | dns-txt "^2.0.2" 287 | multicast-dns "^6.0.1" 288 | multicast-dns-service-types "^1.1.0" 289 | 290 | boom@2.x.x: 291 | version "2.10.1" 292 | resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" 293 | dependencies: 294 | hoek "2.x.x" 295 | 296 | brace-expansion@^1.1.7: 297 | version "1.1.8" 298 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292" 299 | dependencies: 300 | balanced-match "^1.0.0" 301 | concat-map "0.0.1" 302 | 303 | braces@^1.8.2: 304 | version "1.8.5" 305 | resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" 306 | dependencies: 307 | expand-range "^1.8.1" 308 | preserve "^0.2.0" 309 | repeat-element "^1.1.2" 310 | 311 | braces@^2.3.0: 312 | version "2.3.0" 313 | resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.0.tgz#a46941cb5fb492156b3d6a656e06c35364e3e66e" 314 | dependencies: 315 | arr-flatten "^1.1.0" 316 | array-unique "^0.3.2" 317 | define-property "^1.0.0" 318 | extend-shallow "^2.0.1" 319 | fill-range "^4.0.0" 320 | isobject "^3.0.1" 321 | repeat-element "^1.1.2" 322 | snapdragon "^0.8.1" 323 | snapdragon-node "^2.0.1" 324 | split-string "^3.0.2" 325 | to-regex "^3.0.1" 326 | 327 | brorand@^1.0.1: 328 | version "1.1.0" 329 | resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" 330 | 331 | browserify-aes@^1.0.0, browserify-aes@^1.0.4: 332 | version "1.1.1" 333 | resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.1.1.tgz#38b7ab55edb806ff2dcda1a7f1620773a477c49f" 334 | dependencies: 335 | buffer-xor "^1.0.3" 336 | cipher-base "^1.0.0" 337 | create-hash "^1.1.0" 338 | evp_bytestokey "^1.0.3" 339 | inherits "^2.0.1" 340 | safe-buffer "^5.0.1" 341 | 342 | browserify-cipher@^1.0.0: 343 | version "1.0.0" 344 | resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.0.tgz#9988244874bf5ed4e28da95666dcd66ac8fc363a" 345 | dependencies: 346 | browserify-aes "^1.0.4" 347 | browserify-des "^1.0.0" 348 | evp_bytestokey "^1.0.0" 349 | 350 | browserify-des@^1.0.0: 351 | version "1.0.0" 352 | resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.0.tgz#daa277717470922ed2fe18594118a175439721dd" 353 | dependencies: 354 | cipher-base "^1.0.1" 355 | des.js "^1.0.0" 356 | inherits "^2.0.1" 357 | 358 | browserify-rsa@^4.0.0: 359 | version "4.0.1" 360 | resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" 361 | dependencies: 362 | bn.js "^4.1.0" 363 | randombytes "^2.0.1" 364 | 365 | browserify-sign@^4.0.0: 366 | version "4.0.4" 367 | resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" 368 | dependencies: 369 | bn.js "^4.1.1" 370 | browserify-rsa "^4.0.0" 371 | create-hash "^1.1.0" 372 | create-hmac "^1.1.2" 373 | elliptic "^6.0.0" 374 | inherits "^2.0.1" 375 | parse-asn1 "^5.0.0" 376 | 377 | browserify-zlib@^0.2.0: 378 | version "0.2.0" 379 | resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" 380 | dependencies: 381 | pako "~1.0.5" 382 | 383 | buffer-indexof@^1.0.0: 384 | version "1.1.1" 385 | resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" 386 | 387 | buffer-xor@^1.0.3: 388 | version "1.0.3" 389 | resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" 390 | 391 | buffer@^4.3.0: 392 | version "4.9.1" 393 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" 394 | dependencies: 395 | base64-js "^1.0.2" 396 | ieee754 "^1.1.4" 397 | isarray "^1.0.0" 398 | 399 | builtin-modules@^1.0.0: 400 | version "1.1.1" 401 | resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" 402 | 403 | builtin-status-codes@^3.0.0: 404 | version "3.0.0" 405 | resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" 406 | 407 | bytes@3.0.0: 408 | version "3.0.0" 409 | resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" 410 | 411 | cache-base@^1.0.1: 412 | version "1.0.1" 413 | resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" 414 | dependencies: 415 | collection-visit "^1.0.0" 416 | component-emitter "^1.2.1" 417 | get-value "^2.0.6" 418 | has-value "^1.0.0" 419 | isobject "^3.0.1" 420 | set-value "^2.0.0" 421 | to-object-path "^0.3.0" 422 | union-value "^1.0.0" 423 | unset-value "^1.0.0" 424 | 425 | camelcase-keys@^2.0.0: 426 | version "2.1.0" 427 | resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" 428 | dependencies: 429 | camelcase "^2.0.0" 430 | map-obj "^1.0.0" 431 | 432 | camelcase@^1.0.2: 433 | version "1.2.1" 434 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" 435 | 436 | camelcase@^2.0.0: 437 | version "2.1.1" 438 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" 439 | 440 | camelcase@^3.0.0: 441 | version "3.0.0" 442 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" 443 | 444 | camelcase@^4.1.0: 445 | version "4.1.0" 446 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" 447 | 448 | caseless@~0.12.0: 449 | version "0.12.0" 450 | resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" 451 | 452 | center-align@^0.1.1: 453 | version "0.1.3" 454 | resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" 455 | dependencies: 456 | align-text "^0.1.3" 457 | lazy-cache "^1.0.3" 458 | 459 | chokidar@^1.6.0, chokidar@^1.7.0: 460 | version "1.7.0" 461 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" 462 | dependencies: 463 | anymatch "^1.3.0" 464 | async-each "^1.0.0" 465 | glob-parent "^2.0.0" 466 | inherits "^2.0.1" 467 | is-binary-path "^1.0.0" 468 | is-glob "^2.0.0" 469 | path-is-absolute "^1.0.0" 470 | readdirp "^2.0.0" 471 | optionalDependencies: 472 | fsevents "^1.0.0" 473 | 474 | cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: 475 | version "1.0.4" 476 | resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" 477 | dependencies: 478 | inherits "^2.0.1" 479 | safe-buffer "^5.0.1" 480 | 481 | class-utils@^0.3.5: 482 | version "0.3.5" 483 | resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.5.tgz#17e793103750f9627b2176ea34cfd1b565903c80" 484 | dependencies: 485 | arr-union "^3.1.0" 486 | define-property "^0.2.5" 487 | isobject "^3.0.0" 488 | lazy-cache "^2.0.2" 489 | static-extend "^0.1.1" 490 | 491 | cliui@^2.1.0: 492 | version "2.1.0" 493 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" 494 | dependencies: 495 | center-align "^0.1.1" 496 | right-align "^0.1.1" 497 | wordwrap "0.0.2" 498 | 499 | cliui@^3.2.0: 500 | version "3.2.0" 501 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" 502 | dependencies: 503 | string-width "^1.0.1" 504 | strip-ansi "^3.0.1" 505 | wrap-ansi "^2.0.0" 506 | 507 | co@^4.6.0: 508 | version "4.6.0" 509 | resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" 510 | 511 | code-point-at@^1.0.0: 512 | version "1.1.0" 513 | resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" 514 | 515 | collection-visit@^1.0.0: 516 | version "1.0.0" 517 | resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" 518 | dependencies: 519 | map-visit "^1.0.0" 520 | object-visit "^1.0.0" 521 | 522 | colors@^1.1.2: 523 | version "1.1.2" 524 | resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" 525 | 526 | combined-stream@^1.0.5, combined-stream@~1.0.5: 527 | version "1.0.5" 528 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" 529 | dependencies: 530 | delayed-stream "~1.0.0" 531 | 532 | component-emitter@^1.2.1: 533 | version "1.2.1" 534 | resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" 535 | 536 | compressible@~2.0.11: 537 | version "2.0.12" 538 | resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.12.tgz#c59a5c99db76767e9876500e271ef63b3493bd66" 539 | dependencies: 540 | mime-db ">= 1.30.0 < 2" 541 | 542 | compression@^1.5.2: 543 | version "1.7.1" 544 | resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.1.tgz#eff2603efc2e22cf86f35d2eb93589f9875373db" 545 | dependencies: 546 | accepts "~1.3.4" 547 | bytes "3.0.0" 548 | compressible "~2.0.11" 549 | debug "2.6.9" 550 | on-headers "~1.0.1" 551 | safe-buffer "5.1.1" 552 | vary "~1.1.2" 553 | 554 | concat-map@0.0.1: 555 | version "0.0.1" 556 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 557 | 558 | connect-history-api-fallback@^1.3.0: 559 | version "1.5.0" 560 | resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz#b06873934bc5e344fef611a196a6faae0aee015a" 561 | 562 | console-browserify@^1.1.0: 563 | version "1.1.0" 564 | resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" 565 | dependencies: 566 | date-now "^0.1.4" 567 | 568 | console-control-strings@^1.0.0, console-control-strings@~1.1.0: 569 | version "1.1.0" 570 | resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" 571 | 572 | constants-browserify@^1.0.0: 573 | version "1.0.0" 574 | resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" 575 | 576 | content-disposition@0.5.2: 577 | version "0.5.2" 578 | resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" 579 | 580 | content-type@~1.0.4: 581 | version "1.0.4" 582 | resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" 583 | 584 | cookie-signature@1.0.6: 585 | version "1.0.6" 586 | resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" 587 | 588 | cookie@0.3.1: 589 | version "0.3.1" 590 | resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" 591 | 592 | copy-descriptor@^0.1.0: 593 | version "0.1.1" 594 | resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" 595 | 596 | core-util-is@1.0.2, core-util-is@~1.0.0: 597 | version "1.0.2" 598 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 599 | 600 | create-ecdh@^4.0.0: 601 | version "4.0.0" 602 | resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.0.tgz#888c723596cdf7612f6498233eebd7a35301737d" 603 | dependencies: 604 | bn.js "^4.1.0" 605 | elliptic "^6.0.0" 606 | 607 | create-hash@^1.1.0, create-hash@^1.1.2: 608 | version "1.1.3" 609 | resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.1.3.tgz#606042ac8b9262750f483caddab0f5819172d8fd" 610 | dependencies: 611 | cipher-base "^1.0.1" 612 | inherits "^2.0.1" 613 | ripemd160 "^2.0.0" 614 | sha.js "^2.4.0" 615 | 616 | create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: 617 | version "1.1.6" 618 | resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.6.tgz#acb9e221a4e17bdb076e90657c42b93e3726cf06" 619 | dependencies: 620 | cipher-base "^1.0.3" 621 | create-hash "^1.1.0" 622 | inherits "^2.0.1" 623 | ripemd160 "^2.0.0" 624 | safe-buffer "^5.0.1" 625 | sha.js "^2.4.8" 626 | 627 | cross-spawn@^5.0.1: 628 | version "5.1.0" 629 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" 630 | dependencies: 631 | lru-cache "^4.0.1" 632 | shebang-command "^1.2.0" 633 | which "^1.2.9" 634 | 635 | cryptiles@2.x.x: 636 | version "2.0.5" 637 | resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" 638 | dependencies: 639 | boom "2.x.x" 640 | 641 | crypto-browserify@^3.11.0: 642 | version "3.12.0" 643 | resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" 644 | dependencies: 645 | browserify-cipher "^1.0.0" 646 | browserify-sign "^4.0.0" 647 | create-ecdh "^4.0.0" 648 | create-hash "^1.1.0" 649 | create-hmac "^1.1.0" 650 | diffie-hellman "^5.0.0" 651 | inherits "^2.0.1" 652 | pbkdf2 "^3.0.3" 653 | public-encrypt "^4.0.0" 654 | randombytes "^2.0.0" 655 | randomfill "^1.0.3" 656 | 657 | currently-unhandled@^0.4.1: 658 | version "0.4.1" 659 | resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" 660 | dependencies: 661 | array-find-index "^1.0.1" 662 | 663 | d@1: 664 | version "1.0.0" 665 | resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f" 666 | dependencies: 667 | es5-ext "^0.10.9" 668 | 669 | dashdash@^1.12.0: 670 | version "1.14.1" 671 | resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" 672 | dependencies: 673 | assert-plus "^1.0.0" 674 | 675 | date-now@^0.1.4: 676 | version "0.1.4" 677 | resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" 678 | 679 | debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.6, debug@^2.6.8: 680 | version "2.6.9" 681 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 682 | dependencies: 683 | ms "2.0.0" 684 | 685 | debug@^3.1.0: 686 | version "3.1.0" 687 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" 688 | dependencies: 689 | ms "2.0.0" 690 | 691 | decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2: 692 | version "1.2.0" 693 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" 694 | 695 | decode-uri-component@^0.2.0: 696 | version "0.2.0" 697 | resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" 698 | 699 | deep-equal@^1.0.1: 700 | version "1.0.1" 701 | resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" 702 | 703 | deep-extend@~0.4.0: 704 | version "0.4.2" 705 | resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" 706 | 707 | define-properties@^1.1.2: 708 | version "1.1.2" 709 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94" 710 | dependencies: 711 | foreach "^2.0.5" 712 | object-keys "^1.0.8" 713 | 714 | define-property@^0.2.5: 715 | version "0.2.5" 716 | resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" 717 | dependencies: 718 | is-descriptor "^0.1.0" 719 | 720 | define-property@^1.0.0: 721 | version "1.0.0" 722 | resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" 723 | dependencies: 724 | is-descriptor "^1.0.0" 725 | 726 | del@^3.0.0: 727 | version "3.0.0" 728 | resolved "https://registry.yarnpkg.com/del/-/del-3.0.0.tgz#53ecf699ffcbcb39637691ab13baf160819766e5" 729 | dependencies: 730 | globby "^6.1.0" 731 | is-path-cwd "^1.0.0" 732 | is-path-in-cwd "^1.0.0" 733 | p-map "^1.1.1" 734 | pify "^3.0.0" 735 | rimraf "^2.2.8" 736 | 737 | delayed-stream@~1.0.0: 738 | version "1.0.0" 739 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 740 | 741 | delegates@^1.0.0: 742 | version "1.0.0" 743 | resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" 744 | 745 | depd@1.1.1, depd@~1.1.1: 746 | version "1.1.1" 747 | resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359" 748 | 749 | des.js@^1.0.0: 750 | version "1.0.0" 751 | resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" 752 | dependencies: 753 | inherits "^2.0.1" 754 | minimalistic-assert "^1.0.0" 755 | 756 | destroy@~1.0.4: 757 | version "1.0.4" 758 | resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" 759 | 760 | detect-libc@^1.0.2: 761 | version "1.0.3" 762 | resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" 763 | 764 | detect-node@^2.0.3: 765 | version "2.0.3" 766 | resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.3.tgz#a2033c09cc8e158d37748fbde7507832bd6ce127" 767 | 768 | diffie-hellman@^5.0.0: 769 | version "5.0.2" 770 | resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.2.tgz#b5835739270cfe26acf632099fded2a07f209e5e" 771 | dependencies: 772 | bn.js "^4.1.0" 773 | miller-rabin "^4.0.0" 774 | randombytes "^2.0.0" 775 | 776 | dns-equal@^1.0.0: 777 | version "1.0.0" 778 | resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" 779 | 780 | dns-packet@^1.0.1: 781 | version "1.2.2" 782 | resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.2.2.tgz#a8a26bec7646438963fc86e06f8f8b16d6c8bf7a" 783 | dependencies: 784 | ip "^1.1.0" 785 | safe-buffer "^5.0.1" 786 | 787 | dns-txt@^2.0.2: 788 | version "2.0.2" 789 | resolved "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6" 790 | dependencies: 791 | buffer-indexof "^1.0.0" 792 | 793 | domain-browser@^1.1.1: 794 | version "1.1.7" 795 | resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc" 796 | 797 | ecc-jsbn@~0.1.1: 798 | version "0.1.1" 799 | resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" 800 | dependencies: 801 | jsbn "~0.1.0" 802 | 803 | ee-first@1.1.1: 804 | version "1.1.1" 805 | resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" 806 | 807 | elliptic@^6.0.0: 808 | version "6.4.0" 809 | resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df" 810 | dependencies: 811 | bn.js "^4.4.0" 812 | brorand "^1.0.1" 813 | hash.js "^1.0.0" 814 | hmac-drbg "^1.0.0" 815 | inherits "^2.0.1" 816 | minimalistic-assert "^1.0.0" 817 | minimalistic-crypto-utils "^1.0.0" 818 | 819 | emojis-list@^2.0.0: 820 | version "2.1.0" 821 | resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" 822 | 823 | encodeurl@~1.0.1: 824 | version "1.0.1" 825 | resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20" 826 | 827 | enhanced-resolve@3.3.0: 828 | version "3.3.0" 829 | resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.3.0.tgz#950964ecc7f0332a42321b673b38dc8ff15535b3" 830 | dependencies: 831 | graceful-fs "^4.1.2" 832 | memory-fs "^0.4.0" 833 | object-assign "^4.0.1" 834 | tapable "^0.2.5" 835 | 836 | enhanced-resolve@^3.4.0: 837 | version "3.4.1" 838 | resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz#0421e339fd71419b3da13d129b3979040230476e" 839 | dependencies: 840 | graceful-fs "^4.1.2" 841 | memory-fs "^0.4.0" 842 | object-assign "^4.0.1" 843 | tapable "^0.2.7" 844 | 845 | errno@^0.1.3: 846 | version "0.1.6" 847 | resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.6.tgz#c386ce8a6283f14fc09563b71560908c9bf53026" 848 | dependencies: 849 | prr "~1.0.1" 850 | 851 | error-ex@^1.2.0: 852 | version "1.3.1" 853 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" 854 | dependencies: 855 | is-arrayish "^0.2.1" 856 | 857 | es-abstract@^1.7.0: 858 | version "1.10.0" 859 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.10.0.tgz#1ecb36c197842a00d8ee4c2dfd8646bb97d60864" 860 | dependencies: 861 | es-to-primitive "^1.1.1" 862 | function-bind "^1.1.1" 863 | has "^1.0.1" 864 | is-callable "^1.1.3" 865 | is-regex "^1.0.4" 866 | 867 | es-to-primitive@^1.1.1: 868 | version "1.1.1" 869 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d" 870 | dependencies: 871 | is-callable "^1.1.1" 872 | is-date-object "^1.0.1" 873 | is-symbol "^1.0.1" 874 | 875 | es5-ext@^0.10.14, es5-ext@^0.10.35, es5-ext@^0.10.9, es5-ext@~0.10.14: 876 | version "0.10.37" 877 | resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.37.tgz#0ee741d148b80069ba27d020393756af257defc3" 878 | dependencies: 879 | es6-iterator "~2.0.1" 880 | es6-symbol "~3.1.1" 881 | 882 | es6-iterator@^2.0.1, es6-iterator@~2.0.1: 883 | version "2.0.3" 884 | resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" 885 | dependencies: 886 | d "1" 887 | es5-ext "^0.10.35" 888 | es6-symbol "^3.1.1" 889 | 890 | es6-map@^0.1.3: 891 | version "0.1.5" 892 | resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.5.tgz#9136e0503dcc06a301690f0bb14ff4e364e949f0" 893 | dependencies: 894 | d "1" 895 | es5-ext "~0.10.14" 896 | es6-iterator "~2.0.1" 897 | es6-set "~0.1.5" 898 | es6-symbol "~3.1.1" 899 | event-emitter "~0.3.5" 900 | 901 | es6-set@~0.1.5: 902 | version "0.1.5" 903 | resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.5.tgz#d2b3ec5d4d800ced818db538d28974db0a73ccb1" 904 | dependencies: 905 | d "1" 906 | es5-ext "~0.10.14" 907 | es6-iterator "~2.0.1" 908 | es6-symbol "3.1.1" 909 | event-emitter "~0.3.5" 910 | 911 | es6-symbol@3.1.1, es6-symbol@^3.1.1, es6-symbol@~3.1.1: 912 | version "3.1.1" 913 | resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" 914 | dependencies: 915 | d "1" 916 | es5-ext "~0.10.14" 917 | 918 | es6-weak-map@^2.0.1: 919 | version "2.0.2" 920 | resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.2.tgz#5e3ab32251ffd1538a1f8e5ffa1357772f92d96f" 921 | dependencies: 922 | d "1" 923 | es5-ext "^0.10.14" 924 | es6-iterator "^2.0.1" 925 | es6-symbol "^3.1.1" 926 | 927 | escape-html@~1.0.3: 928 | version "1.0.3" 929 | resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" 930 | 931 | escope@^3.6.0: 932 | version "3.6.0" 933 | resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3" 934 | dependencies: 935 | es6-map "^0.1.3" 936 | es6-weak-map "^2.0.1" 937 | esrecurse "^4.1.0" 938 | estraverse "^4.1.1" 939 | 940 | esrecurse@^4.1.0: 941 | version "4.2.0" 942 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.0.tgz#fa9568d98d3823f9a41d91e902dcab9ea6e5b163" 943 | dependencies: 944 | estraverse "^4.1.0" 945 | object-assign "^4.0.1" 946 | 947 | estraverse@^4.1.0, estraverse@^4.1.1: 948 | version "4.2.0" 949 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" 950 | 951 | etag@~1.8.1: 952 | version "1.8.1" 953 | resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" 954 | 955 | event-emitter@~0.3.5: 956 | version "0.3.5" 957 | resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" 958 | dependencies: 959 | d "1" 960 | es5-ext "~0.10.14" 961 | 962 | eventemitter3@1.x.x: 963 | version "1.2.0" 964 | resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-1.2.0.tgz#1c86991d816ad1e504750e73874224ecf3bec508" 965 | 966 | events@^1.0.0: 967 | version "1.1.1" 968 | resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" 969 | 970 | eventsource@0.1.6: 971 | version "0.1.6" 972 | resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-0.1.6.tgz#0acede849ed7dd1ccc32c811bb11b944d4f29232" 973 | dependencies: 974 | original ">=0.0.5" 975 | 976 | evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: 977 | version "1.0.3" 978 | resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" 979 | dependencies: 980 | md5.js "^1.3.4" 981 | safe-buffer "^5.1.1" 982 | 983 | execa@^0.7.0: 984 | version "0.7.0" 985 | resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" 986 | dependencies: 987 | cross-spawn "^5.0.1" 988 | get-stream "^3.0.0" 989 | is-stream "^1.1.0" 990 | npm-run-path "^2.0.0" 991 | p-finally "^1.0.0" 992 | signal-exit "^3.0.0" 993 | strip-eof "^1.0.0" 994 | 995 | expand-brackets@^0.1.4: 996 | version "0.1.5" 997 | resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" 998 | dependencies: 999 | is-posix-bracket "^0.1.0" 1000 | 1001 | expand-brackets@^2.1.4: 1002 | version "2.1.4" 1003 | resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" 1004 | dependencies: 1005 | debug "^2.3.3" 1006 | define-property "^0.2.5" 1007 | extend-shallow "^2.0.1" 1008 | posix-character-classes "^0.1.0" 1009 | regex-not "^1.0.0" 1010 | snapdragon "^0.8.1" 1011 | to-regex "^3.0.1" 1012 | 1013 | expand-range@^1.8.1: 1014 | version "1.8.2" 1015 | resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" 1016 | dependencies: 1017 | fill-range "^2.1.0" 1018 | 1019 | express@^4.16.2: 1020 | version "4.16.2" 1021 | resolved "https://registry.yarnpkg.com/express/-/express-4.16.2.tgz#e35c6dfe2d64b7dca0a5cd4f21781be3299e076c" 1022 | dependencies: 1023 | accepts "~1.3.4" 1024 | array-flatten "1.1.1" 1025 | body-parser "1.18.2" 1026 | content-disposition "0.5.2" 1027 | content-type "~1.0.4" 1028 | cookie "0.3.1" 1029 | cookie-signature "1.0.6" 1030 | debug "2.6.9" 1031 | depd "~1.1.1" 1032 | encodeurl "~1.0.1" 1033 | escape-html "~1.0.3" 1034 | etag "~1.8.1" 1035 | finalhandler "1.1.0" 1036 | fresh "0.5.2" 1037 | merge-descriptors "1.0.1" 1038 | methods "~1.1.2" 1039 | on-finished "~2.3.0" 1040 | parseurl "~1.3.2" 1041 | path-to-regexp "0.1.7" 1042 | proxy-addr "~2.0.2" 1043 | qs "6.5.1" 1044 | range-parser "~1.2.0" 1045 | safe-buffer "5.1.1" 1046 | send "0.16.1" 1047 | serve-static "1.13.1" 1048 | setprototypeof "1.1.0" 1049 | statuses "~1.3.1" 1050 | type-is "~1.6.15" 1051 | utils-merge "1.0.1" 1052 | vary "~1.1.2" 1053 | 1054 | extend-shallow@^2.0.1: 1055 | version "2.0.1" 1056 | resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" 1057 | dependencies: 1058 | is-extendable "^0.1.0" 1059 | 1060 | extend-shallow@^3.0.0: 1061 | version "3.0.2" 1062 | resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" 1063 | dependencies: 1064 | assign-symbols "^1.0.0" 1065 | is-extendable "^1.0.1" 1066 | 1067 | extend@~3.0.0: 1068 | version "3.0.1" 1069 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" 1070 | 1071 | extglob@^0.3.1: 1072 | version "0.3.2" 1073 | resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" 1074 | dependencies: 1075 | is-extglob "^1.0.0" 1076 | 1077 | extglob@^2.0.2: 1078 | version "2.0.3" 1079 | resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.3.tgz#55e019d0c95bf873949c737b7e5172dba84ebb29" 1080 | dependencies: 1081 | array-unique "^0.3.2" 1082 | define-property "^1.0.0" 1083 | expand-brackets "^2.1.4" 1084 | extend-shallow "^2.0.1" 1085 | fragment-cache "^0.2.1" 1086 | regex-not "^1.0.0" 1087 | snapdragon "^0.8.1" 1088 | to-regex "^3.0.1" 1089 | 1090 | extsprintf@1.3.0, extsprintf@^1.2.0: 1091 | version "1.3.0" 1092 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" 1093 | 1094 | fast-deep-equal@^1.0.0: 1095 | version "1.0.0" 1096 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz#96256a3bc975595eb36d82e9929d060d893439ff" 1097 | 1098 | fast-json-stable-stringify@^2.0.0: 1099 | version "2.0.0" 1100 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" 1101 | 1102 | faye-websocket@^0.10.0: 1103 | version "0.10.0" 1104 | resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" 1105 | dependencies: 1106 | websocket-driver ">=0.5.1" 1107 | 1108 | faye-websocket@~0.11.0: 1109 | version "0.11.1" 1110 | resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.1.tgz#f0efe18c4f56e4f40afc7e06c719fd5ee6188f38" 1111 | dependencies: 1112 | websocket-driver ">=0.5.1" 1113 | 1114 | filename-regex@^2.0.0: 1115 | version "2.0.1" 1116 | resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" 1117 | 1118 | fill-range@^2.1.0: 1119 | version "2.2.3" 1120 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" 1121 | dependencies: 1122 | is-number "^2.1.0" 1123 | isobject "^2.0.0" 1124 | randomatic "^1.1.3" 1125 | repeat-element "^1.1.2" 1126 | repeat-string "^1.5.2" 1127 | 1128 | fill-range@^4.0.0: 1129 | version "4.0.0" 1130 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" 1131 | dependencies: 1132 | extend-shallow "^2.0.1" 1133 | is-number "^3.0.0" 1134 | repeat-string "^1.6.1" 1135 | to-regex-range "^2.1.0" 1136 | 1137 | finalhandler@1.1.0: 1138 | version "1.1.0" 1139 | resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.0.tgz#ce0b6855b45853e791b2fcc680046d88253dd7f5" 1140 | dependencies: 1141 | debug "2.6.9" 1142 | encodeurl "~1.0.1" 1143 | escape-html "~1.0.3" 1144 | on-finished "~2.3.0" 1145 | parseurl "~1.3.2" 1146 | statuses "~1.3.1" 1147 | unpipe "~1.0.0" 1148 | 1149 | find-up@^1.0.0: 1150 | version "1.1.2" 1151 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" 1152 | dependencies: 1153 | path-exists "^2.0.0" 1154 | pinkie-promise "^2.0.0" 1155 | 1156 | find-up@^2.0.0, find-up@^2.1.0: 1157 | version "2.1.0" 1158 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" 1159 | dependencies: 1160 | locate-path "^2.0.0" 1161 | 1162 | for-in@^1.0.1, for-in@^1.0.2: 1163 | version "1.0.2" 1164 | resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" 1165 | 1166 | for-own@^0.1.4: 1167 | version "0.1.5" 1168 | resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" 1169 | dependencies: 1170 | for-in "^1.0.1" 1171 | 1172 | foreach@^2.0.5: 1173 | version "2.0.5" 1174 | resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" 1175 | 1176 | forever-agent@~0.6.1: 1177 | version "0.6.1" 1178 | resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" 1179 | 1180 | form-data@~2.1.1: 1181 | version "2.1.4" 1182 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" 1183 | dependencies: 1184 | asynckit "^0.4.0" 1185 | combined-stream "^1.0.5" 1186 | mime-types "^2.1.12" 1187 | 1188 | forwarded@~0.1.2: 1189 | version "0.1.2" 1190 | resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" 1191 | 1192 | fragment-cache@^0.2.1: 1193 | version "0.2.1" 1194 | resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" 1195 | dependencies: 1196 | map-cache "^0.2.2" 1197 | 1198 | fresh@0.5.2: 1199 | version "0.5.2" 1200 | resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" 1201 | 1202 | fs.realpath@^1.0.0: 1203 | version "1.0.0" 1204 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 1205 | 1206 | fsevents@^1.0.0: 1207 | version "1.1.3" 1208 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.3.tgz#11f82318f5fe7bb2cd22965a108e9306208216d8" 1209 | dependencies: 1210 | nan "^2.3.0" 1211 | node-pre-gyp "^0.6.39" 1212 | 1213 | fstream-ignore@^1.0.5: 1214 | version "1.0.5" 1215 | resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" 1216 | dependencies: 1217 | fstream "^1.0.0" 1218 | inherits "2" 1219 | minimatch "^3.0.0" 1220 | 1221 | fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2: 1222 | version "1.0.11" 1223 | resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" 1224 | dependencies: 1225 | graceful-fs "^4.1.2" 1226 | inherits "~2.0.0" 1227 | mkdirp ">=0.5 0" 1228 | rimraf "2" 1229 | 1230 | function-bind@^1.0.2, function-bind@^1.1.1: 1231 | version "1.1.1" 1232 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 1233 | 1234 | gauge@~2.7.3: 1235 | version "2.7.4" 1236 | resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" 1237 | dependencies: 1238 | aproba "^1.0.3" 1239 | console-control-strings "^1.0.0" 1240 | has-unicode "^2.0.0" 1241 | object-assign "^4.1.0" 1242 | signal-exit "^3.0.0" 1243 | string-width "^1.0.1" 1244 | strip-ansi "^3.0.1" 1245 | wide-align "^1.1.0" 1246 | 1247 | get-caller-file@^1.0.1: 1248 | version "1.0.2" 1249 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" 1250 | 1251 | get-stdin@^4.0.1: 1252 | version "4.0.1" 1253 | resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" 1254 | 1255 | get-stream@^3.0.0: 1256 | version "3.0.0" 1257 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" 1258 | 1259 | get-value@^2.0.3, get-value@^2.0.6: 1260 | version "2.0.6" 1261 | resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" 1262 | 1263 | getpass@^0.1.1: 1264 | version "0.1.7" 1265 | resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" 1266 | dependencies: 1267 | assert-plus "^1.0.0" 1268 | 1269 | glob-base@^0.3.0: 1270 | version "0.3.0" 1271 | resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" 1272 | dependencies: 1273 | glob-parent "^2.0.0" 1274 | is-glob "^2.0.0" 1275 | 1276 | glob-parent@^2.0.0: 1277 | version "2.0.0" 1278 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" 1279 | dependencies: 1280 | is-glob "^2.0.0" 1281 | 1282 | glob@^7.0.3, glob@^7.0.5: 1283 | version "7.1.2" 1284 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" 1285 | dependencies: 1286 | fs.realpath "^1.0.0" 1287 | inflight "^1.0.4" 1288 | inherits "2" 1289 | minimatch "^3.0.4" 1290 | once "^1.3.0" 1291 | path-is-absolute "^1.0.0" 1292 | 1293 | globby@^6.1.0: 1294 | version "6.1.0" 1295 | resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" 1296 | dependencies: 1297 | array-union "^1.0.1" 1298 | glob "^7.0.3" 1299 | object-assign "^4.0.1" 1300 | pify "^2.0.0" 1301 | pinkie-promise "^2.0.0" 1302 | 1303 | graceful-fs@^4.1.2: 1304 | version "4.1.11" 1305 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" 1306 | 1307 | handle-thing@^1.2.5: 1308 | version "1.2.5" 1309 | resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-1.2.5.tgz#fd7aad726bf1a5fd16dfc29b2f7a6601d27139c4" 1310 | 1311 | har-schema@^1.0.5: 1312 | version "1.0.5" 1313 | resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" 1314 | 1315 | har-validator@~4.2.1: 1316 | version "4.2.1" 1317 | resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" 1318 | dependencies: 1319 | ajv "^4.9.1" 1320 | har-schema "^1.0.5" 1321 | 1322 | has-flag@^2.0.0: 1323 | version "2.0.0" 1324 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" 1325 | 1326 | has-unicode@^2.0.0: 1327 | version "2.0.1" 1328 | resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" 1329 | 1330 | has-value@^0.3.1: 1331 | version "0.3.1" 1332 | resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" 1333 | dependencies: 1334 | get-value "^2.0.3" 1335 | has-values "^0.1.4" 1336 | isobject "^2.0.0" 1337 | 1338 | has-value@^1.0.0: 1339 | version "1.0.0" 1340 | resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" 1341 | dependencies: 1342 | get-value "^2.0.6" 1343 | has-values "^1.0.0" 1344 | isobject "^3.0.0" 1345 | 1346 | has-values@^0.1.4: 1347 | version "0.1.4" 1348 | resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" 1349 | 1350 | has-values@^1.0.0: 1351 | version "1.0.0" 1352 | resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" 1353 | dependencies: 1354 | is-number "^3.0.0" 1355 | kind-of "^4.0.0" 1356 | 1357 | has@^1.0.1: 1358 | version "1.0.1" 1359 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28" 1360 | dependencies: 1361 | function-bind "^1.0.2" 1362 | 1363 | hash-base@^2.0.0: 1364 | version "2.0.2" 1365 | resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-2.0.2.tgz#66ea1d856db4e8a5470cadf6fce23ae5244ef2e1" 1366 | dependencies: 1367 | inherits "^2.0.1" 1368 | 1369 | hash-base@^3.0.0: 1370 | version "3.0.4" 1371 | resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" 1372 | dependencies: 1373 | inherits "^2.0.1" 1374 | safe-buffer "^5.0.1" 1375 | 1376 | hash.js@^1.0.0, hash.js@^1.0.3: 1377 | version "1.1.3" 1378 | resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.3.tgz#340dedbe6290187151c1ea1d777a3448935df846" 1379 | dependencies: 1380 | inherits "^2.0.3" 1381 | minimalistic-assert "^1.0.0" 1382 | 1383 | hawk@3.1.3, hawk@~3.1.3: 1384 | version "3.1.3" 1385 | resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" 1386 | dependencies: 1387 | boom "2.x.x" 1388 | cryptiles "2.x.x" 1389 | hoek "2.x.x" 1390 | sntp "1.x.x" 1391 | 1392 | hmac-drbg@^1.0.0: 1393 | version "1.0.1" 1394 | resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" 1395 | dependencies: 1396 | hash.js "^1.0.3" 1397 | minimalistic-assert "^1.0.0" 1398 | minimalistic-crypto-utils "^1.0.1" 1399 | 1400 | hoek@2.x.x: 1401 | version "2.16.3" 1402 | resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" 1403 | 1404 | hosted-git-info@^2.1.4: 1405 | version "2.5.0" 1406 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.5.0.tgz#6d60e34b3abbc8313062c3b798ef8d901a07af3c" 1407 | 1408 | hpack.js@^2.1.6: 1409 | version "2.1.6" 1410 | resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" 1411 | dependencies: 1412 | inherits "^2.0.1" 1413 | obuf "^1.0.0" 1414 | readable-stream "^2.0.1" 1415 | wbuf "^1.1.0" 1416 | 1417 | html-entities@^1.2.0: 1418 | version "1.2.1" 1419 | resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f" 1420 | 1421 | http-deceiver@^1.2.7: 1422 | version "1.2.7" 1423 | resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" 1424 | 1425 | http-errors@1.6.2, http-errors@~1.6.2: 1426 | version "1.6.2" 1427 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.2.tgz#0a002cc85707192a7e7946ceedc11155f60ec736" 1428 | dependencies: 1429 | depd "1.1.1" 1430 | inherits "2.0.3" 1431 | setprototypeof "1.0.3" 1432 | statuses ">= 1.3.1 < 2" 1433 | 1434 | http-parser-js@>=0.4.0: 1435 | version "0.4.9" 1436 | resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.9.tgz#ea1a04fb64adff0242e9974f297dd4c3cad271e1" 1437 | 1438 | http-proxy-middleware@~0.17.4: 1439 | version "0.17.4" 1440 | resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.17.4.tgz#642e8848851d66f09d4f124912846dbaeb41b833" 1441 | dependencies: 1442 | http-proxy "^1.16.2" 1443 | is-glob "^3.1.0" 1444 | lodash "^4.17.2" 1445 | micromatch "^2.3.11" 1446 | 1447 | http-proxy@^1.16.2: 1448 | version "1.16.2" 1449 | resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.16.2.tgz#06dff292952bf64dbe8471fa9df73066d4f37742" 1450 | dependencies: 1451 | eventemitter3 "1.x.x" 1452 | requires-port "1.x.x" 1453 | 1454 | http-signature@~1.1.0: 1455 | version "1.1.1" 1456 | resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" 1457 | dependencies: 1458 | assert-plus "^0.2.0" 1459 | jsprim "^1.2.2" 1460 | sshpk "^1.7.0" 1461 | 1462 | https-browserify@^1.0.0: 1463 | version "1.0.0" 1464 | resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" 1465 | 1466 | iconv-lite@0.4.19: 1467 | version "0.4.19" 1468 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" 1469 | 1470 | ieee754@^1.1.4: 1471 | version "1.1.8" 1472 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" 1473 | 1474 | import-local@^0.1.1: 1475 | version "0.1.1" 1476 | resolved "https://registry.yarnpkg.com/import-local/-/import-local-0.1.1.tgz#b1179572aacdc11c6a91009fb430dbcab5f668a8" 1477 | dependencies: 1478 | pkg-dir "^2.0.0" 1479 | resolve-cwd "^2.0.0" 1480 | 1481 | indent-string@^2.1.0: 1482 | version "2.1.0" 1483 | resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" 1484 | dependencies: 1485 | repeating "^2.0.0" 1486 | 1487 | indexof@0.0.1: 1488 | version "0.0.1" 1489 | resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" 1490 | 1491 | inflight@^1.0.4: 1492 | version "1.0.6" 1493 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1494 | dependencies: 1495 | once "^1.3.0" 1496 | wrappy "1" 1497 | 1498 | inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: 1499 | version "2.0.3" 1500 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 1501 | 1502 | inherits@2.0.1: 1503 | version "2.0.1" 1504 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" 1505 | 1506 | ini@~1.3.0: 1507 | version "1.3.5" 1508 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" 1509 | 1510 | internal-ip@1.2.0: 1511 | version "1.2.0" 1512 | resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-1.2.0.tgz#ae9fbf93b984878785d50a8de1b356956058cf5c" 1513 | dependencies: 1514 | meow "^3.3.0" 1515 | 1516 | interpret@^1.0.0: 1517 | version "1.1.0" 1518 | resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.1.0.tgz#7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614" 1519 | 1520 | invert-kv@^1.0.0: 1521 | version "1.0.0" 1522 | resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" 1523 | 1524 | ip@^1.1.0, ip@^1.1.5: 1525 | version "1.1.5" 1526 | resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" 1527 | 1528 | ipaddr.js@1.5.2: 1529 | version "1.5.2" 1530 | resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.5.2.tgz#d4b505bde9946987ccf0fc58d9010ff9607e3fa0" 1531 | 1532 | is-accessor-descriptor@^0.1.6: 1533 | version "0.1.6" 1534 | resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" 1535 | dependencies: 1536 | kind-of "^3.0.2" 1537 | 1538 | is-arrayish@^0.2.1: 1539 | version "0.2.1" 1540 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 1541 | 1542 | is-binary-path@^1.0.0: 1543 | version "1.0.1" 1544 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" 1545 | dependencies: 1546 | binary-extensions "^1.0.0" 1547 | 1548 | is-buffer@^1.1.5: 1549 | version "1.1.6" 1550 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" 1551 | 1552 | is-builtin-module@^1.0.0: 1553 | version "1.0.0" 1554 | resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" 1555 | dependencies: 1556 | builtin-modules "^1.0.0" 1557 | 1558 | is-callable@^1.1.1, is-callable@^1.1.3: 1559 | version "1.1.3" 1560 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2" 1561 | 1562 | is-data-descriptor@^0.1.4: 1563 | version "0.1.4" 1564 | resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" 1565 | dependencies: 1566 | kind-of "^3.0.2" 1567 | 1568 | is-date-object@^1.0.1: 1569 | version "1.0.1" 1570 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" 1571 | 1572 | is-descriptor@^0.1.0: 1573 | version "0.1.6" 1574 | resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" 1575 | dependencies: 1576 | is-accessor-descriptor "^0.1.6" 1577 | is-data-descriptor "^0.1.4" 1578 | kind-of "^5.0.0" 1579 | 1580 | is-descriptor@^1.0.0: 1581 | version "1.0.1" 1582 | resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.1.tgz#2c6023599bde2de9d5d2c8b9a9d94082036b6ef2" 1583 | dependencies: 1584 | is-accessor-descriptor "^0.1.6" 1585 | is-data-descriptor "^0.1.4" 1586 | kind-of "^5.0.0" 1587 | 1588 | is-dotfile@^1.0.0: 1589 | version "1.0.3" 1590 | resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" 1591 | 1592 | is-equal-shallow@^0.1.3: 1593 | version "0.1.3" 1594 | resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" 1595 | dependencies: 1596 | is-primitive "^2.0.0" 1597 | 1598 | is-extendable@^0.1.0, is-extendable@^0.1.1: 1599 | version "0.1.1" 1600 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" 1601 | 1602 | is-extendable@^1.0.1: 1603 | version "1.0.1" 1604 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" 1605 | dependencies: 1606 | is-plain-object "^2.0.4" 1607 | 1608 | is-extglob@^1.0.0: 1609 | version "1.0.0" 1610 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" 1611 | 1612 | is-extglob@^2.1.0: 1613 | version "2.1.1" 1614 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 1615 | 1616 | is-finite@^1.0.0: 1617 | version "1.0.2" 1618 | resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" 1619 | dependencies: 1620 | number-is-nan "^1.0.0" 1621 | 1622 | is-fullwidth-code-point@^1.0.0: 1623 | version "1.0.0" 1624 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" 1625 | dependencies: 1626 | number-is-nan "^1.0.0" 1627 | 1628 | is-fullwidth-code-point@^2.0.0: 1629 | version "2.0.0" 1630 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" 1631 | 1632 | is-glob@^2.0.0, is-glob@^2.0.1: 1633 | version "2.0.1" 1634 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" 1635 | dependencies: 1636 | is-extglob "^1.0.0" 1637 | 1638 | is-glob@^3.1.0: 1639 | version "3.1.0" 1640 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" 1641 | dependencies: 1642 | is-extglob "^2.1.0" 1643 | 1644 | is-number@^2.1.0: 1645 | version "2.1.0" 1646 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" 1647 | dependencies: 1648 | kind-of "^3.0.2" 1649 | 1650 | is-number@^3.0.0: 1651 | version "3.0.0" 1652 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" 1653 | dependencies: 1654 | kind-of "^3.0.2" 1655 | 1656 | is-odd@^1.0.0: 1657 | version "1.0.0" 1658 | resolved "https://registry.yarnpkg.com/is-odd/-/is-odd-1.0.0.tgz#3b8a932eb028b3775c39bb09e91767accdb69088" 1659 | dependencies: 1660 | is-number "^3.0.0" 1661 | 1662 | is-path-cwd@^1.0.0: 1663 | version "1.0.0" 1664 | resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" 1665 | 1666 | is-path-in-cwd@^1.0.0: 1667 | version "1.0.0" 1668 | resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc" 1669 | dependencies: 1670 | is-path-inside "^1.0.0" 1671 | 1672 | is-path-inside@^1.0.0: 1673 | version "1.0.1" 1674 | resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" 1675 | dependencies: 1676 | path-is-inside "^1.0.1" 1677 | 1678 | is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: 1679 | version "2.0.4" 1680 | resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" 1681 | dependencies: 1682 | isobject "^3.0.1" 1683 | 1684 | is-posix-bracket@^0.1.0: 1685 | version "0.1.1" 1686 | resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" 1687 | 1688 | is-primitive@^2.0.0: 1689 | version "2.0.0" 1690 | resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" 1691 | 1692 | is-regex@^1.0.4: 1693 | version "1.0.4" 1694 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" 1695 | dependencies: 1696 | has "^1.0.1" 1697 | 1698 | is-stream@^1.1.0: 1699 | version "1.1.0" 1700 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" 1701 | 1702 | is-symbol@^1.0.1: 1703 | version "1.0.1" 1704 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572" 1705 | 1706 | is-typedarray@~1.0.0: 1707 | version "1.0.0" 1708 | resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" 1709 | 1710 | is-utf8@^0.2.0: 1711 | version "0.2.1" 1712 | resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" 1713 | 1714 | is-wsl@^1.1.0: 1715 | version "1.1.0" 1716 | resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" 1717 | 1718 | isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: 1719 | version "1.0.0" 1720 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 1721 | 1722 | isexe@^2.0.0: 1723 | version "2.0.0" 1724 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 1725 | 1726 | isobject@^2.0.0: 1727 | version "2.1.0" 1728 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" 1729 | dependencies: 1730 | isarray "1.0.0" 1731 | 1732 | isobject@^3.0.0, isobject@^3.0.1: 1733 | version "3.0.1" 1734 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" 1735 | 1736 | isstream@~0.1.2: 1737 | version "0.1.2" 1738 | resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" 1739 | 1740 | jsbn@~0.1.0: 1741 | version "0.1.1" 1742 | resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" 1743 | 1744 | json-loader@^0.5.4: 1745 | version "0.5.7" 1746 | resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.7.tgz#dca14a70235ff82f0ac9a3abeb60d337a365185d" 1747 | 1748 | json-schema-traverse@^0.3.0: 1749 | version "0.3.1" 1750 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" 1751 | 1752 | json-schema@0.2.3: 1753 | version "0.2.3" 1754 | resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" 1755 | 1756 | json-stable-stringify@^1.0.1: 1757 | version "1.0.1" 1758 | resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" 1759 | dependencies: 1760 | jsonify "~0.0.0" 1761 | 1762 | json-stringify-safe@~5.0.1: 1763 | version "5.0.1" 1764 | resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" 1765 | 1766 | json3@^3.3.2: 1767 | version "3.3.2" 1768 | resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" 1769 | 1770 | json5@^0.5.0, json5@^0.5.1: 1771 | version "0.5.1" 1772 | resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" 1773 | 1774 | jsonify@~0.0.0: 1775 | version "0.0.0" 1776 | resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" 1777 | 1778 | jsprim@^1.2.2: 1779 | version "1.4.1" 1780 | resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" 1781 | dependencies: 1782 | assert-plus "1.0.0" 1783 | extsprintf "1.3.0" 1784 | json-schema "0.2.3" 1785 | verror "1.10.0" 1786 | 1787 | killable@^1.0.0: 1788 | version "1.0.0" 1789 | resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.0.tgz#da8b84bd47de5395878f95d64d02f2449fe05e6b" 1790 | 1791 | kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: 1792 | version "3.2.2" 1793 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" 1794 | dependencies: 1795 | is-buffer "^1.1.5" 1796 | 1797 | kind-of@^4.0.0: 1798 | version "4.0.0" 1799 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" 1800 | dependencies: 1801 | is-buffer "^1.1.5" 1802 | 1803 | kind-of@^5.0.0, kind-of@^5.0.2: 1804 | version "5.1.0" 1805 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" 1806 | 1807 | kind-of@^6.0.0: 1808 | version "6.0.2" 1809 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" 1810 | 1811 | lazy-cache@^1.0.3: 1812 | version "1.0.4" 1813 | resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" 1814 | 1815 | lazy-cache@^2.0.2: 1816 | version "2.0.2" 1817 | resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-2.0.2.tgz#b9190a4f913354694840859f8a8f7084d8822264" 1818 | dependencies: 1819 | set-getter "^0.1.0" 1820 | 1821 | lcid@^1.0.0: 1822 | version "1.0.0" 1823 | resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" 1824 | dependencies: 1825 | invert-kv "^1.0.0" 1826 | 1827 | load-json-file@^1.0.0: 1828 | version "1.1.0" 1829 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" 1830 | dependencies: 1831 | graceful-fs "^4.1.2" 1832 | parse-json "^2.2.0" 1833 | pify "^2.0.0" 1834 | pinkie-promise "^2.0.0" 1835 | strip-bom "^2.0.0" 1836 | 1837 | load-json-file@^2.0.0: 1838 | version "2.0.0" 1839 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" 1840 | dependencies: 1841 | graceful-fs "^4.1.2" 1842 | parse-json "^2.2.0" 1843 | pify "^2.0.0" 1844 | strip-bom "^3.0.0" 1845 | 1846 | loader-runner@^2.3.0: 1847 | version "2.3.0" 1848 | resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2" 1849 | 1850 | loader-utils@^1.1.0: 1851 | version "1.1.0" 1852 | resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.1.0.tgz#c98aef488bcceda2ffb5e2de646d6a754429f5cd" 1853 | dependencies: 1854 | big.js "^3.1.3" 1855 | emojis-list "^2.0.0" 1856 | json5 "^0.5.0" 1857 | 1858 | locate-path@^2.0.0: 1859 | version "2.0.0" 1860 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" 1861 | dependencies: 1862 | p-locate "^2.0.0" 1863 | path-exists "^3.0.0" 1864 | 1865 | lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.4: 1866 | version "4.17.4" 1867 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" 1868 | 1869 | loglevel@^1.4.1: 1870 | version "1.6.0" 1871 | resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.0.tgz#ae0caa561111498c5ba13723d6fb631d24003934" 1872 | 1873 | longest@^1.0.1: 1874 | version "1.0.1" 1875 | resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" 1876 | 1877 | loud-rejection@^1.0.0: 1878 | version "1.6.0" 1879 | resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" 1880 | dependencies: 1881 | currently-unhandled "^0.4.1" 1882 | signal-exit "^3.0.0" 1883 | 1884 | lru-cache@^4.0.1: 1885 | version "4.1.1" 1886 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55" 1887 | dependencies: 1888 | pseudomap "^1.0.2" 1889 | yallist "^2.1.2" 1890 | 1891 | map-cache@^0.2.2: 1892 | version "0.2.2" 1893 | resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" 1894 | 1895 | map-obj@^1.0.0, map-obj@^1.0.1: 1896 | version "1.0.1" 1897 | resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" 1898 | 1899 | map-visit@^1.0.0: 1900 | version "1.0.0" 1901 | resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" 1902 | dependencies: 1903 | object-visit "^1.0.0" 1904 | 1905 | md5.js@^1.3.4: 1906 | version "1.3.4" 1907 | resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.4.tgz#e9bdbde94a20a5ac18b04340fc5764d5b09d901d" 1908 | dependencies: 1909 | hash-base "^3.0.0" 1910 | inherits "^2.0.1" 1911 | 1912 | media-typer@0.3.0: 1913 | version "0.3.0" 1914 | resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" 1915 | 1916 | mem@^1.1.0: 1917 | version "1.1.0" 1918 | resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" 1919 | dependencies: 1920 | mimic-fn "^1.0.0" 1921 | 1922 | memory-fs@^0.4.0, memory-fs@~0.4.1: 1923 | version "0.4.1" 1924 | resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" 1925 | dependencies: 1926 | errno "^0.1.3" 1927 | readable-stream "^2.0.1" 1928 | 1929 | meow@^3.3.0: 1930 | version "3.7.0" 1931 | resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" 1932 | dependencies: 1933 | camelcase-keys "^2.0.0" 1934 | decamelize "^1.1.2" 1935 | loud-rejection "^1.0.0" 1936 | map-obj "^1.0.1" 1937 | minimist "^1.1.3" 1938 | normalize-package-data "^2.3.4" 1939 | object-assign "^4.0.1" 1940 | read-pkg-up "^1.0.1" 1941 | redent "^1.0.0" 1942 | trim-newlines "^1.0.0" 1943 | 1944 | merge-descriptors@1.0.1: 1945 | version "1.0.1" 1946 | resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" 1947 | 1948 | methods@~1.1.2: 1949 | version "1.1.2" 1950 | resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" 1951 | 1952 | micromatch@^2.1.5, micromatch@^2.3.11: 1953 | version "2.3.11" 1954 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" 1955 | dependencies: 1956 | arr-diff "^2.0.0" 1957 | array-unique "^0.2.1" 1958 | braces "^1.8.2" 1959 | expand-brackets "^0.1.4" 1960 | extglob "^0.3.1" 1961 | filename-regex "^2.0.0" 1962 | is-extglob "^1.0.0" 1963 | is-glob "^2.0.1" 1964 | kind-of "^3.0.2" 1965 | normalize-path "^2.0.1" 1966 | object.omit "^2.0.0" 1967 | parse-glob "^3.0.4" 1968 | regex-cache "^0.4.2" 1969 | 1970 | micromatch@^3.0.3: 1971 | version "3.1.4" 1972 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.4.tgz#bb812e741a41f982c854e42b421a7eac458796f4" 1973 | dependencies: 1974 | arr-diff "^4.0.0" 1975 | array-unique "^0.3.2" 1976 | braces "^2.3.0" 1977 | define-property "^1.0.0" 1978 | extend-shallow "^2.0.1" 1979 | extglob "^2.0.2" 1980 | fragment-cache "^0.2.1" 1981 | kind-of "^6.0.0" 1982 | nanomatch "^1.2.5" 1983 | object.pick "^1.3.0" 1984 | regex-not "^1.0.0" 1985 | snapdragon "^0.8.1" 1986 | to-regex "^3.0.1" 1987 | 1988 | miller-rabin@^4.0.0: 1989 | version "4.0.1" 1990 | resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" 1991 | dependencies: 1992 | bn.js "^4.0.0" 1993 | brorand "^1.0.1" 1994 | 1995 | "mime-db@>= 1.30.0 < 2": 1996 | version "1.32.0" 1997 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.32.0.tgz#485b3848b01a3cda5f968b4882c0771e58e09414" 1998 | 1999 | mime-db@~1.30.0: 2000 | version "1.30.0" 2001 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.30.0.tgz#74c643da2dd9d6a45399963465b26d5ca7d71f01" 2002 | 2003 | mime-types@^2.1.12, mime-types@~2.1.15, mime-types@~2.1.16, mime-types@~2.1.17, mime-types@~2.1.7: 2004 | version "2.1.17" 2005 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.17.tgz#09d7a393f03e995a79f8af857b70a9e0ab16557a" 2006 | dependencies: 2007 | mime-db "~1.30.0" 2008 | 2009 | mime@1.4.1: 2010 | version "1.4.1" 2011 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" 2012 | 2013 | mime@^1.5.0: 2014 | version "1.6.0" 2015 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" 2016 | 2017 | mimic-fn@^1.0.0: 2018 | version "1.1.0" 2019 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18" 2020 | 2021 | minimalistic-assert@^1.0.0: 2022 | version "1.0.0" 2023 | resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz#702be2dda6b37f4836bcb3f5db56641b64a1d3d3" 2024 | 2025 | minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: 2026 | version "1.0.1" 2027 | resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" 2028 | 2029 | minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4: 2030 | version "3.0.4" 2031 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 2032 | dependencies: 2033 | brace-expansion "^1.1.7" 2034 | 2035 | minimist@0.0.8: 2036 | version "0.0.8" 2037 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 2038 | 2039 | minimist@^1.1.3, minimist@^1.2.0: 2040 | version "1.2.0" 2041 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" 2042 | 2043 | mixin-deep@^1.2.0: 2044 | version "1.3.0" 2045 | resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.0.tgz#47a8732ba97799457c8c1eca28f95132d7e8150a" 2046 | dependencies: 2047 | for-in "^1.0.2" 2048 | is-extendable "^1.0.1" 2049 | 2050 | mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.1, mkdirp@~0.5.0: 2051 | version "0.5.1" 2052 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 2053 | dependencies: 2054 | minimist "0.0.8" 2055 | 2056 | ms@2.0.0: 2057 | version "2.0.0" 2058 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 2059 | 2060 | multicast-dns-service-types@^1.1.0: 2061 | version "1.1.0" 2062 | resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" 2063 | 2064 | multicast-dns@^6.0.1: 2065 | version "6.2.1" 2066 | resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.1.tgz#c5035defa9219d30640558a49298067352098060" 2067 | dependencies: 2068 | dns-packet "^1.0.1" 2069 | thunky "^0.1.0" 2070 | 2071 | nan@^2.3.0: 2072 | version "2.8.0" 2073 | resolved "https://registry.yarnpkg.com/nan/-/nan-2.8.0.tgz#ed715f3fe9de02b57a5e6252d90a96675e1f085a" 2074 | 2075 | nanomatch@^1.2.5: 2076 | version "1.2.6" 2077 | resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.6.tgz#f27233e97c34a8706b7e781a4bc611c957a81625" 2078 | dependencies: 2079 | arr-diff "^4.0.0" 2080 | array-unique "^0.3.2" 2081 | define-property "^1.0.0" 2082 | extend-shallow "^2.0.1" 2083 | fragment-cache "^0.2.1" 2084 | is-odd "^1.0.0" 2085 | kind-of "^5.0.2" 2086 | object.pick "^1.3.0" 2087 | regex-not "^1.0.0" 2088 | snapdragon "^0.8.1" 2089 | to-regex "^3.0.1" 2090 | 2091 | negotiator@0.6.1: 2092 | version "0.6.1" 2093 | resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" 2094 | 2095 | node-forge@0.6.33: 2096 | version "0.6.33" 2097 | resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.6.33.tgz#463811879f573d45155ad6a9f43dc296e8e85ebc" 2098 | 2099 | node-libs-browser@^2.0.0: 2100 | version "2.1.0" 2101 | resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.1.0.tgz#5f94263d404f6e44767d726901fff05478d600df" 2102 | dependencies: 2103 | assert "^1.1.1" 2104 | browserify-zlib "^0.2.0" 2105 | buffer "^4.3.0" 2106 | console-browserify "^1.1.0" 2107 | constants-browserify "^1.0.0" 2108 | crypto-browserify "^3.11.0" 2109 | domain-browser "^1.1.1" 2110 | events "^1.0.0" 2111 | https-browserify "^1.0.0" 2112 | os-browserify "^0.3.0" 2113 | path-browserify "0.0.0" 2114 | process "^0.11.10" 2115 | punycode "^1.2.4" 2116 | querystring-es3 "^0.2.0" 2117 | readable-stream "^2.3.3" 2118 | stream-browserify "^2.0.1" 2119 | stream-http "^2.7.2" 2120 | string_decoder "^1.0.0" 2121 | timers-browserify "^2.0.4" 2122 | tty-browserify "0.0.0" 2123 | url "^0.11.0" 2124 | util "^0.10.3" 2125 | vm-browserify "0.0.4" 2126 | 2127 | node-pre-gyp@^0.6.39: 2128 | version "0.6.39" 2129 | resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz#c00e96860b23c0e1420ac7befc5044e1d78d8649" 2130 | dependencies: 2131 | detect-libc "^1.0.2" 2132 | hawk "3.1.3" 2133 | mkdirp "^0.5.1" 2134 | nopt "^4.0.1" 2135 | npmlog "^4.0.2" 2136 | rc "^1.1.7" 2137 | request "2.81.0" 2138 | rimraf "^2.6.1" 2139 | semver "^5.3.0" 2140 | tar "^2.2.1" 2141 | tar-pack "^3.4.0" 2142 | 2143 | nopt@^4.0.1: 2144 | version "4.0.1" 2145 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" 2146 | dependencies: 2147 | abbrev "1" 2148 | osenv "^0.1.4" 2149 | 2150 | normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: 2151 | version "2.4.0" 2152 | resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" 2153 | dependencies: 2154 | hosted-git-info "^2.1.4" 2155 | is-builtin-module "^1.0.0" 2156 | semver "2 || 3 || 4 || 5" 2157 | validate-npm-package-license "^3.0.1" 2158 | 2159 | normalize-path@^2.0.0, normalize-path@^2.0.1: 2160 | version "2.1.1" 2161 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" 2162 | dependencies: 2163 | remove-trailing-separator "^1.0.1" 2164 | 2165 | npm-run-path@^2.0.0: 2166 | version "2.0.2" 2167 | resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" 2168 | dependencies: 2169 | path-key "^2.0.0" 2170 | 2171 | npmlog@^4.0.2: 2172 | version "4.1.2" 2173 | resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" 2174 | dependencies: 2175 | are-we-there-yet "~1.1.2" 2176 | console-control-strings "~1.1.0" 2177 | gauge "~2.7.3" 2178 | set-blocking "~2.0.0" 2179 | 2180 | number-is-nan@^1.0.0: 2181 | version "1.0.1" 2182 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" 2183 | 2184 | oauth-sign@~0.8.1: 2185 | version "0.8.2" 2186 | resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" 2187 | 2188 | object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: 2189 | version "4.1.1" 2190 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 2191 | 2192 | object-copy@^0.1.0: 2193 | version "0.1.0" 2194 | resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" 2195 | dependencies: 2196 | copy-descriptor "^0.1.0" 2197 | define-property "^0.2.5" 2198 | kind-of "^3.0.3" 2199 | 2200 | object-keys@^1.0.8: 2201 | version "1.0.11" 2202 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d" 2203 | 2204 | object-visit@^1.0.0: 2205 | version "1.0.1" 2206 | resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" 2207 | dependencies: 2208 | isobject "^3.0.0" 2209 | 2210 | object.omit@^2.0.0: 2211 | version "2.0.1" 2212 | resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" 2213 | dependencies: 2214 | for-own "^0.1.4" 2215 | is-extendable "^0.1.1" 2216 | 2217 | object.pick@^1.3.0: 2218 | version "1.3.0" 2219 | resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" 2220 | dependencies: 2221 | isobject "^3.0.1" 2222 | 2223 | obuf@^1.0.0, obuf@^1.1.1: 2224 | version "1.1.1" 2225 | resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.1.tgz#104124b6c602c6796881a042541d36db43a5264e" 2226 | 2227 | on-finished@~2.3.0: 2228 | version "2.3.0" 2229 | resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" 2230 | dependencies: 2231 | ee-first "1.1.1" 2232 | 2233 | on-headers@~1.0.1: 2234 | version "1.0.1" 2235 | resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz#928f5d0f470d49342651ea6794b0857c100693f7" 2236 | 2237 | once@^1.3.0, once@^1.3.3: 2238 | version "1.4.0" 2239 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 2240 | dependencies: 2241 | wrappy "1" 2242 | 2243 | opn@^5.1.0: 2244 | version "5.1.0" 2245 | resolved "https://registry.yarnpkg.com/opn/-/opn-5.1.0.tgz#72ce2306a17dbea58ff1041853352b4a8fc77519" 2246 | dependencies: 2247 | is-wsl "^1.1.0" 2248 | 2249 | original@>=0.0.5: 2250 | version "1.0.0" 2251 | resolved "https://registry.yarnpkg.com/original/-/original-1.0.0.tgz#9147f93fa1696d04be61e01bd50baeaca656bd3b" 2252 | dependencies: 2253 | url-parse "1.0.x" 2254 | 2255 | os-browserify@^0.3.0: 2256 | version "0.3.0" 2257 | resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" 2258 | 2259 | os-homedir@^1.0.0: 2260 | version "1.0.2" 2261 | resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" 2262 | 2263 | os-locale@^1.4.0: 2264 | version "1.4.0" 2265 | resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" 2266 | dependencies: 2267 | lcid "^1.0.0" 2268 | 2269 | os-locale@^2.0.0: 2270 | version "2.1.0" 2271 | resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" 2272 | dependencies: 2273 | execa "^0.7.0" 2274 | lcid "^1.0.0" 2275 | mem "^1.1.0" 2276 | 2277 | os-tmpdir@^1.0.0: 2278 | version "1.0.2" 2279 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" 2280 | 2281 | osenv@^0.1.4: 2282 | version "0.1.4" 2283 | resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644" 2284 | dependencies: 2285 | os-homedir "^1.0.0" 2286 | os-tmpdir "^1.0.0" 2287 | 2288 | p-finally@^1.0.0: 2289 | version "1.0.0" 2290 | resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" 2291 | 2292 | p-limit@^1.1.0: 2293 | version "1.1.0" 2294 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.1.0.tgz#b07ff2d9a5d88bec806035895a2bab66a27988bc" 2295 | 2296 | p-locate@^2.0.0: 2297 | version "2.0.0" 2298 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" 2299 | dependencies: 2300 | p-limit "^1.1.0" 2301 | 2302 | p-map@^1.1.1: 2303 | version "1.2.0" 2304 | resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" 2305 | 2306 | pako@~1.0.5: 2307 | version "1.0.6" 2308 | resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.6.tgz#0101211baa70c4bca4a0f63f2206e97b7dfaf258" 2309 | 2310 | parse-asn1@^5.0.0: 2311 | version "5.1.0" 2312 | resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.0.tgz#37c4f9b7ed3ab65c74817b5f2480937fbf97c712" 2313 | dependencies: 2314 | asn1.js "^4.0.0" 2315 | browserify-aes "^1.0.0" 2316 | create-hash "^1.1.0" 2317 | evp_bytestokey "^1.0.0" 2318 | pbkdf2 "^3.0.3" 2319 | 2320 | parse-glob@^3.0.4: 2321 | version "3.0.4" 2322 | resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" 2323 | dependencies: 2324 | glob-base "^0.3.0" 2325 | is-dotfile "^1.0.0" 2326 | is-extglob "^1.0.0" 2327 | is-glob "^2.0.0" 2328 | 2329 | parse-json@^2.2.0: 2330 | version "2.2.0" 2331 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" 2332 | dependencies: 2333 | error-ex "^1.2.0" 2334 | 2335 | parseurl@~1.3.2: 2336 | version "1.3.2" 2337 | resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" 2338 | 2339 | pascalcase@^0.1.1: 2340 | version "0.1.1" 2341 | resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" 2342 | 2343 | path-browserify@0.0.0: 2344 | version "0.0.0" 2345 | resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" 2346 | 2347 | path-exists@^2.0.0: 2348 | version "2.1.0" 2349 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" 2350 | dependencies: 2351 | pinkie-promise "^2.0.0" 2352 | 2353 | path-exists@^3.0.0: 2354 | version "3.0.0" 2355 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" 2356 | 2357 | path-is-absolute@^1.0.0: 2358 | version "1.0.1" 2359 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 2360 | 2361 | path-is-inside@^1.0.1: 2362 | version "1.0.2" 2363 | resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" 2364 | 2365 | path-key@^2.0.0: 2366 | version "2.0.1" 2367 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" 2368 | 2369 | path-to-regexp@0.1.7: 2370 | version "0.1.7" 2371 | resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" 2372 | 2373 | path-type@^1.0.0: 2374 | version "1.1.0" 2375 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" 2376 | dependencies: 2377 | graceful-fs "^4.1.2" 2378 | pify "^2.0.0" 2379 | pinkie-promise "^2.0.0" 2380 | 2381 | path-type@^2.0.0: 2382 | version "2.0.0" 2383 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" 2384 | dependencies: 2385 | pify "^2.0.0" 2386 | 2387 | pbkdf2@^3.0.3: 2388 | version "3.0.14" 2389 | resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.14.tgz#a35e13c64799b06ce15320f459c230e68e73bade" 2390 | dependencies: 2391 | create-hash "^1.1.2" 2392 | create-hmac "^1.1.4" 2393 | ripemd160 "^2.0.1" 2394 | safe-buffer "^5.0.1" 2395 | sha.js "^2.4.8" 2396 | 2397 | performance-now@^0.2.0: 2398 | version "0.2.0" 2399 | resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" 2400 | 2401 | pify@^2.0.0: 2402 | version "2.3.0" 2403 | resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" 2404 | 2405 | pify@^3.0.0: 2406 | version "3.0.0" 2407 | resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" 2408 | 2409 | pinkie-promise@^2.0.0: 2410 | version "2.0.1" 2411 | resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" 2412 | dependencies: 2413 | pinkie "^2.0.0" 2414 | 2415 | pinkie@^2.0.0: 2416 | version "2.0.4" 2417 | resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" 2418 | 2419 | pkg-dir@^2.0.0: 2420 | version "2.0.0" 2421 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" 2422 | dependencies: 2423 | find-up "^2.1.0" 2424 | 2425 | portfinder@^1.0.9: 2426 | version "1.0.13" 2427 | resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.13.tgz#bb32ecd87c27104ae6ee44b5a3ccbf0ebb1aede9" 2428 | dependencies: 2429 | async "^1.5.2" 2430 | debug "^2.2.0" 2431 | mkdirp "0.5.x" 2432 | 2433 | posix-character-classes@^0.1.0: 2434 | version "0.1.1" 2435 | resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" 2436 | 2437 | preserve@^0.2.0: 2438 | version "0.2.0" 2439 | resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" 2440 | 2441 | process-nextick-args@~1.0.6: 2442 | version "1.0.7" 2443 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" 2444 | 2445 | process@^0.11.10: 2446 | version "0.11.10" 2447 | resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" 2448 | 2449 | proxy-addr@~2.0.2: 2450 | version "2.0.2" 2451 | resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.2.tgz#6571504f47bb988ec8180253f85dd7e14952bdec" 2452 | dependencies: 2453 | forwarded "~0.1.2" 2454 | ipaddr.js "1.5.2" 2455 | 2456 | prr@~1.0.1: 2457 | version "1.0.1" 2458 | resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" 2459 | 2460 | pseudomap@^1.0.2: 2461 | version "1.0.2" 2462 | resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" 2463 | 2464 | public-encrypt@^4.0.0: 2465 | version "4.0.0" 2466 | resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.0.tgz#39f699f3a46560dd5ebacbca693caf7c65c18cc6" 2467 | dependencies: 2468 | bn.js "^4.1.0" 2469 | browserify-rsa "^4.0.0" 2470 | create-hash "^1.1.0" 2471 | parse-asn1 "^5.0.0" 2472 | randombytes "^2.0.1" 2473 | 2474 | punycode@1.3.2: 2475 | version "1.3.2" 2476 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" 2477 | 2478 | punycode@^1.2.4, punycode@^1.4.1: 2479 | version "1.4.1" 2480 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" 2481 | 2482 | qs@6.5.1: 2483 | version "6.5.1" 2484 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8" 2485 | 2486 | qs@~6.4.0: 2487 | version "6.4.0" 2488 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" 2489 | 2490 | querystring-es3@^0.2.0: 2491 | version "0.2.1" 2492 | resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" 2493 | 2494 | querystring@0.2.0: 2495 | version "0.2.0" 2496 | resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" 2497 | 2498 | querystringify@0.0.x: 2499 | version "0.0.4" 2500 | resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-0.0.4.tgz#0cf7f84f9463ff0ae51c4c4b142d95be37724d9c" 2501 | 2502 | querystringify@~1.0.0: 2503 | version "1.0.0" 2504 | resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-1.0.0.tgz#6286242112c5b712fa654e526652bf6a13ff05cb" 2505 | 2506 | randomatic@^1.1.3: 2507 | version "1.1.7" 2508 | resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c" 2509 | dependencies: 2510 | is-number "^3.0.0" 2511 | kind-of "^4.0.0" 2512 | 2513 | randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: 2514 | version "2.0.5" 2515 | resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.5.tgz#dc009a246b8d09a177b4b7a0ae77bc570f4b1b79" 2516 | dependencies: 2517 | safe-buffer "^5.1.0" 2518 | 2519 | randomfill@^1.0.3: 2520 | version "1.0.3" 2521 | resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.3.tgz#b96b7df587f01dd91726c418f30553b1418e3d62" 2522 | dependencies: 2523 | randombytes "^2.0.5" 2524 | safe-buffer "^5.1.0" 2525 | 2526 | range-parser@^1.0.3, range-parser@~1.2.0: 2527 | version "1.2.0" 2528 | resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" 2529 | 2530 | raw-body@2.3.2: 2531 | version "2.3.2" 2532 | resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.2.tgz#bcd60c77d3eb93cde0050295c3f379389bc88f89" 2533 | dependencies: 2534 | bytes "3.0.0" 2535 | http-errors "1.6.2" 2536 | iconv-lite "0.4.19" 2537 | unpipe "1.0.0" 2538 | 2539 | rc@^1.1.7: 2540 | version "1.2.2" 2541 | resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.2.tgz#d8ce9cb57e8d64d9c7badd9876c7c34cbe3c7077" 2542 | dependencies: 2543 | deep-extend "~0.4.0" 2544 | ini "~1.3.0" 2545 | minimist "^1.2.0" 2546 | strip-json-comments "~2.0.1" 2547 | 2548 | read-pkg-up@^1.0.1: 2549 | version "1.0.1" 2550 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" 2551 | dependencies: 2552 | find-up "^1.0.0" 2553 | read-pkg "^1.0.0" 2554 | 2555 | read-pkg-up@^2.0.0: 2556 | version "2.0.0" 2557 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" 2558 | dependencies: 2559 | find-up "^2.0.0" 2560 | read-pkg "^2.0.0" 2561 | 2562 | read-pkg@^1.0.0: 2563 | version "1.1.0" 2564 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" 2565 | dependencies: 2566 | load-json-file "^1.0.0" 2567 | normalize-package-data "^2.3.2" 2568 | path-type "^1.0.0" 2569 | 2570 | read-pkg@^2.0.0: 2571 | version "2.0.0" 2572 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" 2573 | dependencies: 2574 | load-json-file "^2.0.0" 2575 | normalize-package-data "^2.3.2" 2576 | path-type "^2.0.0" 2577 | 2578 | readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.2.6, readable-stream@^2.2.9, readable-stream@^2.3.3: 2579 | version "2.3.3" 2580 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c" 2581 | dependencies: 2582 | core-util-is "~1.0.0" 2583 | inherits "~2.0.3" 2584 | isarray "~1.0.0" 2585 | process-nextick-args "~1.0.6" 2586 | safe-buffer "~5.1.1" 2587 | string_decoder "~1.0.3" 2588 | util-deprecate "~1.0.1" 2589 | 2590 | readdirp@^2.0.0: 2591 | version "2.1.0" 2592 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" 2593 | dependencies: 2594 | graceful-fs "^4.1.2" 2595 | minimatch "^3.0.2" 2596 | readable-stream "^2.0.2" 2597 | set-immediate-shim "^1.0.1" 2598 | 2599 | redent@^1.0.0: 2600 | version "1.0.0" 2601 | resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" 2602 | dependencies: 2603 | indent-string "^2.1.0" 2604 | strip-indent "^1.0.1" 2605 | 2606 | regex-cache@^0.4.2: 2607 | version "0.4.4" 2608 | resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" 2609 | dependencies: 2610 | is-equal-shallow "^0.1.3" 2611 | 2612 | regex-not@^1.0.0: 2613 | version "1.0.0" 2614 | resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.0.tgz#42f83e39771622df826b02af176525d6a5f157f9" 2615 | dependencies: 2616 | extend-shallow "^2.0.1" 2617 | 2618 | remove-trailing-separator@^1.0.1: 2619 | version "1.1.0" 2620 | resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" 2621 | 2622 | repeat-element@^1.1.2: 2623 | version "1.1.2" 2624 | resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" 2625 | 2626 | repeat-string@^1.5.2, repeat-string@^1.6.1: 2627 | version "1.6.1" 2628 | resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" 2629 | 2630 | repeating@^2.0.0: 2631 | version "2.0.1" 2632 | resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" 2633 | dependencies: 2634 | is-finite "^1.0.0" 2635 | 2636 | request@2.81.0: 2637 | version "2.81.0" 2638 | resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" 2639 | dependencies: 2640 | aws-sign2 "~0.6.0" 2641 | aws4 "^1.2.1" 2642 | caseless "~0.12.0" 2643 | combined-stream "~1.0.5" 2644 | extend "~3.0.0" 2645 | forever-agent "~0.6.1" 2646 | form-data "~2.1.1" 2647 | har-validator "~4.2.1" 2648 | hawk "~3.1.3" 2649 | http-signature "~1.1.0" 2650 | is-typedarray "~1.0.0" 2651 | isstream "~0.1.2" 2652 | json-stringify-safe "~5.0.1" 2653 | mime-types "~2.1.7" 2654 | oauth-sign "~0.8.1" 2655 | performance-now "^0.2.0" 2656 | qs "~6.4.0" 2657 | safe-buffer "^5.0.1" 2658 | stringstream "~0.0.4" 2659 | tough-cookie "~2.3.0" 2660 | tunnel-agent "^0.6.0" 2661 | uuid "^3.0.0" 2662 | 2663 | require-directory@^2.1.1: 2664 | version "2.1.1" 2665 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 2666 | 2667 | require-main-filename@^1.0.1: 2668 | version "1.0.1" 2669 | resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" 2670 | 2671 | requires-port@1.0.x, requires-port@1.x.x, requires-port@~1.0.0: 2672 | version "1.0.0" 2673 | resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" 2674 | 2675 | resolve-cwd@^2.0.0: 2676 | version "2.0.0" 2677 | resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" 2678 | dependencies: 2679 | resolve-from "^3.0.0" 2680 | 2681 | resolve-from@^3.0.0: 2682 | version "3.0.0" 2683 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" 2684 | 2685 | resolve-url@^0.2.1: 2686 | version "0.2.1" 2687 | resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" 2688 | 2689 | right-align@^0.1.1: 2690 | version "0.1.3" 2691 | resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" 2692 | dependencies: 2693 | align-text "^0.1.1" 2694 | 2695 | rimraf@2, rimraf@^2.2.8, rimraf@^2.5.1, rimraf@^2.6.1: 2696 | version "2.6.2" 2697 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" 2698 | dependencies: 2699 | glob "^7.0.5" 2700 | 2701 | ripemd160@^2.0.0, ripemd160@^2.0.1: 2702 | version "2.0.1" 2703 | resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.1.tgz#0f4584295c53a3628af7e6d79aca21ce57d1c6e7" 2704 | dependencies: 2705 | hash-base "^2.0.0" 2706 | inherits "^2.0.1" 2707 | 2708 | safe-buffer@5.1.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: 2709 | version "5.1.1" 2710 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" 2711 | 2712 | select-hose@^2.0.0: 2713 | version "2.0.0" 2714 | resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" 2715 | 2716 | selfsigned@^1.9.1: 2717 | version "1.10.1" 2718 | resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.1.tgz#bf8cb7b83256c4551e31347c6311778db99eec52" 2719 | dependencies: 2720 | node-forge "0.6.33" 2721 | 2722 | "semver@2 || 3 || 4 || 5", semver@^5.3.0: 2723 | version "5.4.1" 2724 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" 2725 | 2726 | send@0.16.1: 2727 | version "0.16.1" 2728 | resolved "https://registry.yarnpkg.com/send/-/send-0.16.1.tgz#a70e1ca21d1382c11d0d9f6231deb281080d7ab3" 2729 | dependencies: 2730 | debug "2.6.9" 2731 | depd "~1.1.1" 2732 | destroy "~1.0.4" 2733 | encodeurl "~1.0.1" 2734 | escape-html "~1.0.3" 2735 | etag "~1.8.1" 2736 | fresh "0.5.2" 2737 | http-errors "~1.6.2" 2738 | mime "1.4.1" 2739 | ms "2.0.0" 2740 | on-finished "~2.3.0" 2741 | range-parser "~1.2.0" 2742 | statuses "~1.3.1" 2743 | 2744 | serve-index@^1.7.2: 2745 | version "1.9.1" 2746 | resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" 2747 | dependencies: 2748 | accepts "~1.3.4" 2749 | batch "0.6.1" 2750 | debug "2.6.9" 2751 | escape-html "~1.0.3" 2752 | http-errors "~1.6.2" 2753 | mime-types "~2.1.17" 2754 | parseurl "~1.3.2" 2755 | 2756 | serve-static@1.13.1: 2757 | version "1.13.1" 2758 | resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.1.tgz#4c57d53404a761d8f2e7c1e8a18a47dbf278a719" 2759 | dependencies: 2760 | encodeurl "~1.0.1" 2761 | escape-html "~1.0.3" 2762 | parseurl "~1.3.2" 2763 | send "0.16.1" 2764 | 2765 | set-blocking@^2.0.0, set-blocking@~2.0.0: 2766 | version "2.0.0" 2767 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" 2768 | 2769 | set-getter@^0.1.0: 2770 | version "0.1.0" 2771 | resolved "https://registry.yarnpkg.com/set-getter/-/set-getter-0.1.0.tgz#d769c182c9d5a51f409145f2fba82e5e86e80376" 2772 | dependencies: 2773 | to-object-path "^0.3.0" 2774 | 2775 | set-immediate-shim@^1.0.1: 2776 | version "1.0.1" 2777 | resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" 2778 | 2779 | set-value@^0.4.3: 2780 | version "0.4.3" 2781 | resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1" 2782 | dependencies: 2783 | extend-shallow "^2.0.1" 2784 | is-extendable "^0.1.1" 2785 | is-plain-object "^2.0.1" 2786 | to-object-path "^0.3.0" 2787 | 2788 | set-value@^2.0.0: 2789 | version "2.0.0" 2790 | resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274" 2791 | dependencies: 2792 | extend-shallow "^2.0.1" 2793 | is-extendable "^0.1.1" 2794 | is-plain-object "^2.0.3" 2795 | split-string "^3.0.1" 2796 | 2797 | setimmediate@^1.0.4: 2798 | version "1.0.5" 2799 | resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" 2800 | 2801 | setprototypeof@1.0.3: 2802 | version "1.0.3" 2803 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04" 2804 | 2805 | setprototypeof@1.1.0: 2806 | version "1.1.0" 2807 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" 2808 | 2809 | sha.js@^2.4.0, sha.js@^2.4.8: 2810 | version "2.4.9" 2811 | resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.9.tgz#98f64880474b74f4a38b8da9d3c0f2d104633e7d" 2812 | dependencies: 2813 | inherits "^2.0.1" 2814 | safe-buffer "^5.0.1" 2815 | 2816 | shebang-command@^1.2.0: 2817 | version "1.2.0" 2818 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" 2819 | dependencies: 2820 | shebang-regex "^1.0.0" 2821 | 2822 | shebang-regex@^1.0.0: 2823 | version "1.0.0" 2824 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" 2825 | 2826 | signal-exit@^3.0.0: 2827 | version "3.0.2" 2828 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" 2829 | 2830 | snapdragon-node@^2.0.1: 2831 | version "2.1.1" 2832 | resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" 2833 | dependencies: 2834 | define-property "^1.0.0" 2835 | isobject "^3.0.0" 2836 | snapdragon-util "^3.0.1" 2837 | 2838 | snapdragon-util@^3.0.1: 2839 | version "3.0.1" 2840 | resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" 2841 | dependencies: 2842 | kind-of "^3.2.0" 2843 | 2844 | snapdragon@^0.8.1: 2845 | version "0.8.1" 2846 | resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.1.tgz#e12b5487faded3e3dea0ac91e9400bf75b401370" 2847 | dependencies: 2848 | base "^0.11.1" 2849 | debug "^2.2.0" 2850 | define-property "^0.2.5" 2851 | extend-shallow "^2.0.1" 2852 | map-cache "^0.2.2" 2853 | source-map "^0.5.6" 2854 | source-map-resolve "^0.5.0" 2855 | use "^2.0.0" 2856 | 2857 | sntp@1.x.x: 2858 | version "1.0.9" 2859 | resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" 2860 | dependencies: 2861 | hoek "2.x.x" 2862 | 2863 | sockjs-client@1.1.4: 2864 | version "1.1.4" 2865 | resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.1.4.tgz#5babe386b775e4cf14e7520911452654016c8b12" 2866 | dependencies: 2867 | debug "^2.6.6" 2868 | eventsource "0.1.6" 2869 | faye-websocket "~0.11.0" 2870 | inherits "^2.0.1" 2871 | json3 "^3.3.2" 2872 | url-parse "^1.1.8" 2873 | 2874 | sockjs@0.3.18: 2875 | version "0.3.18" 2876 | resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.18.tgz#d9b289316ca7df77595ef299e075f0f937eb4207" 2877 | dependencies: 2878 | faye-websocket "^0.10.0" 2879 | uuid "^2.0.2" 2880 | 2881 | source-list-map@^2.0.0: 2882 | version "2.0.0" 2883 | resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.0.tgz#aaa47403f7b245a92fbc97ea08f250d6087ed085" 2884 | 2885 | source-map-resolve@^0.5.0: 2886 | version "0.5.1" 2887 | resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.1.tgz#7ad0f593f2281598e854df80f19aae4b92d7a11a" 2888 | dependencies: 2889 | atob "^2.0.0" 2890 | decode-uri-component "^0.2.0" 2891 | resolve-url "^0.2.1" 2892 | source-map-url "^0.4.0" 2893 | urix "^0.1.0" 2894 | 2895 | source-map-support@^0.4.15: 2896 | version "0.4.18" 2897 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" 2898 | dependencies: 2899 | source-map "^0.5.6" 2900 | 2901 | source-map-url@^0.4.0: 2902 | version "0.4.0" 2903 | resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" 2904 | 2905 | source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1: 2906 | version "0.5.7" 2907 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" 2908 | 2909 | source-map@~0.6.1: 2910 | version "0.6.1" 2911 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 2912 | 2913 | spdx-correct@~1.0.0: 2914 | version "1.0.2" 2915 | resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" 2916 | dependencies: 2917 | spdx-license-ids "^1.0.2" 2918 | 2919 | spdx-expression-parse@~1.0.0: 2920 | version "1.0.4" 2921 | resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" 2922 | 2923 | spdx-license-ids@^1.0.2: 2924 | version "1.2.2" 2925 | resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" 2926 | 2927 | spdy-transport@^2.0.18: 2928 | version "2.0.20" 2929 | resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-2.0.20.tgz#735e72054c486b2354fe89e702256004a39ace4d" 2930 | dependencies: 2931 | debug "^2.6.8" 2932 | detect-node "^2.0.3" 2933 | hpack.js "^2.1.6" 2934 | obuf "^1.1.1" 2935 | readable-stream "^2.2.9" 2936 | safe-buffer "^5.0.1" 2937 | wbuf "^1.7.2" 2938 | 2939 | spdy@^3.4.1: 2940 | version "3.4.7" 2941 | resolved "https://registry.yarnpkg.com/spdy/-/spdy-3.4.7.tgz#42ff41ece5cc0f99a3a6c28aabb73f5c3b03acbc" 2942 | dependencies: 2943 | debug "^2.6.8" 2944 | handle-thing "^1.2.5" 2945 | http-deceiver "^1.2.7" 2946 | safe-buffer "^5.0.1" 2947 | select-hose "^2.0.0" 2948 | spdy-transport "^2.0.18" 2949 | 2950 | split-string@^3.0.1, split-string@^3.0.2: 2951 | version "3.1.0" 2952 | resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" 2953 | dependencies: 2954 | extend-shallow "^3.0.0" 2955 | 2956 | sshpk@^1.7.0: 2957 | version "1.13.1" 2958 | resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.1.tgz#512df6da6287144316dc4c18fe1cf1d940739be3" 2959 | dependencies: 2960 | asn1 "~0.2.3" 2961 | assert-plus "^1.0.0" 2962 | dashdash "^1.12.0" 2963 | getpass "^0.1.1" 2964 | optionalDependencies: 2965 | bcrypt-pbkdf "^1.0.0" 2966 | ecc-jsbn "~0.1.1" 2967 | jsbn "~0.1.0" 2968 | tweetnacl "~0.14.0" 2969 | 2970 | static-extend@^0.1.1: 2971 | version "0.1.2" 2972 | resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" 2973 | dependencies: 2974 | define-property "^0.2.5" 2975 | object-copy "^0.1.0" 2976 | 2977 | "statuses@>= 1.3.1 < 2", statuses@~1.3.1: 2978 | version "1.3.1" 2979 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" 2980 | 2981 | stream-browserify@^2.0.1: 2982 | version "2.0.1" 2983 | resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db" 2984 | dependencies: 2985 | inherits "~2.0.1" 2986 | readable-stream "^2.0.2" 2987 | 2988 | stream-http@^2.7.2: 2989 | version "2.7.2" 2990 | resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.7.2.tgz#40a050ec8dc3b53b33d9909415c02c0bf1abfbad" 2991 | dependencies: 2992 | builtin-status-codes "^3.0.0" 2993 | inherits "^2.0.1" 2994 | readable-stream "^2.2.6" 2995 | to-arraybuffer "^1.0.0" 2996 | xtend "^4.0.0" 2997 | 2998 | string-width@^1.0.1, string-width@^1.0.2: 2999 | version "1.0.2" 3000 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" 3001 | dependencies: 3002 | code-point-at "^1.0.0" 3003 | is-fullwidth-code-point "^1.0.0" 3004 | strip-ansi "^3.0.0" 3005 | 3006 | string-width@^2.0.0: 3007 | version "2.1.1" 3008 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" 3009 | dependencies: 3010 | is-fullwidth-code-point "^2.0.0" 3011 | strip-ansi "^4.0.0" 3012 | 3013 | string_decoder@^1.0.0, string_decoder@~1.0.3: 3014 | version "1.0.3" 3015 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab" 3016 | dependencies: 3017 | safe-buffer "~5.1.0" 3018 | 3019 | stringstream@~0.0.4: 3020 | version "0.0.5" 3021 | resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" 3022 | 3023 | strip-ansi@^3.0.0, strip-ansi@^3.0.1: 3024 | version "3.0.1" 3025 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 3026 | dependencies: 3027 | ansi-regex "^2.0.0" 3028 | 3029 | strip-ansi@^4.0.0: 3030 | version "4.0.0" 3031 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" 3032 | dependencies: 3033 | ansi-regex "^3.0.0" 3034 | 3035 | strip-bom@^2.0.0: 3036 | version "2.0.0" 3037 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" 3038 | dependencies: 3039 | is-utf8 "^0.2.0" 3040 | 3041 | strip-bom@^3.0.0: 3042 | version "3.0.0" 3043 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" 3044 | 3045 | strip-eof@^1.0.0: 3046 | version "1.0.0" 3047 | resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" 3048 | 3049 | strip-indent@^1.0.1: 3050 | version "1.0.1" 3051 | resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" 3052 | dependencies: 3053 | get-stdin "^4.0.1" 3054 | 3055 | strip-json-comments@~2.0.1: 3056 | version "2.0.1" 3057 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" 3058 | 3059 | supports-color@^4.2.1: 3060 | version "4.5.0" 3061 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.5.0.tgz#be7a0de484dec5c5cddf8b3d59125044912f635b" 3062 | dependencies: 3063 | has-flag "^2.0.0" 3064 | 3065 | tapable@^0.2.5, tapable@^0.2.7: 3066 | version "0.2.8" 3067 | resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.2.8.tgz#99372a5c999bf2df160afc0d74bed4f47948cd22" 3068 | 3069 | tar-pack@^3.4.0: 3070 | version "3.4.1" 3071 | resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.1.tgz#e1dbc03a9b9d3ba07e896ad027317eb679a10a1f" 3072 | dependencies: 3073 | debug "^2.2.0" 3074 | fstream "^1.0.10" 3075 | fstream-ignore "^1.0.5" 3076 | once "^1.3.3" 3077 | readable-stream "^2.1.4" 3078 | rimraf "^2.5.1" 3079 | tar "^2.2.1" 3080 | uid-number "^0.0.6" 3081 | 3082 | tar@^2.2.1: 3083 | version "2.2.1" 3084 | resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" 3085 | dependencies: 3086 | block-stream "*" 3087 | fstream "^1.0.2" 3088 | inherits "2" 3089 | 3090 | thunky@^0.1.0: 3091 | version "0.1.0" 3092 | resolved "https://registry.yarnpkg.com/thunky/-/thunky-0.1.0.tgz#bf30146824e2b6e67b0f2d7a4ac8beb26908684e" 3093 | 3094 | time-stamp@^2.0.0: 3095 | version "2.0.0" 3096 | resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-2.0.0.tgz#95c6a44530e15ba8d6f4a3ecb8c3a3fac46da357" 3097 | 3098 | timers-browserify@^2.0.4: 3099 | version "2.0.4" 3100 | resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.4.tgz#96ca53f4b794a5e7c0e1bd7cc88a372298fa01e6" 3101 | dependencies: 3102 | setimmediate "^1.0.4" 3103 | 3104 | to-arraybuffer@^1.0.0: 3105 | version "1.0.1" 3106 | resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" 3107 | 3108 | to-object-path@^0.3.0: 3109 | version "0.3.0" 3110 | resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" 3111 | dependencies: 3112 | kind-of "^3.0.2" 3113 | 3114 | to-regex-range@^2.1.0: 3115 | version "2.1.1" 3116 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" 3117 | dependencies: 3118 | is-number "^3.0.0" 3119 | repeat-string "^1.6.1" 3120 | 3121 | to-regex@^3.0.1: 3122 | version "3.0.1" 3123 | resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.1.tgz#15358bee4a2c83bd76377ba1dc049d0f18837aae" 3124 | dependencies: 3125 | define-property "^0.2.5" 3126 | extend-shallow "^2.0.1" 3127 | regex-not "^1.0.0" 3128 | 3129 | tough-cookie@~2.3.0: 3130 | version "2.3.3" 3131 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.3.tgz#0b618a5565b6dea90bf3425d04d55edc475a7561" 3132 | dependencies: 3133 | punycode "^1.4.1" 3134 | 3135 | trim-newlines@^1.0.0: 3136 | version "1.0.0" 3137 | resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" 3138 | 3139 | tty-browserify@0.0.0: 3140 | version "0.0.0" 3141 | resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" 3142 | 3143 | tunnel-agent@^0.6.0: 3144 | version "0.6.0" 3145 | resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" 3146 | dependencies: 3147 | safe-buffer "^5.0.1" 3148 | 3149 | tweetnacl@^0.14.3, tweetnacl@~0.14.0: 3150 | version "0.14.5" 3151 | resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" 3152 | 3153 | type-is@~1.6.15: 3154 | version "1.6.15" 3155 | resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410" 3156 | dependencies: 3157 | media-typer "0.3.0" 3158 | mime-types "~2.1.15" 3159 | 3160 | typescript@2.6.2: 3161 | version "2.6.2" 3162 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.6.2.tgz#3c5b6fd7f6de0914269027f03c0946758f7673a4" 3163 | 3164 | uglify-js@^2.8.29: 3165 | version "2.8.29" 3166 | resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd" 3167 | dependencies: 3168 | source-map "~0.5.1" 3169 | yargs "~3.10.0" 3170 | optionalDependencies: 3171 | uglify-to-browserify "~1.0.0" 3172 | 3173 | uglify-to-browserify@~1.0.0: 3174 | version "1.0.2" 3175 | resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" 3176 | 3177 | uglifyjs-webpack-plugin@^0.4.6: 3178 | version "0.4.6" 3179 | resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz#b951f4abb6bd617e66f63eb891498e391763e309" 3180 | dependencies: 3181 | source-map "^0.5.6" 3182 | uglify-js "^2.8.29" 3183 | webpack-sources "^1.0.1" 3184 | 3185 | uid-number@^0.0.6: 3186 | version "0.0.6" 3187 | resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" 3188 | 3189 | union-value@^1.0.0: 3190 | version "1.0.0" 3191 | resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" 3192 | dependencies: 3193 | arr-union "^3.1.0" 3194 | get-value "^2.0.6" 3195 | is-extendable "^0.1.1" 3196 | set-value "^0.4.3" 3197 | 3198 | unpipe@1.0.0, unpipe@~1.0.0: 3199 | version "1.0.0" 3200 | resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" 3201 | 3202 | unset-value@^1.0.0: 3203 | version "1.0.0" 3204 | resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" 3205 | dependencies: 3206 | has-value "^0.3.1" 3207 | isobject "^3.0.0" 3208 | 3209 | urix@^0.1.0: 3210 | version "0.1.0" 3211 | resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" 3212 | 3213 | url-parse@1.0.x: 3214 | version "1.0.5" 3215 | resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.0.5.tgz#0854860422afdcfefeb6c965c662d4800169927b" 3216 | dependencies: 3217 | querystringify "0.0.x" 3218 | requires-port "1.0.x" 3219 | 3220 | url-parse@^1.1.8: 3221 | version "1.2.0" 3222 | resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.2.0.tgz#3a19e8aaa6d023ddd27dcc44cb4fc8f7fec23986" 3223 | dependencies: 3224 | querystringify "~1.0.0" 3225 | requires-port "~1.0.0" 3226 | 3227 | url@^0.11.0: 3228 | version "0.11.0" 3229 | resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" 3230 | dependencies: 3231 | punycode "1.3.2" 3232 | querystring "0.2.0" 3233 | 3234 | use@^2.0.0: 3235 | version "2.0.2" 3236 | resolved "https://registry.yarnpkg.com/use/-/use-2.0.2.tgz#ae28a0d72f93bf22422a18a2e379993112dec8e8" 3237 | dependencies: 3238 | define-property "^0.2.5" 3239 | isobject "^3.0.0" 3240 | lazy-cache "^2.0.2" 3241 | 3242 | util-deprecate@~1.0.1: 3243 | version "1.0.2" 3244 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 3245 | 3246 | util@0.10.3, util@^0.10.3: 3247 | version "0.10.3" 3248 | resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" 3249 | dependencies: 3250 | inherits "2.0.1" 3251 | 3252 | utils-merge@1.0.1: 3253 | version "1.0.1" 3254 | resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" 3255 | 3256 | uuid@^2.0.2: 3257 | version "2.0.3" 3258 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" 3259 | 3260 | uuid@^3.0.0: 3261 | version "3.1.0" 3262 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04" 3263 | 3264 | validate-npm-package-license@^3.0.1: 3265 | version "3.0.1" 3266 | resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" 3267 | dependencies: 3268 | spdx-correct "~1.0.0" 3269 | spdx-expression-parse "~1.0.0" 3270 | 3271 | vary@~1.1.2: 3272 | version "1.1.2" 3273 | resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" 3274 | 3275 | verror@1.10.0: 3276 | version "1.10.0" 3277 | resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" 3278 | dependencies: 3279 | assert-plus "^1.0.0" 3280 | core-util-is "1.0.2" 3281 | extsprintf "^1.2.0" 3282 | 3283 | vm-browserify@0.0.4: 3284 | version "0.0.4" 3285 | resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" 3286 | dependencies: 3287 | indexof "0.0.1" 3288 | 3289 | watchpack@^1.4.0: 3290 | version "1.4.0" 3291 | resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.4.0.tgz#4a1472bcbb952bd0a9bb4036801f954dfb39faac" 3292 | dependencies: 3293 | async "^2.1.2" 3294 | chokidar "^1.7.0" 3295 | graceful-fs "^4.1.2" 3296 | 3297 | wbuf@^1.1.0, wbuf@^1.7.2: 3298 | version "1.7.2" 3299 | resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.2.tgz#d697b99f1f59512df2751be42769c1580b5801fe" 3300 | dependencies: 3301 | minimalistic-assert "^1.0.0" 3302 | 3303 | webpack-dev-middleware@^1.11.0: 3304 | version "1.12.2" 3305 | resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.12.2.tgz#f8fc1120ce3b4fc5680ceecb43d777966b21105e" 3306 | dependencies: 3307 | memory-fs "~0.4.1" 3308 | mime "^1.5.0" 3309 | path-is-absolute "^1.0.0" 3310 | range-parser "^1.0.3" 3311 | time-stamp "^2.0.0" 3312 | 3313 | webpack-dev-server@2.9.7: 3314 | version "2.9.7" 3315 | resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-2.9.7.tgz#100ad6a14775478924d417ca6dcfb9d52a98faed" 3316 | dependencies: 3317 | ansi-html "0.0.7" 3318 | array-includes "^3.0.3" 3319 | bonjour "^3.5.0" 3320 | chokidar "^1.6.0" 3321 | compression "^1.5.2" 3322 | connect-history-api-fallback "^1.3.0" 3323 | debug "^3.1.0" 3324 | del "^3.0.0" 3325 | express "^4.16.2" 3326 | html-entities "^1.2.0" 3327 | http-proxy-middleware "~0.17.4" 3328 | import-local "^0.1.1" 3329 | internal-ip "1.2.0" 3330 | ip "^1.1.5" 3331 | killable "^1.0.0" 3332 | loglevel "^1.4.1" 3333 | opn "^5.1.0" 3334 | portfinder "^1.0.9" 3335 | selfsigned "^1.9.1" 3336 | serve-index "^1.7.2" 3337 | sockjs "0.3.18" 3338 | sockjs-client "1.1.4" 3339 | spdy "^3.4.1" 3340 | strip-ansi "^3.0.1" 3341 | supports-color "^4.2.1" 3342 | webpack-dev-middleware "^1.11.0" 3343 | yargs "^6.6.0" 3344 | 3345 | webpack-sources@^1.0.1: 3346 | version "1.1.0" 3347 | resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.1.0.tgz#a101ebae59d6507354d71d8013950a3a8b7a5a54" 3348 | dependencies: 3349 | source-list-map "^2.0.0" 3350 | source-map "~0.6.1" 3351 | 3352 | webpack@3.10.0: 3353 | version "3.10.0" 3354 | resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.10.0.tgz#5291b875078cf2abf42bdd23afe3f8f96c17d725" 3355 | dependencies: 3356 | acorn "^5.0.0" 3357 | acorn-dynamic-import "^2.0.0" 3358 | ajv "^5.1.5" 3359 | ajv-keywords "^2.0.0" 3360 | async "^2.1.2" 3361 | enhanced-resolve "^3.4.0" 3362 | escope "^3.6.0" 3363 | interpret "^1.0.0" 3364 | json-loader "^0.5.4" 3365 | json5 "^0.5.1" 3366 | loader-runner "^2.3.0" 3367 | loader-utils "^1.1.0" 3368 | memory-fs "~0.4.1" 3369 | mkdirp "~0.5.0" 3370 | node-libs-browser "^2.0.0" 3371 | source-map "^0.5.3" 3372 | supports-color "^4.2.1" 3373 | tapable "^0.2.7" 3374 | uglifyjs-webpack-plugin "^0.4.6" 3375 | watchpack "^1.4.0" 3376 | webpack-sources "^1.0.1" 3377 | yargs "^8.0.2" 3378 | 3379 | websocket-driver@>=0.5.1: 3380 | version "0.7.0" 3381 | resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.0.tgz#0caf9d2d755d93aee049d4bdd0d3fe2cca2a24eb" 3382 | dependencies: 3383 | http-parser-js ">=0.4.0" 3384 | websocket-extensions ">=0.1.1" 3385 | 3386 | websocket-extensions@>=0.1.1: 3387 | version "0.1.3" 3388 | resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.3.tgz#5d2ff22977003ec687a4b87073dfbbac146ccf29" 3389 | 3390 | which-module@^1.0.0: 3391 | version "1.0.0" 3392 | resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" 3393 | 3394 | which-module@^2.0.0: 3395 | version "2.0.0" 3396 | resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" 3397 | 3398 | which@^1.2.9: 3399 | version "1.3.0" 3400 | resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a" 3401 | dependencies: 3402 | isexe "^2.0.0" 3403 | 3404 | wide-align@^1.1.0: 3405 | version "1.1.2" 3406 | resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710" 3407 | dependencies: 3408 | string-width "^1.0.2" 3409 | 3410 | window-size@0.1.0: 3411 | version "0.1.0" 3412 | resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" 3413 | 3414 | wordwrap@0.0.2: 3415 | version "0.0.2" 3416 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" 3417 | 3418 | wrap-ansi@^2.0.0: 3419 | version "2.1.0" 3420 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" 3421 | dependencies: 3422 | string-width "^1.0.1" 3423 | strip-ansi "^3.0.1" 3424 | 3425 | wrappy@1: 3426 | version "1.0.2" 3427 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 3428 | 3429 | xtend@^4.0.0: 3430 | version "4.0.1" 3431 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" 3432 | 3433 | y18n@^3.2.1: 3434 | version "3.2.1" 3435 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" 3436 | 3437 | yallist@^2.1.2: 3438 | version "2.1.2" 3439 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" 3440 | 3441 | yargs-parser@^4.2.0: 3442 | version "4.2.1" 3443 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c" 3444 | dependencies: 3445 | camelcase "^3.0.0" 3446 | 3447 | yargs-parser@^7.0.0: 3448 | version "7.0.0" 3449 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9" 3450 | dependencies: 3451 | camelcase "^4.1.0" 3452 | 3453 | yargs@^6.6.0: 3454 | version "6.6.0" 3455 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208" 3456 | dependencies: 3457 | camelcase "^3.0.0" 3458 | cliui "^3.2.0" 3459 | decamelize "^1.1.1" 3460 | get-caller-file "^1.0.1" 3461 | os-locale "^1.4.0" 3462 | read-pkg-up "^1.0.1" 3463 | require-directory "^2.1.1" 3464 | require-main-filename "^1.0.1" 3465 | set-blocking "^2.0.0" 3466 | string-width "^1.0.2" 3467 | which-module "^1.0.0" 3468 | y18n "^3.2.1" 3469 | yargs-parser "^4.2.0" 3470 | 3471 | yargs@^8.0.2: 3472 | version "8.0.2" 3473 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360" 3474 | dependencies: 3475 | camelcase "^4.1.0" 3476 | cliui "^3.2.0" 3477 | decamelize "^1.1.1" 3478 | get-caller-file "^1.0.1" 3479 | os-locale "^2.0.0" 3480 | read-pkg-up "^2.0.0" 3481 | require-directory "^2.1.1" 3482 | require-main-filename "^1.0.1" 3483 | set-blocking "^2.0.0" 3484 | string-width "^2.0.0" 3485 | which-module "^2.0.0" 3486 | y18n "^3.2.1" 3487 | yargs-parser "^7.0.0" 3488 | 3489 | yargs@~3.10.0: 3490 | version "3.10.0" 3491 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" 3492 | dependencies: 3493 | camelcase "^1.0.2" 3494 | cliui "^2.1.0" 3495 | decamelize "^1.0.0" 3496 | window-size "0.1.0" 3497 | -------------------------------------------------------------------------------- /22-overloads/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Ultimate Angular: TypeScript Basics 6 | 7 | 8 |
9 | 10 |
11 | 12 | 13 | -------------------------------------------------------------------------------- /22-overloads/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "typescript-basics-seed", 3 | "version": "1.0.0", 4 | "description": "Seed for TypeScript and Webpack", 5 | "main": "index.js", 6 | "scripts": { 7 | "start": "webpack-dev-server", 8 | "test": "echo \"Error: no test specified\" && exit 1" 9 | }, 10 | "repository": { 11 | "type": "git", 12 | "url": "git+https://github.com/UltimateAngular/typescript-basics-seed.git" 13 | }, 14 | "keywords": ["typescript"], 15 | "devDependencies": { 16 | "awesome-typescript-loader": "3.4.1", 17 | "typescript": "2.6.2", 18 | "webpack": "3.10.0", 19 | "webpack-dev-server": "2.9.7" 20 | }, 21 | "author": "Ultimate Angular", 22 | "license": "MIT", 23 | "bugs": { 24 | "url": "https://github.com/UltimateAngular/typescript-basics-seed/issues" 25 | }, 26 | "homepage": "https://github.com/UltimateAngular/typescript-basics-seed#readme" 27 | } 28 | -------------------------------------------------------------------------------- /22-overloads/src/app.ts: -------------------------------------------------------------------------------- 1 | function reverse(str: string): string; 2 | function reverse(arr: T[]): T[]; 3 | function reverse(stringOrArray: string | T[]): string | T[] { 4 | if (typeof stringOrArray === 'string') { 5 | return stringOrArray 6 | .split('') 7 | .reverse() 8 | .join(''); 9 | } 10 | return stringOrArray.slice().reverse(); 11 | } 12 | 13 | reverse('Pepperoni'); 14 | reverse(['bacon', 'pepperoni', 'chili', 'mushrooms']); 15 | -------------------------------------------------------------------------------- /22-overloads/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "module": "commonjs", 5 | "strict": true, 6 | "outDir": "dist", 7 | } 8 | } -------------------------------------------------------------------------------- /22-overloads/webpack.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | entry: './src/app.ts', 3 | output: { 4 | filename: 'app.js', 5 | path: __dirname + './dist', 6 | }, 7 | resolve: { 8 | extensions: ['.ts', '.js'], 9 | }, 10 | module: { 11 | rules: [{ test: /\.ts$/, use: 'awesome-typescript-loader' }], 12 | }, 13 | devServer: { 14 | port: 3000, 15 | }, 16 | }; 17 | -------------------------------------------------------------------------------- /23-enum-numeric/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Ultimate Angular: TypeScript Basics 6 | 7 | 8 |
9 | 10 | 11 | -------------------------------------------------------------------------------- /23-enum-numeric/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "typescript-basics-seed", 3 | "version": "1.0.0", 4 | "description": "Seed for TypeScript and Webpack", 5 | "main": "index.js", 6 | "scripts": { 7 | "start": "webpack-dev-server", 8 | "test": "echo \"Error: no test specified\" && exit 1" 9 | }, 10 | "repository": { 11 | "type": "git", 12 | "url": "git+https://github.com/UltimateAngular/typescript-basics-seed.git" 13 | }, 14 | "keywords": ["typescript"], 15 | "devDependencies": { 16 | "awesome-typescript-loader": "3.4.1", 17 | "typescript": "2.6.2", 18 | "webpack": "3.10.0", 19 | "webpack-dev-server": "2.9.7" 20 | }, 21 | "author": "Ultimate Angular", 22 | "license": "MIT", 23 | "bugs": { 24 | "url": "https://github.com/UltimateAngular/typescript-basics-seed/issues" 25 | }, 26 | "homepage": "https://github.com/UltimateAngular/typescript-basics-seed#readme" 27 | } 28 | -------------------------------------------------------------------------------- /23-enum-numeric/src/app.ts: -------------------------------------------------------------------------------- 1 | enum Sizes { 2 | Small, 3 | Medium, 4 | Large, 5 | } 6 | enum Sizes { 7 | ExtraLarge = 3, 8 | } 9 | 10 | const selectedSize = 2; 11 | 12 | console.log(Sizes.Large, Sizes[selectedSize]); 13 | -------------------------------------------------------------------------------- /23-enum-numeric/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "module": "commonjs", 5 | "strict": true, 6 | "outDir": "dist" 7 | } 8 | } -------------------------------------------------------------------------------- /23-enum-numeric/webpack.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | entry: './src/app.ts', 3 | output: { 4 | filename: 'app.js', 5 | path: __dirname + './dist', 6 | }, 7 | resolve: { 8 | extensions: ['.ts', '.js'], 9 | }, 10 | module: { 11 | rules: [{ test: /\.ts$/, use: 'awesome-typescript-loader' }], 12 | }, 13 | devServer: { 14 | port: 3000, 15 | }, 16 | }; 17 | -------------------------------------------------------------------------------- /24-enum-string-inlining-members/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Ultimate Angular: TypeScript Basics 6 | 7 | 8 |
9 | 10 | 11 | -------------------------------------------------------------------------------- /24-enum-string-inlining-members/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "typescript-basics-seed", 3 | "version": "1.0.0", 4 | "description": "Seed for TypeScript and Webpack", 5 | "main": "index.js", 6 | "scripts": { 7 | "start": "webpack-dev-server", 8 | "test": "echo \"Error: no test specified\" && exit 1" 9 | }, 10 | "repository": { 11 | "type": "git", 12 | "url": "git+https://github.com/UltimateAngular/typescript-basics-seed.git" 13 | }, 14 | "keywords": ["typescript"], 15 | "devDependencies": { 16 | "awesome-typescript-loader": "3.4.1", 17 | "typescript": "2.6.2", 18 | "webpack": "3.10.0", 19 | "webpack-dev-server": "2.9.7" 20 | }, 21 | "author": "Ultimate Angular", 22 | "license": "MIT", 23 | "bugs": { 24 | "url": "https://github.com/UltimateAngular/typescript-basics-seed/issues" 25 | }, 26 | "homepage": "https://github.com/UltimateAngular/typescript-basics-seed#readme" 27 | } 28 | -------------------------------------------------------------------------------- /24-enum-string-inlining-members/src/app.ts: -------------------------------------------------------------------------------- 1 | const enum Sizes { 2 | Small = 'small', 3 | Medium = 'medium', 4 | Large = 'large', 5 | } 6 | 7 | let selected: Sizes = Sizes.Small; 8 | 9 | function updateSize(size: Sizes): void { 10 | selected = size; 11 | } 12 | 13 | updateSize(Sizes.Large); 14 | 15 | console.log(selected); 16 | -------------------------------------------------------------------------------- /24-enum-string-inlining-members/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "module": "commonjs", 5 | "strict": true, 6 | "outDir": "dist" 7 | } 8 | } -------------------------------------------------------------------------------- /24-enum-string-inlining-members/webpack.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | entry: './src/app.ts', 3 | output: { 4 | filename: 'app.js', 5 | path: __dirname + './dist', 6 | }, 7 | resolve: { 8 | extensions: ['.ts', '.js'], 9 | }, 10 | module: { 11 | rules: [{ test: /\.ts$/, use: 'awesome-typescript-loader' }], 12 | }, 13 | devServer: { 14 | port: 3000, 15 | }, 16 | }; 17 | -------------------------------------------------------------------------------- /25-writing-declaration-files/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "typescript-masterclass-seed", 3 | "author": "Ultimate Angular", 4 | "version": "0.0.0", 5 | "scripts": { 6 | "start": "node dist/app.js" 7 | }, 8 | "devDependencies": { 9 | "typescript": "2.8.1" 10 | }, 11 | "dependencies": { 12 | "lodash": "^4.17.5" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /25-writing-declaration-files/src/@types/lodash/index.d.ts: -------------------------------------------------------------------------------- 1 | declare module 'lodash' { 2 | export function chunk(collection: any, size?: number): any[][]; 3 | } 4 | -------------------------------------------------------------------------------- /25-writing-declaration-files/src/app.ts: -------------------------------------------------------------------------------- 1 | import * as _ from 'lodash'; 2 | 3 | _.chunk([1, 2, 3, 4], 2); // [[1,2], [3,4]] 4 | -------------------------------------------------------------------------------- /25-writing-declaration-files/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "module": "commonjs", 5 | "lib": ["dom", "es6"], 6 | "outDir": "dist" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /26-augmenting-modules/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "typescript-masterclass-seed", 3 | "author": "Ultimate Angular", 4 | "version": "0.0.0", 5 | "scripts": { 6 | "start": "node dist/app.js" 7 | }, 8 | "devDependencies": { 9 | "typescript": "2.8.1" 10 | }, 11 | "dependencies": { 12 | "@types/lodash": "^4.14.106", 13 | "lodash": "^4.17.5" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /26-augmenting-modules/src/@types/lodash/index.d.ts: -------------------------------------------------------------------------------- 1 | import * as lodash from 'lodash'; 2 | 3 | declare module 'lodash' { 4 | interface LoDashStatic { 5 | log(item: string): void; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /26-augmenting-modules/src/app.ts: -------------------------------------------------------------------------------- 1 | import * as _ from 'lodash'; 2 | 3 | _.chunk([1, 2, 3, 4], 2); // [[1,2], [3,4]] 4 | 5 | _.mixin({ 6 | log(item: string) { 7 | console.log(':::', item); 8 | }, 9 | }); 10 | 11 | _.log('Hello!'); 12 | -------------------------------------------------------------------------------- /26-augmenting-modules/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "module": "commonjs", 5 | "lib": ["dom", "es6"], 6 | "outDir": "dist", 7 | "typeRoots": ["src/@types", "node_modules/@types"] 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /27-emitting-declaration-files/@types/app.d.ts: -------------------------------------------------------------------------------- 1 | export declare class Foo { 2 | name: string; 3 | constructor(name: string); 4 | bar(age: number): void; 5 | } 6 | -------------------------------------------------------------------------------- /27-emitting-declaration-files/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "typescript-masterclass-seed", 3 | "author": "Ultimate Angular", 4 | "version": "0.0.0", 5 | "scripts": { 6 | "start": "node dist/app.js" 7 | }, 8 | "devDependencies": { 9 | "typescript": "2.8.1" 10 | }, 11 | "dependencies": { 12 | "@types/lodash": "^4.14.106", 13 | "lodash": "^4.17.5" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /27-emitting-declaration-files/src/app.ts: -------------------------------------------------------------------------------- 1 | export class Foo { 2 | constructor(public name: string) {} 3 | bar(age: number) {} 4 | } 5 | -------------------------------------------------------------------------------- /27-emitting-declaration-files/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "declaration": true, 4 | "declarationDir": "./@types", 5 | "target": "es5", 6 | "module": "commonjs", 7 | "lib": ["dom", "es6"], 8 | "outDir": "dist", 9 | "typeRoots": ["src/@types", "node_modules/@types"] 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /28-files-include-exclude/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "typescript-masterclass-seed", 3 | "author": "Ultimate Angular", 4 | "version": "0.0.0", 5 | "scripts": { 6 | "start": "node dist/app.js" 7 | }, 8 | "devDependencies": { 9 | "typescript": "2.8.1" 10 | }, 11 | "dependencies": { 12 | "@types/lodash": "^4.14.106", 13 | "lodash": "^4.17.5" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /28-files-include-exclude/src/app.spec.ts: -------------------------------------------------------------------------------- 1 | console.log('This is a test'); 2 | -------------------------------------------------------------------------------- /28-files-include-exclude/src/app.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ultimatecourses/typescript-masterclass-src/98de3ba89384845d327ead22e793007af2aa4ef8/28-files-include-exclude/src/app.ts -------------------------------------------------------------------------------- /28-files-include-exclude/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "include": ["src/**/*.ts"], 3 | "exclude": ["src/**/*.spec.ts"], 4 | "compilerOptions": { 5 | "target": "es5", 6 | "module": "commonjs", 7 | "lib": ["dom", "es6"], 8 | "outDir": "dist" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /29-config-inheritance-extends/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "typescript-masterclass-seed", 3 | "author": "Ultimate Angular", 4 | "version": "0.0.0", 5 | "scripts": { 6 | "start": "node dist/app.js" 7 | }, 8 | "devDependencies": { 9 | "typescript": "2.8.1" 10 | }, 11 | "dependencies": { 12 | "@types/lodash": "^4.14.106", 13 | "lodash": "^4.17.5" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /29-config-inheritance-extends/src/app.ts: -------------------------------------------------------------------------------- 1 | function log(message: string) {} 2 | -------------------------------------------------------------------------------- /29-config-inheritance-extends/src/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig-base", 3 | "compilerOptions": { 4 | "noImplicitAny": true 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /29-config-inheritance-extends/tsconfig-base.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "module": "commonjs", 5 | "lib": ["dom", "es6"], 6 | "outDir": "dist", 7 | "noImplicitAny": false 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /30-output-locations/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "typescript-masterclass-seed", 3 | "author": "Ultimate Angular", 4 | "version": "0.0.0", 5 | "scripts": { 6 | "start": "node dist/app.js" 7 | }, 8 | "devDependencies": { 9 | "typescript": "2.8.1" 10 | }, 11 | "dependencies": { 12 | "@types/lodash": "^4.14.106", 13 | "lodash": "^4.17.5" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /30-output-locations/src/app.ts: -------------------------------------------------------------------------------- 1 | function log(message) {} 2 | -------------------------------------------------------------------------------- /30-output-locations/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "module": "commonjs", 5 | "lib": ["dom", "es6"], 6 | "outDir": "dist", 7 | "noEmitOnError": true, 8 | "noImplicitAny": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /31-source-maps/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "typescript-masterclass-seed", 3 | "author": "Ultimate Angular", 4 | "version": "0.0.0", 5 | "scripts": { 6 | "start": "node dist/app.js" 7 | }, 8 | "devDependencies": { 9 | "typescript": "2.8.1" 10 | }, 11 | "dependencies": { 12 | "@types/lodash": "^4.14.106", 13 | "lodash": "^4.17.5" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /31-source-maps/src/app.ts: -------------------------------------------------------------------------------- 1 | class Person { 2 | name: string = 'Todd'; 3 | } 4 | -------------------------------------------------------------------------------- /31-source-maps/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "module": "commonjs", 5 | "lib": ["dom", "es6"], 6 | "outDir": "dist", 7 | "inlineSourceMap": true, 8 | "inlineSources": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /32-target-experimental/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "typescript-masterclass-seed", 3 | "author": "Ultimate Angular", 4 | "version": "0.0.0", 5 | "scripts": { 6 | "start": "node dist/app.js" 7 | }, 8 | "devDependencies": { 9 | "typescript": "2.8.1" 10 | }, 11 | "dependencies": { 12 | "@types/lodash": "^4.14.106", 13 | "lodash": "^4.17.5" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /32-target-experimental/src/app.ts: -------------------------------------------------------------------------------- 1 | export class Person { 2 | constructor(private name: string) {} 3 | getName() { 4 | return this.name; 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /32-target-experimental/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es2015", 4 | "module": "commonjs", 5 | "lib": ["dom", "es6"], 6 | "outDir": "dist", 7 | "experimentalDecorators": true, 8 | "emitDecoratorMetadata": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /33-lib-property/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "typescript-masterclass-seed", 3 | "author": "Ultimate Angular", 4 | "version": "0.0.0", 5 | "scripts": { 6 | "start": "node dist/app.js" 7 | }, 8 | "devDependencies": { 9 | "typescript": "2.8.1" 10 | }, 11 | "dependencies": { 12 | "@types/lodash": "^4.14.106", 13 | "lodash": "^4.17.5" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /33-lib-property/src/app.ts: -------------------------------------------------------------------------------- 1 | Array.from(document.querySelectorAll('*')); 2 | setTimeout(() => {}); 3 | -------------------------------------------------------------------------------- /33-lib-property/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "lib": ["es6", "dom"], 5 | "module": "commonjs", 6 | "outDir": "dist" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /34-strict-flags/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "typescript-masterclass-seed", 3 | "author": "Ultimate Angular", 4 | "version": "0.0.0", 5 | "scripts": { 6 | "start": "node dist/app.js" 7 | }, 8 | "devDependencies": { 9 | "typescript": "2.8.1" 10 | }, 11 | "dependencies": { 12 | "@types/lodash": "^4.14.106", 13 | "lodash": "^4.17.5" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /34-strict-flags/src/app.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ultimatecourses/typescript-masterclass-src/98de3ba89384845d327ead22e793007af2aa4ef8/34-strict-flags/src/app.ts -------------------------------------------------------------------------------- /34-strict-flags/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "lib": ["es6", "dom"], 5 | "module": "commonjs", 6 | "outDir": "dist", 7 | "strict": true, 8 | // all of these 9 | "noImplicitAny": true, 10 | "noImplicitThis": true, 11 | "alwaysStrict": true, 12 | "strictNullChecks": true, 13 | "strictFunctionTypes": true, 14 | "strictPropertyInitialization": true 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /35-cli-output/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "typescript-masterclass-seed", 3 | "author": "Ultimate Angular", 4 | "version": "0.0.0", 5 | "scripts": { 6 | "start": "node dist/app.js" 7 | }, 8 | "devDependencies": { 9 | "typescript": "2.8.1" 10 | }, 11 | "dependencies": { 12 | "@types/lodash": "^4.14.106", 13 | "lodash": "^4.17.5" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /35-cli-output/src/app.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ultimatecourses/typescript-masterclass-src/98de3ba89384845d327ead22e793007af2aa4ef8/35-cli-output/src/app.ts -------------------------------------------------------------------------------- /35-cli-output/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "lib": ["es6", "dom"], 5 | "module": "commonjs", 6 | "outDir": "dist" 7 | // "traceResolution": true 8 | // "diagnostics": true 9 | // "listFiles": true 10 | // "listEmittedFiles": true 11 | // "pretty": true 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /36-code-quality/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "typescript-masterclass-seed", 3 | "author": "Ultimate Angular", 4 | "version": "0.0.0", 5 | "scripts": { 6 | "start": "node dist/app.js" 7 | }, 8 | "devDependencies": { 9 | "typescript": "2.8.1" 10 | }, 11 | "dependencies": { 12 | "@types/lodash": "^4.14.106", 13 | "lodash": "^4.17.5", 14 | "tslib": "^1.9.0" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /36-code-quality/src/app.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ultimatecourses/typescript-masterclass-src/98de3ba89384845d327ead22e793007af2aa4ef8/36-code-quality/src/app.ts -------------------------------------------------------------------------------- /36-code-quality/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "lib": ["es6", "dom"], 5 | "module": "commonjs", 6 | "outDir": "dist", 7 | "noUnusedLocals": true, 8 | "noUnusedParameters": true, 9 | "noFallthroughCasesInSwitch": true, 10 | "noImplicitReturns": true 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /37-tslib/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "typescript-masterclass-seed", 3 | "author": "Ultimate Angular", 4 | "version": "0.0.0", 5 | "scripts": { 6 | "start": "node dist/app.js" 7 | }, 8 | "devDependencies": { 9 | "typescript": "2.8.1" 10 | }, 11 | "dependencies": { 12 | "@types/lodash": "^4.14.106", 13 | "lodash": "^4.17.5", 14 | "tslib": "^1.9.0" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /37-tslib/src/app.ts: -------------------------------------------------------------------------------- 1 | export class App {} 2 | -------------------------------------------------------------------------------- /37-tslib/src/bar.ts: -------------------------------------------------------------------------------- 1 | import { App } from './app'; 2 | 3 | export class Bar extends App {} 4 | -------------------------------------------------------------------------------- /37-tslib/src/foo.ts: -------------------------------------------------------------------------------- 1 | import { App } from './app'; 2 | 3 | export class Foo extends App {} 4 | -------------------------------------------------------------------------------- /37-tslib/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "lib": ["es6", "dom"], 5 | "module": "commonjs", 6 | "importHelpers": true, 7 | "outDir": "dist" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 | 3 | TypeScript: Masterclass Course Source 4 |

5 |

Source for our advanced TypeScript Masterclass course.

6 | 7 | --- 8 | 9 | 10 | 11 | --- 12 | 13 | > This repo serves as the seed project for Ultimate Angular's TypeScript Masterclass course as well as the final solution in stepped branches, come and [learn TypeScript](https://ultimatecourses.com/courses/typescript) with us! 14 | 15 | [Setup and install](#setup-and-install) | [Tasks](#tasks) | 16 | [Resources](#resources) 17 | 18 | ## Setup and install 19 | 20 | Fork this repo from inside GitHub so you can commit directly to your account, or 21 | simply download the `.zip` bundle with the contents inside. 22 | 23 | #### Dependency installation 24 | 25 | During the time building this project, you'll need development dependencies of 26 | which run on Node.js, follow the steps below for setting everything up (if you 27 | have some of these already, skip to the next step where appropriate): 28 | 29 | 1. Download and install [Node.js here](https://nodejs.org/en/download/) for 30 | Windows or for Mac. 31 | 32 | 2. Install TypeScript globally via `npm i -g typescript` 33 | 34 | That's about it for tooling you'll need to run the project, let's move onto the 35 | project install. 36 | 37 | #### Project installation and server 38 | 39 | Now you've pulled down the repo and have everything setup, using the terminal 40 | you'll need to `cd` into the directory that you cloned the repo into and run 41 | some quick tasks: 42 | 43 | ``` 44 | cd 45 | yarn install 46 | # OR 47 | npm install 48 | ``` 49 | 50 | This will then setup all the development and production dependencies we need. 51 | 52 | Now simply run this to boot up the server: 53 | 54 | ``` 55 | yarn start 56 | # OR 57 | npm start 58 | ``` 59 | 60 | Visit `localhost:3000` to start building. 61 | 62 | ## Tasks 63 | 64 | A quick reminder of all tasks available: 65 | 66 | #### Development server 67 | 68 | ``` 69 | yarn start 70 | # OR 71 | npm start 72 | ``` 73 | 74 | ## Resources 75 | 76 | There are several resources used inside this course, of which you can read 77 | further about to dive deeper or understand in more detail what they are: 78 | 79 | * [TypeScript Docs](https://www.typescriptlang.org) 80 | * [TypeScript Playground](https://www.typescriptlang.org/play) 81 | * [AST Explorer](https://astexplorer.net) 82 | --------------------------------------------------------------------------------