├── .editorconfig ├── .gitignore ├── .npmignore ├── README.md ├── _config.yml ├── appveyor.yml ├── circle.yml ├── package.json ├── src ├── custom-typings.d.ts ├── index.ts └── lib │ ├── app.module.ts │ ├── app.pipe.ts │ ├── app.service.ts │ ├── component │ └── app.component.ts │ └── index.ts ├── tsconfig.json ├── typings.d.ts └── yarn.lock /.editorconfig: -------------------------------------------------------------------------------- 1 | # Editor configuration, see http://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | charset = utf-8 6 | indent_style = space 7 | indent_size = 2 8 | end_of_line = lf 9 | insert_final_newline = true 10 | trim_trailing_whitespace = true 11 | 12 | [*.md] 13 | max_line_length = 0 14 | trim_trailing_whitespace = false 15 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See http://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # compiled output 4 | /tmp 5 | dist/ 6 | 7 | # dependencies 8 | /node_modules 9 | /bower_components 10 | 11 | # IDEs and editors 12 | /.idea 13 | .project 14 | .classpath 15 | *.launch 16 | .settings/ 17 | 18 | # misc 19 | /.sass-cache 20 | /connect.lock 21 | /coverage/* 22 | /libpeerconnection.log 23 | npm-debug.log 24 | testem.log 25 | /typings 26 | 27 | # e2e 28 | /e2e/*.js 29 | /e2e/*.map 30 | 31 | #System Files 32 | .DS_Store 33 | Thumbs.db 34 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | # don't delete this file 2 | 3 | # See http://help.github.com/ignore-files/ for more about ignoring files. 4 | 5 | # compiled output 6 | /tmp 7 | 8 | # dependencies 9 | /node_modules 10 | 11 | 12 | # IDEs and editors 13 | /.idea 14 | .project 15 | .classpath 16 | *.launch 17 | .settings/ 18 | 19 | # misc 20 | /.sass-cache 21 | /connect.lock 22 | /coverage/* 23 | /libpeerconnection.log 24 | npm-debug.log 25 | testem.log 26 | /typings 27 | 28 | # e2e 29 | /e2e/*.js 30 | /e2e/*.map 31 | 32 | #System Files 33 | .DS_Store 34 | Thumbs.db 35 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [![Build status](https://ci.appveyor.com/api/projects/status/hhk7cc6vtlf2j6dl/branch/master?svg=true)](https://ci.appveyor.com/project/manekinekko/angular-library-starter/branch/master) 2 | [![CircleCI](https://circleci.com/gh/manekinekko/angular-library-starter.svg?style=svg)](https://circleci.com/gh/manekinekko/angular-library-starter) 3 | 4 | ### Due to the limited time on our planet Earth (24 hours a day is too short!), I'm sadly not supporting this project anymore. Please use [Jurgen's Yeoman generator](https://github.com/jvandemo/generator-angular2-library). 5 | 6 | ![](https://cloud.githubusercontent.com/assets/1859381/24447242/901c8a1a-1470-11e7-8b55-2484b7825722.jpg) 7 | 8 |
9 |
10 |
11 |
12 |
13 | 14 | ## 🎩 Minimalist Angular Library Starter 15 | 16 | This is a minimalist starter if you need to (quickly) create and ship a library for your Angular (v2+) applications. 17 | 18 | ## Most Important Files 19 | 20 | #### package.json 21 | 22 | ``` 23 | { 24 | "name": "@manekinekko/angular-library-starter", 25 | "version": "1.0.0", 26 | "main": "dist/index.js", 27 | "types": "dist/index.d.ts", 28 | "private": false, 29 | "scripts": { 30 | "build:aot": "ngc -p tsconfig.json", 31 | }, 32 | //... 33 | } 34 | ``` 35 | 36 | #### tsconfig.json 37 | 38 | ``` 39 | { 40 | "compilerOptions": { 41 | "target": "es5", 42 | "module": "es2015", 43 | "moduleResolution": "node", 44 | "declaration": true, 45 | "noImplicitAny": false, 46 | "sourceMap": true, 47 | "emitDecoratorMetadata": true, 48 | "experimentalDecorators": true, 49 | "skipLibCheck": true, 50 | "typeRoots": ["./node_modules/@types"], 51 | "types": ["node"], 52 | "lib": ["dom", "es2015"] 53 | }, 54 | 55 | // this is for the AOT compiler 56 | "angularCompilerOptions": { 57 | "genDir": "tmp", 58 | "entryModule": "src/lib/app.module#AppModule" 59 | }, 60 | //... 61 | } 62 | ``` 63 | 64 | ## Using you library in another project 65 | 66 | ### yarn or npm it in your `package.json` 67 | 68 | ```json 69 | "dependencies": { 70 | "@angular/common": "^2.3.1", 71 | "@angular/compiler": "^2.3.1", 72 | "@angular/core": "^2.3.1", 73 | //... 74 | "@manekinekko/angular-library-starter": "^1.0.0", 75 | }, 76 | //... 77 | ``` 78 | 79 | ### import the `AppModule` from the library 80 | 81 | ```typescript 82 | import { NgModule } from '@angular/core'; 83 | import { AppModule } from '@manekinekko/angular-library-starter'; 84 | 85 | @NgModule({ 86 | imports: [ 87 | AppModule.forRoot() 88 | ], 89 | //... 90 | }) 91 | export class AppModule { } 92 | ``` 93 | 94 | ### use it anywhere in your NgModules 95 | 96 | ```typescript 97 | import { Component } from '@angular/core'; 98 | import { AppService } from '@manekinekko/angular-library-starter'; 99 | 100 | // AppService and AppPipe are imported by the AppModule 101 | 102 | @Component({ 103 | selector: 'app-root', 104 | template: ` 105 | {{ text | truncate }} 106 | 107 | ` 108 | }) 109 | export class AppComponent { 110 | text = 'Lorem ipsum dolor sit amet'; 111 | constructor(as: AppService) { 112 | this.date = as.getDate().toString(); 113 | } 114 | } 115 | ``` 116 | 117 | ### Custom types 118 | 119 | If you have custom typings you want to include in your project, use the [custom-typings.d.ts](https://github.com/manekinekko/angular-library-starter/blob/master/src/custom-typings.d.ts) for that purpose. 120 | 121 | 122 | ## Disclaimers 123 | 1. This starter contains the minimum configuration for your library so it can be shared and used across other projects. 124 | 2. Tests are not included in this starter! 125 | 3. This starter is not compatible with the angular-cli **YET**. 126 | 127 | 128 | ## Have a PR? 129 | 130 | All contributions are welcome ;) 131 | 132 | ## License 133 | 134 | The MIT License (MIT) 135 | Copyright (c) 2017 - Wassim CHEGHAM 136 | 137 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 138 | 139 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 140 | 141 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 142 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | theme: jekyll-theme-cayman -------------------------------------------------------------------------------- /appveyor.yml: -------------------------------------------------------------------------------- 1 | environment: 2 | matrix: 3 | - nodejs_version: '7' 4 | install: 5 | - ps: Install-Product node $env:nodejs_version 6 | - set CI=true 7 | - npm -g install npm@3.10.9 8 | - set PATH=%APPDATA%\npm;%PATH% 9 | - npm install 10 | - npm run build 11 | matrix: 12 | fast_finish: true 13 | build: off 14 | shallow_clone: true 15 | test_script: 16 | - node --version 17 | - npm --version 18 | - echo "@todo" -------------------------------------------------------------------------------- /circle.yml: -------------------------------------------------------------------------------- 1 | machine: 2 | node: 3 | version: 7.2.0 4 | 5 | dependencies: 6 | pre: 7 | - npm install 8 | - npm run build 9 | 10 | test: 11 | override: 12 | - echo "@todo" -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@manekinekko/angular-library-starter", 3 | "version": "1.0.4", 4 | "license": "MIT", 5 | "author": { 6 | "name": "Wassim Chegham", 7 | "email": "github@wassimchegham.com" 8 | }, 9 | "engines": { 10 | "node": ">= 5.4.1" 11 | }, 12 | "contributors": [], 13 | "repository": { 14 | "type": "git", 15 | "url": "git@github.com:manekinekko/angular-library-starter.git" 16 | }, 17 | "homepage": "https://github.com/manekinekko/angular-library-starter", 18 | "bugs": "https://github.com/manekinekko/angular-library-starter/issues", 19 | "description": "A Minimalist Starter for Angular (>=2) libraries with JIT and AOT support", 20 | "main": "dist/index.js", 21 | "scripts": { 22 | "clean": "rimraf dist/", 23 | "build:aot": "ngc -p tsconfig.json", 24 | "build:jit": "tsc -p tsconfig.json", 25 | "build": "npm run clean && npm run build:aot", 26 | "start": "npm run build" 27 | }, 28 | "types": "dist/index.d.ts", 29 | "private": false, 30 | "keywords": [ 31 | "angular", 32 | "library", 33 | "starter", 34 | "aot", 35 | "jit" 36 | ], 37 | "dependencies": { 38 | "@angular/common": "^2.4.1", 39 | "@angular/compiler": "^2.4.1", 40 | "@angular/core": "^2.4.1", 41 | "@angular/platform-browser": "^2.4.1", 42 | "core-js": "2.4.1", 43 | "rimraf": "^2.5.4", 44 | "rxjs": "5.0.2", 45 | "typescript": "2.0.10", 46 | "zone.js": "0.7.4" 47 | }, 48 | "devDependencies": { 49 | "@angular/compiler-cli": "^2.4.1", 50 | "@angular/platform-server": "^2.4.1", 51 | "@types/jasmine": "2.2.30", 52 | "@types/node": "6.0.54" 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /src/custom-typings.d.ts: -------------------------------------------------------------------------------- 1 | // adapted from: https://github.com/AngularClass/angular2-webpack-starter/blob/master/src/custom-typings.d.ts 2 | 3 | /* 4 | * Custom Type Definitions 5 | * When including 3rd party modules you also need to include the type definition for the module 6 | * if they don't provide one within the module. You can try to install it with @types 7 | 8 | npm install @types/node 9 | npm install @types/lodash 10 | 11 | * If you can't find the type definition in the registry we can make an ambient/global definition in 12 | * this file for now. For example 13 | 14 | declare module 'my-module' { 15 | export function doesSomething(value: string): string; 16 | } 17 | 18 | * If you are using a CommonJS module that is using module.exports then you will have to write your 19 | * types using export = yourObjectOrFunction with a namespace above it 20 | * notice how we have to create a namespace that is equal to the function we're 21 | * assigning the export to 22 | 23 | declare module 'jwt-decode' { 24 | function jwtDecode(token: string): any; 25 | namespace jwtDecode {} 26 | export = jwtDecode; 27 | } 28 | 29 | * 30 | * If you're prototying and you will fix the types later you can also declare it as type any 31 | * 32 | 33 | declare var assert: any; 34 | declare var _: any; 35 | declare var $: any; 36 | 37 | * 38 | * If you're importing a module that uses Node.js modules which are CommonJS you need to import as 39 | * in the files such as main.browser.ts or any file within app/ 40 | * 41 | 42 | import * as _ from 'lodash' 43 | 44 | * You can include your type definitions in this file until you create one for the @types 45 | * 46 | */ 47 | 48 | // support NodeJS modules without type definitions 49 | declare module '*'; 50 | 51 | /* 52 | // for legacy tslint etc to understand rename 'modern-lru' with your package 53 | // then comment out `declare module '*';`. For each new module copy/paste 54 | // this method of creating an `any` module type definition 55 | declare module 'modern-lru' { 56 | let x: any; 57 | export = x; 58 | } 59 | */ 60 | 61 | // Extra variables that live on Global that will be replaced by webpack DefinePlugin 62 | declare var ENV: string; 63 | declare var HMR: boolean; 64 | declare var System: SystemJS; 65 | 66 | interface SystemJS { 67 | import: (path?: string) => Promise; 68 | } 69 | 70 | interface GlobalEnvironment { 71 | ENV: string; 72 | HMR: boolean; 73 | SystemJS: SystemJS; 74 | System: SystemJS; 75 | } 76 | 77 | interface Es6PromiseLoader { 78 | (id: string): (exportName?: string) => Promise; 79 | } 80 | 81 | type FactoryEs6PromiseLoader = () => Es6PromiseLoader; 82 | type FactoryPromise = () => Promise; 83 | 84 | type AsyncRoutes = { 85 | [component: string]: Es6PromiseLoader | 86 | Function | 87 | FactoryEs6PromiseLoader | 88 | FactoryPromise 89 | }; 90 | 91 | type IdleCallbacks = Es6PromiseLoader | 92 | Function | 93 | FactoryEs6PromiseLoader | 94 | FactoryPromise ; 95 | 96 | interface ErrorStackTraceLimit { 97 | stackTraceLimit: number; 98 | } 99 | 100 | // Extend typings 101 | interface NodeRequire extends WebpackRequire {} 102 | interface ErrorConstructor extends ErrorStackTraceLimit {} 103 | interface NodeRequireFunction extends Es6PromiseLoader {} 104 | interface NodeModule extends WebpackModule {} 105 | interface Global extends GlobalEnvironment {} -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './lib'; -------------------------------------------------------------------------------- /src/lib/app.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule, ModuleWithProviders } from '@angular/core'; 2 | import { CommonModule } from '@angular/common'; 3 | 4 | import { AppService } from './app.service'; 5 | import { AppPipe } from './app.pipe'; 6 | import { AppComponent } from './component/app.component'; 7 | 8 | @NgModule({ 9 | imports: [CommonModule], 10 | declarations: [AppPipe, AppComponent], 11 | exports: [AppPipe, AppComponent] 12 | }) 13 | export class AppModule { 14 | static forRoot(): ModuleWithProviders { 15 | return { 16 | ngModule: AppModule, 17 | providers: [ 18 | AppService 19 | ] 20 | }; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/lib/app.pipe.ts: -------------------------------------------------------------------------------- 1 | import { Pipe, PipeTransform } from '@angular/core'; 2 | 3 | @Pipe({ 4 | name: 'truncate' 5 | }) 6 | export class AppPipe implements PipeTransform { 7 | transform(input: string, ...args) { 8 | return `${input.substring(args[0]||0, args[1]||5)}...`; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/lib/app.service.ts: -------------------------------------------------------------------------------- 1 | import { Injectable, EventEmitter } from '@angular/core'; 2 | 3 | @Injectable() 4 | export class AppService { 5 | getDate() { 6 | return new Date(); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/lib/component/app.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'angular-library-component', 5 | template: ` 6 |

7 | {{name}} Works 8 |

9 | `, 10 | styles: [` 11 | p { 12 | color: red; 13 | `] 14 | }) 15 | export class AppComponent { 16 | name = 'App'; 17 | } 18 | -------------------------------------------------------------------------------- /src/lib/index.ts: -------------------------------------------------------------------------------- 1 | export * from './app.module'; 2 | export * from './app.service'; 3 | export * from './app.pipe'; -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "baseUrl": "", 4 | "target": "es5", 5 | "module": "es2015", 6 | "moduleResolution": "node", 7 | "declaration": true, 8 | "noImplicitAny": false, 9 | "sourceMap": true, 10 | "mapRoot": "", 11 | "emitDecoratorMetadata": true, 12 | "experimentalDecorators": true, 13 | "outDir": "./dist", 14 | "rootDir": "./src", 15 | "skipLibCheck": true, 16 | "typeRoots": ["./node_modules/@types"], 17 | "types": [ 18 | "node" 19 | ], 20 | "lib": [ 21 | "dom", 22 | "es2015" 23 | ] 24 | }, 25 | "compileOnSave": false, 26 | "buildOnSave": false, 27 | "exclude": [ 28 | "node_modules", 29 | "dist", 30 | "**/*.ngfactory.ts", 31 | "**/*.shim.ts" 32 | ], 33 | "angularCompilerOptions": { 34 | "genDir": "tmp", 35 | "entryModule": "src/lib/app.module#AppModule" 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /typings.d.ts: -------------------------------------------------------------------------------- 1 | // Typings reference file, see links for more information 2 | // https://github.com/typings/typings 3 | // https://www.typescriptlang.org/docs/handbook/writing-declaration-files.html 4 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | "@angular/common@^2.4.1": 4 | version "2.4.1" 5 | resolved "https://registry.yarnpkg.com/@angular/common/-/common-2.4.1.tgz#a70167430574959c3423ac96ebdec98032d3500d" 6 | 7 | "@angular/compiler-cli@^2.4.1": 8 | version "2.4.1" 9 | resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-2.4.1.tgz#9291504197a199fee2f48353d67431a1a9e40833" 10 | dependencies: 11 | "@angular/tsc-wrapped" "0.5.0" 12 | minimist "^1.2.0" 13 | reflect-metadata "^0.1.2" 14 | 15 | "@angular/compiler@^2.4.1": 16 | version "2.4.1" 17 | resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-2.4.1.tgz#62b4fbfc53c934bd5def78db594cbf245b3f446a" 18 | 19 | "@angular/core@^2.4.1": 20 | version "2.4.1" 21 | resolved "https://registry.yarnpkg.com/@angular/core/-/core-2.4.1.tgz#3a6d2dc7fd86fdebe4febae7eb28abad7d04c76a" 22 | 23 | "@angular/platform-browser@^2.4.1": 24 | version "2.4.1" 25 | resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-2.4.1.tgz#4eaa829b450be34f0029796b6c3b99e27d3d5740" 26 | 27 | "@angular/platform-server@^2.4.1": 28 | version "2.4.1" 29 | resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-2.4.1.tgz#9e5e427b8226d1a073949effea00a4df352682de" 30 | dependencies: 31 | parse5 "^2.2.1" 32 | 33 | "@angular/tsc-wrapped@0.5.0": 34 | version "0.5.0" 35 | resolved "https://registry.yarnpkg.com/@angular/tsc-wrapped/-/tsc-wrapped-0.5.0.tgz#e50f81af02c6817dcaba22032e49ba8060d628b4" 36 | dependencies: 37 | tsickle "^0.2" 38 | 39 | "@types/jasmine@2.2.30": 40 | version "2.2.30" 41 | resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-2.2.30.tgz#754be39255479731ad841478bd29772d71cf5996" 42 | 43 | "@types/node@6.0.54": 44 | version "6.0.54" 45 | resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.54.tgz#65859962ba988052cbdd5c48881395acfdd46931" 46 | 47 | balanced-match@^0.4.1: 48 | version "0.4.2" 49 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" 50 | 51 | brace-expansion@^1.0.0: 52 | version "1.1.6" 53 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.6.tgz#7197d7eaa9b87e648390ea61fc66c84427420df9" 54 | dependencies: 55 | balanced-match "^0.4.1" 56 | concat-map "0.0.1" 57 | 58 | concat-map@0.0.1: 59 | version "0.0.1" 60 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 61 | 62 | core-js@2.4.1: 63 | version "2.4.1" 64 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e" 65 | 66 | fs.realpath@^1.0.0: 67 | version "1.0.0" 68 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 69 | 70 | glob@^7.0.5: 71 | version "7.1.1" 72 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" 73 | dependencies: 74 | fs.realpath "^1.0.0" 75 | inflight "^1.0.4" 76 | inherits "2" 77 | minimatch "^3.0.2" 78 | once "^1.3.0" 79 | path-is-absolute "^1.0.0" 80 | 81 | inflight@^1.0.4: 82 | version "1.0.6" 83 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 84 | dependencies: 85 | once "^1.3.0" 86 | wrappy "1" 87 | 88 | inherits@2: 89 | version "2.0.3" 90 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 91 | 92 | minimatch@^3.0.2: 93 | version "3.0.3" 94 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774" 95 | dependencies: 96 | brace-expansion "^1.0.0" 97 | 98 | minimist@^1.2.0: 99 | version "1.2.0" 100 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" 101 | 102 | minimist@0.0.8: 103 | version "0.0.8" 104 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 105 | 106 | mkdirp@^0.5.1: 107 | version "0.5.1" 108 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 109 | dependencies: 110 | minimist "0.0.8" 111 | 112 | once@^1.3.0: 113 | version "1.4.0" 114 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 115 | dependencies: 116 | wrappy "1" 117 | 118 | parse5@^2.2.1: 119 | version "2.2.3" 120 | resolved "https://registry.yarnpkg.com/parse5/-/parse5-2.2.3.tgz#0c4fc41c1000c5e6b93d48b03f8083837834e9f6" 121 | 122 | path-is-absolute@^1.0.0: 123 | version "1.0.1" 124 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 125 | 126 | reflect-metadata@^0.1.2: 127 | version "0.1.9" 128 | resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.9.tgz#987238dc87a516895fe457f130435ffbd763a4d4" 129 | 130 | rimraf@^2.5.4: 131 | version "2.5.4" 132 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04" 133 | dependencies: 134 | glob "^7.0.5" 135 | 136 | rxjs@5.0.2: 137 | version "5.0.2" 138 | resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.0.2.tgz#cc6513756daa93cab4085c1b5a19a3e28fb6c6bf" 139 | dependencies: 140 | symbol-observable "^1.0.1" 141 | 142 | source-map-support@^0.4.2: 143 | version "0.4.8" 144 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.8.tgz#4871918d8a3af07289182e974e32844327b2e98b" 145 | dependencies: 146 | source-map "^0.5.3" 147 | 148 | source-map@^0.5.3, source-map@^0.5.6: 149 | version "0.5.6" 150 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" 151 | 152 | symbol-observable@^1.0.1: 153 | version "1.0.4" 154 | resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.4.tgz#29bf615d4aa7121bdd898b22d4b3f9bc4e2aa03d" 155 | 156 | tsickle@^0.2: 157 | version "0.2.3" 158 | resolved "https://registry.yarnpkg.com/tsickle/-/tsickle-0.2.3.tgz#3e7d3ff74bbecdadc011cfd747f991dcfd6503af" 159 | dependencies: 160 | minimist "^1.2.0" 161 | mkdirp "^0.5.1" 162 | source-map "^0.5.6" 163 | source-map-support "^0.4.2" 164 | 165 | typescript@2.0.10: 166 | version "2.0.10" 167 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.0.10.tgz#ccdd4ed86fd5550a407101a0814012e1b3fac3dd" 168 | 169 | wrappy@1: 170 | version "1.0.2" 171 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 172 | 173 | zone.js@0.7.4: 174 | version "0.7.4" 175 | resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.7.4.tgz#0e624fe5b724450ee433495deff15c02b3908ee0" 176 | 177 | --------------------------------------------------------------------------------