├── README.md ├── nodejs-async-await-esmodules ├── dirname.js ├── views │ ├── index.hbs │ ├── error.hbs │ └── layout.hbs ├── fortunes ├── tread.mjs ├── public │ └── stylesheets │ │ └── style.css ├── index.mjs ├── package.json ├── read-fortunes.mjs └── app.mjs ├── a-crash-course-on-docker ├── Dockerfile ├── docker-compose.yml ├── index.html └── README.md ├── webpack-101-empower-your-web-projects-with-modern-javascript └── example │ ├── src │ ├── index.js │ └── keyboardHandler.js │ ├── config │ └── webpack.config.js │ ├── index.html │ ├── package.json │ ├── dist │ └── bundle.js │ └── package-lock.json ├── a-crash-course-on-typescript-with-nodejs ├── lib │ ├── server.ts │ └── app.ts ├── dist │ ├── server.js.map │ ├── server.js │ ├── app.js.map │ └── app.js ├── tsconfig.json └── package.json └── a-kubernetes-quick-start-for-people-who-know-just-enough-about-Docker-to-get-by ├── start_nginx.sh ├── mongo-persistent-volume-claim.yml ├── mongo-persistent-volume.yml ├── node-service.yml ├── mongo-service.yml ├── init_kube_worker.sh ├── node-deployment.yml ├── install-minikube.sh ├── mongo-deployment.yml ├── install-kubernetes-worker.sh ├── init_kube_master.sh └── install-kubernetes-master.sh /README.md: -------------------------------------------------------------------------------- 1 | # sourcerer-blog 2 | -------------------------------------------------------------------------------- /nodejs-async-await-esmodules/dirname.js: -------------------------------------------------------------------------------- 1 | module.exports = { __dirname }; 2 | -------------------------------------------------------------------------------- /a-crash-course-on-docker/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM nginx:alpine 2 | VOLUME /usr/share/nginx/html 3 | EXPOSE 80 -------------------------------------------------------------------------------- /nodejs-async-await-esmodules/views/index.hbs: -------------------------------------------------------------------------------- 1 |

Fortune

2 |
3 | {{ fortune }} 4 |
-------------------------------------------------------------------------------- /webpack-101-empower-your-web-projects-with-modern-javascript/example/src/index.js: -------------------------------------------------------------------------------- 1 | //index.js 2 | import "./keyboardHandler"; 3 | -------------------------------------------------------------------------------- /nodejs-async-await-esmodules/views/error.hbs: -------------------------------------------------------------------------------- 1 |

{{message}}

2 |

{{error.status}}

3 |
{{error.stack}}
4 | -------------------------------------------------------------------------------- /nodejs-async-await-esmodules/fortunes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sourcerer-io/sourcerer-blog/HEAD/nodejs-async-await-esmodules/fortunes -------------------------------------------------------------------------------- /nodejs-async-await-esmodules/tread.mjs: -------------------------------------------------------------------------------- 1 | import fortunes from './routes/read-fortunes'; 2 | 3 | (async () => { 4 | console.log(await fortunes()); 5 | })(); 6 | -------------------------------------------------------------------------------- /a-crash-course-on-docker/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '2' 2 | 3 | services: 4 | web: 5 | build: . 6 | ports: 7 | - "8080:80" 8 | volumes: 9 | - .:/usr/share/nginx/html -------------------------------------------------------------------------------- /nodejs-async-await-esmodules/public/stylesheets/style.css: -------------------------------------------------------------------------------- 1 | body { 2 | padding: 50px; 3 | font: 14px "Lucida Grande", Helvetica, Arial, sans-serif; 4 | } 5 | 6 | a { 7 | color: #00B7FF; 8 | } 9 | -------------------------------------------------------------------------------- /a-crash-course-on-typescript-with-nodejs/lib/server.ts: -------------------------------------------------------------------------------- 1 | import app from "./app"; 2 | const port = 4040; 3 | app.listen(port, function() { 4 | console.log('Express server listening on port ' + port); 5 | }); -------------------------------------------------------------------------------- /nodejs-async-await-esmodules/views/layout.hbs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | {{title}} 5 | 6 | 7 | 8 | {{{body}}} 9 | 10 | 11 | -------------------------------------------------------------------------------- /a-kubernetes-quick-start-for-people-who-know-just-enough-about-Docker-to-get-by/start_nginx.sh: -------------------------------------------------------------------------------- 1 | kubectl run nginx --image=nginx --replicas=1 2 | kubectl expose deployment nginx --external-ip=$MASTER_IP --port=80 --target-port=80 3 | kubectl scale --replicas=3 deployment nginx -------------------------------------------------------------------------------- /webpack-101-empower-your-web-projects-with-modern-javascript/example/src/keyboardHandler.js: -------------------------------------------------------------------------------- 1 | //keyboardHandler.js 2 | import Mousetrap from 'mousetrap'; 3 | 4 | Mousetrap.bind('a', function() { alert("A key"); }); 5 | Mousetrap.bind('b', function() { alert("B key"); }); 6 | -------------------------------------------------------------------------------- /webpack-101-empower-your-web-projects-with-modern-javascript/example/config/webpack.config.js: -------------------------------------------------------------------------------- 1 | path = require('path'); 2 | 3 | module.exports = { 4 | entry: './src/index.js', 5 | output: { 6 | path: path.resolve(__dirname, '../dist'), 7 | filename: 'bundle.js' 8 | } 9 | }; 10 | 11 | -------------------------------------------------------------------------------- /a-crash-course-on-typescript-with-nodejs/dist/server.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"server.js","sourceRoot":"","sources":["../lib/server.ts"],"names":[],"mappings":";;AAAA,+BAAwB;AACxB,MAAM,IAAI,GAAG,IAAI,CAAC;AAClB,aAAG,CAAC,MAAM,CAAC,IAAI,EAAE;IACf,OAAO,CAAC,GAAG,CAAC,mCAAmC,GAAG,IAAI,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC"} -------------------------------------------------------------------------------- /a-crash-course-on-typescript-with-nodejs/dist/server.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const app_1 = require("./app"); 4 | const port = 4040; 5 | app_1.default.listen(port, function () { 6 | console.log('Express server listening on port ' + port); 7 | }); 8 | //# sourceMappingURL=server.js.map -------------------------------------------------------------------------------- /a-kubernetes-quick-start-for-people-who-know-just-enough-about-Docker-to-get-by/mongo-persistent-volume-claim.yml: -------------------------------------------------------------------------------- 1 | kind: PersistentVolumeClaim 2 | apiVersion: v1 3 | metadata: 4 | name: mongo-pv-claim 5 | spec: 6 | storageClassName: manual 7 | accessModes: 8 | - ReadWriteOnce 9 | resources: 10 | requests: 11 | storage: 3Gi -------------------------------------------------------------------------------- /webpack-101-empower-your-web-projects-with-modern-javascript/example/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Your project 5 | 6 | 7 | 8 |

Press "A" or "B" key to open modal

9 |

You can add extra content directly into your index.html file as well

10 | 11 | 12 | -------------------------------------------------------------------------------- /a-crash-course-on-typescript-with-nodejs/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "commonjs", 4 | "moduleResolution": "node", 5 | "pretty": true, 6 | "sourceMap": true, 7 | "target": "es6", 8 | "outDir": "./dist", 9 | "baseUrl": "./lib" 10 | }, 11 | "include": [ 12 | "lib/**/*.ts" 13 | ], 14 | "exclude": [ 15 | "node_modules" 16 | ] 17 | } -------------------------------------------------------------------------------- /nodejs-async-await-esmodules/index.mjs: -------------------------------------------------------------------------------- 1 | import express from 'express'; 2 | import fortunes from './read-fortunes'; 3 | 4 | export const router = express.Router(); 5 | 6 | 7 | /* GET home page. */ 8 | router.get('/', async (req, res, next) => { 9 | try { 10 | res.render('index', { 11 | title: 'Fortunes', 12 | fortune: await fortunes() 13 | }); 14 | } catch (err) { 15 | next(err); 16 | } 17 | }); 18 | -------------------------------------------------------------------------------- /a-kubernetes-quick-start-for-people-who-know-just-enough-about-Docker-to-get-by/mongo-persistent-volume.yml: -------------------------------------------------------------------------------- 1 | kind: PersistentVolume 2 | apiVersion: v1 3 | metadata: 4 | name: mongo-pv-volume 5 | labels: 6 | type: local 7 | spec: 8 | storageClassName: manual 9 | capacity: 10 | storage: 10Gi 11 | volumeMode: Filesystem 12 | accessModes: 13 | - ReadWriteOnce 14 | persistentVolumeReclaimPolicy: Retain 15 | hostPath: 16 | path: "/mnt/data/mongo" -------------------------------------------------------------------------------- /a-kubernetes-quick-start-for-people-who-know-just-enough-about-Docker-to-get-by/node-service.yml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: node 5 | labels: 6 | app: node 7 | tier: backend 8 | spec: 9 | type: LoadBalancer 10 | ports: 11 | - port: 80 12 | targetPort: 3000 13 | # Replace with the IP of your minikube node / master node 14 | externalIPs: 15 | - 192.168.99.100 16 | selector: 17 | app: node 18 | tier: backend 19 | -------------------------------------------------------------------------------- /a-kubernetes-quick-start-for-people-who-know-just-enough-about-Docker-to-get-by/mongo-service.yml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: mongo 5 | labels: 6 | app: mongo 7 | role: master 8 | tier: backend 9 | spec: 10 | ports: 11 | - port: 27017 12 | targetPort: 27017 13 | # Replace with the IP of your minikube node / master node 14 | # externalIPs: 15 | # - 192.168.99.100 16 | selector: 17 | app: mongo 18 | role: master 19 | tier: backend 20 | -------------------------------------------------------------------------------- /nodejs-async-await-esmodules/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "001-fortunejs", 3 | "version": "0.0.0", 4 | "private": true, 5 | "scripts": { 6 | "start": "FORTUNE_FILE=`pwd`/fortunes node --experimental-modules ./app" 7 | }, 8 | "dependencies": { 9 | "body-parser": "^1.18.2", 10 | "cookie-parser": "~1.4.3", 11 | "debug": "~2.6.9", 12 | "express": "~4.16.0", 13 | "fs-extra": "^5.0.0", 14 | "hbs": "^4.0.1", 15 | "http-errors": "~1.6.2", 16 | "morgan": "~1.9.0" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /webpack-101-empower-your-web-projects-with-modern-javascript/example/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "yourproject", 3 | "version": "1.0.0", 4 | "description": "", 5 | "scripts": { 6 | "build": "webpack --config config/webpack.config.js", 7 | "dev": "webpack --watch --progress --config config/webpack.config.js" 8 | }, 9 | "author": "yourname", 10 | "license": "ISC", 11 | "dependencies": { 12 | "mousetrap": "^1.6.2" 13 | }, 14 | "devDependencies": { 15 | "webpack": "^4.12.0", 16 | "webpack-cli": "^3.0.3" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /a-crash-course-on-docker/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Docker Quick Start 5 | 6 | 7 |
8 |

Hello Docker

9 |

This means the nginx server is working.

10 |
11 | 12 | -------------------------------------------------------------------------------- /a-crash-course-on-typescript-with-nodejs/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "a-crash-course-on-typescript-with-nodejs", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "build": "tsc", 8 | "dev": "ts-node ./lib/server.ts", 9 | "start": "node ./dist/server.js", 10 | "prod": "npm run build && npm start" 11 | }, 12 | "keywords": [], 13 | "author": "", 14 | "license": "ISC", 15 | "dependencies": { 16 | "@types/express": "^4.11.0", 17 | "body-parser": "^1.18.2", 18 | "express": "^4.16.2" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /nodejs-async-await-esmodules/read-fortunes.mjs: -------------------------------------------------------------------------------- 1 | 2 | import fs from 'fs-extra'; 3 | 4 | let fortunes; 5 | 6 | async function readFortunes() { 7 | const fortunesfn = process.env.FORTUNE_FILE; 8 | const fortunedata = await fs.readFile(fortunesfn, 'utf8'); 9 | fortunes = fortunedata.split('\n%\n').slice(1); 10 | } 11 | 12 | export default async function() { 13 | if (!fortunes) { 14 | await readFortunes(); 15 | } 16 | if (!fortunes) { 17 | throw new Error('Could not read fortunes'); 18 | } 19 | let f = fortunes[Math.floor(Math.random() * fortunes.length)]; 20 | return f; 21 | }; -------------------------------------------------------------------------------- /a-kubernetes-quick-start-for-people-who-know-just-enough-about-Docker-to-get-by/init_kube_worker.sh: -------------------------------------------------------------------------------- 1 | apt-get update 2 | apt-get install -y docker.io 3 | apt-get update && apt-get install -y apt-transport-https 4 | curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - 5 | 6 | cat </etc/apt/sources.list.d/kubernetes.list 7 | deb http://apt.kubernetes.io/ kubernetes-xenial main 8 | EOF 9 | 10 | apt-get update 11 | apt-get install -y kubelet kubeadm kubectl 12 | export WORKER_IP=$(dig +short myip.opendns.com @resolver1.opendns.com) 13 | 14 | # replace with output from init_kube_master.sh 15 | kubeadm join --token :6443 --discovery-token-ca-cert-hash sha256: -------------------------------------------------------------------------------- /a-kubernetes-quick-start-for-people-who-know-just-enough-about-Docker-to-get-by/node-deployment.yml: -------------------------------------------------------------------------------- 1 | apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2 2 | kind: Deployment 3 | metadata: 4 | name: node 5 | spec: 6 | selector: 7 | matchLabels: 8 | app: node 9 | tier: backend 10 | replicas: 9 11 | template: 12 | metadata: 13 | labels: 14 | app: node 15 | tier: backend 16 | spec: 17 | containers: 18 | - name: node 19 | image: adnanrahic/boilerplate-api:latest 20 | ports: 21 | - containerPort: 3000 22 | strategy: 23 | type: RollingUpdate 24 | rollingUpdate: 25 | maxSurge: 1 26 | maxUnavailable: 1 -------------------------------------------------------------------------------- /a-kubernetes-quick-start-for-people-who-know-just-enough-about-Docker-to-get-by/install-minikube.sh: -------------------------------------------------------------------------------- 1 | sudo apt-get update && sudo apt-get install -y apt-transport-https 2 | 3 | # install virtualbox 4 | sudo apt-get install virtualbox 5 | 6 | # install kubectl 7 | curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl 8 | chmod +x ./kubectl 9 | sudo mv ./kubectl /usr/local/bin/kubectl 10 | 11 | # install docker 12 | sudo apt-get install -y docker.io 13 | 14 | # install minikube 15 | curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/ -------------------------------------------------------------------------------- /a-kubernetes-quick-start-for-people-who-know-just-enough-about-Docker-to-get-by/mongo-deployment.yml: -------------------------------------------------------------------------------- 1 | apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2 2 | kind: Deployment 3 | metadata: 4 | name: mongo 5 | spec: 6 | selector: 7 | matchLabels: 8 | app: mongo 9 | role: master 10 | tier: backend 11 | replicas: 1 12 | template: 13 | metadata: 14 | labels: 15 | app: mongo 16 | role: master 17 | tier: backend 18 | spec: 19 | containers: 20 | - name: mongo 21 | image: mongo 22 | ports: 23 | - containerPort: 27017 24 | volumeMounts: 25 | - name: data 26 | mountPath: /data/db 27 | volumes: 28 | - name: data 29 | persistentVolumeClaim: 30 | claimName: mongo-pv-claim -------------------------------------------------------------------------------- /a-crash-course-on-typescript-with-nodejs/dist/app.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"app.js","sourceRoot":"","sources":["../lib/app.ts"],"names":[],"mappings":";;AAAA,mCAAmC;AACnC,0CAA0C;AAG1C;IAEE;QACE,IAAI,CAAC,GAAG,GAAG,OAAO,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAIO,MAAM;QACZ,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;IAEO,MAAM;QACZ,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAEhC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;YAC9C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,OAAO,EAAE,cAAc;aACxB,CAAC,CAAA;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;YAC/C,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;YACtB,iCAAiC;YACjC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IAE3B,CAAC;CAEF;AAED,kBAAe,IAAI,GAAG,EAAE,CAAC,GAAG,CAAC"} -------------------------------------------------------------------------------- /a-kubernetes-quick-start-for-people-who-know-just-enough-about-Docker-to-get-by/install-kubernetes-worker.sh: -------------------------------------------------------------------------------- 1 | # install docker 2 | apt-get update 3 | apt-get install -y docker.io 4 | 5 | # install kubernetes 6 | apt-get update && apt-get install -y apt-transport-https 7 | curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - 8 | 9 | cat </etc/apt/sources.list.d/kubernetes.list 10 | deb http://apt.kubernetes.io/ kubernetes-xenial main 11 | EOF 12 | 13 | apt-get update 14 | apt-get install -y kubelet kubeadm kubectl 15 | 16 | # this command will grab the public ip of the worker node 17 | export WORKER_IP=$(dig +short myip.opendns.com @resolver1.opendns.com) 18 | 19 | # run the join command returned from the init command you ran on the master node 20 | kubeadm join --token :6443 --discovery-token-ca-cert-hash sha256: 21 | 22 | ################################################################################################ 23 | 24 | # OR - use init_kube_worker.sh as a single command -------------------------------------------------------------------------------- /a-crash-course-on-typescript-with-nodejs/dist/app.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const express = require("express"); 4 | const bodyParser = require("body-parser"); 5 | class App { 6 | constructor() { 7 | this.app = express(); 8 | this.config(); 9 | this.routes(); 10 | } 11 | config() { 12 | this.app.use(bodyParser.json()); 13 | this.app.use(bodyParser.urlencoded({ extended: false })); 14 | } 15 | routes() { 16 | const router = express.Router(); 17 | router.get('/', (req, res) => { 18 | res.status(200).send({ 19 | message: 'Hello World!' 20 | }); 21 | }); 22 | router.post('/', (req, res) => { 23 | const data = req.body; 24 | // query a database and save data 25 | res.status(200).send(data); 26 | }); 27 | this.app.use('/', router); 28 | } 29 | } 30 | exports.default = new App().app; 31 | //# sourceMappingURL=app.js.map -------------------------------------------------------------------------------- /a-crash-course-on-typescript-with-nodejs/lib/app.ts: -------------------------------------------------------------------------------- 1 | import * as express from "express"; 2 | import * as bodyParser from "body-parser"; 3 | import { Request, Response } from "express"; 4 | 5 | class App { 6 | 7 | constructor() { 8 | this.app = express(); 9 | this.config(); 10 | this.routes(); 11 | } 12 | 13 | public app: express.Application; 14 | 15 | private config(): void { 16 | this.app.use(bodyParser.json()); 17 | this.app.use(bodyParser.urlencoded({ extended: false })); 18 | } 19 | 20 | private routes(): void { 21 | const router = express.Router(); 22 | 23 | router.get('/', (req: Request, res: Response) => { 24 | res.status(200).send({ 25 | message: 'Hello World!' 26 | }) 27 | }); 28 | 29 | router.post('/', (req: Request, res: Response) => { 30 | const data = req.body; 31 | // query a database and save data 32 | res.status(200).send(data); 33 | }); 34 | 35 | this.app.use('/', router) 36 | 37 | } 38 | 39 | } 40 | 41 | export default new App().app; -------------------------------------------------------------------------------- /a-kubernetes-quick-start-for-people-who-know-just-enough-about-Docker-to-get-by/init_kube_master.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | apt-get update 4 | apt-get install -y docker.io 5 | apt-get update 6 | apt-get install -y apt-transport-https 7 | curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - 8 | 9 | cat </etc/apt/sources.list.d/kubernetes.list 10 | deb http://apt.kubernetes.io/ kubernetes-xenial main 11 | EOF 12 | 13 | apt-get update 14 | apt-get install -y kubelet kubeadm kubectl 15 | export MASTER_IP=$(dig +short myip.opendns.com @resolver1.opendns.com) 16 | export INIT_OUTPUT=$(kubeadm init --apiserver-advertise-address $MASTER_IP) 17 | echo $INIT_OUTPUT > $HOME/init-output.txt 18 | grep -o "kubeadm join --token [a-zA-Z0-9\.]* [0-9\.]*:6443 --discovery-token-ca-cert-hash sha256:[a-zA-Z0-9]*" $HOME/init-output.txt > $HOME/worker_join.sh 19 | cp /etc/kubernetes/admin.conf $HOME/ 20 | chown $(id -u):$(id -g) $HOME/admin.conf 21 | export KUBECONFIG=$HOME/admin.conf 22 | sysctl net.bridge.bridge-nf-call-iptables=1 23 | export kubever=$(kubectl version | base64 | tr -d '\n') 24 | kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$kubever" 25 | cat $HOME/worker_join.sh -------------------------------------------------------------------------------- /a-kubernetes-quick-start-for-people-who-know-just-enough-about-Docker-to-get-by/install-kubernetes-master.sh: -------------------------------------------------------------------------------- 1 | # install docker 2 | apt-get update 3 | apt-get install -y docker.io 4 | 5 | # install kubernetes 6 | apt-get update && apt-get install -y apt-transport-https 7 | curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - 8 | 9 | cat </etc/apt/sources.list.d/kubernetes.list 10 | deb http://apt.kubernetes.io/ kubernetes-xenial main 11 | EOF 12 | 13 | apt-get update 14 | apt-get install -y kubelet kubeadm kubectl 15 | 16 | # this command will grab the public ip of the master node 17 | export MASTER_IP=$(dig +short myip.opendns.com @resolver1.opendns.com) 18 | 19 | # initialise the kubernetes cluster 20 | kubeadm init --apiserver-advertise-address $MASTER_IP 21 | # this will return a command with a token; 22 | # make sure to SAVE THE WHOLE COMMAND so you can use it to join worker nodes to the cluster 23 | 24 | # copy the config file so you can access the cluster 25 | cp /etc/kubernetes/admin.conf $HOME/ 26 | chown $(id -u):$(id -g) $HOME/admin.conf 27 | export KUBECONFIG=$HOME/admin.conf 28 | 29 | # install the pod network; without a network the pods cannot talk to eachother 30 | sysctl net.bridge.bridge-nf-call-iptables=1 31 | export kubever=$(kubectl version | base64 | tr -d '\n') 32 | kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$kubever" 33 | 34 | 35 | ###################################################################################### 36 | 37 | # OR - use init_kube_master.sh as a single command -------------------------------------------------------------------------------- /nodejs-async-await-esmodules/app.mjs: -------------------------------------------------------------------------------- 1 | import express from 'express'; 2 | import hbs from 'hbs'; 3 | import path from 'path'; 4 | import cookieParser from 'cookie-parser'; 5 | import bodyParser from 'body-parser'; 6 | import logger from 'morgan'; 7 | 8 | import { router as index } from './routes/index'; 9 | 10 | import DBG from 'debug'; 11 | const debug = DBG('001-fortunejs:server'); 12 | const error = DBG('001-fortunejs:server-errors'); 13 | import http from 'http'; 14 | 15 | const app = express(); 16 | 17 | export default app; 18 | 19 | // Workaround for lack of __dirname in ES6 modules 20 | // Use this for Node.js 10.x 21 | // const __dirname = path.dirname(new URL(import.meta.url).pathname); 22 | // Use this for Node.js 9.x 23 | import dn from './dirname'; 24 | const __dirname = dn.__dirname; 25 | 26 | app.set('views', path.join(__dirname, 'views')); 27 | app.set('view engine', 'hbs'); 28 | hbs.registerPartials(path.join(__dirname, 'partials')); 29 | 30 | app.use(logger('dev')); 31 | app.use(express.json()); 32 | app.use(express.urlencoded({ extended: false })); 33 | app.use(bodyParser.json()); 34 | app.use(bodyParser.urlencoded({ extended: false })); 35 | app.use(cookieParser()); 36 | app.use(express.static(path.join(__dirname, 'public'))); 37 | 38 | app.use('/', index); 39 | 40 | const port = normalizePort(process.env.PORT || '3000'); 41 | app.set('port', port); 42 | 43 | const server = http.createServer(app); 44 | 45 | server.listen(port); 46 | server.on('error', onError); 47 | server.on('listening', onListening); 48 | 49 | function normalizePort(val) { 50 | var port = parseInt(val, 10); 51 | 52 | if (isNaN(port)) { 53 | // named pipe 54 | return val; 55 | } 56 | 57 | if (port >= 0) { 58 | // port number 59 | return port; 60 | } 61 | 62 | return false; 63 | } 64 | 65 | // catch 404 and forward to error handler 66 | app.use(function(req, res, next) { 67 | var err = new Error('Not Found'); 68 | err.status = 404; 69 | next(err); 70 | }); 71 | 72 | process.on('uncaughtException', function(err) { 73 | error("I've crashed!!! - "+ (err.stack || err)); 74 | }); 75 | 76 | process.on('unhandledRejection', (reason, p) => { 77 | error(`Unhandled Rejection at: ${util.inspect(p)} reason: ${reason}`); 78 | }); 79 | 80 | 81 | function onError(error) { 82 | if (error.syscall !== 'listen') { 83 | throw error; 84 | } 85 | 86 | var bind = typeof port === 'string' 87 | ? 'Pipe ' + port 88 | : 'Port ' + port; 89 | 90 | // handle specific listen errors with friendly messages 91 | switch (error.code) { 92 | case 'EACCES': 93 | console.error(bind + ' requires elevated privileges'); 94 | process.exit(1); 95 | break; 96 | case 'EADDRINUSE': 97 | console.error(bind + ' is already in use'); 98 | process.exit(1); 99 | break; 100 | default: 101 | throw error; 102 | } 103 | } 104 | 105 | function onListening() { 106 | var addr = server.address(); 107 | var bind = typeof addr === 'string' 108 | ? 'pipe ' + addr 109 | : 'port ' + addr.port; 110 | debug('Listening on ' + bind); 111 | } 112 | -------------------------------------------------------------------------------- /a-crash-course-on-docker/README.md: -------------------------------------------------------------------------------- 1 | ![a rather large whale](https://cdn-images-1.medium.com/max/2000/1*GQ6CAclmEnGe7PX4pg6sSA.jpeg) 2 | 3 | # A crash course on Docker 4 | 5 | The quick start guide you are looking for. 6 | You can take a look at the full article [here]() (issue #1, add article title once published). 7 | 8 | ## TL;DR 9 | - "Why I need this?" 10 | - Quick Start 11 | - Real-life scenario 12 | 13 | ## "Why I need this?" 14 | - What is Docker? 15 | - What is a VM? 16 | - What is CaaS? 17 | - Using automation 18 | 19 | ## Quick Start 20 | - Installation 21 | 22 | **Ubuntu** 23 | ```bash 24 | $ sudo apt-get update 25 | $ sudo apt-get install -y docker-ce 26 | $ sudo systemctl status docker 27 | 28 | 29 | // output // 30 | 31 | ● docker.service - Docker Application Container Engine 32 | Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) 33 | Active: active (running) since Sun 2018-01-14 12:42:17 CET; 4h 46min ago 34 | Docs: https://docs.docker.com 35 | Main PID: 2156 (dockerd) 36 | Tasks: 26 37 | Memory: 63.0M 38 | CPU: 1min 57.541s 39 | CGroup: /system.slice/docker.service 40 | ├─2156 /usr/bin/dockerd -H fd:// 41 | └─2204 docker-containerd --config /var/run/docker/containerd/containerd.toml 42 | ``` 43 | 44 | If the system service is stopped. 45 | ```bash 46 | $ sudo systemctl start docker && sudo systemctl enable docker 47 | ``` 48 | 49 | Run Docker without **sudo** 50 | ```bash 51 | $ sudo usermod -aG docker ${USER} 52 | $ su - ${USER} 53 | $ id -nG 54 | ``` 55 | If you see your username is the list of usernames, you're set. 56 | 57 | **Mac** 58 | Download and install. 59 | - https://docs.docker.com/docker-for-mac/install/ 60 | 61 | **Windows** 62 | Download and install. 63 | - https://docs.docker.com/docker-for-windows/install/ 64 | 65 | 66 | - Create a container 67 | ```bash 68 | $ docker create -it ubuntu:16.04 bash 69 | ``` 70 | 71 | - List all containers 72 | ```bash 73 | $ docker ps -a 74 | 75 | // output // 76 | CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 77 | 7643dba89904 ubuntu:16.04 "bash" X min ago Created name 78 | ``` 79 | 80 | - Start a container where in this case `7643dba89904` is the `` 81 | ```bash 82 | $ docker start 7643dba89904 83 | ``` 84 | 85 | - List only running containers 86 | ```bash 87 | $ docker ps 88 | ``` 89 | 90 | - Connect to a container 91 | ```bash 92 | $ docker attach 7643dba89904 93 | ``` 94 | 95 | - Delete a container 96 | ```bash 97 | $ docker rm 7643dba89904 98 | ``` 99 | 100 | ## Real-life scenario 101 | 102 | - Create a container and bind a volume to the host machine 103 | - In this case it will bind the current working directory from the host machine where you run the command in the terminal 104 | ```bash 105 | $ docker create -it -v $(pwd):/var/www ubuntu:latest bash 106 | ``` 107 | 108 | - Create and start a container with a single command 109 | - `-d` flag tells the container to run detached, in the background, meaning you can go ahead and attach to it right away. 110 | ```bash 111 | $ docker run -it -d ubuntu:16.04 bash 112 | ``` 113 | 114 | - Stop a running container 115 | ```bash 116 | $ docker stop 117 | ``` 118 | 119 | ### Using the config files 120 | - Check out the **Dockerfile**, **docker-compose.yml**, and the **index.html**. 121 | 122 | #### Build an image from a **Dockerfile** 123 | ```bash 124 | $ docker build . -t webserver:v1 125 | ``` 126 | 127 | - List created Docker images 128 | ```bash 129 | $ docker images 130 | ``` 131 | 132 | ### Run the created image 133 | ```bash 134 | $ docker run -v $(pwd):/usr/share/nginx/html -d -p 8080:80 webserver:v1 135 | ``` 136 | 137 | #### Run with docker-compose 138 | - The `-d` signals docker-compose to run detached, then you can use `$ docker-compose ps` to see what’s currently running, or stop docker-compose with `$ docker-compose stop`. 139 | ```bash 140 | $ docker-compose up (-d) 141 | ``` 142 | 143 | 144 | ### Deleting images and containers 145 | ```bash 146 | $ docker rmi 147 | $ docker rm 148 | ``` 149 | 150 | Happy Dockering! :D -------------------------------------------------------------------------------- /webpack-101-empower-your-web-projects-with-modern-javascript/example/dist/bundle.js: -------------------------------------------------------------------------------- 1 | !function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=1)}([function(e,t,n){var r;!function(o,i,a){if(o){for(var c,u={8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"ins",46:"del",91:"meta",93:"meta",224:"meta"},l={106:"*",107:"+",109:"-",110:".",111:"/",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},s={"~":"`","!":"1","@":"2","#":"3",$:"4","%":"5","^":"6","&":"7","*":"8","(":"9",")":"0",_:"-","+":"=",":":";",'"':"'","<":",",">":".","?":"/","|":"\\"},f={option:"alt",command:"meta",return:"enter",escape:"esc",plus:"+",mod:/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"meta":"ctrl"},p=1;p<20;++p)u[111+p]="f"+p;for(p=0;p<=9;++p)u[p+96]=p.toString();k.prototype.bind=function(e,t,n){return e=e instanceof Array?e:[e],this._bindMultiple.call(this,e,t,n),this},k.prototype.unbind=function(e,t){return this.bind.call(this,e,function(){},t)},k.prototype.trigger=function(e,t){return this._directMap[e+":"+t]&&this._directMap[e+":"+t]({},e),this},k.prototype.reset=function(){return this._callbacks={},this._directMap={},this},k.prototype.stopCallback=function(e,t){return!((" "+t.className+" ").indexOf(" mousetrap ")>-1)&&(!function e(t,n){return null!==t&&t!==i&&(t===n||e(t.parentNode,n))}(t,this.target)&&("INPUT"==t.tagName||"SELECT"==t.tagName||"TEXTAREA"==t.tagName||t.isContentEditable))},k.prototype.handleKey=function(){return this._handleKey.apply(this,arguments)},k.addKeycodes=function(e){for(var t in e)e.hasOwnProperty(t)&&(u[t]=e[t]);c=null},k.init=function(){var e=k(i);for(var t in e)"_"!==t.charAt(0)&&(k[t]=function(t){return function(){return e[t].apply(e,arguments)}}(t))},k.init(),o.Mousetrap=k,void 0!==e&&e.exports&&(e.exports=k),void 0===(r=function(){return k}.call(t,n,t,e))||(e.exports=r)}function d(e,t,n){e.addEventListener?e.addEventListener(t,n,!1):e.attachEvent("on"+t,n)}function h(e){if("keypress"==e.type){var t=String.fromCharCode(e.which);return e.shiftKey||(t=t.toLowerCase()),t}return u[e.which]?u[e.which]:l[e.which]?l[e.which]:String.fromCharCode(e.which).toLowerCase()}function y(e,t){return e.sort().join(",")===t.sort().join(",")}function b(e){return"shift"==e||"ctrl"==e||"alt"==e||"meta"==e}function m(e,t,n){return n||(n=function(){if(!c)for(var e in c={},u)e>95&&e<112||u.hasOwnProperty(e)&&(c[u[e]]=e);return c}()[e]?"keydown":"keypress"),"keypress"==n&&t.length&&(n="keydown"),n}function v(e,t){var n,r,o,i=[];for(n=function(e){return"+"===e?["+"]:(e=e.replace(/\+{2}/g,"+plus")).split("+")}(e),o=0;o1?p(e,c,n,r):(a=v(e,r),t._callbacks[a.key]=t._callbacks[a.key]||[],l(a.key,a.modifiers,{type:a.action},o,e,i),t._callbacks[a.key][o?"unshift":"push"]({callback:n,modifiers:a.modifiers,action:a.action,seq:o,level:i,combo:e}))}t._handleKey=function(e,t,n){var r,o=l(e,t,n),i={},f=0,p=!1;for(r=0;r= 2.1.2 < 3" 2081 | } 2082 | }, 2083 | "ieee754": { 2084 | "version": "1.1.12", 2085 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz", 2086 | "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==", 2087 | "dev": true 2088 | }, 2089 | "iferr": { 2090 | "version": "0.1.5", 2091 | "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", 2092 | "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", 2093 | "dev": true 2094 | }, 2095 | "import-local": { 2096 | "version": "1.0.0", 2097 | "resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz", 2098 | "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==", 2099 | "dev": true, 2100 | "requires": { 2101 | "pkg-dir": "^2.0.0", 2102 | "resolve-cwd": "^2.0.0" 2103 | } 2104 | }, 2105 | "imurmurhash": { 2106 | "version": "0.1.4", 2107 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 2108 | "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", 2109 | "dev": true 2110 | }, 2111 | "indexof": { 2112 | "version": "0.0.1", 2113 | "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", 2114 | "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", 2115 | "dev": true 2116 | }, 2117 | "inflight": { 2118 | "version": "1.0.6", 2119 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 2120 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 2121 | "dev": true, 2122 | "requires": { 2123 | "once": "^1.3.0", 2124 | "wrappy": "1" 2125 | } 2126 | }, 2127 | "inherits": { 2128 | "version": "2.0.3", 2129 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 2130 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", 2131 | "dev": true 2132 | }, 2133 | "inquirer": { 2134 | "version": "6.0.0", 2135 | "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.0.0.tgz", 2136 | "integrity": "sha512-tISQWRwtcAgrz+SHPhTH7d3e73k31gsOy6i1csonLc0u1dVK/wYvuOnFeiWqC5OXFIYbmrIFInef31wbT8MEJg==", 2137 | "dev": true, 2138 | "requires": { 2139 | "ansi-escapes": "^3.0.0", 2140 | "chalk": "^2.0.0", 2141 | "cli-cursor": "^2.1.0", 2142 | "cli-width": "^2.0.0", 2143 | "external-editor": "^3.0.0", 2144 | "figures": "^2.0.0", 2145 | "lodash": "^4.3.0", 2146 | "mute-stream": "0.0.7", 2147 | "run-async": "^2.2.0", 2148 | "rxjs": "^6.1.0", 2149 | "string-width": "^2.1.0", 2150 | "strip-ansi": "^4.0.0", 2151 | "through": "^2.3.6" 2152 | } 2153 | }, 2154 | "interpret": { 2155 | "version": "1.1.0", 2156 | "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", 2157 | "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=", 2158 | "dev": true 2159 | }, 2160 | "invert-kv": { 2161 | "version": "1.0.0", 2162 | "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", 2163 | "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", 2164 | "dev": true 2165 | }, 2166 | "is-accessor-descriptor": { 2167 | "version": "0.1.6", 2168 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", 2169 | "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", 2170 | "dev": true, 2171 | "requires": { 2172 | "kind-of": "^3.0.2" 2173 | }, 2174 | "dependencies": { 2175 | "kind-of": { 2176 | "version": "3.2.2", 2177 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 2178 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 2179 | "dev": true, 2180 | "requires": { 2181 | "is-buffer": "^1.1.5" 2182 | } 2183 | } 2184 | } 2185 | }, 2186 | "is-binary-path": { 2187 | "version": "1.0.1", 2188 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", 2189 | "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", 2190 | "dev": true, 2191 | "requires": { 2192 | "binary-extensions": "^1.0.0" 2193 | } 2194 | }, 2195 | "is-buffer": { 2196 | "version": "1.1.6", 2197 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", 2198 | "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", 2199 | "dev": true 2200 | }, 2201 | "is-data-descriptor": { 2202 | "version": "0.1.4", 2203 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", 2204 | "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", 2205 | "dev": true, 2206 | "requires": { 2207 | "kind-of": "^3.0.2" 2208 | }, 2209 | "dependencies": { 2210 | "kind-of": { 2211 | "version": "3.2.2", 2212 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 2213 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 2214 | "dev": true, 2215 | "requires": { 2216 | "is-buffer": "^1.1.5" 2217 | } 2218 | } 2219 | } 2220 | }, 2221 | "is-descriptor": { 2222 | "version": "0.1.6", 2223 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", 2224 | "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", 2225 | "dev": true, 2226 | "requires": { 2227 | "is-accessor-descriptor": "^0.1.6", 2228 | "is-data-descriptor": "^0.1.4", 2229 | "kind-of": "^5.0.0" 2230 | }, 2231 | "dependencies": { 2232 | "kind-of": { 2233 | "version": "5.1.0", 2234 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", 2235 | "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", 2236 | "dev": true 2237 | } 2238 | } 2239 | }, 2240 | "is-extendable": { 2241 | "version": "0.1.1", 2242 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", 2243 | "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", 2244 | "dev": true 2245 | }, 2246 | "is-extglob": { 2247 | "version": "2.1.1", 2248 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 2249 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", 2250 | "dev": true 2251 | }, 2252 | "is-fullwidth-code-point": { 2253 | "version": "2.0.0", 2254 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", 2255 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", 2256 | "dev": true 2257 | }, 2258 | "is-glob": { 2259 | "version": "4.0.0", 2260 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", 2261 | "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", 2262 | "dev": true, 2263 | "requires": { 2264 | "is-extglob": "^2.1.1" 2265 | } 2266 | }, 2267 | "is-number": { 2268 | "version": "3.0.0", 2269 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", 2270 | "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", 2271 | "dev": true, 2272 | "requires": { 2273 | "kind-of": "^3.0.2" 2274 | }, 2275 | "dependencies": { 2276 | "kind-of": { 2277 | "version": "3.2.2", 2278 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 2279 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 2280 | "dev": true, 2281 | "requires": { 2282 | "is-buffer": "^1.1.5" 2283 | } 2284 | } 2285 | } 2286 | }, 2287 | "is-odd": { 2288 | "version": "2.0.0", 2289 | "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz", 2290 | "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==", 2291 | "dev": true, 2292 | "requires": { 2293 | "is-number": "^4.0.0" 2294 | }, 2295 | "dependencies": { 2296 | "is-number": { 2297 | "version": "4.0.0", 2298 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", 2299 | "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", 2300 | "dev": true 2301 | } 2302 | } 2303 | }, 2304 | "is-plain-object": { 2305 | "version": "2.0.4", 2306 | "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", 2307 | "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", 2308 | "dev": true, 2309 | "requires": { 2310 | "isobject": "^3.0.1" 2311 | } 2312 | }, 2313 | "is-promise": { 2314 | "version": "2.1.0", 2315 | "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", 2316 | "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", 2317 | "dev": true 2318 | }, 2319 | "is-stream": { 2320 | "version": "1.1.0", 2321 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", 2322 | "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", 2323 | "dev": true 2324 | }, 2325 | "is-windows": { 2326 | "version": "1.0.2", 2327 | "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", 2328 | "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", 2329 | "dev": true 2330 | }, 2331 | "isarray": { 2332 | "version": "1.0.0", 2333 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 2334 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", 2335 | "dev": true 2336 | }, 2337 | "isexe": { 2338 | "version": "2.0.0", 2339 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 2340 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", 2341 | "dev": true 2342 | }, 2343 | "isobject": { 2344 | "version": "3.0.1", 2345 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", 2346 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", 2347 | "dev": true 2348 | }, 2349 | "json-parse-better-errors": { 2350 | "version": "1.0.2", 2351 | "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", 2352 | "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", 2353 | "dev": true 2354 | }, 2355 | "json-schema-traverse": { 2356 | "version": "0.4.1", 2357 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 2358 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", 2359 | "dev": true 2360 | }, 2361 | "json5": { 2362 | "version": "0.5.1", 2363 | "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", 2364 | "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", 2365 | "dev": true 2366 | }, 2367 | "kind-of": { 2368 | "version": "6.0.2", 2369 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", 2370 | "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", 2371 | "dev": true 2372 | }, 2373 | "lcid": { 2374 | "version": "1.0.0", 2375 | "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", 2376 | "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", 2377 | "dev": true, 2378 | "requires": { 2379 | "invert-kv": "^1.0.0" 2380 | } 2381 | }, 2382 | "leb": { 2383 | "version": "0.3.0", 2384 | "resolved": "https://registry.npmjs.org/leb/-/leb-0.3.0.tgz", 2385 | "integrity": "sha1-Mr7p+tFoMo1q6oUi2DP0GA7tHaM=", 2386 | "dev": true 2387 | }, 2388 | "loader-runner": { 2389 | "version": "2.3.0", 2390 | "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.0.tgz", 2391 | "integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=", 2392 | "dev": true 2393 | }, 2394 | "loader-utils": { 2395 | "version": "1.1.0", 2396 | "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", 2397 | "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", 2398 | "dev": true, 2399 | "requires": { 2400 | "big.js": "^3.1.3", 2401 | "emojis-list": "^2.0.0", 2402 | "json5": "^0.5.0" 2403 | } 2404 | }, 2405 | "locate-path": { 2406 | "version": "2.0.0", 2407 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", 2408 | "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", 2409 | "dev": true, 2410 | "requires": { 2411 | "p-locate": "^2.0.0", 2412 | "path-exists": "^3.0.0" 2413 | } 2414 | }, 2415 | "lodash": { 2416 | "version": "4.17.10", 2417 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", 2418 | "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", 2419 | "dev": true 2420 | }, 2421 | "lodash.debounce": { 2422 | "version": "4.0.8", 2423 | "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", 2424 | "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", 2425 | "dev": true 2426 | }, 2427 | "long": { 2428 | "version": "3.2.0", 2429 | "resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz", 2430 | "integrity": "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s=", 2431 | "dev": true 2432 | }, 2433 | "lru-cache": { 2434 | "version": "4.1.3", 2435 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", 2436 | "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", 2437 | "dev": true, 2438 | "requires": { 2439 | "pseudomap": "^1.0.2", 2440 | "yallist": "^2.1.2" 2441 | } 2442 | }, 2443 | "make-dir": { 2444 | "version": "1.3.0", 2445 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", 2446 | "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", 2447 | "dev": true, 2448 | "requires": { 2449 | "pify": "^3.0.0" 2450 | } 2451 | }, 2452 | "mamacro": { 2453 | "version": "0.0.3", 2454 | "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz", 2455 | "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==", 2456 | "dev": true 2457 | }, 2458 | "map-cache": { 2459 | "version": "0.2.2", 2460 | "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", 2461 | "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", 2462 | "dev": true 2463 | }, 2464 | "map-visit": { 2465 | "version": "1.0.0", 2466 | "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", 2467 | "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", 2468 | "dev": true, 2469 | "requires": { 2470 | "object-visit": "^1.0.0" 2471 | } 2472 | }, 2473 | "md5.js": { 2474 | "version": "1.3.4", 2475 | "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", 2476 | "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", 2477 | "dev": true, 2478 | "requires": { 2479 | "hash-base": "^3.0.0", 2480 | "inherits": "^2.0.1" 2481 | } 2482 | }, 2483 | "mem": { 2484 | "version": "1.1.0", 2485 | "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", 2486 | "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", 2487 | "dev": true, 2488 | "requires": { 2489 | "mimic-fn": "^1.0.0" 2490 | } 2491 | }, 2492 | "memory-fs": { 2493 | "version": "0.4.1", 2494 | "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", 2495 | "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", 2496 | "dev": true, 2497 | "requires": { 2498 | "errno": "^0.1.3", 2499 | "readable-stream": "^2.0.1" 2500 | } 2501 | }, 2502 | "micromatch": { 2503 | "version": "3.1.10", 2504 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", 2505 | "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", 2506 | "dev": true, 2507 | "requires": { 2508 | "arr-diff": "^4.0.0", 2509 | "array-unique": "^0.3.2", 2510 | "braces": "^2.3.1", 2511 | "define-property": "^2.0.2", 2512 | "extend-shallow": "^3.0.2", 2513 | "extglob": "^2.0.4", 2514 | "fragment-cache": "^0.2.1", 2515 | "kind-of": "^6.0.2", 2516 | "nanomatch": "^1.2.9", 2517 | "object.pick": "^1.3.0", 2518 | "regex-not": "^1.0.0", 2519 | "snapdragon": "^0.8.1", 2520 | "to-regex": "^3.0.2" 2521 | } 2522 | }, 2523 | "miller-rabin": { 2524 | "version": "4.0.1", 2525 | "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", 2526 | "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", 2527 | "dev": true, 2528 | "requires": { 2529 | "bn.js": "^4.0.0", 2530 | "brorand": "^1.0.1" 2531 | } 2532 | }, 2533 | "mimic-fn": { 2534 | "version": "1.2.0", 2535 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", 2536 | "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", 2537 | "dev": true 2538 | }, 2539 | "minimalistic-assert": { 2540 | "version": "1.0.1", 2541 | "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", 2542 | "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", 2543 | "dev": true 2544 | }, 2545 | "minimalistic-crypto-utils": { 2546 | "version": "1.0.1", 2547 | "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", 2548 | "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", 2549 | "dev": true 2550 | }, 2551 | "minimatch": { 2552 | "version": "3.0.4", 2553 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 2554 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 2555 | "dev": true, 2556 | "requires": { 2557 | "brace-expansion": "^1.1.7" 2558 | } 2559 | }, 2560 | "minimist": { 2561 | "version": "0.0.8", 2562 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", 2563 | "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", 2564 | "dev": true 2565 | }, 2566 | "mississippi": { 2567 | "version": "2.0.0", 2568 | "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz", 2569 | "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", 2570 | "dev": true, 2571 | "requires": { 2572 | "concat-stream": "^1.5.0", 2573 | "duplexify": "^3.4.2", 2574 | "end-of-stream": "^1.1.0", 2575 | "flush-write-stream": "^1.0.0", 2576 | "from2": "^2.1.0", 2577 | "parallel-transform": "^1.1.0", 2578 | "pump": "^2.0.1", 2579 | "pumpify": "^1.3.3", 2580 | "stream-each": "^1.1.0", 2581 | "through2": "^2.0.0" 2582 | } 2583 | }, 2584 | "mixin-deep": { 2585 | "version": "1.3.1", 2586 | "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", 2587 | "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", 2588 | "dev": true, 2589 | "requires": { 2590 | "for-in": "^1.0.2", 2591 | "is-extendable": "^1.0.1" 2592 | }, 2593 | "dependencies": { 2594 | "is-extendable": { 2595 | "version": "1.0.1", 2596 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", 2597 | "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", 2598 | "dev": true, 2599 | "requires": { 2600 | "is-plain-object": "^2.0.4" 2601 | } 2602 | } 2603 | } 2604 | }, 2605 | "mkdirp": { 2606 | "version": "0.5.1", 2607 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", 2608 | "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", 2609 | "dev": true, 2610 | "requires": { 2611 | "minimist": "0.0.8" 2612 | } 2613 | }, 2614 | "mousetrap": { 2615 | "version": "1.6.2", 2616 | "resolved": "https://registry.npmjs.org/mousetrap/-/mousetrap-1.6.2.tgz", 2617 | "integrity": "sha512-jDjhi7wlHwdO6q6DS7YRmSHcuI+RVxadBkLt3KHrhd3C2b+w5pKefg3oj5beTcHZyVFA9Aksf+yEE1y5jxUjVA==" 2618 | }, 2619 | "move-concurrently": { 2620 | "version": "1.0.1", 2621 | "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", 2622 | "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", 2623 | "dev": true, 2624 | "requires": { 2625 | "aproba": "^1.1.1", 2626 | "copy-concurrently": "^1.0.0", 2627 | "fs-write-stream-atomic": "^1.0.8", 2628 | "mkdirp": "^0.5.1", 2629 | "rimraf": "^2.5.4", 2630 | "run-queue": "^1.0.3" 2631 | } 2632 | }, 2633 | "ms": { 2634 | "version": "2.0.0", 2635 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 2636 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", 2637 | "dev": true 2638 | }, 2639 | "mute-stream": { 2640 | "version": "0.0.7", 2641 | "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", 2642 | "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", 2643 | "dev": true 2644 | }, 2645 | "nan": { 2646 | "version": "2.10.0", 2647 | "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", 2648 | "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", 2649 | "dev": true, 2650 | "optional": true 2651 | }, 2652 | "nanomatch": { 2653 | "version": "1.2.9", 2654 | "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz", 2655 | "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==", 2656 | "dev": true, 2657 | "requires": { 2658 | "arr-diff": "^4.0.0", 2659 | "array-unique": "^0.3.2", 2660 | "define-property": "^2.0.2", 2661 | "extend-shallow": "^3.0.2", 2662 | "fragment-cache": "^0.2.1", 2663 | "is-odd": "^2.0.0", 2664 | "is-windows": "^1.0.2", 2665 | "kind-of": "^6.0.2", 2666 | "object.pick": "^1.3.0", 2667 | "regex-not": "^1.0.0", 2668 | "snapdragon": "^0.8.1", 2669 | "to-regex": "^3.0.1" 2670 | } 2671 | }, 2672 | "neo-async": { 2673 | "version": "2.5.1", 2674 | "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.5.1.tgz", 2675 | "integrity": "sha512-3KL3fvuRkZ7s4IFOMfztb7zJp3QaVWnBeGoJlgB38XnCRPj/0tLzzLG5IB8NYOHbJ8g8UGrgZv44GLDk6CxTxA==", 2676 | "dev": true 2677 | }, 2678 | "nice-try": { 2679 | "version": "1.0.4", 2680 | "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.4.tgz", 2681 | "integrity": "sha512-2NpiFHqC87y/zFke0fC0spBXL3bBsoh/p5H1EFhshxjCR5+0g2d6BiXbUFz9v1sAcxsk2htp2eQnNIci2dIYcA==", 2682 | "dev": true 2683 | }, 2684 | "node-libs-browser": { 2685 | "version": "2.1.0", 2686 | "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz", 2687 | "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==", 2688 | "dev": true, 2689 | "requires": { 2690 | "assert": "^1.1.1", 2691 | "browserify-zlib": "^0.2.0", 2692 | "buffer": "^4.3.0", 2693 | "console-browserify": "^1.1.0", 2694 | "constants-browserify": "^1.0.0", 2695 | "crypto-browserify": "^3.11.0", 2696 | "domain-browser": "^1.1.1", 2697 | "events": "^1.0.0", 2698 | "https-browserify": "^1.0.0", 2699 | "os-browserify": "^0.3.0", 2700 | "path-browserify": "0.0.0", 2701 | "process": "^0.11.10", 2702 | "punycode": "^1.2.4", 2703 | "querystring-es3": "^0.2.0", 2704 | "readable-stream": "^2.3.3", 2705 | "stream-browserify": "^2.0.1", 2706 | "stream-http": "^2.7.2", 2707 | "string_decoder": "^1.0.0", 2708 | "timers-browserify": "^2.0.4", 2709 | "tty-browserify": "0.0.0", 2710 | "url": "^0.11.0", 2711 | "util": "^0.10.3", 2712 | "vm-browserify": "0.0.4" 2713 | }, 2714 | "dependencies": { 2715 | "punycode": { 2716 | "version": "1.4.1", 2717 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", 2718 | "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", 2719 | "dev": true 2720 | } 2721 | } 2722 | }, 2723 | "normalize-path": { 2724 | "version": "2.1.1", 2725 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", 2726 | "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", 2727 | "dev": true, 2728 | "requires": { 2729 | "remove-trailing-separator": "^1.0.1" 2730 | } 2731 | }, 2732 | "npm-run-path": { 2733 | "version": "2.0.2", 2734 | "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", 2735 | "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", 2736 | "dev": true, 2737 | "requires": { 2738 | "path-key": "^2.0.0" 2739 | } 2740 | }, 2741 | "number-is-nan": { 2742 | "version": "1.0.1", 2743 | "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", 2744 | "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", 2745 | "dev": true 2746 | }, 2747 | "object-copy": { 2748 | "version": "0.1.0", 2749 | "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", 2750 | "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", 2751 | "dev": true, 2752 | "requires": { 2753 | "copy-descriptor": "^0.1.0", 2754 | "define-property": "^0.2.5", 2755 | "kind-of": "^3.0.3" 2756 | }, 2757 | "dependencies": { 2758 | "define-property": { 2759 | "version": "0.2.5", 2760 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 2761 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 2762 | "dev": true, 2763 | "requires": { 2764 | "is-descriptor": "^0.1.0" 2765 | } 2766 | }, 2767 | "kind-of": { 2768 | "version": "3.2.2", 2769 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 2770 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 2771 | "dev": true, 2772 | "requires": { 2773 | "is-buffer": "^1.1.5" 2774 | } 2775 | } 2776 | } 2777 | }, 2778 | "object-visit": { 2779 | "version": "1.0.1", 2780 | "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", 2781 | "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", 2782 | "dev": true, 2783 | "requires": { 2784 | "isobject": "^3.0.0" 2785 | } 2786 | }, 2787 | "object.pick": { 2788 | "version": "1.3.0", 2789 | "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", 2790 | "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", 2791 | "dev": true, 2792 | "requires": { 2793 | "isobject": "^3.0.1" 2794 | } 2795 | }, 2796 | "once": { 2797 | "version": "1.4.0", 2798 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 2799 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 2800 | "dev": true, 2801 | "requires": { 2802 | "wrappy": "1" 2803 | } 2804 | }, 2805 | "onetime": { 2806 | "version": "2.0.1", 2807 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", 2808 | "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", 2809 | "dev": true, 2810 | "requires": { 2811 | "mimic-fn": "^1.0.0" 2812 | } 2813 | }, 2814 | "os-browserify": { 2815 | "version": "0.3.0", 2816 | "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", 2817 | "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", 2818 | "dev": true 2819 | }, 2820 | "os-locale": { 2821 | "version": "2.1.0", 2822 | "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", 2823 | "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", 2824 | "dev": true, 2825 | "requires": { 2826 | "execa": "^0.7.0", 2827 | "lcid": "^1.0.0", 2828 | "mem": "^1.1.0" 2829 | } 2830 | }, 2831 | "os-tmpdir": { 2832 | "version": "1.0.2", 2833 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", 2834 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", 2835 | "dev": true 2836 | }, 2837 | "p-finally": { 2838 | "version": "1.0.0", 2839 | "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", 2840 | "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", 2841 | "dev": true 2842 | }, 2843 | "p-limit": { 2844 | "version": "1.3.0", 2845 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", 2846 | "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", 2847 | "dev": true, 2848 | "requires": { 2849 | "p-try": "^1.0.0" 2850 | } 2851 | }, 2852 | "p-locate": { 2853 | "version": "2.0.0", 2854 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", 2855 | "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", 2856 | "dev": true, 2857 | "requires": { 2858 | "p-limit": "^1.1.0" 2859 | } 2860 | }, 2861 | "p-try": { 2862 | "version": "1.0.0", 2863 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", 2864 | "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", 2865 | "dev": true 2866 | }, 2867 | "pako": { 2868 | "version": "1.0.6", 2869 | "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz", 2870 | "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==", 2871 | "dev": true 2872 | }, 2873 | "parallel-transform": { 2874 | "version": "1.1.0", 2875 | "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz", 2876 | "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", 2877 | "dev": true, 2878 | "requires": { 2879 | "cyclist": "~0.2.2", 2880 | "inherits": "^2.0.3", 2881 | "readable-stream": "^2.1.5" 2882 | } 2883 | }, 2884 | "parse-asn1": { 2885 | "version": "5.1.1", 2886 | "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", 2887 | "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==", 2888 | "dev": true, 2889 | "requires": { 2890 | "asn1.js": "^4.0.0", 2891 | "browserify-aes": "^1.0.0", 2892 | "create-hash": "^1.1.0", 2893 | "evp_bytestokey": "^1.0.0", 2894 | "pbkdf2": "^3.0.3" 2895 | } 2896 | }, 2897 | "pascalcase": { 2898 | "version": "0.1.1", 2899 | "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", 2900 | "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", 2901 | "dev": true 2902 | }, 2903 | "path-browserify": { 2904 | "version": "0.0.0", 2905 | "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", 2906 | "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=", 2907 | "dev": true 2908 | }, 2909 | "path-dirname": { 2910 | "version": "1.0.2", 2911 | "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", 2912 | "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", 2913 | "dev": true 2914 | }, 2915 | "path-exists": { 2916 | "version": "3.0.0", 2917 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", 2918 | "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", 2919 | "dev": true 2920 | }, 2921 | "path-is-absolute": { 2922 | "version": "1.0.1", 2923 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 2924 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 2925 | "dev": true 2926 | }, 2927 | "path-key": { 2928 | "version": "2.0.1", 2929 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", 2930 | "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", 2931 | "dev": true 2932 | }, 2933 | "pbkdf2": { 2934 | "version": "3.0.16", 2935 | "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.16.tgz", 2936 | "integrity": "sha512-y4CXP3thSxqf7c0qmOF+9UeOTrifiVTIM+u7NWlq+PRsHbr7r7dpCmvzrZxa96JJUNi0Y5w9VqG5ZNeCVMoDcA==", 2937 | "dev": true, 2938 | "requires": { 2939 | "create-hash": "^1.1.2", 2940 | "create-hmac": "^1.1.4", 2941 | "ripemd160": "^2.0.1", 2942 | "safe-buffer": "^5.0.1", 2943 | "sha.js": "^2.4.8" 2944 | } 2945 | }, 2946 | "pify": { 2947 | "version": "3.0.0", 2948 | "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", 2949 | "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", 2950 | "dev": true 2951 | }, 2952 | "pkg-dir": { 2953 | "version": "2.0.0", 2954 | "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", 2955 | "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", 2956 | "dev": true, 2957 | "requires": { 2958 | "find-up": "^2.1.0" 2959 | } 2960 | }, 2961 | "posix-character-classes": { 2962 | "version": "0.1.1", 2963 | "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", 2964 | "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", 2965 | "dev": true 2966 | }, 2967 | "process": { 2968 | "version": "0.11.10", 2969 | "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", 2970 | "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", 2971 | "dev": true 2972 | }, 2973 | "process-nextick-args": { 2974 | "version": "2.0.0", 2975 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", 2976 | "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", 2977 | "dev": true 2978 | }, 2979 | "promise-inflight": { 2980 | "version": "1.0.1", 2981 | "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", 2982 | "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", 2983 | "dev": true 2984 | }, 2985 | "prr": { 2986 | "version": "1.0.1", 2987 | "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", 2988 | "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", 2989 | "dev": true 2990 | }, 2991 | "pseudomap": { 2992 | "version": "1.0.2", 2993 | "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", 2994 | "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", 2995 | "dev": true 2996 | }, 2997 | "public-encrypt": { 2998 | "version": "4.0.2", 2999 | "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.2.tgz", 3000 | "integrity": "sha512-4kJ5Esocg8X3h8YgJsKAuoesBgB7mqH3eowiDzMUPKiRDDE7E/BqqZD1hnTByIaAFiwAw246YEltSq7tdrOH0Q==", 3001 | "dev": true, 3002 | "requires": { 3003 | "bn.js": "^4.1.0", 3004 | "browserify-rsa": "^4.0.0", 3005 | "create-hash": "^1.1.0", 3006 | "parse-asn1": "^5.0.0", 3007 | "randombytes": "^2.0.1" 3008 | } 3009 | }, 3010 | "pump": { 3011 | "version": "2.0.1", 3012 | "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", 3013 | "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", 3014 | "dev": true, 3015 | "requires": { 3016 | "end-of-stream": "^1.1.0", 3017 | "once": "^1.3.1" 3018 | } 3019 | }, 3020 | "pumpify": { 3021 | "version": "1.5.1", 3022 | "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", 3023 | "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", 3024 | "dev": true, 3025 | "requires": { 3026 | "duplexify": "^3.6.0", 3027 | "inherits": "^2.0.3", 3028 | "pump": "^2.0.0" 3029 | } 3030 | }, 3031 | "punycode": { 3032 | "version": "2.1.1", 3033 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", 3034 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", 3035 | "dev": true 3036 | }, 3037 | "querystring": { 3038 | "version": "0.2.0", 3039 | "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", 3040 | "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", 3041 | "dev": true 3042 | }, 3043 | "querystring-es3": { 3044 | "version": "0.2.1", 3045 | "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", 3046 | "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", 3047 | "dev": true 3048 | }, 3049 | "randombytes": { 3050 | "version": "2.0.6", 3051 | "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", 3052 | "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", 3053 | "dev": true, 3054 | "requires": { 3055 | "safe-buffer": "^5.1.0" 3056 | } 3057 | }, 3058 | "randomfill": { 3059 | "version": "1.0.4", 3060 | "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", 3061 | "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", 3062 | "dev": true, 3063 | "requires": { 3064 | "randombytes": "^2.0.5", 3065 | "safe-buffer": "^5.1.0" 3066 | } 3067 | }, 3068 | "readable-stream": { 3069 | "version": "2.3.6", 3070 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", 3071 | "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", 3072 | "dev": true, 3073 | "requires": { 3074 | "core-util-is": "~1.0.0", 3075 | "inherits": "~2.0.3", 3076 | "isarray": "~1.0.0", 3077 | "process-nextick-args": "~2.0.0", 3078 | "safe-buffer": "~5.1.1", 3079 | "string_decoder": "~1.1.1", 3080 | "util-deprecate": "~1.0.1" 3081 | } 3082 | }, 3083 | "readdirp": { 3084 | "version": "2.1.0", 3085 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", 3086 | "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", 3087 | "dev": true, 3088 | "requires": { 3089 | "graceful-fs": "^4.1.2", 3090 | "minimatch": "^3.0.2", 3091 | "readable-stream": "^2.0.2", 3092 | "set-immediate-shim": "^1.0.1" 3093 | } 3094 | }, 3095 | "regex-not": { 3096 | "version": "1.0.2", 3097 | "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", 3098 | "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", 3099 | "dev": true, 3100 | "requires": { 3101 | "extend-shallow": "^3.0.2", 3102 | "safe-regex": "^1.1.0" 3103 | } 3104 | }, 3105 | "remove-trailing-separator": { 3106 | "version": "1.1.0", 3107 | "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", 3108 | "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", 3109 | "dev": true 3110 | }, 3111 | "repeat-element": { 3112 | "version": "1.1.2", 3113 | "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", 3114 | "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", 3115 | "dev": true 3116 | }, 3117 | "repeat-string": { 3118 | "version": "1.6.1", 3119 | "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", 3120 | "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", 3121 | "dev": true 3122 | }, 3123 | "require-directory": { 3124 | "version": "2.1.1", 3125 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", 3126 | "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", 3127 | "dev": true 3128 | }, 3129 | "require-main-filename": { 3130 | "version": "1.0.1", 3131 | "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", 3132 | "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", 3133 | "dev": true 3134 | }, 3135 | "resolve-cwd": { 3136 | "version": "2.0.0", 3137 | "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", 3138 | "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", 3139 | "dev": true, 3140 | "requires": { 3141 | "resolve-from": "^3.0.0" 3142 | } 3143 | }, 3144 | "resolve-from": { 3145 | "version": "3.0.0", 3146 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", 3147 | "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", 3148 | "dev": true 3149 | }, 3150 | "resolve-url": { 3151 | "version": "0.2.1", 3152 | "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", 3153 | "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", 3154 | "dev": true 3155 | }, 3156 | "restore-cursor": { 3157 | "version": "2.0.0", 3158 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", 3159 | "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", 3160 | "dev": true, 3161 | "requires": { 3162 | "onetime": "^2.0.0", 3163 | "signal-exit": "^3.0.2" 3164 | } 3165 | }, 3166 | "ret": { 3167 | "version": "0.1.15", 3168 | "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", 3169 | "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", 3170 | "dev": true 3171 | }, 3172 | "rimraf": { 3173 | "version": "2.6.2", 3174 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", 3175 | "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", 3176 | "dev": true, 3177 | "requires": { 3178 | "glob": "^7.0.5" 3179 | } 3180 | }, 3181 | "ripemd160": { 3182 | "version": "2.0.2", 3183 | "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", 3184 | "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", 3185 | "dev": true, 3186 | "requires": { 3187 | "hash-base": "^3.0.0", 3188 | "inherits": "^2.0.1" 3189 | } 3190 | }, 3191 | "run-async": { 3192 | "version": "2.3.0", 3193 | "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", 3194 | "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", 3195 | "dev": true, 3196 | "requires": { 3197 | "is-promise": "^2.1.0" 3198 | } 3199 | }, 3200 | "run-queue": { 3201 | "version": "1.0.3", 3202 | "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", 3203 | "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", 3204 | "dev": true, 3205 | "requires": { 3206 | "aproba": "^1.1.1" 3207 | } 3208 | }, 3209 | "rxjs": { 3210 | "version": "6.2.1", 3211 | "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.2.1.tgz", 3212 | "integrity": "sha512-OwMxHxmnmHTUpgO+V7dZChf3Tixf4ih95cmXjzzadULziVl/FKhHScGLj4goEw9weePVOH2Q0+GcCBUhKCZc/g==", 3213 | "dev": true, 3214 | "requires": { 3215 | "tslib": "^1.9.0" 3216 | } 3217 | }, 3218 | "safe-buffer": { 3219 | "version": "5.1.2", 3220 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 3221 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", 3222 | "dev": true 3223 | }, 3224 | "safe-regex": { 3225 | "version": "1.1.0", 3226 | "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", 3227 | "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", 3228 | "dev": true, 3229 | "requires": { 3230 | "ret": "~0.1.10" 3231 | } 3232 | }, 3233 | "safer-buffer": { 3234 | "version": "2.1.2", 3235 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 3236 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", 3237 | "dev": true 3238 | }, 3239 | "schema-utils": { 3240 | "version": "0.4.5", 3241 | "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.5.tgz", 3242 | "integrity": "sha512-yYrjb9TX2k/J1Y5UNy3KYdZq10xhYcF8nMpAW6o3hy6Q8WSIEf9lJHG/ePnOBfziPM3fvQwfOwa13U/Fh8qTfA==", 3243 | "dev": true, 3244 | "requires": { 3245 | "ajv": "^6.1.0", 3246 | "ajv-keywords": "^3.1.0" 3247 | } 3248 | }, 3249 | "semver": { 3250 | "version": "5.5.0", 3251 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", 3252 | "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", 3253 | "dev": true 3254 | }, 3255 | "serialize-javascript": { 3256 | "version": "1.5.0", 3257 | "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.5.0.tgz", 3258 | "integrity": "sha512-Ga8c8NjAAp46Br4+0oZ2WxJCwIzwP60Gq1YPgU+39PiTVxyed/iKE/zyZI6+UlVYH5Q4PaQdHhcegIFPZTUfoQ==", 3259 | "dev": true 3260 | }, 3261 | "set-blocking": { 3262 | "version": "2.0.0", 3263 | "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", 3264 | "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", 3265 | "dev": true 3266 | }, 3267 | "set-immediate-shim": { 3268 | "version": "1.0.1", 3269 | "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", 3270 | "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", 3271 | "dev": true 3272 | }, 3273 | "set-value": { 3274 | "version": "2.0.0", 3275 | "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", 3276 | "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", 3277 | "dev": true, 3278 | "requires": { 3279 | "extend-shallow": "^2.0.1", 3280 | "is-extendable": "^0.1.1", 3281 | "is-plain-object": "^2.0.3", 3282 | "split-string": "^3.0.1" 3283 | }, 3284 | "dependencies": { 3285 | "extend-shallow": { 3286 | "version": "2.0.1", 3287 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 3288 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 3289 | "dev": true, 3290 | "requires": { 3291 | "is-extendable": "^0.1.0" 3292 | } 3293 | } 3294 | } 3295 | }, 3296 | "setimmediate": { 3297 | "version": "1.0.5", 3298 | "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", 3299 | "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", 3300 | "dev": true 3301 | }, 3302 | "sha.js": { 3303 | "version": "2.4.11", 3304 | "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", 3305 | "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", 3306 | "dev": true, 3307 | "requires": { 3308 | "inherits": "^2.0.1", 3309 | "safe-buffer": "^5.0.1" 3310 | } 3311 | }, 3312 | "shebang-command": { 3313 | "version": "1.2.0", 3314 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", 3315 | "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", 3316 | "dev": true, 3317 | "requires": { 3318 | "shebang-regex": "^1.0.0" 3319 | } 3320 | }, 3321 | "shebang-regex": { 3322 | "version": "1.0.0", 3323 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", 3324 | "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", 3325 | "dev": true 3326 | }, 3327 | "signal-exit": { 3328 | "version": "3.0.2", 3329 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", 3330 | "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", 3331 | "dev": true 3332 | }, 3333 | "snapdragon": { 3334 | "version": "0.8.2", 3335 | "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", 3336 | "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", 3337 | "dev": true, 3338 | "requires": { 3339 | "base": "^0.11.1", 3340 | "debug": "^2.2.0", 3341 | "define-property": "^0.2.5", 3342 | "extend-shallow": "^2.0.1", 3343 | "map-cache": "^0.2.2", 3344 | "source-map": "^0.5.6", 3345 | "source-map-resolve": "^0.5.0", 3346 | "use": "^3.1.0" 3347 | }, 3348 | "dependencies": { 3349 | "debug": { 3350 | "version": "2.6.9", 3351 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 3352 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 3353 | "dev": true, 3354 | "requires": { 3355 | "ms": "2.0.0" 3356 | } 3357 | }, 3358 | "define-property": { 3359 | "version": "0.2.5", 3360 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 3361 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 3362 | "dev": true, 3363 | "requires": { 3364 | "is-descriptor": "^0.1.0" 3365 | } 3366 | }, 3367 | "extend-shallow": { 3368 | "version": "2.0.1", 3369 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 3370 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 3371 | "dev": true, 3372 | "requires": { 3373 | "is-extendable": "^0.1.0" 3374 | } 3375 | } 3376 | } 3377 | }, 3378 | "snapdragon-node": { 3379 | "version": "2.1.1", 3380 | "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", 3381 | "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", 3382 | "dev": true, 3383 | "requires": { 3384 | "define-property": "^1.0.0", 3385 | "isobject": "^3.0.0", 3386 | "snapdragon-util": "^3.0.1" 3387 | }, 3388 | "dependencies": { 3389 | "define-property": { 3390 | "version": "1.0.0", 3391 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", 3392 | "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", 3393 | "dev": true, 3394 | "requires": { 3395 | "is-descriptor": "^1.0.0" 3396 | } 3397 | }, 3398 | "is-accessor-descriptor": { 3399 | "version": "1.0.0", 3400 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", 3401 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", 3402 | "dev": true, 3403 | "requires": { 3404 | "kind-of": "^6.0.0" 3405 | } 3406 | }, 3407 | "is-data-descriptor": { 3408 | "version": "1.0.0", 3409 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", 3410 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", 3411 | "dev": true, 3412 | "requires": { 3413 | "kind-of": "^6.0.0" 3414 | } 3415 | }, 3416 | "is-descriptor": { 3417 | "version": "1.0.2", 3418 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", 3419 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", 3420 | "dev": true, 3421 | "requires": { 3422 | "is-accessor-descriptor": "^1.0.0", 3423 | "is-data-descriptor": "^1.0.0", 3424 | "kind-of": "^6.0.2" 3425 | } 3426 | } 3427 | } 3428 | }, 3429 | "snapdragon-util": { 3430 | "version": "3.0.1", 3431 | "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", 3432 | "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", 3433 | "dev": true, 3434 | "requires": { 3435 | "kind-of": "^3.2.0" 3436 | }, 3437 | "dependencies": { 3438 | "kind-of": { 3439 | "version": "3.2.2", 3440 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 3441 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 3442 | "dev": true, 3443 | "requires": { 3444 | "is-buffer": "^1.1.5" 3445 | } 3446 | } 3447 | } 3448 | }, 3449 | "source-list-map": { 3450 | "version": "2.0.0", 3451 | "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz", 3452 | "integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A==", 3453 | "dev": true 3454 | }, 3455 | "source-map": { 3456 | "version": "0.5.7", 3457 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 3458 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 3459 | "dev": true 3460 | }, 3461 | "source-map-resolve": { 3462 | "version": "0.5.2", 3463 | "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", 3464 | "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", 3465 | "dev": true, 3466 | "requires": { 3467 | "atob": "^2.1.1", 3468 | "decode-uri-component": "^0.2.0", 3469 | "resolve-url": "^0.2.1", 3470 | "source-map-url": "^0.4.0", 3471 | "urix": "^0.1.0" 3472 | } 3473 | }, 3474 | "source-map-url": { 3475 | "version": "0.4.0", 3476 | "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", 3477 | "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", 3478 | "dev": true 3479 | }, 3480 | "split-string": { 3481 | "version": "3.1.0", 3482 | "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", 3483 | "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", 3484 | "dev": true, 3485 | "requires": { 3486 | "extend-shallow": "^3.0.0" 3487 | } 3488 | }, 3489 | "ssri": { 3490 | "version": "5.3.0", 3491 | "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", 3492 | "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", 3493 | "dev": true, 3494 | "requires": { 3495 | "safe-buffer": "^5.1.1" 3496 | } 3497 | }, 3498 | "static-extend": { 3499 | "version": "0.1.2", 3500 | "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", 3501 | "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", 3502 | "dev": true, 3503 | "requires": { 3504 | "define-property": "^0.2.5", 3505 | "object-copy": "^0.1.0" 3506 | }, 3507 | "dependencies": { 3508 | "define-property": { 3509 | "version": "0.2.5", 3510 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 3511 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 3512 | "dev": true, 3513 | "requires": { 3514 | "is-descriptor": "^0.1.0" 3515 | } 3516 | } 3517 | } 3518 | }, 3519 | "stream-browserify": { 3520 | "version": "2.0.1", 3521 | "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", 3522 | "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", 3523 | "dev": true, 3524 | "requires": { 3525 | "inherits": "~2.0.1", 3526 | "readable-stream": "^2.0.2" 3527 | } 3528 | }, 3529 | "stream-each": { 3530 | "version": "1.2.2", 3531 | "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.2.tgz", 3532 | "integrity": "sha512-mc1dbFhGBxvTM3bIWmAAINbqiuAk9TATcfIQC8P+/+HJefgaiTlMn2dHvkX8qlI12KeYKSQ1Ua9RrIqrn1VPoA==", 3533 | "dev": true, 3534 | "requires": { 3535 | "end-of-stream": "^1.1.0", 3536 | "stream-shift": "^1.0.0" 3537 | } 3538 | }, 3539 | "stream-http": { 3540 | "version": "2.8.3", 3541 | "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", 3542 | "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", 3543 | "dev": true, 3544 | "requires": { 3545 | "builtin-status-codes": "^3.0.0", 3546 | "inherits": "^2.0.1", 3547 | "readable-stream": "^2.3.6", 3548 | "to-arraybuffer": "^1.0.0", 3549 | "xtend": "^4.0.0" 3550 | } 3551 | }, 3552 | "stream-shift": { 3553 | "version": "1.0.0", 3554 | "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", 3555 | "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", 3556 | "dev": true 3557 | }, 3558 | "string-width": { 3559 | "version": "2.1.1", 3560 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", 3561 | "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", 3562 | "dev": true, 3563 | "requires": { 3564 | "is-fullwidth-code-point": "^2.0.0", 3565 | "strip-ansi": "^4.0.0" 3566 | } 3567 | }, 3568 | "string_decoder": { 3569 | "version": "1.1.1", 3570 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 3571 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", 3572 | "dev": true, 3573 | "requires": { 3574 | "safe-buffer": "~5.1.0" 3575 | } 3576 | }, 3577 | "strip-ansi": { 3578 | "version": "4.0.0", 3579 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", 3580 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", 3581 | "dev": true, 3582 | "requires": { 3583 | "ansi-regex": "^3.0.0" 3584 | } 3585 | }, 3586 | "strip-eof": { 3587 | "version": "1.0.0", 3588 | "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", 3589 | "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", 3590 | "dev": true 3591 | }, 3592 | "supports-color": { 3593 | "version": "5.4.0", 3594 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", 3595 | "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", 3596 | "dev": true, 3597 | "requires": { 3598 | "has-flag": "^3.0.0" 3599 | } 3600 | }, 3601 | "tapable": { 3602 | "version": "1.0.0", 3603 | "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.0.0.tgz", 3604 | "integrity": "sha512-dQRhbNQkRnaqauC7WqSJ21EEksgT0fYZX2lqXzGkpo8JNig9zGZTYoMGvyI2nWmXlE2VSVXVDu7wLVGu/mQEsg==", 3605 | "dev": true 3606 | }, 3607 | "through": { 3608 | "version": "2.3.8", 3609 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", 3610 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", 3611 | "dev": true 3612 | }, 3613 | "through2": { 3614 | "version": "2.0.3", 3615 | "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", 3616 | "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", 3617 | "dev": true, 3618 | "requires": { 3619 | "readable-stream": "^2.1.5", 3620 | "xtend": "~4.0.1" 3621 | } 3622 | }, 3623 | "timers-browserify": { 3624 | "version": "2.0.10", 3625 | "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz", 3626 | "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==", 3627 | "dev": true, 3628 | "requires": { 3629 | "setimmediate": "^1.0.4" 3630 | } 3631 | }, 3632 | "tmp": { 3633 | "version": "0.0.33", 3634 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", 3635 | "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", 3636 | "dev": true, 3637 | "requires": { 3638 | "os-tmpdir": "~1.0.2" 3639 | } 3640 | }, 3641 | "to-arraybuffer": { 3642 | "version": "1.0.1", 3643 | "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", 3644 | "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", 3645 | "dev": true 3646 | }, 3647 | "to-object-path": { 3648 | "version": "0.3.0", 3649 | "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", 3650 | "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", 3651 | "dev": true, 3652 | "requires": { 3653 | "kind-of": "^3.0.2" 3654 | }, 3655 | "dependencies": { 3656 | "kind-of": { 3657 | "version": "3.2.2", 3658 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 3659 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 3660 | "dev": true, 3661 | "requires": { 3662 | "is-buffer": "^1.1.5" 3663 | } 3664 | } 3665 | } 3666 | }, 3667 | "to-regex": { 3668 | "version": "3.0.2", 3669 | "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", 3670 | "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", 3671 | "dev": true, 3672 | "requires": { 3673 | "define-property": "^2.0.2", 3674 | "extend-shallow": "^3.0.2", 3675 | "regex-not": "^1.0.2", 3676 | "safe-regex": "^1.1.0" 3677 | } 3678 | }, 3679 | "to-regex-range": { 3680 | "version": "2.1.1", 3681 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", 3682 | "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", 3683 | "dev": true, 3684 | "requires": { 3685 | "is-number": "^3.0.0", 3686 | "repeat-string": "^1.6.1" 3687 | } 3688 | }, 3689 | "tslib": { 3690 | "version": "1.9.2", 3691 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.2.tgz", 3692 | "integrity": "sha512-AVP5Xol3WivEr7hnssHDsaM+lVrVXWUvd1cfXTRkTj80b//6g2wIFEH6hZG0muGZRnHGrfttpdzRk3YlBkWjKw==", 3693 | "dev": true 3694 | }, 3695 | "tty-browserify": { 3696 | "version": "0.0.0", 3697 | "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", 3698 | "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", 3699 | "dev": true 3700 | }, 3701 | "typedarray": { 3702 | "version": "0.0.6", 3703 | "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", 3704 | "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", 3705 | "dev": true 3706 | }, 3707 | "uglify-es": { 3708 | "version": "3.3.9", 3709 | "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", 3710 | "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", 3711 | "dev": true, 3712 | "requires": { 3713 | "commander": "~2.13.0", 3714 | "source-map": "~0.6.1" 3715 | }, 3716 | "dependencies": { 3717 | "source-map": { 3718 | "version": "0.6.1", 3719 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 3720 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 3721 | "dev": true 3722 | } 3723 | } 3724 | }, 3725 | "uglifyjs-webpack-plugin": { 3726 | "version": "1.2.6", 3727 | "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.6.tgz", 3728 | "integrity": "sha512-NDP94ahjW7ZH+qzdjxjIV04n5YGnrYD2jeHgKgnpUKmdAfcXEO5DbVo21fXAm/KPMyX9k21zWFBMYm9m9R2ptg==", 3729 | "dev": true, 3730 | "requires": { 3731 | "cacache": "^10.0.4", 3732 | "find-cache-dir": "^1.0.0", 3733 | "schema-utils": "^0.4.5", 3734 | "serialize-javascript": "^1.4.0", 3735 | "source-map": "^0.6.1", 3736 | "uglify-es": "^3.3.4", 3737 | "webpack-sources": "^1.1.0", 3738 | "worker-farm": "^1.5.2" 3739 | }, 3740 | "dependencies": { 3741 | "source-map": { 3742 | "version": "0.6.1", 3743 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 3744 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 3745 | "dev": true 3746 | } 3747 | } 3748 | }, 3749 | "union-value": { 3750 | "version": "1.0.0", 3751 | "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", 3752 | "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", 3753 | "dev": true, 3754 | "requires": { 3755 | "arr-union": "^3.1.0", 3756 | "get-value": "^2.0.6", 3757 | "is-extendable": "^0.1.1", 3758 | "set-value": "^0.4.3" 3759 | }, 3760 | "dependencies": { 3761 | "extend-shallow": { 3762 | "version": "2.0.1", 3763 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 3764 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 3765 | "dev": true, 3766 | "requires": { 3767 | "is-extendable": "^0.1.0" 3768 | } 3769 | }, 3770 | "set-value": { 3771 | "version": "0.4.3", 3772 | "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", 3773 | "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", 3774 | "dev": true, 3775 | "requires": { 3776 | "extend-shallow": "^2.0.1", 3777 | "is-extendable": "^0.1.1", 3778 | "is-plain-object": "^2.0.1", 3779 | "to-object-path": "^0.3.0" 3780 | } 3781 | } 3782 | } 3783 | }, 3784 | "unique-filename": { 3785 | "version": "1.1.0", 3786 | "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.0.tgz", 3787 | "integrity": "sha1-0F8v5AMlYIcfMOk8vnNe6iAVFPM=", 3788 | "dev": true, 3789 | "requires": { 3790 | "unique-slug": "^2.0.0" 3791 | } 3792 | }, 3793 | "unique-slug": { 3794 | "version": "2.0.0", 3795 | "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.0.tgz", 3796 | "integrity": "sha1-22Z258fMBimHj/GWCXx4hVrp9Ks=", 3797 | "dev": true, 3798 | "requires": { 3799 | "imurmurhash": "^0.1.4" 3800 | } 3801 | }, 3802 | "unset-value": { 3803 | "version": "1.0.0", 3804 | "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", 3805 | "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", 3806 | "dev": true, 3807 | "requires": { 3808 | "has-value": "^0.3.1", 3809 | "isobject": "^3.0.0" 3810 | }, 3811 | "dependencies": { 3812 | "has-value": { 3813 | "version": "0.3.1", 3814 | "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", 3815 | "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", 3816 | "dev": true, 3817 | "requires": { 3818 | "get-value": "^2.0.3", 3819 | "has-values": "^0.1.4", 3820 | "isobject": "^2.0.0" 3821 | }, 3822 | "dependencies": { 3823 | "isobject": { 3824 | "version": "2.1.0", 3825 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", 3826 | "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", 3827 | "dev": true, 3828 | "requires": { 3829 | "isarray": "1.0.0" 3830 | } 3831 | } 3832 | } 3833 | }, 3834 | "has-values": { 3835 | "version": "0.1.4", 3836 | "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", 3837 | "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", 3838 | "dev": true 3839 | } 3840 | } 3841 | }, 3842 | "upath": { 3843 | "version": "1.1.0", 3844 | "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", 3845 | "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==", 3846 | "dev": true 3847 | }, 3848 | "uri-js": { 3849 | "version": "4.2.2", 3850 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", 3851 | "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", 3852 | "dev": true, 3853 | "requires": { 3854 | "punycode": "^2.1.0" 3855 | } 3856 | }, 3857 | "urix": { 3858 | "version": "0.1.0", 3859 | "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", 3860 | "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", 3861 | "dev": true 3862 | }, 3863 | "url": { 3864 | "version": "0.11.0", 3865 | "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", 3866 | "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", 3867 | "dev": true, 3868 | "requires": { 3869 | "punycode": "1.3.2", 3870 | "querystring": "0.2.0" 3871 | }, 3872 | "dependencies": { 3873 | "punycode": { 3874 | "version": "1.3.2", 3875 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", 3876 | "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", 3877 | "dev": true 3878 | } 3879 | } 3880 | }, 3881 | "use": { 3882 | "version": "3.1.0", 3883 | "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz", 3884 | "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==", 3885 | "dev": true, 3886 | "requires": { 3887 | "kind-of": "^6.0.2" 3888 | } 3889 | }, 3890 | "util": { 3891 | "version": "0.10.4", 3892 | "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", 3893 | "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", 3894 | "dev": true, 3895 | "requires": { 3896 | "inherits": "2.0.3" 3897 | } 3898 | }, 3899 | "util-deprecate": { 3900 | "version": "1.0.2", 3901 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 3902 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", 3903 | "dev": true 3904 | }, 3905 | "v8-compile-cache": { 3906 | "version": "2.0.0", 3907 | "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.0.tgz", 3908 | "integrity": "sha512-qNdTUMaCjPs4eEnM3W9H94R3sU70YCuT+/ST7nUf+id1bVOrdjrpUaeZLqPBPRph3hsgn4a4BvwpxhHZx+oSDg==", 3909 | "dev": true 3910 | }, 3911 | "vm-browserify": { 3912 | "version": "0.0.4", 3913 | "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", 3914 | "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", 3915 | "dev": true, 3916 | "requires": { 3917 | "indexof": "0.0.1" 3918 | } 3919 | }, 3920 | "watchpack": { 3921 | "version": "1.6.0", 3922 | "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", 3923 | "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", 3924 | "dev": true, 3925 | "requires": { 3926 | "chokidar": "^2.0.2", 3927 | "graceful-fs": "^4.1.2", 3928 | "neo-async": "^2.5.0" 3929 | } 3930 | }, 3931 | "webpack": { 3932 | "version": "4.12.0", 3933 | "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.12.0.tgz", 3934 | "integrity": "sha512-EJj2FfhgtjrTbJbJaNulcVpDxi9vsQVvTahHN7xJvIv6W+k4r/E6Hxy4eyOrj+IAFWqYgaUtnpxmSGYP8MSZJw==", 3935 | "dev": true, 3936 | "requires": { 3937 | "@webassemblyjs/ast": "1.5.12", 3938 | "@webassemblyjs/helper-module-context": "1.5.12", 3939 | "@webassemblyjs/wasm-edit": "1.5.12", 3940 | "@webassemblyjs/wasm-opt": "1.5.12", 3941 | "@webassemblyjs/wasm-parser": "1.5.12", 3942 | "acorn": "^5.6.2", 3943 | "acorn-dynamic-import": "^3.0.0", 3944 | "ajv": "^6.1.0", 3945 | "ajv-keywords": "^3.1.0", 3946 | "chrome-trace-event": "^1.0.0", 3947 | "enhanced-resolve": "^4.0.0", 3948 | "eslint-scope": "^3.7.1", 3949 | "json-parse-better-errors": "^1.0.2", 3950 | "loader-runner": "^2.3.0", 3951 | "loader-utils": "^1.1.0", 3952 | "memory-fs": "~0.4.1", 3953 | "micromatch": "^3.1.8", 3954 | "mkdirp": "~0.5.0", 3955 | "neo-async": "^2.5.0", 3956 | "node-libs-browser": "^2.0.0", 3957 | "schema-utils": "^0.4.4", 3958 | "tapable": "^1.0.0", 3959 | "uglifyjs-webpack-plugin": "^1.2.4", 3960 | "watchpack": "^1.5.0", 3961 | "webpack-sources": "^1.0.1" 3962 | } 3963 | }, 3964 | "webpack-cli": { 3965 | "version": "3.0.8", 3966 | "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.0.8.tgz", 3967 | "integrity": "sha512-KnRLJ0BUaYRqrhAMb9dv3gzdmhmgIMKo0FmdsnmfqbPGtLnnZ6tORZAvmmKfr+A0VgiVpqC60Gv7Ofg0R2CHtQ==", 3968 | "dev": true, 3969 | "requires": { 3970 | "chalk": "^2.4.1", 3971 | "cross-spawn": "^6.0.5", 3972 | "enhanced-resolve": "^4.0.0", 3973 | "global-modules-path": "^2.1.0", 3974 | "import-local": "^1.0.0", 3975 | "inquirer": "^6.0.0", 3976 | "interpret": "^1.1.0", 3977 | "loader-utils": "^1.1.0", 3978 | "supports-color": "^5.4.0", 3979 | "v8-compile-cache": "^2.0.0", 3980 | "yargs": "^11.1.0" 3981 | } 3982 | }, 3983 | "webpack-sources": { 3984 | "version": "1.1.0", 3985 | "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz", 3986 | "integrity": "sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==", 3987 | "dev": true, 3988 | "requires": { 3989 | "source-list-map": "^2.0.0", 3990 | "source-map": "~0.6.1" 3991 | }, 3992 | "dependencies": { 3993 | "source-map": { 3994 | "version": "0.6.1", 3995 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 3996 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 3997 | "dev": true 3998 | } 3999 | } 4000 | }, 4001 | "which": { 4002 | "version": "1.3.1", 4003 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", 4004 | "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", 4005 | "dev": true, 4006 | "requires": { 4007 | "isexe": "^2.0.0" 4008 | } 4009 | }, 4010 | "which-module": { 4011 | "version": "2.0.0", 4012 | "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", 4013 | "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", 4014 | "dev": true 4015 | }, 4016 | "worker-farm": { 4017 | "version": "1.6.0", 4018 | "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.6.0.tgz", 4019 | "integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==", 4020 | "dev": true, 4021 | "requires": { 4022 | "errno": "~0.1.7" 4023 | } 4024 | }, 4025 | "wrap-ansi": { 4026 | "version": "2.1.0", 4027 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", 4028 | "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", 4029 | "dev": true, 4030 | "requires": { 4031 | "string-width": "^1.0.1", 4032 | "strip-ansi": "^3.0.1" 4033 | }, 4034 | "dependencies": { 4035 | "ansi-regex": { 4036 | "version": "2.1.1", 4037 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", 4038 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", 4039 | "dev": true 4040 | }, 4041 | "is-fullwidth-code-point": { 4042 | "version": "1.0.0", 4043 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", 4044 | "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", 4045 | "dev": true, 4046 | "requires": { 4047 | "number-is-nan": "^1.0.0" 4048 | } 4049 | }, 4050 | "string-width": { 4051 | "version": "1.0.2", 4052 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", 4053 | "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", 4054 | "dev": true, 4055 | "requires": { 4056 | "code-point-at": "^1.0.0", 4057 | "is-fullwidth-code-point": "^1.0.0", 4058 | "strip-ansi": "^3.0.0" 4059 | } 4060 | }, 4061 | "strip-ansi": { 4062 | "version": "3.0.1", 4063 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", 4064 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", 4065 | "dev": true, 4066 | "requires": { 4067 | "ansi-regex": "^2.0.0" 4068 | } 4069 | } 4070 | } 4071 | }, 4072 | "wrappy": { 4073 | "version": "1.0.2", 4074 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 4075 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 4076 | "dev": true 4077 | }, 4078 | "xtend": { 4079 | "version": "4.0.1", 4080 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", 4081 | "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", 4082 | "dev": true 4083 | }, 4084 | "y18n": { 4085 | "version": "4.0.0", 4086 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", 4087 | "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", 4088 | "dev": true 4089 | }, 4090 | "yallist": { 4091 | "version": "2.1.2", 4092 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", 4093 | "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", 4094 | "dev": true 4095 | }, 4096 | "yargs": { 4097 | "version": "11.1.0", 4098 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", 4099 | "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", 4100 | "dev": true, 4101 | "requires": { 4102 | "cliui": "^4.0.0", 4103 | "decamelize": "^1.1.1", 4104 | "find-up": "^2.1.0", 4105 | "get-caller-file": "^1.0.1", 4106 | "os-locale": "^2.0.0", 4107 | "require-directory": "^2.1.1", 4108 | "require-main-filename": "^1.0.1", 4109 | "set-blocking": "^2.0.0", 4110 | "string-width": "^2.0.0", 4111 | "which-module": "^2.0.0", 4112 | "y18n": "^3.2.1", 4113 | "yargs-parser": "^9.0.2" 4114 | }, 4115 | "dependencies": { 4116 | "y18n": { 4117 | "version": "3.2.1", 4118 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", 4119 | "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", 4120 | "dev": true 4121 | } 4122 | } 4123 | }, 4124 | "yargs-parser": { 4125 | "version": "9.0.2", 4126 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", 4127 | "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", 4128 | "dev": true, 4129 | "requires": { 4130 | "camelcase": "^4.1.0" 4131 | } 4132 | } 4133 | } 4134 | } 4135 | --------------------------------------------------------------------------------