├── .env.example
├── .eslintrc.js
├── .gitignore
├── LICENSE
├── README.md
├── app
├── controllers
│ ├── TodosController.js
│ └── UserController.js
├── mailable
│ └── demo.js
└── validators
│ ├── TodoValidator.js
│ └── UserValidator.js
├── changelog.md
├── config
├── config.js
├── mailer.js
├── passport.js
└── users.js
├── index.js
├── migrations
├── 20200210153802-todos.js
└── 20200211114441-users.js
├── models
├── index.js
├── todo.js
└── user.js
├── package-lock.json
├── package.json
├── resources
└── views
│ └── welcome_mail.html
├── routes
├── api
│ ├── index.js
│ ├── todos
│ │ └── index.js
│ └── users
│ │ └── index.js
├── auth.js
└── index.js
├── test
├── integrations
│ └── registration.test.js
└── unit
│ └── user.test.js
├── utils
├── generateHash.js
├── generateJWT.js
└── validatePassword.js
└── yarn.lock
/.env.example:
--------------------------------------------------------------------------------
1 | SALT=35kj7waj3k5kja09jeoi21kn0pg13iuhlkn
2 | JWT_SECRET=myjwtsecret
3 | SESSION_SECRET=secret
4 | PORT=3000
5 | SERVER_ADDRESS=127.0.0.1
6 |
7 | DB_USERNAME=root
8 | DB_PASSWORD=mysql@123
9 | DB_NAME=test
10 |
11 | SALT_ROUNDS = 10
12 |
13 | MAILTRAP_HOST=smtp.mailtrap.io
14 | MAILTRAP_PORT=2525,
15 | MAILTRAP_USER=c18jrei892sd42
16 | MAILTRAP_PASS=1a83nfj37jmf6c
17 |
18 | Gmail_SMTP_username=johndoe@gmail.com
19 | Gmail_SMTP_password=jkerjidisajdk
20 | Gmail_SMTP_server_address=smtp.gmail.com
21 | Gmail_SMTP_port_TLS=587
22 | Gmail_SMTP_port_SSL=465
23 | Gmail_SMTP_TLS_SSL_required=yes
24 |
25 | MAIL_SENDER="John Doe johndoe@gmail.com"
26 |
--------------------------------------------------------------------------------
/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | "env": {
3 | "browser": true,
4 | "es6": true,
5 | "node": true
6 | },
7 | "extends": "eslint:recommended",
8 | "parserOptions": {
9 | "sourceType": "module"
10 | },
11 | "rules": {
12 | "no-console": "off",
13 | "indent": [
14 | "error",
15 | "tab"
16 | ],
17 | "linebreak-style": [
18 | "error",
19 | "unix"
20 | ],
21 | "quotes": [
22 | "error",
23 | "single"
24 | ],
25 | "semi": [
26 | "error",
27 | "always"
28 | ]
29 | }
30 | };
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | npm-debug.log
3 | *.sqlite
4 | .env
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2019 AppSeed - App Generator
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # [Express-Boilerplate](https://github.com/AnsurM/express-jwt-mysql-mvc-boilerplate)
2 |
3 | Express / [Nodejs Starter] with [JWT authentication](https://jwt.io/introduction/), [MySQL](https://www.mysql.com/) database, [Sequelize](http://docs.sequelizejs.com/) ORM, [Nodemailer](https://nodemailer.com/about/) mailing module unit tests and basic tooling (to be implemented).
4 |
5 |
6 |
7 | 
8 |
9 |
10 |
11 | ## Requirements
12 |
13 | - [Node.js](https://nodejs.org/) >= 6.x
14 |
15 |
16 |
17 | ## Authentication
18 |
19 | Authentication is based on [json web tokens](https://jwt.io). `passport-jwt` strategy is used to handle the email / password authentication.
20 | After a successful login the generated token is sent to the requester.
21 |
22 |
23 |
24 | ## Setting up for development
25 |
26 | - clone repo: `git clone https://github.com/AnsurM/express-jwt-mysql-mvc-boilerplate.git`
27 | - change directory to express-jwt-mysql-mvc-boilerplate:
28 | - create a file named .env which should contain a default setup as shown in the example environment file `.env.example`:
29 |
30 | SALT=35kj7waj3k5kja09jeoi21kn0pg13iuhlkn
31 | JWT_SECRET=myjwtsecret
32 | SESSION_SECRET=secret
33 | PORT=3000
34 | SERVER_ADDRESS=127.0.0.1
35 |
36 | DB_USERNAME=root
37 | DB_PASSWORD=mysql@123
38 | DB_NAME=test
39 |
40 | SALT_ROUNDS = 10
41 |
42 | MAILTRAP_HOST=smtp.mailtrap.io
43 | MAILTRAP_PORT=2525,
44 | MAILTRAP_USER=c18jrei892sd42
45 | MAILTRAP_PASS=1a83nfj37jmf6c
46 |
47 | Gmail_SMTP_username=johndoe@gmail.com
48 | Gmail_SMTP_password=jkerjidisajdk
49 | Gmail_SMTP_server_address=smtp.gmail.com
50 | Gmail_SMTP_port_TLS=587
51 | Gmail_SMTP_port_SSL=465
52 | Gmail_SMTP_TLS_SSL_required=yes
53 |
54 | MAIL_SENDER="John Doe johndoe@gmail.com"
55 |
56 | - users are saved in file `config/users.js`
57 |
58 |
59 |
60 | ## Scripts
61 |
62 | **Install Modules**
63 |
64 | ```bash
65 | $ npm i
66 | $ npm i nodemon -g
67 | ```
68 |
69 |
70 |
71 | **Run**
72 |
73 | ```bash
74 | $ npm run start # classic start OR
75 | $ npm run dev # with nodemon live update
76 | ```
77 |
78 | Runs the application with [nodemon]("https://nodemon.io/"). Server is listening on Port 3000 by default. This can be overwritten by `PORT` constant in `.env` file.
79 |
80 |
81 |
82 | ## Support
83 |
84 | For issues and features request, use **Github** or reach out to support at [support page](ansurmehdi@gmail.com) provided by **Syed Ansur Mehdi**
85 |
86 |
87 |
88 | ## License
89 |
90 | [](http://badges.mit-license.org)
91 |
92 | - **[MIT license](http://opensource.org/licenses/mit-license.php)**
93 |
94 |
95 |
96 | ---
97 |
98 | [Express Basic Starter](https://appseed.us/boilerplate-code/nodejs-starter) provided by **Syed Ansur Mehdi** with starter pulled from `Nodejs-starter` by **AppSeed**
99 |
--------------------------------------------------------------------------------
/app/controllers/TodosController.js:
--------------------------------------------------------------------------------
1 | const Todo = require(process.cwd() + "/models").Todo;
2 |
3 | const Joi = require("joi");
4 | const TodoValidator = require("../validators/TodoValidator.js");
5 |
6 | const index = async (req, res) =>
7 | await Todo.findAll().then(todos => res.status(200).json(todos));
8 |
9 | const getTodo = async (req, res) => {
10 | const { id } = req.params;
11 | await Todo.findOne({ where: id }).then(todo =>
12 | res.status(200).json(JSON.stringify(todo))
13 | );
14 | };
15 |
16 | const createTodo = async (req, res) => {
17 | const {
18 | body: { todo }
19 | } = req;
20 | const result = Joi.validate(todo, TodoValidator);
21 | if (result.error) {
22 | return res.status(422).json({
23 | errors: result.error
24 | });
25 | }
26 | try {
27 | const todo = await Todo.create(req.body.todo);
28 | return res.json({ todo });
29 | } catch (e) {
30 | return res.status(500).json({
31 | errors: e
32 | });
33 | }
34 | };
35 |
36 | const updateTodo = async (req, res) => {
37 | const { todo } = req.params;
38 | const result = Joi.validate(todo, TodoValidator);
39 | if (result.error) {
40 | return res.status(422).json({
41 | errors: result.error
42 | });
43 | }
44 | await Todo.update({ ...todo }, { where: { id: todo.id } }).then(function(
45 | record
46 | ) {
47 | return res.status(201).json(JSON.stringify(record));
48 | });
49 | };
50 |
51 | const deleteTodo = async (req, res) => {
52 | const { id } = req.params;
53 | await Todo.destroy({ where: { id } }).then(function(record) {
54 | return res.status(200).json(JSON.stringify(record));
55 | });
56 | };
57 |
58 | module.exports = {
59 | index,
60 | getTodo,
61 | createTodo,
62 | updateTodo,
63 | deleteTodo
64 | };
65 |
--------------------------------------------------------------------------------
/app/controllers/UserController.js:
--------------------------------------------------------------------------------
1 | const passport = require("passport");
2 | const generateJWT = require(process.cwd() + "/utils/generateJWT");
3 | const generateHash = require(process.cwd() + "/utils/generateHash");
4 | const User = require(process.cwd() + "/models").User;
5 | const Joi = require("joi");
6 | const UserValidator = require("../validators/UserValidator");
7 |
8 | const loginController = async (req, res, next) => {
9 | const {
10 | body: { user }
11 | } = req;
12 | const result = Joi.validate(user, UserValidator);
13 |
14 | if (result.error) {
15 | return res.status(422).json({
16 | errors: result.error
17 | });
18 | }
19 |
20 | return passport.authenticate(
21 | "local",
22 | { session: false },
23 | (err, passportUser, info) => {
24 | if (err) {
25 | return next(err);
26 | }
27 |
28 | if (passportUser) {
29 | const user = {
30 | _id: passportUser.id,
31 | email: passportUser.email,
32 | name: passportUser.name,
33 | surname: passportUser.surname,
34 | token: generateJWT(passportUser)
35 | };
36 | return res.json({ user });
37 | }
38 |
39 | return res.status(400).send(info);
40 | }
41 | )(req, res, next);
42 | };
43 |
44 | const signupController = async (req, res, next) => {
45 | let {
46 | body: { user }
47 | } = req;
48 | const result = Joi.validate(user, UserValidator);
49 | if (result.error) {
50 | return res.status(422).json({
51 | errors: result.error
52 | });
53 | }
54 | let hashedPassword = await generateHash(user.password);
55 | user.password = hashedPassword;
56 | try {
57 | let newUser = await User.create(user);
58 | delete newUser.dataValues.password;
59 | return res.json({ newUser });
60 | } catch (e) {
61 | return res.status(500).json(e);
62 | }
63 | };
64 |
65 | const listController = async (req, res, next) => {
66 | User.findAll().then(users => {
67 | return res.status(200).json(users);
68 | });
69 | };
70 |
71 | module.exports = {
72 | loginController,
73 | signupController,
74 | listController
75 | };
76 |
--------------------------------------------------------------------------------
/app/mailable/demo.js:
--------------------------------------------------------------------------------
1 | const { sendEmail } = require("../../config/mailer");
2 | const handlebars = require("handlebars");
3 | const fs = require("fs");
4 | const welcomeHtml = handlebars.compile(
5 | "../../resources/views/welcome_mail.html"
6 | );
7 | // let welcomeMail;
8 | // fs.readFileSync(require(), "utf8", (err, res) => {
9 | // if (err) return err;
10 |
11 | // welcomeMail = res;
12 | // });
13 | console.log(welcomeHtml);
14 | let messageBody = {
15 | subject: "Hey! Design Your Model S | Tesla",
16 | text: "Have the most fun you can in a car. Get your Tesla today!",
17 | // html:
18 | // "
Hello! Welcome to Tesla Store!
Get your new tesla right now in a matter of minutes!
",
19 | // html: handlebars.compile(welcomeMail),
20 | html: welcomeHtml,
21 | attachments: [
22 | {
23 | // Use a URL as an attachment
24 | filename: "your-tesla.png",
25 | path:
26 | "https://media.gettyimages.com/photos/view-of-tesla-model-s-in-barcelona-spain-on-september-10-2018-picture-id1032050330?s=2048x2048"
27 | }
28 | ]
29 | };
30 |
31 | const sendMail = () =>
32 | sendEmail("ansurmehdi@gmail.com", messageBody, (err, result) => {
33 | if (err) console.log("Error while sending email!");
34 | if (result) {
35 | console.log(
36 | `Demo email sent successfully
37 | from ${result.envelope.from},
38 | to: ${result.envelope.to}.`
39 | );
40 | }
41 | });
42 |
43 | module.exports = { sendMail };
44 |
--------------------------------------------------------------------------------
/app/validators/TodoValidator.js:
--------------------------------------------------------------------------------
1 | const Joi = require("joi");
2 |
3 | const schema = Joi.object().keys({
4 | title: Joi.string()
5 | .min(3)
6 | .required(),
7 | detail: Joi.string()
8 | .min(2)
9 | .max(100)
10 | .optional()
11 | });
12 |
13 | module.exports = schema;
14 |
--------------------------------------------------------------------------------
/app/validators/UserValidator.js:
--------------------------------------------------------------------------------
1 | const Joi = require("joi");
2 |
3 | const schema = Joi.object().keys({
4 | username: Joi.string()
5 | .alphanum()
6 | .min(3)
7 | .max(30)
8 | .optional(),
9 | password: Joi.string().required(),
10 | email: Joi.string()
11 | .email({ minDomainAtoms: 2 })
12 | .required(),
13 | name: Joi.string()
14 | .alphanum()
15 | .min(2)
16 | .max(100)
17 | .optional(),
18 | surname: Joi.string()
19 | .alphanum()
20 | .min(2)
21 | .max(100)
22 | .optional()
23 | });
24 |
25 | module.exports = schema;
26 |
--------------------------------------------------------------------------------
/changelog.md:
--------------------------------------------------------------------------------
1 | ## Changelog
2 |
3 | ### 2019-03-24
4 | - README update
5 |
6 | ### Initial Release
7 |
--------------------------------------------------------------------------------
/config/config.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * Author: AppSeed.us
4 | *
5 | * License: MIT - Copyright (c) AppSeed.us
6 | * @link https://github.com/app-generator/nodejs-starter
7 | *
8 | */
9 |
10 | /* Make all variables from our .env file available in our process */
11 | require("dotenv").config();
12 | const mysql2 = require("mysql2");
13 |
14 | module.exports = {
15 | development: {
16 | dialect: "mysql",
17 | dialectModule: mysql2,
18 | username: process.env.DB_USERNAME,
19 | password: process.env.DB_PASSWORD,
20 | database: process.env.DB_NAME,
21 | define: {
22 | timestamps: false
23 | },
24 | logging: false
25 | },
26 | test: {
27 | dialect: "sqlite",
28 | storage: ":memory:"
29 | },
30 | production: {
31 | username: process.env.DB_USERNAME,
32 | password: process.env.DB_PASSWORD,
33 | database: process.env.DB_NAME,
34 | host: process.env.DB_HOSTNAME,
35 | logging: false,
36 | dialect: "mysql",
37 | use_env_variable: "DATABASE_URL"
38 | },
39 | mailtrapConfig: {
40 | host: process.env.MAILTRAPHOST,
41 | port: process.env.MAILTRAPPORT,
42 | auth: {
43 | user: process.env.MAILTRAPUSER,
44 | pass: process.env.MAILTRAPPASS
45 | },
46 | from: process.env.MAILTRAPSENDER
47 | },
48 | gmailConfig: {
49 | host: process.env.Gmail_SMTP_server_address,
50 | port: process.env.Gmail_SMTP_port_TLS,
51 | auth: {
52 | user: process.env.Gmail_SMTP_username,
53 | pass: process.env.Gmail_SMTP_password
54 | },
55 | from: process.env.MAIL_SENDER
56 | }
57 | };
58 |
--------------------------------------------------------------------------------
/config/mailer.js:
--------------------------------------------------------------------------------
1 | const nodemailer = require("nodemailer");
2 |
3 | const { gmailConfig } = require("./config");
4 |
5 | let transport = nodemailer.createTransport(gmailConfig);
6 |
7 | const sendEmail = async (to, messageBody, callback) => {
8 | let message = {
9 | from: gmailConfig.from,
10 | to,
11 | ...messageBody
12 | };
13 | await transport.sendMail(message, callback);
14 | };
15 |
16 | module.exports = { sendEmail };
17 |
--------------------------------------------------------------------------------
/config/passport.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * Author: AppSeed.us
4 | *
5 | * License: MIT - Copyright (c) AppSeed.us
6 | * @link https://github.com/app-generator/nodejs-starter
7 | *
8 | */
9 |
10 | const passport = require('passport');
11 | const LocalStrategy = require('passport-local');
12 | const validatePassword = require('../utils/validatePassword');
13 | const User = require('../models').User;
14 |
15 | passport.use(new LocalStrategy({
16 | usernameField: 'user[email]',
17 | passwordField: 'user[password]',
18 | }, async (email, password, done) => {
19 | // Recover the user
20 | let user = await User.findOne({where: {email}});
21 |
22 | if(!user){
23 | return done(null, false, {errors: {'account': 'Invalid account'}});
24 | }
25 |
26 | // Validate password
27 | if ( !validatePassword(password, user.password) ) {
28 | return done(null, false, { errors: { 'password': 'Password is invalid'}});
29 | }
30 |
31 | return done(null, user);
32 | }));
33 |
--------------------------------------------------------------------------------
/config/users.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * Author: AppSeed.us
4 | *
5 | * License: MIT - Copyright (c) AppSeed.us
6 | * @link https://github.com/app-generator/nodejs-starter
7 | *
8 | */
9 |
10 | /*
11 | * The hardcoded users list
12 | *
13 | */
14 |
15 | const user1 = {
16 | id : 1,
17 | name : 'John',
18 | surname : 'Doe',
19 | email : 'demo@appseed.us',
20 | password : 'demo'
21 | };
22 |
23 | const user2 = {
24 | id : 2,
25 | name : 'George',
26 | surname : 'Clooney',
27 | email : 'demo2@appseed.us',
28 | password : 'demo'
29 | };
30 |
31 | var Users = { };
32 |
33 | Users[ user1.email ] = user1;
34 | Users[ user2.email ] = user2;
35 |
36 | module.exports = Users;
37 |
--------------------------------------------------------------------------------
/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * Author: AppSeed.us - Full Stack App Generator
4 | *
5 | * License: MIT - Copyright (c) AppSeed.us
6 | * @link https://github.com/rosoftdeveloper/appseed
7 | *
8 | */
9 |
10 | const express = require("express");
11 | const bodyParser = require("body-parser");
12 | const session = require("express-session");
13 | const cors = require("cors");
14 | const models = require("./models");
15 | const { sendMail } = require("./app/mailable/demo");
16 |
17 | /* Make all variables from our .env file available in our process */
18 | require("dotenv").config();
19 | /* Init express */
20 | const app = express();
21 |
22 | /* Here we setup the middlewares & configs */
23 | app.use(cors());
24 | app.use(bodyParser.urlencoded({ extended: false }));
25 | app.use(bodyParser.json());
26 | app.use(
27 | session({
28 | secret: process.env.SESSION_SECRET,
29 | cookie: { maxAge: 60000 },
30 | resave: false,
31 | saveUninitialized: false
32 | })
33 | );
34 | require("./config/passport");
35 |
36 | /* Here we define the api routes */
37 | app.use(require("./routes"));
38 |
39 | const port = process.env.PORT || 3000;
40 | const address = process.env.SERVER_ADDRESS || "127.0.0.1";
41 |
42 | /* Create everything automatically with sequelize ORM */
43 | models.sequelize.sync().then(function() {
44 | app.listen(port, address, () => {
45 | console.log(`Server running on http://${address}:${port}`);
46 | // sendMail();
47 | });
48 | });
49 |
50 | module.exports = app;
51 |
--------------------------------------------------------------------------------
/migrations/20200210153802-todos.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 |
3 | module.exports = {
4 | up: (queryInterface, Sequelize) => {
5 | /*
6 | Add altering commands here.
7 | Return a promise to correctly handle asynchronicity.
8 |
9 | Example:
10 | return queryInterface.createTable('users', { id: Sequelize.INTEGER });
11 | */
12 |
13 | return queryInterface.createTable("Todos", {
14 | id: {
15 | allowNull: false,
16 | primaryKey: true,
17 | type: Sequelize.INTEGER,
18 | autoIncrement: true
19 | },
20 | title: Sequelize.STRING,
21 | detail: Sequelize.STRING
22 | });
23 | },
24 |
25 | down: (queryInterface, Sequelize) => {
26 | /*
27 | Add reverting commands here.
28 | Return a promise to correctly handle asynchronicity.
29 |
30 | Example:
31 | return queryInterface.dropTable('users');
32 | */
33 | }
34 | };
35 |
--------------------------------------------------------------------------------
/migrations/20200211114441-users.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 |
3 | module.exports = {
4 | up: (queryInterface, Sequelize) => {
5 | /*
6 | Add altering commands here.
7 | Return a promise to correctly handle asynchronicity.
8 |
9 | Example:
10 | return queryInterface.createTable('users', { id: Sequelize.INTEGER });
11 | */
12 | return queryInterface.createTable(
13 | "Users",
14 | {
15 | id: {
16 | allowNull: false,
17 | primaryKey: true,
18 | type: Sequelize.INTEGER,
19 | autoIncrement: true
20 | },
21 | name: Sequelize.STRING,
22 | surname: Sequelize.STRING,
23 | email: {
24 | type: Sequelize.STRING,
25 | allowNull: false
26 | },
27 | password: {
28 | type: Sequelize.STRING,
29 | allowNull: false
30 | }
31 | },
32 | {
33 | indexes: [
34 | {
35 | unique: true,
36 | fields: ["email"]
37 | }
38 | ]
39 | }
40 | );
41 | },
42 |
43 | down: (queryInterface, Sequelize) => {
44 | /*
45 | Add reverting commands here.
46 | Return a promise to correctly handle asynchronicity.
47 |
48 | Example:
49 | return queryInterface.dropTable('users');
50 | */
51 | }
52 | };
53 |
--------------------------------------------------------------------------------
/models/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * Author: AppSeed.us
4 | *
5 | * License: MIT - Copyright (c) AppSeed.us
6 | * @link https://github.com/app-generator/nodejs-starter
7 | *
8 | */
9 |
10 | "use strict";
11 |
12 | const fs = require("fs");
13 | const path = require("path");
14 | const Sequelize = require("sequelize");
15 | const basename = path.basename(__filename);
16 | const env = process.env.NODE_ENV || "development";
17 | const config = require(__dirname + "/../config/config.js")[env];
18 | const db = {};
19 |
20 | let sequelize;
21 | if (config.use_env_variable) {
22 | sequelize = new Sequelize(process.env[config.use_env_variable], config);
23 | } else {
24 | sequelize = new Sequelize(
25 | config.database,
26 | config.username,
27 | config.password,
28 | config
29 | );
30 | }
31 |
32 | fs.readdirSync(__dirname)
33 | .filter(file => {
34 | return (
35 | file.indexOf(".") !== 0 && file !== basename && file.slice(-3) === ".js"
36 | );
37 | })
38 | .forEach(file => {
39 | const model = sequelize["import"](path.join(__dirname, file));
40 | db[model.name] = model;
41 | });
42 |
43 | Object.keys(db).forEach(modelName => {
44 | if (db[modelName].associate) {
45 | db[modelName].associate(db);
46 | }
47 | });
48 |
49 | db.sequelize = sequelize;
50 | db.Sequelize = Sequelize;
51 |
52 | module.exports = db;
53 |
--------------------------------------------------------------------------------
/models/todo.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * Author: AppSeed.us
4 | *
5 | * License: MIT - Copyright (c) AppSeed.us
6 | * @link https://github.com/app-generator/nodejs-starter
7 | *
8 | */
9 |
10 | // const uuid = require("uuid/v4");
11 | ("use strict");
12 | module.exports = (sequelize, DataTypes) => {
13 | let Todo = sequelize.define(
14 | "Todo",
15 | {
16 | id: {
17 | allowNull: false,
18 | primaryKey: true,
19 | type: DataTypes.INTEGER,
20 | autoIncrement: true
21 | },
22 | title: DataTypes.STRING,
23 | detail: DataTypes.STRING
24 | },
25 | {
26 | indexes: [
27 | {
28 | unique: true,
29 | fields: ["id"]
30 | }
31 | ]
32 | }
33 | );
34 |
35 | return Todo;
36 | };
37 |
--------------------------------------------------------------------------------
/models/user.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * Author: AppSeed.us
4 | *
5 | * License: MIT - Copyright (c) AppSeed.us
6 | * @link https://github.com/app-generator/nodejs-starter
7 | *
8 | */
9 |
10 | // const uuid = require("uuid/v4");
11 | ("use strict");
12 | module.exports = (sequelize, DataTypes) => {
13 | let User = sequelize.define(
14 | "User",
15 | {
16 | id: {
17 | allowNull: false,
18 | primaryKey: true,
19 | type: DataTypes.INTEGER,
20 | autoIncrement: true
21 | },
22 | name: DataTypes.STRING,
23 | surname: DataTypes.STRING,
24 | email: {
25 | type: DataTypes.STRING,
26 | allowNull: false
27 | },
28 | password: {
29 | type: DataTypes.STRING,
30 | allowNull: false
31 | }
32 | },
33 | {
34 | indexes: [
35 | {
36 | unique: true,
37 | fields: ["email"]
38 | }
39 | ]
40 | }
41 | );
42 |
43 | return User;
44 | };
45 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "backend",
3 | "version": "1.0.0",
4 | "description": "Just a simple express server",
5 | "main": "index.js",
6 | "scripts": {
7 | "start": "node index.js",
8 | "dev": "nodemon start",
9 | "lint": "./node_modules/.bin/eslint --ext .js config/ models/ routes/ seeders/ index.js",
10 | "lint-fix": "./node_modules/.bin/eslint --fix --ext .js config/ models/ routes/ seeders/ index.js",
11 | "test": "./node_modules/lab/bin/lab --verbose -m 180000 -M 30000"
12 | },
13 | "author": "AppSeed",
14 | "license": "ISC",
15 | "dependencies": {
16 | "bcrypt": "^3.0.8",
17 | "cors": "^2.8.5",
18 | "dotenv": "^6.2.0",
19 | "express": "^4.16.4",
20 | "express-jwt": "^5.3.1",
21 | "express-session": "^1.15.6",
22 | "handlebars": "^4.7.3",
23 | "joi": "^14.3.1",
24 | "jsonwebtoken": "^8.4.0",
25 | "nodemailer": "^6.4.2",
26 | "nodemon": "^2.0.2",
27 | "passport": "^0.4.0",
28 | "passport-local": "^1.0.0",
29 | "sequelize": "^5.15.1",
30 | "sequelize-cli": "^5.5.1",
31 | "supertest": "^4.0.2",
32 | "uuid": "^3.3.2"
33 | },
34 | "devDependencies": {
35 | "code": "^5.2.4",
36 | "eslint": "^4.19.1",
37 | "eslint-config-prettier": "^2.10.0",
38 | "eslint-plugin-import": "^2.15.0",
39 | "eslint-plugin-prettier": "^2.7.0",
40 | "faker": "^4.1.0",
41 | "lab": "^17.3.0",
42 | "mysql2": "^2.1.0",
43 | "prettier": "^1.16.1"
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/resources/views/welcome_mail.html:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |  |
42 |
43 |
44 |
45 | |
46 |
47 |
48 |
49 |
119 |
160 |
161 |
162 |
163 |
165 |
167 |
168 |
169 |
170 |
171 |
172 |
173 |
175 |
179 |
180 |
181 |
183 | Welcome!
184 | |
185 |
186 |
187 |
190 |
194 |
195 |
196 |
198 | |
199 |
200 |
201 |
202 | |
203 |
204 |
205 |
206 | |
207 |
208 |
209 |
210 | |
211 |
212 |
213 |
214 | |
215 |
216 |
217 |
218 |
219 |
220 |
221 |
222 |
224 |
225 |
226 |
227 |
228 |
229 |
230 |
232 |
236 |
237 |
238 |
240 | We're excited to have you get
241 | started. First, you need to
242 | confirm your account. Just
243 | press the button below.
244 | |
245 |
246 |
247 |
254 | Confirm
255 | Account |
256 |
257 |
258 |
260 | If that doesn't work, copy
261 | and paste the following link
262 | in your browser:
263 | |
264 |
265 |
266 | XXX.XXXXXXX.XXX
269 | / XXXXXXXXXXXXX |
270 |
271 |
272 |
274 | If you have any questions,
275 | just reply to this
276 | email—we're always happy to
277 | help out.
278 | |
279 |
280 |
281 |
283 | Cheers,
284 | The Ceej Team
285 | |
286 |
287 |
288 |
289 | |
290 |
291 |
292 |
293 | |
294 |
295 |
296 |
297 | |
298 |
299 |
300 |
301 |
302 |
303 |
304 |
305 |
307 |
308 |
309 |
310 |
311 |
312 |
313 |
315 |
317 |
318 |
319 |
321 |
325 |
326 |
327 |
329 | |
330 |
331 |
332 |
333 | |
334 |
335 |
336 |
337 | |
338 |
339 |
340 |
341 | |
342 |
343 |
344 |
345 | |
346 |
347 |
348 |
349 |
350 |
351 |
352 |
353 |
355 |
356 |
357 |
358 |
359 |
360 |
361 |
363 |
386 | |
387 |
388 |
389 |
390 | |
391 |
392 |
393 |
394 | |
395 |
396 |
397 |
398 |
476 |
517 | |
518 |
519 |
520 |
521 |
522 |
523 |
524 |
--------------------------------------------------------------------------------
/routes/api/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * Author: AppSeed.us
4 | *
5 | * License: MIT - Copyright (c) AppSeed.us
6 | * @link https://github.com/app-generator/nodejs-starter
7 | *
8 | */
9 |
10 | const express = require("express");
11 | const router = express.Router();
12 |
13 | router.use("/users", require("./users"));
14 | router.use("/todos", require("./todos"));
15 |
16 | module.exports = router;
17 |
--------------------------------------------------------------------------------
/routes/api/todos/index.js:
--------------------------------------------------------------------------------
1 | const router = require("express").Router();
2 | const auth = require("../../auth");
3 | const todosController = require(`${process.cwd()}/app/controllers/TodosController`);
4 |
5 | router.use(auth.required);
6 |
7 | router.get("/", todosController.index);
8 | router.get("/:id", todosController.getTodo);
9 | router.post("/create", todosController.createTodo);
10 | router.patch("/update", todosController.updateTodo);
11 | router.delete("/delete", todosController.deleteTodo);
12 |
13 | module.exports = router;
14 |
--------------------------------------------------------------------------------
/routes/api/users/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * Author: AppSeed.us
4 | *
5 | * License: MIT - Copyright (c) AppSeed.us
6 | * @link https://github.com/app-generator/nodejs-starter
7 | *
8 | */
9 | const router = require("express").Router();
10 | const auth = require("../../auth");
11 | const UserController = require(`${process.cwd()}/app/controllers/UserController`);
12 |
13 | // Defining router level auth middleware
14 | router.use(auth.optional);
15 |
16 | /* POST login route */
17 | router.post("/login", UserController.loginController);
18 | /* POST signup route */
19 | router.post("/signup", UserController.signupController);
20 | /* GET list route */
21 | router.get("/list", auth.required, UserController.listController);
22 |
23 | module.exports = router;
24 |
--------------------------------------------------------------------------------
/routes/auth.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * Author: AppSeed.us
4 | *
5 | * License: MIT - Copyright (c) AppSeed.us
6 | * @link https://github.com/app-generator/nodejs-starter
7 | *
8 | */
9 |
10 | const jwt = require("express-jwt");
11 |
12 | const getTokenFromHeaders = req => {
13 | const {
14 | headers: { authorization }
15 | } = req;
16 |
17 | if (authorization && authorization.split(" ")[0] === "Bearer") {
18 | return authorization.split(" ")[1];
19 | }
20 |
21 | return null;
22 | };
23 |
24 | const auth = {
25 | required: jwt({
26 | secret: process.env.JWT_SECRET,
27 | userProperty: "payload",
28 | getToken: getTokenFromHeaders
29 | }),
30 | optional: jwt({
31 | secret: process.env.JWT_SECRET,
32 | userProperty: "payload",
33 | getToken: getTokenFromHeaders,
34 | credentialsRequired: false
35 | })
36 | };
37 |
38 | module.exports = auth;
39 |
--------------------------------------------------------------------------------
/routes/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * Author: AppSeed.us
4 | *
5 | * License: MIT - Copyright (c) AppSeed.us
6 | * @link https://github.com/app-generator/nodejs-starter
7 | *
8 | */
9 |
10 | const express = require("express");
11 | const router = express.Router();
12 |
13 | router.use("/api", require("./api"));
14 |
15 | router.use(function(err, req, res, next) {
16 | if (err.name === "UnauthorizedError") {
17 | res.status(err.status).send({ message: err.message });
18 | return;
19 | }
20 | next();
21 | });
22 |
23 | module.exports = router;
24 |
--------------------------------------------------------------------------------
/test/integrations/registration.test.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * Author: AppSeed.us
4 | *
5 | * License: MIT - Copyright (c) AppSeed.us
6 | * @link https://github.com/app-generator/nodejs-starter
7 | *
8 | */
9 |
10 | const _ = require('lodash');
11 | const { expect } = require('code');
12 | const request = require('supertest');
13 | const lab = require('lab').script();
14 | exports.lab = lab;
15 | const app = require('../../index.js');
16 |
17 | const faker = require('faker');
18 | const { test, before, after, beforeEach, afterEach, suite } = lab;
19 |
20 | suite('[test][User]', () => {
21 | before(function () {
22 | });
23 |
24 | beforeEach(function () {
25 | //get the models
26 | });
27 |
28 | after(function () {
29 | //do a global cleanup of the database
30 | });
31 |
32 | afterEach( function () {
33 | //do something after each test
34 | });
35 |
36 | test('User should be able to login', async (done) => {
37 | const email = faker.internet.email();
38 | const password = faker.internet.password();
39 | const name = faker.name;
40 | const response = await request(app).post('/api/users/login').send({user:{email: email, password: password}}).set('Accept', 'application/json');
41 | //this user was not created before so it will return an error
42 | expect(response.status).to.equal(400);
43 | });
44 |
45 | test('User should be able to register', async (done) => {
46 | const email = faker.internet.email();
47 | const password = faker.internet.password();
48 | const firstName = faker.name.firstName();
49 | const lastName = faker.name.lastName();
50 | let response = await request(app).post('/api/users/signup').send({email: email, password: password, name: lastName, surname: firstName}).set('Accept', 'application/json');
51 | expect(response.status).to.equal(200);
52 | const user = response.body;
53 | expect(user.email).to.equal(email);
54 | expect(user.password).to.equal(password);
55 | expect(user.name).to.equal(lastName);
56 | expect(user.surname).to.equal(firstName);
57 | //Now let's see if the user is able to login
58 | response = await request(app).post('/api/users/login').send({user:{email: email, password: password}}).set('Accept', 'application/json');
59 | expect(response.status).to.equal(200);
60 |
61 | });
62 | });
63 |
--------------------------------------------------------------------------------
/test/unit/user.test.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * Author: AppSeed.us
4 | *
5 | * License: MIT - Copyright (c) AppSeed.us
6 | * @link https://github.com/app-generator/nodejs-starter
7 | *
8 | */
9 |
10 | const _ = require('lodash');
11 | const { expect } = require('code');
12 | const request = require('supertest');
13 | const lab = require('lab').script();
14 | const models = require('../../models');
15 | const User = models.User;
16 | exports.lab = lab;
17 |
18 | const faker = require('faker');
19 | const { test, before, after, beforeEach, afterEach, suite } = lab;
20 |
21 | suite('[test][User]', () => {
22 | before(function () {
23 | //make sure the models are synced, or do any other global init it may be required
24 | // return models.sequelize.sync();
25 | });
26 |
27 | beforeEach(function () {
28 | //get the models
29 |
30 | });
31 |
32 | after(function () {
33 | //do a global cleanup of the database
34 | return Promise.all([
35 | User.destroy({ truncate: true })
36 | ]);
37 | });
38 |
39 | afterEach( function () {
40 | //do something after each test
41 | });
42 | test('User should be created and retrieved', async() => {
43 | const email = faker.internet.email();
44 | const password = faker.internet.password();
45 | const name = faker.name;
46 | const newUser = await User.create({ email: email, password: password, name: name.lastName(), surname: name.firstName()});
47 | expect(newUser.email).to.equal(email);
48 | const foundUser = await User.findOne({where:{ email }});
49 | expect(foundUser.email).to.equal(email);
50 | });
51 | });
52 |
--------------------------------------------------------------------------------
/utils/generateHash.js:
--------------------------------------------------------------------------------
1 | const bcrypt = require("bcrypt");
2 | const saltRounds =
3 | (process.env.SALT_ROUNDS && Number(process.env.SALT_ROUNDS)) || 10;
4 | const generateHash = async plainPassword => {
5 | return await bcrypt.hashSync(plainPassword, saltRounds);
6 | };
7 |
8 | module.exports = generateHash;
9 |
--------------------------------------------------------------------------------
/utils/generateJWT.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * Author: AppSeed.us
4 | *
5 | * License: MIT - Copyright (c) AppSeed.us
6 | * @link https://github.com/app-generator/nodejs-starter
7 | *
8 | */
9 |
10 | const jwt = require("jsonwebtoken");
11 |
12 | /**
13 | * generate the json web token that we'll use for authentication
14 | *
15 | * @since 1.0.0
16 | * @category authentication
17 | * @param {Any} id The user ID
18 | * @param {String} email The email of the user
19 | * @param {String} name The name of the user
20 | * @param {String} surname The surname of the user
21 | * @returns {Object} The generated JWT
22 | */
23 |
24 | const generateJWT = ({ id, email, name, surname }) => {
25 | const today = new Date();
26 | const expirationDate = new Date(today);
27 |
28 | expirationDate.setDate(today.getDate() + 600);
29 |
30 | return jwt.sign(
31 | {
32 | id,
33 | email,
34 | name,
35 | surname,
36 | exp: parseInt(expirationDate.getTime() / 1000, 10)
37 | },
38 | process.env.JWT_SECRET
39 | );
40 | };
41 |
42 | module.exports = generateJWT;
43 |
--------------------------------------------------------------------------------
/utils/validatePassword.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * Author: AppSeed.us
4 | *
5 | * License: MIT - Copyright (c) AppSeed.us
6 | * @link https://github.com/app-generator/nodejs-starter
7 | *
8 | */
9 |
10 | const bcrypt = require("bcrypt");
11 |
12 | /**
13 | * Validates that the provided password matches the hashed counterpart
14 | *
15 | * @since 1.0.0
16 | * @category validation
17 | * @param {String} password The password provided by the user
18 | * @param {String} hashedPassword The password stored in your db
19 | * @returns {Boolean} the
20 | */
21 |
22 | const validatePassword = async (password, hashedPassword) => {
23 | let validateResult = await bcrypt.compareSync(password, hashedPassword);
24 | return await validateResult;
25 | };
26 | module.exports = validatePassword;
27 |
--------------------------------------------------------------------------------
/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@babel/code-frame@^7.0.0":
6 | version "7.0.0"
7 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8"
8 | dependencies:
9 | "@babel/highlight" "^7.0.0"
10 |
11 | "@babel/highlight@^7.0.0":
12 | version "7.0.0"
13 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4"
14 | dependencies:
15 | chalk "^2.0.0"
16 | esutils "^2.0.2"
17 | js-tokens "^4.0.0"
18 |
19 | "@types/node@*":
20 | version "11.13.4"
21 | resolved "https://registry.yarnpkg.com/@types/node/-/node-11.13.4.tgz#f83ec3c3e05b174b7241fadeb6688267fe5b22ca"
22 |
23 | abbrev@1:
24 | version "1.1.1"
25 | resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
26 |
27 | accepts@~1.3.5:
28 | version "1.3.5"
29 | resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.5.tgz#eb777df6011723a3b14e8a72c0805c8e86746bd2"
30 | dependencies:
31 | mime-types "~2.1.18"
32 | negotiator "0.6.1"
33 |
34 | acorn-jsx@^3.0.0:
35 | version "3.0.1"
36 | resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b"
37 | dependencies:
38 | acorn "^3.0.4"
39 |
40 | acorn-jsx@^5.0.0:
41 | version "5.0.1"
42 | resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.1.tgz#32a064fd925429216a09b141102bfdd185fae40e"
43 |
44 | acorn@^3.0.4:
45 | version "3.3.0"
46 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a"
47 |
48 | acorn@^5.5.0:
49 | version "5.7.3"
50 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279"
51 |
52 | acorn@^6.0.2:
53 | version "6.1.1"
54 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.1.1.tgz#7d25ae05bb8ad1f9b699108e1094ecd7884adc1f"
55 |
56 | ajv-keywords@^2.1.0:
57 | version "2.1.1"
58 | resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz#617997fc5f60576894c435f940d819e135b80762"
59 |
60 | ajv@^5.2.3, ajv@^5.3.0:
61 | version "5.5.2"
62 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965"
63 | dependencies:
64 | co "^4.6.0"
65 | fast-deep-equal "^1.0.0"
66 | fast-json-stable-stringify "^2.0.0"
67 | json-schema-traverse "^0.3.0"
68 |
69 | ajv@^6.5.3, ajv@^6.9.1:
70 | version "6.10.0"
71 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.0.tgz#90d0d54439da587cd7e843bfb7045f50bd22bdf1"
72 | dependencies:
73 | fast-deep-equal "^2.0.1"
74 | fast-json-stable-stringify "^2.0.0"
75 | json-schema-traverse "^0.4.1"
76 | uri-js "^4.2.2"
77 |
78 | ansi-align@^2.0.0:
79 | version "2.0.0"
80 | resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-2.0.0.tgz#c36aeccba563b89ceb556f3690f0b1d9e3547f7f"
81 | dependencies:
82 | string-width "^2.0.0"
83 |
84 | ansi-escapes@^3.0.0, ansi-escapes@^3.2.0:
85 | version "3.2.0"
86 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b"
87 |
88 | ansi-regex@^2.0.0, ansi-regex@^2.1.1:
89 | version "2.1.1"
90 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
91 |
92 | ansi-regex@^3.0.0:
93 | version "3.0.0"
94 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
95 |
96 | ansi-regex@^4.1.0:
97 | version "4.1.0"
98 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997"
99 |
100 | ansi-styles@^2.2.1:
101 | version "2.2.1"
102 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
103 |
104 | ansi-styles@^3.2.0, ansi-styles@^3.2.1:
105 | version "3.2.1"
106 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
107 | dependencies:
108 | color-convert "^1.9.0"
109 |
110 | ansicolors@~0.3.2:
111 | version "0.3.2"
112 | resolved "https://registry.yarnpkg.com/ansicolors/-/ansicolors-0.3.2.tgz#665597de86a9ffe3aa9bfbe6cae5c6ea426b4979"
113 |
114 | any-promise@^1.3.0:
115 | version "1.3.0"
116 | resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f"
117 |
118 | anymatch@~3.1.1:
119 | version "3.1.1"
120 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142"
121 | dependencies:
122 | normalize-path "^3.0.0"
123 | picomatch "^2.0.4"
124 |
125 | aproba@^1.0.3:
126 | version "1.2.0"
127 | resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
128 |
129 | are-we-there-yet@~1.1.2:
130 | version "1.1.5"
131 | resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21"
132 | dependencies:
133 | delegates "^1.0.0"
134 | readable-stream "^2.0.6"
135 |
136 | argparse@^1.0.7:
137 | version "1.0.10"
138 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
139 | dependencies:
140 | sprintf-js "~1.0.2"
141 |
142 | array-flatten@1.1.1:
143 | version "1.1.1"
144 | resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
145 |
146 | array-includes@^3.0.3:
147 | version "3.0.3"
148 | resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz#184b48f62d92d7452bb31b323165c7f8bd02266d"
149 | dependencies:
150 | define-properties "^1.1.2"
151 | es-abstract "^1.7.0"
152 |
153 | astral-regex@^1.0.0:
154 | version "1.0.0"
155 | resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9"
156 |
157 | async@^1.5.0:
158 | version "1.5.2"
159 | resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
160 |
161 | asynckit@^0.4.0:
162 | version "0.4.0"
163 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
164 |
165 | babel-code-frame@^6.22.0:
166 | version "6.26.0"
167 | resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
168 | dependencies:
169 | chalk "^1.1.3"
170 | esutils "^2.0.2"
171 | js-tokens "^3.0.2"
172 |
173 | babel-runtime@^6.23.0:
174 | version "6.26.0"
175 | resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
176 | dependencies:
177 | core-js "^2.4.0"
178 | regenerator-runtime "^0.11.0"
179 |
180 | balanced-match@^1.0.0:
181 | version "1.0.0"
182 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
183 |
184 | bcrypt@^3.0.8:
185 | version "3.0.8"
186 | resolved "https://registry.yarnpkg.com/bcrypt/-/bcrypt-3.0.8.tgz#fe437b7569faffc1105c3c3f6e7d2913e3d3bea5"
187 | dependencies:
188 | nan "2.14.0"
189 | node-pre-gyp "0.14.0"
190 |
191 | binary-extensions@^2.0.0:
192 | version "2.0.0"
193 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.0.0.tgz#23c0df14f6a88077f5f986c0d167ec03c3d5537c"
194 |
195 | bluebird@^3.5.0, bluebird@^3.5.3:
196 | version "3.5.4"
197 | resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.4.tgz#d6cc661595de30d5b3af5fcedd3c0b3ef6ec5714"
198 |
199 | body-parser@1.18.3:
200 | version "1.18.3"
201 | resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.3.tgz#5b292198ffdd553b3a0f20ded0592b956955c8b4"
202 | dependencies:
203 | bytes "3.0.0"
204 | content-type "~1.0.4"
205 | debug "2.6.9"
206 | depd "~1.1.2"
207 | http-errors "~1.6.3"
208 | iconv-lite "0.4.23"
209 | on-finished "~2.3.0"
210 | qs "6.5.2"
211 | raw-body "2.3.3"
212 | type-is "~1.6.16"
213 |
214 | boom@7.x.x:
215 | version "7.3.0"
216 | resolved "https://registry.yarnpkg.com/boom/-/boom-7.3.0.tgz#733a6d956d33b0b1999da3fe6c12996950d017b9"
217 | dependencies:
218 | hoek "6.x.x"
219 |
220 | bossy@4.x.x:
221 | version "4.0.3"
222 | resolved "https://registry.yarnpkg.com/bossy/-/bossy-4.0.3.tgz#52ecc3f3fc3b35799970f77871df024c41d19c39"
223 | dependencies:
224 | boom "7.x.x"
225 | hoek "6.x.x"
226 | joi "14.x.x"
227 |
228 | boxen@^1.2.1:
229 | version "1.3.0"
230 | resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.3.0.tgz#55c6c39a8ba58d9c61ad22cd877532deb665a20b"
231 | dependencies:
232 | ansi-align "^2.0.0"
233 | camelcase "^4.0.0"
234 | chalk "^2.0.1"
235 | cli-boxes "^1.0.0"
236 | string-width "^2.0.0"
237 | term-size "^1.2.0"
238 | widest-line "^2.0.0"
239 |
240 | brace-expansion@^1.1.7:
241 | version "1.1.11"
242 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
243 | dependencies:
244 | balanced-match "^1.0.0"
245 | concat-map "0.0.1"
246 |
247 | braces@~3.0.2:
248 | version "3.0.2"
249 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
250 | dependencies:
251 | fill-range "^7.0.1"
252 |
253 | buffer-equal-constant-time@1.0.1:
254 | version "1.0.1"
255 | resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819"
256 |
257 | buffer-from@^1.0.0:
258 | version "1.1.1"
259 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
260 |
261 | bytes@3.0.0:
262 | version "3.0.0"
263 | resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048"
264 |
265 | caller-path@^0.1.0:
266 | version "0.1.0"
267 | resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f"
268 | dependencies:
269 | callsites "^0.2.0"
270 |
271 | callsites@^0.2.0:
272 | version "0.2.0"
273 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca"
274 |
275 | camelcase@^4.0.0:
276 | version "4.1.0"
277 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd"
278 |
279 | camelcase@^5.0.0:
280 | version "5.3.1"
281 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
282 |
283 | capture-stack-trace@^1.0.0:
284 | version "1.0.1"
285 | resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz#a6c0bbe1f38f3aa0b92238ecb6ff42c344d4135d"
286 |
287 | cardinal@^2.1.1:
288 | version "2.1.1"
289 | resolved "https://registry.yarnpkg.com/cardinal/-/cardinal-2.1.1.tgz#7cc1055d822d212954d07b085dea251cc7bc5505"
290 | dependencies:
291 | ansicolors "~0.3.2"
292 | redeyed "~2.1.0"
293 |
294 | chalk@^1.1.3:
295 | version "1.1.3"
296 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
297 | dependencies:
298 | ansi-styles "^2.2.1"
299 | escape-string-regexp "^1.0.2"
300 | has-ansi "^2.0.0"
301 | strip-ansi "^3.0.0"
302 | supports-color "^2.0.0"
303 |
304 | chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.4.2:
305 | version "2.4.2"
306 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
307 | dependencies:
308 | ansi-styles "^3.2.1"
309 | escape-string-regexp "^1.0.5"
310 | supports-color "^5.3.0"
311 |
312 | chardet@^0.4.0:
313 | version "0.4.2"
314 | resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2"
315 |
316 | chardet@^0.7.0:
317 | version "0.7.0"
318 | resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"
319 |
320 | chokidar@^3.2.2:
321 | version "3.3.1"
322 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.3.1.tgz#c84e5b3d18d9a4d77558fef466b1bf16bbeb3450"
323 | dependencies:
324 | anymatch "~3.1.1"
325 | braces "~3.0.2"
326 | glob-parent "~5.1.0"
327 | is-binary-path "~2.1.0"
328 | is-glob "~4.0.1"
329 | normalize-path "~3.0.0"
330 | readdirp "~3.3.0"
331 | optionalDependencies:
332 | fsevents "~2.1.2"
333 |
334 | chownr@^1.1.1:
335 | version "1.1.1"
336 | resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz#54726b8b8fff4df053c42187e801fb4412df1494"
337 |
338 | ci-info@^1.5.0:
339 | version "1.6.0"
340 | resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497"
341 |
342 | circular-json@^0.3.1:
343 | version "0.3.3"
344 | resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66"
345 |
346 | cli-boxes@^1.0.0:
347 | version "1.0.0"
348 | resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143"
349 |
350 | cli-color@^1.4.0:
351 | version "1.4.0"
352 | resolved "https://registry.yarnpkg.com/cli-color/-/cli-color-1.4.0.tgz#7d10738f48526824f8fe7da51857cb0f572fe01f"
353 | dependencies:
354 | ansi-regex "^2.1.1"
355 | d "1"
356 | es5-ext "^0.10.46"
357 | es6-iterator "^2.0.3"
358 | memoizee "^0.4.14"
359 | timers-ext "^0.1.5"
360 |
361 | cli-cursor@^2.1.0:
362 | version "2.1.0"
363 | resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5"
364 | dependencies:
365 | restore-cursor "^2.0.0"
366 |
367 | cli-width@^2.0.0:
368 | version "2.2.0"
369 | resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639"
370 |
371 | cliui@^5.0.0:
372 | version "5.0.0"
373 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5"
374 | dependencies:
375 | string-width "^3.1.0"
376 | strip-ansi "^5.2.0"
377 | wrap-ansi "^5.1.0"
378 |
379 | cls-bluebird@^2.1.0:
380 | version "2.1.0"
381 | resolved "https://registry.yarnpkg.com/cls-bluebird/-/cls-bluebird-2.1.0.tgz#37ef1e080a8ffb55c2f4164f536f1919e7968aee"
382 | dependencies:
383 | is-bluebird "^1.0.2"
384 | shimmer "^1.1.0"
385 |
386 | co@^4.6.0:
387 | version "4.6.0"
388 | resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
389 |
390 | code-point-at@^1.0.0:
391 | version "1.1.0"
392 | resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
393 |
394 | code@^5.2.4:
395 | version "5.2.4"
396 | resolved "https://registry.yarnpkg.com/code/-/code-5.2.4.tgz#b1bb981e96acf8099ff847605b42d04db05caffa"
397 | dependencies:
398 | hoek "6.x.x"
399 |
400 | color-convert@^1.9.0:
401 | version "1.9.3"
402 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
403 | dependencies:
404 | color-name "1.1.3"
405 |
406 | color-name@1.1.3:
407 | version "1.1.3"
408 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
409 |
410 | combined-stream@^1.0.6:
411 | version "1.0.7"
412 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz#2d1d24317afb8abe95d6d2c0b07b57813539d828"
413 | dependencies:
414 | delayed-stream "~1.0.0"
415 |
416 | commander@^2.19.0, commander@~2.20.0:
417 | version "2.20.0"
418 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422"
419 |
420 | component-emitter@^1.2.0:
421 | version "1.2.1"
422 | resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6"
423 |
424 | concat-map@0.0.1:
425 | version "0.0.1"
426 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
427 |
428 | concat-stream@^1.6.0:
429 | version "1.6.2"
430 | resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
431 | dependencies:
432 | buffer-from "^1.0.0"
433 | inherits "^2.0.3"
434 | readable-stream "^2.2.2"
435 | typedarray "^0.0.6"
436 |
437 | config-chain@^1.1.12:
438 | version "1.1.12"
439 | resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.12.tgz#0fde8d091200eb5e808caf25fe618c02f48e4efa"
440 | dependencies:
441 | ini "^1.3.4"
442 | proto-list "~1.2.1"
443 |
444 | configstore@^3.0.0:
445 | version "3.1.2"
446 | resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.2.tgz#c6f25defaeef26df12dd33414b001fe81a543f8f"
447 | dependencies:
448 | dot-prop "^4.1.0"
449 | graceful-fs "^4.1.2"
450 | make-dir "^1.0.0"
451 | unique-string "^1.0.0"
452 | write-file-atomic "^2.0.0"
453 | xdg-basedir "^3.0.0"
454 |
455 | console-control-strings@^1.0.0, console-control-strings@~1.1.0:
456 | version "1.1.0"
457 | resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
458 |
459 | contains-path@^0.1.0:
460 | version "0.1.0"
461 | resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a"
462 |
463 | content-disposition@0.5.2:
464 | version "0.5.2"
465 | resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4"
466 |
467 | content-type@~1.0.4:
468 | version "1.0.4"
469 | resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"
470 |
471 | cookie-signature@1.0.6:
472 | version "1.0.6"
473 | resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
474 |
475 | cookie@0.3.1:
476 | version "0.3.1"
477 | resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb"
478 |
479 | cookiejar@^2.1.0:
480 | version "2.1.2"
481 | resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.2.tgz#dd8a235530752f988f9a0844f3fc589e3111125c"
482 |
483 | core-js@^2.4.0:
484 | version "2.6.5"
485 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.5.tgz#44bc8d249e7fb2ff5d00e0341a7ffb94fbf67895"
486 |
487 | core-util-is@~1.0.0:
488 | version "1.0.2"
489 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
490 |
491 | cors@^2.8.5:
492 | version "2.8.5"
493 | resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29"
494 | dependencies:
495 | object-assign "^4"
496 | vary "^1"
497 |
498 | create-error-class@^3.0.0:
499 | version "3.0.2"
500 | resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6"
501 | dependencies:
502 | capture-stack-trace "^1.0.0"
503 |
504 | cross-spawn@^5.0.1, cross-spawn@^5.1.0:
505 | version "5.1.0"
506 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449"
507 | dependencies:
508 | lru-cache "^4.0.1"
509 | shebang-command "^1.2.0"
510 | which "^1.2.9"
511 |
512 | cross-spawn@^6.0.5:
513 | version "6.0.5"
514 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
515 | dependencies:
516 | nice-try "^1.0.4"
517 | path-key "^2.0.1"
518 | semver "^5.5.0"
519 | shebang-command "^1.2.0"
520 | which "^1.2.9"
521 |
522 | crypto-random-string@^1.0.0:
523 | version "1.0.0"
524 | resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e"
525 |
526 | d@1:
527 | version "1.0.0"
528 | resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f"
529 | dependencies:
530 | es5-ext "^0.10.9"
531 |
532 | debug@2.6.9, debug@^2.2.0, debug@^2.6.8, debug@^2.6.9:
533 | version "2.6.9"
534 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
535 | dependencies:
536 | ms "2.0.0"
537 |
538 | debug@^3.1.0, debug@^3.2.6:
539 | version "3.2.6"
540 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b"
541 | dependencies:
542 | ms "^2.1.1"
543 |
544 | debug@^4.0.1, debug@^4.1.0, debug@^4.1.1:
545 | version "4.1.1"
546 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
547 | dependencies:
548 | ms "^2.1.1"
549 |
550 | decamelize@^1.2.0:
551 | version "1.2.0"
552 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
553 |
554 | deep-extend@^0.6.0:
555 | version "0.6.0"
556 | resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
557 |
558 | deep-is@~0.1.3:
559 | version "0.1.3"
560 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
561 |
562 | define-properties@^1.1.2:
563 | version "1.1.3"
564 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1"
565 | dependencies:
566 | object-keys "^1.0.12"
567 |
568 | delayed-stream@~1.0.0:
569 | version "1.0.0"
570 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
571 |
572 | delegates@^1.0.0:
573 | version "1.0.0"
574 | resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
575 |
576 | denque@^1.4.1:
577 | version "1.4.1"
578 | resolved "https://registry.yarnpkg.com/denque/-/denque-1.4.1.tgz#6744ff7641c148c3f8a69c307e51235c1f4a37cf"
579 |
580 | depd@~1.1.2:
581 | version "1.1.2"
582 | resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
583 |
584 | depd@~2.0.0:
585 | version "2.0.0"
586 | resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df"
587 |
588 | destroy@~1.0.4:
589 | version "1.0.4"
590 | resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
591 |
592 | detect-libc@^1.0.2:
593 | version "1.0.3"
594 | resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
595 |
596 | diff@3.5.x:
597 | version "3.5.0"
598 | resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12"
599 |
600 | doctrine@1.5.0:
601 | version "1.5.0"
602 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa"
603 | dependencies:
604 | esutils "^2.0.2"
605 | isarray "^1.0.0"
606 |
607 | doctrine@^2.1.0:
608 | version "2.1.0"
609 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d"
610 | dependencies:
611 | esutils "^2.0.2"
612 |
613 | dot-prop@^4.1.0:
614 | version "4.2.0"
615 | resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57"
616 | dependencies:
617 | is-obj "^1.0.0"
618 |
619 | dotenv@^6.2.0:
620 | version "6.2.0"
621 | resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-6.2.0.tgz#941c0410535d942c8becf28d3f357dbd9d476064"
622 |
623 | dottie@^2.0.0:
624 | version "2.0.1"
625 | resolved "https://registry.yarnpkg.com/dottie/-/dottie-2.0.1.tgz#697ad9d72004db7574d21f892466a3c285893659"
626 |
627 | duplexer3@^0.1.4:
628 | version "0.1.4"
629 | resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2"
630 |
631 | ecdsa-sig-formatter@1.0.11:
632 | version "1.0.11"
633 | resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf"
634 | dependencies:
635 | safe-buffer "^5.0.1"
636 |
637 | editorconfig@^0.15.2:
638 | version "0.15.3"
639 | resolved "https://registry.yarnpkg.com/editorconfig/-/editorconfig-0.15.3.tgz#bef84c4e75fb8dcb0ce5cee8efd51c15999befc5"
640 | dependencies:
641 | commander "^2.19.0"
642 | lru-cache "^4.1.5"
643 | semver "^5.6.0"
644 | sigmund "^1.0.1"
645 |
646 | ee-first@1.1.1:
647 | version "1.1.1"
648 | resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
649 |
650 | emoji-regex@^7.0.1:
651 | version "7.0.3"
652 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
653 |
654 | encodeurl@~1.0.2:
655 | version "1.0.2"
656 | resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
657 |
658 | error-ex@^1.2.0:
659 | version "1.3.2"
660 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
661 | dependencies:
662 | is-arrayish "^0.2.1"
663 |
664 | es-abstract@^1.7.0:
665 | version "1.13.0"
666 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9"
667 | dependencies:
668 | es-to-primitive "^1.2.0"
669 | function-bind "^1.1.1"
670 | has "^1.0.3"
671 | is-callable "^1.1.4"
672 | is-regex "^1.0.4"
673 | object-keys "^1.0.12"
674 |
675 | es-to-primitive@^1.2.0:
676 | version "1.2.0"
677 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377"
678 | dependencies:
679 | is-callable "^1.1.4"
680 | is-date-object "^1.0.1"
681 | is-symbol "^1.0.2"
682 |
683 | es5-ext@^0.10.14, es5-ext@^0.10.35, es5-ext@^0.10.45, es5-ext@^0.10.46, es5-ext@^0.10.9, es5-ext@~0.10.14, es5-ext@~0.10.2, es5-ext@~0.10.46:
684 | version "0.10.49"
685 | resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.49.tgz#059a239de862c94494fec28f8150c977028c6c5e"
686 | dependencies:
687 | es6-iterator "~2.0.3"
688 | es6-symbol "~3.1.1"
689 | next-tick "^1.0.0"
690 |
691 | es6-iterator@^2.0.1, es6-iterator@^2.0.3, es6-iterator@~2.0.3:
692 | version "2.0.3"
693 | resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7"
694 | dependencies:
695 | d "1"
696 | es5-ext "^0.10.35"
697 | es6-symbol "^3.1.1"
698 |
699 | es6-symbol@^3.1.1, es6-symbol@~3.1.1:
700 | version "3.1.1"
701 | resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77"
702 | dependencies:
703 | d "1"
704 | es5-ext "~0.10.14"
705 |
706 | es6-weak-map@^2.0.2:
707 | version "2.0.2"
708 | resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.2.tgz#5e3ab32251ffd1538a1f8e5ffa1357772f92d96f"
709 | dependencies:
710 | d "1"
711 | es5-ext "^0.10.14"
712 | es6-iterator "^2.0.1"
713 | es6-symbol "^3.1.1"
714 |
715 | escape-html@~1.0.3:
716 | version "1.0.3"
717 | resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
718 |
719 | escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
720 | version "1.0.5"
721 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
722 |
723 | eslint-config-hapi@12.x.x:
724 | version "12.0.0"
725 | resolved "https://registry.yarnpkg.com/eslint-config-hapi/-/eslint-config-hapi-12.0.0.tgz#2bcacc0e050d6734f95df077dc921fa755576d7e"
726 |
727 | eslint-config-prettier@^2.10.0:
728 | version "2.10.0"
729 | resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-2.10.0.tgz#ec07bc1d01f87d09f61d3840d112dc8a9791e30b"
730 | dependencies:
731 | get-stdin "^5.0.1"
732 |
733 | eslint-import-resolver-node@^0.3.2:
734 | version "0.3.2"
735 | resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz#58f15fb839b8d0576ca980413476aab2472db66a"
736 | dependencies:
737 | debug "^2.6.9"
738 | resolve "^1.5.0"
739 |
740 | eslint-module-utils@^2.4.0:
741 | version "2.4.0"
742 | resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.4.0.tgz#8b93499e9b00eab80ccb6614e69f03678e84e09a"
743 | dependencies:
744 | debug "^2.6.8"
745 | pkg-dir "^2.0.0"
746 |
747 | eslint-plugin-hapi@4.x.x:
748 | version "4.1.0"
749 | resolved "https://registry.yarnpkg.com/eslint-plugin-hapi/-/eslint-plugin-hapi-4.1.0.tgz#ca6b97b7621ae45cf70ab92f8c847a85414a56c9"
750 | dependencies:
751 | hapi-capitalize-modules "1.x.x"
752 | hapi-for-you "1.x.x"
753 | hapi-no-var "1.x.x"
754 | hapi-scope-start "2.x.x"
755 | no-arrowception "1.x.x"
756 |
757 | eslint-plugin-import@^2.15.0:
758 | version "2.17.1"
759 | resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.17.1.tgz#b888feb4d9b3ee155113c8dccdd4bec5db33bdf4"
760 | dependencies:
761 | array-includes "^3.0.3"
762 | contains-path "^0.1.0"
763 | debug "^2.6.9"
764 | doctrine "1.5.0"
765 | eslint-import-resolver-node "^0.3.2"
766 | eslint-module-utils "^2.4.0"
767 | has "^1.0.3"
768 | lodash "^4.17.11"
769 | minimatch "^3.0.4"
770 | read-pkg-up "^2.0.0"
771 | resolve "^1.10.0"
772 |
773 | eslint-plugin-prettier@^2.7.0:
774 | version "2.7.0"
775 | resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-2.7.0.tgz#b4312dcf2c1d965379d7f9d5b5f8aaadc6a45904"
776 | dependencies:
777 | fast-diff "^1.1.1"
778 | jest-docblock "^21.0.0"
779 |
780 | eslint-scope@^3.7.1:
781 | version "3.7.3"
782 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.3.tgz#bb507200d3d17f60247636160b4826284b108535"
783 | dependencies:
784 | esrecurse "^4.1.0"
785 | estraverse "^4.1.1"
786 |
787 | eslint-scope@^4.0.0:
788 | version "4.0.3"
789 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848"
790 | dependencies:
791 | esrecurse "^4.1.0"
792 | estraverse "^4.1.1"
793 |
794 | eslint-utils@^1.3.1:
795 | version "1.4.3"
796 | resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f"
797 | dependencies:
798 | eslint-visitor-keys "^1.1.0"
799 |
800 | eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0:
801 | version "1.1.0"
802 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2"
803 |
804 | eslint@5.8.x:
805 | version "5.8.0"
806 | resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.8.0.tgz#91fbf24f6e0471e8fdf681a4d9dd1b2c9f28309b"
807 | dependencies:
808 | "@babel/code-frame" "^7.0.0"
809 | ajv "^6.5.3"
810 | chalk "^2.1.0"
811 | cross-spawn "^6.0.5"
812 | debug "^4.0.1"
813 | doctrine "^2.1.0"
814 | eslint-scope "^4.0.0"
815 | eslint-utils "^1.3.1"
816 | eslint-visitor-keys "^1.0.0"
817 | espree "^4.0.0"
818 | esquery "^1.0.1"
819 | esutils "^2.0.2"
820 | file-entry-cache "^2.0.0"
821 | functional-red-black-tree "^1.0.1"
822 | glob "^7.1.2"
823 | globals "^11.7.0"
824 | ignore "^4.0.6"
825 | imurmurhash "^0.1.4"
826 | inquirer "^6.1.0"
827 | is-resolvable "^1.1.0"
828 | js-yaml "^3.12.0"
829 | json-stable-stringify-without-jsonify "^1.0.1"
830 | levn "^0.3.0"
831 | lodash "^4.17.5"
832 | minimatch "^3.0.4"
833 | mkdirp "^0.5.1"
834 | natural-compare "^1.4.0"
835 | optionator "^0.8.2"
836 | path-is-inside "^1.0.2"
837 | pluralize "^7.0.0"
838 | progress "^2.0.0"
839 | regexpp "^2.0.1"
840 | require-uncached "^1.0.3"
841 | semver "^5.5.1"
842 | strip-ansi "^4.0.0"
843 | strip-json-comments "^2.0.1"
844 | table "^5.0.2"
845 | text-table "^0.2.0"
846 |
847 | eslint@^4.19.1:
848 | version "4.19.1"
849 | resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.19.1.tgz#32d1d653e1d90408854bfb296f076ec7e186a300"
850 | dependencies:
851 | ajv "^5.3.0"
852 | babel-code-frame "^6.22.0"
853 | chalk "^2.1.0"
854 | concat-stream "^1.6.0"
855 | cross-spawn "^5.1.0"
856 | debug "^3.1.0"
857 | doctrine "^2.1.0"
858 | eslint-scope "^3.7.1"
859 | eslint-visitor-keys "^1.0.0"
860 | espree "^3.5.4"
861 | esquery "^1.0.0"
862 | esutils "^2.0.2"
863 | file-entry-cache "^2.0.0"
864 | functional-red-black-tree "^1.0.1"
865 | glob "^7.1.2"
866 | globals "^11.0.1"
867 | ignore "^3.3.3"
868 | imurmurhash "^0.1.4"
869 | inquirer "^3.0.6"
870 | is-resolvable "^1.0.0"
871 | js-yaml "^3.9.1"
872 | json-stable-stringify-without-jsonify "^1.0.1"
873 | levn "^0.3.0"
874 | lodash "^4.17.4"
875 | minimatch "^3.0.2"
876 | mkdirp "^0.5.1"
877 | natural-compare "^1.4.0"
878 | optionator "^0.8.2"
879 | path-is-inside "^1.0.2"
880 | pluralize "^7.0.0"
881 | progress "^2.0.0"
882 | regexpp "^1.0.1"
883 | require-uncached "^1.0.3"
884 | semver "^5.3.0"
885 | strip-ansi "^4.0.0"
886 | strip-json-comments "~2.0.1"
887 | table "4.0.2"
888 | text-table "~0.2.0"
889 |
890 | espree@4.1.x, espree@^4.0.0:
891 | version "4.1.0"
892 | resolved "https://registry.yarnpkg.com/espree/-/espree-4.1.0.tgz#728d5451e0fd156c04384a7ad89ed51ff54eb25f"
893 | dependencies:
894 | acorn "^6.0.2"
895 | acorn-jsx "^5.0.0"
896 | eslint-visitor-keys "^1.0.0"
897 |
898 | espree@^3.5.4:
899 | version "3.5.4"
900 | resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.4.tgz#b0f447187c8a8bed944b815a660bddf5deb5d1a7"
901 | dependencies:
902 | acorn "^5.5.0"
903 | acorn-jsx "^3.0.0"
904 |
905 | esprima@^4.0.0, esprima@~4.0.0:
906 | version "4.0.1"
907 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
908 |
909 | esquery@^1.0.0, esquery@^1.0.1:
910 | version "1.0.1"
911 | resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708"
912 | dependencies:
913 | estraverse "^4.0.0"
914 |
915 | esrecurse@^4.1.0:
916 | version "4.2.1"
917 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf"
918 | dependencies:
919 | estraverse "^4.1.0"
920 |
921 | estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1:
922 | version "4.2.0"
923 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
924 |
925 | esutils@^2.0.2:
926 | version "2.0.2"
927 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
928 |
929 | etag@~1.8.1:
930 | version "1.8.1"
931 | resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
932 |
933 | event-emitter@^0.3.5:
934 | version "0.3.5"
935 | resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39"
936 | dependencies:
937 | d "1"
938 | es5-ext "~0.10.14"
939 |
940 | execa@^0.7.0:
941 | version "0.7.0"
942 | resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777"
943 | dependencies:
944 | cross-spawn "^5.0.1"
945 | get-stream "^3.0.0"
946 | is-stream "^1.1.0"
947 | npm-run-path "^2.0.0"
948 | p-finally "^1.0.0"
949 | signal-exit "^3.0.0"
950 | strip-eof "^1.0.0"
951 |
952 | express-jwt@^5.3.1:
953 | version "5.3.1"
954 | resolved "https://registry.yarnpkg.com/express-jwt/-/express-jwt-5.3.1.tgz#66f05c7dddb5409c037346a98b88965bb10ea4ae"
955 | dependencies:
956 | async "^1.5.0"
957 | express-unless "^0.3.0"
958 | jsonwebtoken "^8.1.0"
959 | lodash.set "^4.0.0"
960 |
961 | express-session@^1.15.6:
962 | version "1.16.1"
963 | resolved "https://registry.yarnpkg.com/express-session/-/express-session-1.16.1.tgz#251ff9776c59382301de6c8c33411af357ed439c"
964 | dependencies:
965 | cookie "0.3.1"
966 | cookie-signature "1.0.6"
967 | debug "2.6.9"
968 | depd "~2.0.0"
969 | on-headers "~1.0.2"
970 | parseurl "~1.3.2"
971 | safe-buffer "5.1.2"
972 | uid-safe "~2.1.5"
973 |
974 | express-unless@^0.3.0:
975 | version "0.3.1"
976 | resolved "https://registry.yarnpkg.com/express-unless/-/express-unless-0.3.1.tgz#2557c146e75beb903e2d247f9b5ba01452696e20"
977 |
978 | express@^4.16.4:
979 | version "4.16.4"
980 | resolved "https://registry.yarnpkg.com/express/-/express-4.16.4.tgz#fddef61926109e24c515ea97fd2f1bdbf62df12e"
981 | dependencies:
982 | accepts "~1.3.5"
983 | array-flatten "1.1.1"
984 | body-parser "1.18.3"
985 | content-disposition "0.5.2"
986 | content-type "~1.0.4"
987 | cookie "0.3.1"
988 | cookie-signature "1.0.6"
989 | debug "2.6.9"
990 | depd "~1.1.2"
991 | encodeurl "~1.0.2"
992 | escape-html "~1.0.3"
993 | etag "~1.8.1"
994 | finalhandler "1.1.1"
995 | fresh "0.5.2"
996 | merge-descriptors "1.0.1"
997 | methods "~1.1.2"
998 | on-finished "~2.3.0"
999 | parseurl "~1.3.2"
1000 | path-to-regexp "0.1.7"
1001 | proxy-addr "~2.0.4"
1002 | qs "6.5.2"
1003 | range-parser "~1.2.0"
1004 | safe-buffer "5.1.2"
1005 | send "0.16.2"
1006 | serve-static "1.13.2"
1007 | setprototypeof "1.1.0"
1008 | statuses "~1.4.0"
1009 | type-is "~1.6.16"
1010 | utils-merge "1.0.1"
1011 | vary "~1.1.2"
1012 |
1013 | extend@^3.0.0:
1014 | version "3.0.2"
1015 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
1016 |
1017 | external-editor@^2.0.4:
1018 | version "2.2.0"
1019 | resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.2.0.tgz#045511cfd8d133f3846673d1047c154e214ad3d5"
1020 | dependencies:
1021 | chardet "^0.4.0"
1022 | iconv-lite "^0.4.17"
1023 | tmp "^0.0.33"
1024 |
1025 | external-editor@^3.0.3:
1026 | version "3.0.3"
1027 | resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.0.3.tgz#5866db29a97826dbe4bf3afd24070ead9ea43a27"
1028 | dependencies:
1029 | chardet "^0.7.0"
1030 | iconv-lite "^0.4.24"
1031 | tmp "^0.0.33"
1032 |
1033 | faker@^4.1.0:
1034 | version "4.1.0"
1035 | resolved "https://registry.yarnpkg.com/faker/-/faker-4.1.0.tgz#1e45bbbecc6774b3c195fad2835109c6d748cc3f"
1036 |
1037 | fast-deep-equal@^1.0.0:
1038 | version "1.1.0"
1039 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614"
1040 |
1041 | fast-deep-equal@^2.0.1:
1042 | version "2.0.1"
1043 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49"
1044 |
1045 | fast-diff@^1.1.1:
1046 | version "1.2.0"
1047 | resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03"
1048 |
1049 | fast-json-stable-stringify@^2.0.0:
1050 | version "2.0.0"
1051 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
1052 |
1053 | fast-levenshtein@~2.0.4:
1054 | version "2.0.6"
1055 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
1056 |
1057 | figures@^2.0.0:
1058 | version "2.0.0"
1059 | resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962"
1060 | dependencies:
1061 | escape-string-regexp "^1.0.5"
1062 |
1063 | file-entry-cache@^2.0.0:
1064 | version "2.0.0"
1065 | resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361"
1066 | dependencies:
1067 | flat-cache "^1.2.1"
1068 | object-assign "^4.0.1"
1069 |
1070 | fill-range@^7.0.1:
1071 | version "7.0.1"
1072 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
1073 | dependencies:
1074 | to-regex-range "^5.0.1"
1075 |
1076 | finalhandler@1.1.1:
1077 | version "1.1.1"
1078 | resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.1.tgz#eebf4ed840079c83f4249038c9d703008301b105"
1079 | dependencies:
1080 | debug "2.6.9"
1081 | encodeurl "~1.0.2"
1082 | escape-html "~1.0.3"
1083 | on-finished "~2.3.0"
1084 | parseurl "~1.3.2"
1085 | statuses "~1.4.0"
1086 | unpipe "~1.0.0"
1087 |
1088 | find-rc@3.0.x:
1089 | version "3.0.1"
1090 | resolved "https://registry.yarnpkg.com/find-rc/-/find-rc-3.0.1.tgz#54a4178370f10bc9371fa8d1b2c2809a2afa0cce"
1091 |
1092 | find-up@^2.0.0, find-up@^2.1.0:
1093 | version "2.1.0"
1094 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
1095 | dependencies:
1096 | locate-path "^2.0.0"
1097 |
1098 | find-up@^3.0.0:
1099 | version "3.0.0"
1100 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73"
1101 | dependencies:
1102 | locate-path "^3.0.0"
1103 |
1104 | flat-cache@^1.2.1:
1105 | version "1.3.4"
1106 | resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.4.tgz#2c2ef77525cc2929007dfffa1dd314aa9c9dee6f"
1107 | dependencies:
1108 | circular-json "^0.3.1"
1109 | graceful-fs "^4.1.2"
1110 | rimraf "~2.6.2"
1111 | write "^0.2.1"
1112 |
1113 | form-data@^2.3.1:
1114 | version "2.3.3"
1115 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"
1116 | dependencies:
1117 | asynckit "^0.4.0"
1118 | combined-stream "^1.0.6"
1119 | mime-types "^2.1.12"
1120 |
1121 | formidable@^1.2.0:
1122 | version "1.2.1"
1123 | resolved "https://registry.yarnpkg.com/formidable/-/formidable-1.2.1.tgz#70fb7ca0290ee6ff961090415f4b3df3d2082659"
1124 |
1125 | forwarded@~0.1.2:
1126 | version "0.1.2"
1127 | resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84"
1128 |
1129 | fresh@0.5.2:
1130 | version "0.5.2"
1131 | resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
1132 |
1133 | fs-extra@^7.0.1:
1134 | version "7.0.1"
1135 | resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9"
1136 | dependencies:
1137 | graceful-fs "^4.1.2"
1138 | jsonfile "^4.0.0"
1139 | universalify "^0.1.0"
1140 |
1141 | fs-minipass@^1.2.5:
1142 | version "1.2.5"
1143 | resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d"
1144 | dependencies:
1145 | minipass "^2.2.1"
1146 |
1147 | fs.realpath@^1.0.0:
1148 | version "1.0.0"
1149 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
1150 |
1151 | fsevents@~2.1.2:
1152 | version "2.1.2"
1153 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.2.tgz#4c0a1fb34bc68e543b4b82a9ec392bfbda840805"
1154 |
1155 | function-bind@^1.1.1:
1156 | version "1.1.1"
1157 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
1158 |
1159 | functional-red-black-tree@^1.0.1:
1160 | version "1.0.1"
1161 | resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
1162 |
1163 | gauge@~2.7.3:
1164 | version "2.7.4"
1165 | resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
1166 | dependencies:
1167 | aproba "^1.0.3"
1168 | console-control-strings "^1.0.0"
1169 | has-unicode "^2.0.0"
1170 | object-assign "^4.1.0"
1171 | signal-exit "^3.0.0"
1172 | string-width "^1.0.1"
1173 | strip-ansi "^3.0.1"
1174 | wide-align "^1.1.0"
1175 |
1176 | generate-function@^2.3.1:
1177 | version "2.3.1"
1178 | resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.3.1.tgz#f069617690c10c868e73b8465746764f97c3479f"
1179 | dependencies:
1180 | is-property "^1.0.2"
1181 |
1182 | get-caller-file@^2.0.1:
1183 | version "2.0.5"
1184 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
1185 |
1186 | get-stdin@^5.0.1:
1187 | version "5.0.1"
1188 | resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-5.0.1.tgz#122e161591e21ff4c52530305693f20e6393a398"
1189 |
1190 | get-stream@^3.0.0:
1191 | version "3.0.0"
1192 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
1193 |
1194 | glob-parent@~5.1.0:
1195 | version "5.1.0"
1196 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.0.tgz#5f4c1d1e748d30cd73ad2944b3577a81b081e8c2"
1197 | dependencies:
1198 | is-glob "^4.0.1"
1199 |
1200 | glob@^7.1.2, glob@^7.1.3:
1201 | version "7.1.3"
1202 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1"
1203 | dependencies:
1204 | fs.realpath "^1.0.0"
1205 | inflight "^1.0.4"
1206 | inherits "2"
1207 | minimatch "^3.0.4"
1208 | once "^1.3.0"
1209 | path-is-absolute "^1.0.0"
1210 |
1211 | global-dirs@^0.1.0:
1212 | version "0.1.1"
1213 | resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445"
1214 | dependencies:
1215 | ini "^1.3.4"
1216 |
1217 | globals@^11.0.1, globals@^11.7.0:
1218 | version "11.11.0"
1219 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.11.0.tgz#dcf93757fa2de5486fbeed7118538adf789e9c2e"
1220 |
1221 | got@^6.7.1:
1222 | version "6.7.1"
1223 | resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0"
1224 | dependencies:
1225 | create-error-class "^3.0.0"
1226 | duplexer3 "^0.1.4"
1227 | get-stream "^3.0.0"
1228 | is-redirect "^1.0.0"
1229 | is-retry-allowed "^1.0.0"
1230 | is-stream "^1.0.0"
1231 | lowercase-keys "^1.0.0"
1232 | safe-buffer "^5.0.1"
1233 | timed-out "^4.0.0"
1234 | unzip-response "^2.0.1"
1235 | url-parse-lax "^1.0.0"
1236 |
1237 | graceful-fs@^4.1.11:
1238 | version "4.2.3"
1239 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423"
1240 |
1241 | graceful-fs@^4.1.2, graceful-fs@^4.1.6:
1242 | version "4.1.15"
1243 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00"
1244 |
1245 | handlebars@4.x.x:
1246 | version "4.1.2"
1247 | resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.1.2.tgz#b6b37c1ced0306b221e094fc7aca3ec23b131b67"
1248 | dependencies:
1249 | neo-async "^2.6.0"
1250 | optimist "^0.6.1"
1251 | source-map "^0.6.1"
1252 | optionalDependencies:
1253 | uglify-js "^3.1.4"
1254 |
1255 | handlebars@^4.7.3:
1256 | version "4.7.3"
1257 | resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.3.tgz#8ece2797826886cf8082d1726ff21d2a022550ee"
1258 | dependencies:
1259 | neo-async "^2.6.0"
1260 | optimist "^0.6.1"
1261 | source-map "^0.6.1"
1262 | optionalDependencies:
1263 | uglify-js "^3.1.4"
1264 |
1265 | hapi-capitalize-modules@1.x.x:
1266 | version "1.1.6"
1267 | resolved "https://registry.yarnpkg.com/hapi-capitalize-modules/-/hapi-capitalize-modules-1.1.6.tgz#7991171415e15e6aa3231e64dda73c8146665318"
1268 |
1269 | hapi-for-you@1.x.x:
1270 | version "1.0.0"
1271 | resolved "https://registry.yarnpkg.com/hapi-for-you/-/hapi-for-you-1.0.0.tgz#d362fbee8d7bda9c2c7801e207e5a5cd1a0b6a7b"
1272 |
1273 | hapi-no-var@1.x.x:
1274 | version "1.0.1"
1275 | resolved "https://registry.yarnpkg.com/hapi-no-var/-/hapi-no-var-1.0.1.tgz#e9d87fd4de6149104a3fca797ef5c2ef5c182342"
1276 |
1277 | hapi-scope-start@2.x.x:
1278 | version "2.1.1"
1279 | resolved "https://registry.yarnpkg.com/hapi-scope-start/-/hapi-scope-start-2.1.1.tgz#7495a726fe72b7bca8de2cdcc1d87cd8ce6ab4f2"
1280 |
1281 | has-ansi@^2.0.0:
1282 | version "2.0.0"
1283 | resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
1284 | dependencies:
1285 | ansi-regex "^2.0.0"
1286 |
1287 | has-flag@^2.0.0:
1288 | version "2.0.0"
1289 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51"
1290 |
1291 | has-flag@^3.0.0:
1292 | version "3.0.0"
1293 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
1294 |
1295 | has-symbols@^1.0.0:
1296 | version "1.0.0"
1297 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44"
1298 |
1299 | has-unicode@^2.0.0:
1300 | version "2.0.1"
1301 | resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
1302 |
1303 | has@^1.0.1, has@^1.0.3:
1304 | version "1.0.3"
1305 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
1306 | dependencies:
1307 | function-bind "^1.1.1"
1308 |
1309 | hoek@6.x.x:
1310 | version "6.1.3"
1311 | resolved "https://registry.yarnpkg.com/hoek/-/hoek-6.1.3.tgz#73b7d33952e01fe27a38b0457294b79dd8da242c"
1312 |
1313 | hosted-git-info@^2.1.4:
1314 | version "2.7.1"
1315 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz#97f236977bd6e125408930ff6de3eec6281ec047"
1316 |
1317 | http-errors@1.6.3, http-errors@~1.6.2, http-errors@~1.6.3:
1318 | version "1.6.3"
1319 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d"
1320 | dependencies:
1321 | depd "~1.1.2"
1322 | inherits "2.0.3"
1323 | setprototypeof "1.1.0"
1324 | statuses ">= 1.4.0 < 2"
1325 |
1326 | iconv-lite@0.4.23:
1327 | version "0.4.23"
1328 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63"
1329 | dependencies:
1330 | safer-buffer ">= 2.1.2 < 3"
1331 |
1332 | iconv-lite@^0.4.17, iconv-lite@^0.4.24, iconv-lite@^0.4.4:
1333 | version "0.4.24"
1334 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
1335 | dependencies:
1336 | safer-buffer ">= 2.1.2 < 3"
1337 |
1338 | iconv-lite@^0.5.0:
1339 | version "0.5.1"
1340 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.5.1.tgz#b2425d3c7b18f7219f2ca663d103bddb91718d64"
1341 | dependencies:
1342 | safer-buffer ">= 2.1.2 < 3"
1343 |
1344 | ignore-by-default@^1.0.1:
1345 | version "1.0.1"
1346 | resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09"
1347 |
1348 | ignore-walk@^3.0.1:
1349 | version "3.0.1"
1350 | resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8"
1351 | dependencies:
1352 | minimatch "^3.0.4"
1353 |
1354 | ignore@^3.3.3:
1355 | version "3.3.10"
1356 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043"
1357 |
1358 | ignore@^4.0.6:
1359 | version "4.0.6"
1360 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
1361 |
1362 | import-lazy@^2.1.0:
1363 | version "2.1.0"
1364 | resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43"
1365 |
1366 | imurmurhash@^0.1.4:
1367 | version "0.1.4"
1368 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
1369 |
1370 | inflection@1.12.0:
1371 | version "1.12.0"
1372 | resolved "https://registry.yarnpkg.com/inflection/-/inflection-1.12.0.tgz#a200935656d6f5f6bc4dc7502e1aecb703228416"
1373 |
1374 | inflight@^1.0.4:
1375 | version "1.0.6"
1376 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
1377 | dependencies:
1378 | once "^1.3.0"
1379 | wrappy "1"
1380 |
1381 | inherits@2, inherits@2.0.3, inherits@^2.0.3, inherits@~2.0.3:
1382 | version "2.0.3"
1383 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
1384 |
1385 | ini@^1.3.4, ini@~1.3.0:
1386 | version "1.3.5"
1387 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
1388 |
1389 | inquirer@^3.0.6:
1390 | version "3.3.0"
1391 | resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9"
1392 | dependencies:
1393 | ansi-escapes "^3.0.0"
1394 | chalk "^2.0.0"
1395 | cli-cursor "^2.1.0"
1396 | cli-width "^2.0.0"
1397 | external-editor "^2.0.4"
1398 | figures "^2.0.0"
1399 | lodash "^4.3.0"
1400 | mute-stream "0.0.7"
1401 | run-async "^2.2.0"
1402 | rx-lite "^4.0.8"
1403 | rx-lite-aggregates "^4.0.8"
1404 | string-width "^2.1.0"
1405 | strip-ansi "^4.0.0"
1406 | through "^2.3.6"
1407 |
1408 | inquirer@^6.1.0:
1409 | version "6.2.2"
1410 | resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.2.2.tgz#46941176f65c9eb20804627149b743a218f25406"
1411 | dependencies:
1412 | ansi-escapes "^3.2.0"
1413 | chalk "^2.4.2"
1414 | cli-cursor "^2.1.0"
1415 | cli-width "^2.0.0"
1416 | external-editor "^3.0.3"
1417 | figures "^2.0.0"
1418 | lodash "^4.17.11"
1419 | mute-stream "0.0.7"
1420 | run-async "^2.2.0"
1421 | rxjs "^6.4.0"
1422 | string-width "^2.1.0"
1423 | strip-ansi "^5.0.0"
1424 | through "^2.3.6"
1425 |
1426 | ipaddr.js@1.8.0:
1427 | version "1.8.0"
1428 | resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.8.0.tgz#eaa33d6ddd7ace8f7f6fe0c9ca0440e706738b1e"
1429 |
1430 | is-arrayish@^0.2.1:
1431 | version "0.2.1"
1432 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
1433 |
1434 | is-binary-path@~2.1.0:
1435 | version "2.1.0"
1436 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
1437 | dependencies:
1438 | binary-extensions "^2.0.0"
1439 |
1440 | is-bluebird@^1.0.2:
1441 | version "1.0.2"
1442 | resolved "https://registry.yarnpkg.com/is-bluebird/-/is-bluebird-1.0.2.tgz#096439060f4aa411abee19143a84d6a55346d6e2"
1443 |
1444 | is-callable@^1.1.4:
1445 | version "1.1.4"
1446 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75"
1447 |
1448 | is-ci@^1.0.10:
1449 | version "1.2.1"
1450 | resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c"
1451 | dependencies:
1452 | ci-info "^1.5.0"
1453 |
1454 | is-date-object@^1.0.1:
1455 | version "1.0.1"
1456 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16"
1457 |
1458 | is-extglob@^2.1.1:
1459 | version "2.1.1"
1460 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
1461 |
1462 | is-fullwidth-code-point@^1.0.0:
1463 | version "1.0.0"
1464 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
1465 | dependencies:
1466 | number-is-nan "^1.0.0"
1467 |
1468 | is-fullwidth-code-point@^2.0.0:
1469 | version "2.0.0"
1470 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
1471 |
1472 | is-glob@^4.0.1, is-glob@~4.0.1:
1473 | version "4.0.1"
1474 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc"
1475 | dependencies:
1476 | is-extglob "^2.1.1"
1477 |
1478 | is-installed-globally@^0.1.0:
1479 | version "0.1.0"
1480 | resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.1.0.tgz#0dfd98f5a9111716dd535dda6492f67bf3d25a80"
1481 | dependencies:
1482 | global-dirs "^0.1.0"
1483 | is-path-inside "^1.0.0"
1484 |
1485 | is-npm@^1.0.0:
1486 | version "1.0.0"
1487 | resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4"
1488 |
1489 | is-number@^7.0.0:
1490 | version "7.0.0"
1491 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
1492 |
1493 | is-obj@^1.0.0:
1494 | version "1.0.1"
1495 | resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
1496 |
1497 | is-path-inside@^1.0.0:
1498 | version "1.0.1"
1499 | resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036"
1500 | dependencies:
1501 | path-is-inside "^1.0.1"
1502 |
1503 | is-promise@^2.1, is-promise@^2.1.0:
1504 | version "2.1.0"
1505 | resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa"
1506 |
1507 | is-property@^1.0.2:
1508 | version "1.0.2"
1509 | resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84"
1510 |
1511 | is-redirect@^1.0.0:
1512 | version "1.0.0"
1513 | resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24"
1514 |
1515 | is-regex@^1.0.4:
1516 | version "1.0.4"
1517 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491"
1518 | dependencies:
1519 | has "^1.0.1"
1520 |
1521 | is-resolvable@^1.0.0, is-resolvable@^1.1.0:
1522 | version "1.1.0"
1523 | resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88"
1524 |
1525 | is-retry-allowed@^1.0.0:
1526 | version "1.2.0"
1527 | resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz#d778488bd0a4666a3be8a1482b9f2baafedea8b4"
1528 |
1529 | is-stream@^1.0.0, is-stream@^1.1.0:
1530 | version "1.1.0"
1531 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
1532 |
1533 | is-symbol@^1.0.2:
1534 | version "1.0.2"
1535 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38"
1536 | dependencies:
1537 | has-symbols "^1.0.0"
1538 |
1539 | isarray@^1.0.0, isarray@~1.0.0:
1540 | version "1.0.0"
1541 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
1542 |
1543 | isemail@3.x.x:
1544 | version "3.2.0"
1545 | resolved "https://registry.yarnpkg.com/isemail/-/isemail-3.2.0.tgz#59310a021931a9fb06bbb51e155ce0b3f236832c"
1546 | dependencies:
1547 | punycode "2.x.x"
1548 |
1549 | isexe@^2.0.0:
1550 | version "2.0.0"
1551 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
1552 |
1553 | jest-docblock@^21.0.0:
1554 | version "21.2.0"
1555 | resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-21.2.0.tgz#51529c3b30d5fd159da60c27ceedc195faf8d414"
1556 |
1557 | joi@14.x.x, joi@^14.3.1:
1558 | version "14.3.1"
1559 | resolved "https://registry.yarnpkg.com/joi/-/joi-14.3.1.tgz#164a262ec0b855466e0c35eea2a885ae8b6c703c"
1560 | dependencies:
1561 | hoek "6.x.x"
1562 | isemail "3.x.x"
1563 | topo "3.x.x"
1564 |
1565 | js-beautify@^1.8.8:
1566 | version "1.9.1"
1567 | resolved "https://registry.yarnpkg.com/js-beautify/-/js-beautify-1.9.1.tgz#6f9ef915f5d8d92b9f907606fce63795884c8040"
1568 | dependencies:
1569 | config-chain "^1.1.12"
1570 | editorconfig "^0.15.2"
1571 | glob "^7.1.3"
1572 | mkdirp "~0.5.0"
1573 | nopt "~4.0.1"
1574 |
1575 | js-tokens@^3.0.2:
1576 | version "3.0.2"
1577 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
1578 |
1579 | js-tokens@^4.0.0:
1580 | version "4.0.0"
1581 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
1582 |
1583 | js-yaml@^3.12.0, js-yaml@^3.9.1:
1584 | version "3.13.1"
1585 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847"
1586 | dependencies:
1587 | argparse "^1.0.7"
1588 | esprima "^4.0.0"
1589 |
1590 | json-schema-traverse@^0.3.0:
1591 | version "0.3.1"
1592 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340"
1593 |
1594 | json-schema-traverse@^0.4.1:
1595 | version "0.4.1"
1596 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
1597 |
1598 | json-stable-stringify-without-jsonify@^1.0.1:
1599 | version "1.0.1"
1600 | resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
1601 |
1602 | json-stable-stringify@1.x.x:
1603 | version "1.0.1"
1604 | resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af"
1605 | dependencies:
1606 | jsonify "~0.0.0"
1607 |
1608 | json-stringify-safe@5.x.x:
1609 | version "5.0.1"
1610 | resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
1611 |
1612 | jsonfile@^4.0.0:
1613 | version "4.0.0"
1614 | resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb"
1615 | optionalDependencies:
1616 | graceful-fs "^4.1.6"
1617 |
1618 | jsonify@~0.0.0:
1619 | version "0.0.0"
1620 | resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
1621 |
1622 | jsonwebtoken@^8.1.0, jsonwebtoken@^8.4.0:
1623 | version "8.5.1"
1624 | resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz#00e71e0b8df54c2121a1f26137df2280673bcc0d"
1625 | dependencies:
1626 | jws "^3.2.2"
1627 | lodash.includes "^4.3.0"
1628 | lodash.isboolean "^3.0.3"
1629 | lodash.isinteger "^4.0.4"
1630 | lodash.isnumber "^3.0.3"
1631 | lodash.isplainobject "^4.0.6"
1632 | lodash.isstring "^4.0.1"
1633 | lodash.once "^4.0.0"
1634 | ms "^2.1.1"
1635 | semver "^5.6.0"
1636 |
1637 | jwa@^1.4.1:
1638 | version "1.4.1"
1639 | resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a"
1640 | dependencies:
1641 | buffer-equal-constant-time "1.0.1"
1642 | ecdsa-sig-formatter "1.0.11"
1643 | safe-buffer "^5.0.1"
1644 |
1645 | jws@^3.2.2:
1646 | version "3.2.2"
1647 | resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304"
1648 | dependencies:
1649 | jwa "^1.4.1"
1650 | safe-buffer "^5.0.1"
1651 |
1652 | lab@^17.3.0:
1653 | version "17.3.0"
1654 | resolved "https://registry.yarnpkg.com/lab/-/lab-17.3.0.tgz#b2ccee2ca673e5474eeb8e1ecd366296f3736946"
1655 | dependencies:
1656 | bossy "4.x.x"
1657 | diff "3.5.x"
1658 | eslint "5.8.x"
1659 | eslint-config-hapi "12.x.x"
1660 | eslint-plugin-hapi "4.x.x"
1661 | espree "4.1.x"
1662 | find-rc "3.0.x"
1663 | handlebars "4.x.x"
1664 | hoek "6.x.x"
1665 | json-stable-stringify "1.x.x"
1666 | json-stringify-safe "5.x.x"
1667 | mkdirp "0.5.x"
1668 | seedrandom "2.4.x"
1669 | source-map "0.7.x"
1670 | source-map-support "0.5.x"
1671 | supports-color "4.4.x"
1672 | will-call "1.x.x"
1673 |
1674 | latest-version@^3.0.0:
1675 | version "3.1.0"
1676 | resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-3.1.0.tgz#a205383fea322b33b5ae3b18abee0dc2f356ee15"
1677 | dependencies:
1678 | package-json "^4.0.0"
1679 |
1680 | levn@^0.3.0, levn@~0.3.0:
1681 | version "0.3.0"
1682 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
1683 | dependencies:
1684 | prelude-ls "~1.1.2"
1685 | type-check "~0.3.2"
1686 |
1687 | load-json-file@^2.0.0:
1688 | version "2.0.0"
1689 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8"
1690 | dependencies:
1691 | graceful-fs "^4.1.2"
1692 | parse-json "^2.2.0"
1693 | pify "^2.0.0"
1694 | strip-bom "^3.0.0"
1695 |
1696 | locate-path@^2.0.0:
1697 | version "2.0.0"
1698 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
1699 | dependencies:
1700 | p-locate "^2.0.0"
1701 | path-exists "^3.0.0"
1702 |
1703 | locate-path@^3.0.0:
1704 | version "3.0.0"
1705 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e"
1706 | dependencies:
1707 | p-locate "^3.0.0"
1708 | path-exists "^3.0.0"
1709 |
1710 | lodash.includes@^4.3.0:
1711 | version "4.3.0"
1712 | resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f"
1713 |
1714 | lodash.isboolean@^3.0.3:
1715 | version "3.0.3"
1716 | resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6"
1717 |
1718 | lodash.isinteger@^4.0.4:
1719 | version "4.0.4"
1720 | resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343"
1721 |
1722 | lodash.isnumber@^3.0.3:
1723 | version "3.0.3"
1724 | resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc"
1725 |
1726 | lodash.isplainobject@^4.0.6:
1727 | version "4.0.6"
1728 | resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb"
1729 |
1730 | lodash.isstring@^4.0.1:
1731 | version "4.0.1"
1732 | resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451"
1733 |
1734 | lodash.once@^4.0.0:
1735 | version "4.1.1"
1736 | resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac"
1737 |
1738 | lodash.set@^4.0.0:
1739 | version "4.3.2"
1740 | resolved "https://registry.yarnpkg.com/lodash.set/-/lodash.set-4.3.2.tgz#d8757b1da807dde24816b0d6a84bea1a76230b23"
1741 |
1742 | lodash@^4.17.11, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.3.0:
1743 | version "4.17.15"
1744 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
1745 |
1746 | long@^4.0.0:
1747 | version "4.0.0"
1748 | resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28"
1749 |
1750 | lowercase-keys@^1.0.0:
1751 | version "1.0.1"
1752 | resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f"
1753 |
1754 | lru-cache@^4.0.1, lru-cache@^4.1.3, lru-cache@^4.1.5:
1755 | version "4.1.5"
1756 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd"
1757 | dependencies:
1758 | pseudomap "^1.0.2"
1759 | yallist "^2.1.2"
1760 |
1761 | lru-cache@^5.1.1:
1762 | version "5.1.1"
1763 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
1764 | dependencies:
1765 | yallist "^3.0.2"
1766 |
1767 | lru-queue@0.1:
1768 | version "0.1.0"
1769 | resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3"
1770 | dependencies:
1771 | es5-ext "~0.10.2"
1772 |
1773 | make-dir@^1.0.0:
1774 | version "1.3.0"
1775 | resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c"
1776 | dependencies:
1777 | pify "^3.0.0"
1778 |
1779 | media-typer@0.3.0:
1780 | version "0.3.0"
1781 | resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
1782 |
1783 | memoizee@^0.4.14:
1784 | version "0.4.14"
1785 | resolved "https://registry.yarnpkg.com/memoizee/-/memoizee-0.4.14.tgz#07a00f204699f9a95c2d9e77218271c7cd610d57"
1786 | dependencies:
1787 | d "1"
1788 | es5-ext "^0.10.45"
1789 | es6-weak-map "^2.0.2"
1790 | event-emitter "^0.3.5"
1791 | is-promise "^2.1"
1792 | lru-queue "0.1"
1793 | next-tick "1"
1794 | timers-ext "^0.1.5"
1795 |
1796 | merge-descriptors@1.0.1:
1797 | version "1.0.1"
1798 | resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
1799 |
1800 | methods@^1.1.1, methods@^1.1.2, methods@~1.1.2:
1801 | version "1.1.2"
1802 | resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
1803 |
1804 | mime-db@~1.38.0:
1805 | version "1.38.0"
1806 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.38.0.tgz#1a2aab16da9eb167b49c6e4df2d9c68d63d8e2ad"
1807 |
1808 | mime-types@^2.1.12, mime-types@~2.1.18:
1809 | version "2.1.22"
1810 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.22.tgz#fe6b355a190926ab7698c9a0556a11199b2199bd"
1811 | dependencies:
1812 | mime-db "~1.38.0"
1813 |
1814 | mime@1.4.1:
1815 | version "1.4.1"
1816 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6"
1817 |
1818 | mime@^1.4.1:
1819 | version "1.6.0"
1820 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
1821 |
1822 | mimic-fn@^1.0.0:
1823 | version "1.2.0"
1824 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022"
1825 |
1826 | minimatch@^3.0.2, minimatch@^3.0.4:
1827 | version "3.0.4"
1828 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
1829 | dependencies:
1830 | brace-expansion "^1.1.7"
1831 |
1832 | minimist@0.0.8:
1833 | version "0.0.8"
1834 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
1835 |
1836 | minimist@^1.2.0:
1837 | version "1.2.0"
1838 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
1839 |
1840 | minimist@~0.0.1:
1841 | version "0.0.10"
1842 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf"
1843 |
1844 | minipass@^2.2.1:
1845 | version "2.3.5"
1846 | resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.5.tgz#cacebe492022497f656b0f0f51e2682a9ed2d848"
1847 | dependencies:
1848 | safe-buffer "^5.1.2"
1849 | yallist "^3.0.0"
1850 |
1851 | minipass@^2.8.6, minipass@^2.9.0:
1852 | version "2.9.0"
1853 | resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6"
1854 | dependencies:
1855 | safe-buffer "^5.1.2"
1856 | yallist "^3.0.0"
1857 |
1858 | minizlib@^1.2.1:
1859 | version "1.3.3"
1860 | resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d"
1861 | dependencies:
1862 | minipass "^2.9.0"
1863 |
1864 | mkdirp@0.5.x, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0:
1865 | version "0.5.1"
1866 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
1867 | dependencies:
1868 | minimist "0.0.8"
1869 |
1870 | moment-timezone@^0.5.21:
1871 | version "0.5.23"
1872 | resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.23.tgz#7cbb00db2c14c71b19303cb47b0fb0a6d8651463"
1873 | dependencies:
1874 | moment ">= 2.9.0"
1875 |
1876 | "moment@>= 2.9.0", moment@^2.24.0:
1877 | version "2.24.0"
1878 | resolved "https://registry.yarnpkg.com/moment/-/moment-2.24.0.tgz#0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b"
1879 |
1880 | ms@2.0.0:
1881 | version "2.0.0"
1882 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
1883 |
1884 | ms@^2.1.1:
1885 | version "2.1.1"
1886 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a"
1887 |
1888 | mute-stream@0.0.7:
1889 | version "0.0.7"
1890 | resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab"
1891 |
1892 | mysql2@^2.1.0:
1893 | version "2.1.0"
1894 | resolved "https://registry.yarnpkg.com/mysql2/-/mysql2-2.1.0.tgz#55ecfd4353114c148cc4c253192dbbfd000e6642"
1895 | dependencies:
1896 | cardinal "^2.1.1"
1897 | denque "^1.4.1"
1898 | generate-function "^2.3.1"
1899 | iconv-lite "^0.5.0"
1900 | long "^4.0.0"
1901 | lru-cache "^5.1.1"
1902 | named-placeholders "^1.1.2"
1903 | seq-queue "^0.0.5"
1904 | sqlstring "^2.3.1"
1905 |
1906 | named-placeholders@^1.1.2:
1907 | version "1.1.2"
1908 | resolved "https://registry.yarnpkg.com/named-placeholders/-/named-placeholders-1.1.2.tgz#ceb1fbff50b6b33492b5cf214ccf5e39cef3d0e8"
1909 | dependencies:
1910 | lru-cache "^4.1.3"
1911 |
1912 | nan@2.14.0:
1913 | version "2.14.0"
1914 | resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c"
1915 |
1916 | natural-compare@^1.4.0:
1917 | version "1.4.0"
1918 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
1919 |
1920 | needle@^2.2.1:
1921 | version "2.3.0"
1922 | resolved "https://registry.yarnpkg.com/needle/-/needle-2.3.0.tgz#ce3fea21197267bacb310705a7bbe24f2a3a3492"
1923 | dependencies:
1924 | debug "^4.1.0"
1925 | iconv-lite "^0.4.4"
1926 | sax "^1.2.4"
1927 |
1928 | negotiator@0.6.1:
1929 | version "0.6.1"
1930 | resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9"
1931 |
1932 | neo-async@^2.6.0:
1933 | version "2.6.0"
1934 | resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.0.tgz#b9d15e4d71c6762908654b5183ed38b753340835"
1935 |
1936 | next-tick@1, next-tick@^1.0.0:
1937 | version "1.0.0"
1938 | resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c"
1939 |
1940 | nice-try@^1.0.4:
1941 | version "1.0.5"
1942 | resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366"
1943 |
1944 | no-arrowception@1.x.x:
1945 | version "1.0.0"
1946 | resolved "https://registry.yarnpkg.com/no-arrowception/-/no-arrowception-1.0.0.tgz#5bf3e95eb9c41b57384a805333daa3b734ee327a"
1947 |
1948 | node-pre-gyp@0.14.0:
1949 | version "0.14.0"
1950 | resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.14.0.tgz#9a0596533b877289bcad4e143982ca3d904ddc83"
1951 | dependencies:
1952 | detect-libc "^1.0.2"
1953 | mkdirp "^0.5.1"
1954 | needle "^2.2.1"
1955 | nopt "^4.0.1"
1956 | npm-packlist "^1.1.6"
1957 | npmlog "^4.0.2"
1958 | rc "^1.2.7"
1959 | rimraf "^2.6.1"
1960 | semver "^5.3.0"
1961 | tar "^4.4.2"
1962 |
1963 | nodemailer@^6.4.2:
1964 | version "6.4.2"
1965 | resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.4.2.tgz#7147550e32cdc37453380ab78d2074533966090a"
1966 |
1967 | nodemon@^2.0.2:
1968 | version "2.0.2"
1969 | resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-2.0.2.tgz#9c7efeaaf9b8259295a97e5d4585ba8f0cbe50b0"
1970 | dependencies:
1971 | chokidar "^3.2.2"
1972 | debug "^3.2.6"
1973 | ignore-by-default "^1.0.1"
1974 | minimatch "^3.0.4"
1975 | pstree.remy "^1.1.7"
1976 | semver "^5.7.1"
1977 | supports-color "^5.5.0"
1978 | touch "^3.1.0"
1979 | undefsafe "^2.0.2"
1980 | update-notifier "^2.5.0"
1981 |
1982 | nopt@^4.0.1, nopt@~4.0.1:
1983 | version "4.0.1"
1984 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d"
1985 | dependencies:
1986 | abbrev "1"
1987 | osenv "^0.1.4"
1988 |
1989 | nopt@~1.0.10:
1990 | version "1.0.10"
1991 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee"
1992 | dependencies:
1993 | abbrev "1"
1994 |
1995 | normalize-package-data@^2.3.2:
1996 | version "2.5.0"
1997 | resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8"
1998 | dependencies:
1999 | hosted-git-info "^2.1.4"
2000 | resolve "^1.10.0"
2001 | semver "2 || 3 || 4 || 5"
2002 | validate-npm-package-license "^3.0.1"
2003 |
2004 | normalize-path@^3.0.0, normalize-path@~3.0.0:
2005 | version "3.0.0"
2006 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
2007 |
2008 | npm-bundled@^1.0.1:
2009 | version "1.0.6"
2010 | resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.6.tgz#e7ba9aadcef962bb61248f91721cd932b3fe6bdd"
2011 |
2012 | npm-packlist@^1.1.6:
2013 | version "1.4.1"
2014 | resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.1.tgz#19064cdf988da80ea3cee45533879d90192bbfbc"
2015 | dependencies:
2016 | ignore-walk "^3.0.1"
2017 | npm-bundled "^1.0.1"
2018 |
2019 | npm-run-path@^2.0.0:
2020 | version "2.0.2"
2021 | resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
2022 | dependencies:
2023 | path-key "^2.0.0"
2024 |
2025 | npmlog@^4.0.2:
2026 | version "4.1.2"
2027 | resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
2028 | dependencies:
2029 | are-we-there-yet "~1.1.2"
2030 | console-control-strings "~1.1.0"
2031 | gauge "~2.7.3"
2032 | set-blocking "~2.0.0"
2033 |
2034 | number-is-nan@^1.0.0:
2035 | version "1.0.1"
2036 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
2037 |
2038 | object-assign@^4, object-assign@^4.0.1, object-assign@^4.1.0:
2039 | version "4.1.1"
2040 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
2041 |
2042 | object-keys@^1.0.12:
2043 | version "1.1.1"
2044 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
2045 |
2046 | on-finished@~2.3.0:
2047 | version "2.3.0"
2048 | resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
2049 | dependencies:
2050 | ee-first "1.1.1"
2051 |
2052 | on-headers@~1.0.2:
2053 | version "1.0.2"
2054 | resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f"
2055 |
2056 | once@^1.3.0:
2057 | version "1.4.0"
2058 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
2059 | dependencies:
2060 | wrappy "1"
2061 |
2062 | onetime@^2.0.0:
2063 | version "2.0.1"
2064 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4"
2065 | dependencies:
2066 | mimic-fn "^1.0.0"
2067 |
2068 | optimist@^0.6.1:
2069 | version "0.6.1"
2070 | resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686"
2071 | dependencies:
2072 | minimist "~0.0.1"
2073 | wordwrap "~0.0.2"
2074 |
2075 | optionator@^0.8.2:
2076 | version "0.8.2"
2077 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64"
2078 | dependencies:
2079 | deep-is "~0.1.3"
2080 | fast-levenshtein "~2.0.4"
2081 | levn "~0.3.0"
2082 | prelude-ls "~1.1.2"
2083 | type-check "~0.3.2"
2084 | wordwrap "~1.0.0"
2085 |
2086 | os-homedir@^1.0.0:
2087 | version "1.0.2"
2088 | resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
2089 |
2090 | os-tmpdir@^1.0.0, os-tmpdir@~1.0.2:
2091 | version "1.0.2"
2092 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
2093 |
2094 | osenv@^0.1.4:
2095 | version "0.1.5"
2096 | resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410"
2097 | dependencies:
2098 | os-homedir "^1.0.0"
2099 | os-tmpdir "^1.0.0"
2100 |
2101 | p-finally@^1.0.0:
2102 | version "1.0.0"
2103 | resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
2104 |
2105 | p-limit@^1.1.0:
2106 | version "1.3.0"
2107 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8"
2108 | dependencies:
2109 | p-try "^1.0.0"
2110 |
2111 | p-limit@^2.0.0:
2112 | version "2.2.0"
2113 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.0.tgz#417c9941e6027a9abcba5092dd2904e255b5fbc2"
2114 | dependencies:
2115 | p-try "^2.0.0"
2116 |
2117 | p-locate@^2.0.0:
2118 | version "2.0.0"
2119 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
2120 | dependencies:
2121 | p-limit "^1.1.0"
2122 |
2123 | p-locate@^3.0.0:
2124 | version "3.0.0"
2125 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4"
2126 | dependencies:
2127 | p-limit "^2.0.0"
2128 |
2129 | p-try@^1.0.0:
2130 | version "1.0.0"
2131 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"
2132 |
2133 | p-try@^2.0.0:
2134 | version "2.2.0"
2135 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
2136 |
2137 | package-json@^4.0.0:
2138 | version "4.0.1"
2139 | resolved "https://registry.yarnpkg.com/package-json/-/package-json-4.0.1.tgz#8869a0401253661c4c4ca3da6c2121ed555f5eed"
2140 | dependencies:
2141 | got "^6.7.1"
2142 | registry-auth-token "^3.0.1"
2143 | registry-url "^3.0.3"
2144 | semver "^5.1.0"
2145 |
2146 | parse-json@^2.2.0:
2147 | version "2.2.0"
2148 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
2149 | dependencies:
2150 | error-ex "^1.2.0"
2151 |
2152 | parseurl@~1.3.2:
2153 | version "1.3.2"
2154 | resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3"
2155 |
2156 | passport-local@^1.0.0:
2157 | version "1.0.0"
2158 | resolved "https://registry.yarnpkg.com/passport-local/-/passport-local-1.0.0.tgz#1fe63268c92e75606626437e3b906662c15ba6ee"
2159 | dependencies:
2160 | passport-strategy "1.x.x"
2161 |
2162 | passport-strategy@1.x.x:
2163 | version "1.0.0"
2164 | resolved "https://registry.yarnpkg.com/passport-strategy/-/passport-strategy-1.0.0.tgz#b5539aa8fc225a3d1ad179476ddf236b440f52e4"
2165 |
2166 | passport@^0.4.0:
2167 | version "0.4.0"
2168 | resolved "https://registry.yarnpkg.com/passport/-/passport-0.4.0.tgz#c5095691347bd5ad3b5e180238c3914d16f05811"
2169 | dependencies:
2170 | passport-strategy "1.x.x"
2171 | pause "0.0.1"
2172 |
2173 | path-exists@^3.0.0:
2174 | version "3.0.0"
2175 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
2176 |
2177 | path-is-absolute@^1.0.0:
2178 | version "1.0.1"
2179 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
2180 |
2181 | path-is-inside@^1.0.1, path-is-inside@^1.0.2:
2182 | version "1.0.2"
2183 | resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
2184 |
2185 | path-key@^2.0.0, path-key@^2.0.1:
2186 | version "2.0.1"
2187 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
2188 |
2189 | path-parse@^1.0.6:
2190 | version "1.0.6"
2191 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
2192 |
2193 | path-to-regexp@0.1.7:
2194 | version "0.1.7"
2195 | resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
2196 |
2197 | path-type@^2.0.0:
2198 | version "2.0.0"
2199 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73"
2200 | dependencies:
2201 | pify "^2.0.0"
2202 |
2203 | pause@0.0.1:
2204 | version "0.0.1"
2205 | resolved "https://registry.yarnpkg.com/pause/-/pause-0.0.1.tgz#1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d"
2206 |
2207 | picomatch@^2.0.4, picomatch@^2.0.7:
2208 | version "2.2.1"
2209 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.1.tgz#21bac888b6ed8601f831ce7816e335bc779f0a4a"
2210 |
2211 | pify@^2.0.0:
2212 | version "2.3.0"
2213 | resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
2214 |
2215 | pify@^3.0.0:
2216 | version "3.0.0"
2217 | resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
2218 |
2219 | pkg-dir@^2.0.0:
2220 | version "2.0.0"
2221 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b"
2222 | dependencies:
2223 | find-up "^2.1.0"
2224 |
2225 | pluralize@^7.0.0:
2226 | version "7.0.0"
2227 | resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777"
2228 |
2229 | prelude-ls@~1.1.2:
2230 | version "1.1.2"
2231 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
2232 |
2233 | prepend-http@^1.0.1:
2234 | version "1.0.4"
2235 | resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc"
2236 |
2237 | prettier@^1.16.1:
2238 | version "1.17.0"
2239 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.17.0.tgz#53b303676eed22cc14a9f0cec09b477b3026c008"
2240 |
2241 | process-nextick-args@~2.0.0:
2242 | version "2.0.0"
2243 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa"
2244 |
2245 | progress@^2.0.0:
2246 | version "2.0.3"
2247 | resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
2248 |
2249 | proto-list@~1.2.1:
2250 | version "1.2.4"
2251 | resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849"
2252 |
2253 | proxy-addr@~2.0.4:
2254 | version "2.0.4"
2255 | resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.4.tgz#ecfc733bf22ff8c6f407fa275327b9ab67e48b93"
2256 | dependencies:
2257 | forwarded "~0.1.2"
2258 | ipaddr.js "1.8.0"
2259 |
2260 | pseudomap@^1.0.2:
2261 | version "1.0.2"
2262 | resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
2263 |
2264 | pstree.remy@^1.1.7:
2265 | version "1.1.7"
2266 | resolved "https://registry.yarnpkg.com/pstree.remy/-/pstree.remy-1.1.7.tgz#c76963a28047ed61542dc361aa26ee55a7fa15f3"
2267 |
2268 | punycode@2.x.x, punycode@^2.1.0:
2269 | version "2.1.1"
2270 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
2271 |
2272 | qs@6.5.2:
2273 | version "6.5.2"
2274 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
2275 |
2276 | qs@^6.5.1:
2277 | version "6.7.0"
2278 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc"
2279 |
2280 | random-bytes@~1.0.0:
2281 | version "1.0.0"
2282 | resolved "https://registry.yarnpkg.com/random-bytes/-/random-bytes-1.0.0.tgz#4f68a1dc0ae58bd3fb95848c30324db75d64360b"
2283 |
2284 | range-parser@~1.2.0:
2285 | version "1.2.0"
2286 | resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e"
2287 |
2288 | raw-body@2.3.3:
2289 | version "2.3.3"
2290 | resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.3.tgz#1b324ece6b5706e153855bc1148c65bb7f6ea0c3"
2291 | dependencies:
2292 | bytes "3.0.0"
2293 | http-errors "1.6.3"
2294 | iconv-lite "0.4.23"
2295 | unpipe "1.0.0"
2296 |
2297 | rc@^1.0.1, rc@^1.1.6, rc@^1.2.7:
2298 | version "1.2.8"
2299 | resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
2300 | dependencies:
2301 | deep-extend "^0.6.0"
2302 | ini "~1.3.0"
2303 | minimist "^1.2.0"
2304 | strip-json-comments "~2.0.1"
2305 |
2306 | read-pkg-up@^2.0.0:
2307 | version "2.0.0"
2308 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be"
2309 | dependencies:
2310 | find-up "^2.0.0"
2311 | read-pkg "^2.0.0"
2312 |
2313 | read-pkg@^2.0.0:
2314 | version "2.0.0"
2315 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8"
2316 | dependencies:
2317 | load-json-file "^2.0.0"
2318 | normalize-package-data "^2.3.2"
2319 | path-type "^2.0.0"
2320 |
2321 | readable-stream@^2.0.6, readable-stream@^2.2.2, readable-stream@^2.3.5:
2322 | version "2.3.6"
2323 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf"
2324 | dependencies:
2325 | core-util-is "~1.0.0"
2326 | inherits "~2.0.3"
2327 | isarray "~1.0.0"
2328 | process-nextick-args "~2.0.0"
2329 | safe-buffer "~5.1.1"
2330 | string_decoder "~1.1.1"
2331 | util-deprecate "~1.0.1"
2332 |
2333 | readdirp@~3.3.0:
2334 | version "3.3.0"
2335 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.3.0.tgz#984458d13a1e42e2e9f5841b129e162f369aff17"
2336 | dependencies:
2337 | picomatch "^2.0.7"
2338 |
2339 | redeyed@~2.1.0:
2340 | version "2.1.1"
2341 | resolved "https://registry.yarnpkg.com/redeyed/-/redeyed-2.1.1.tgz#8984b5815d99cb220469c99eeeffe38913e6cc0b"
2342 | dependencies:
2343 | esprima "~4.0.0"
2344 |
2345 | regenerator-runtime@^0.11.0:
2346 | version "0.11.1"
2347 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"
2348 |
2349 | regexpp@^1.0.1:
2350 | version "1.1.0"
2351 | resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-1.1.0.tgz#0e3516dd0b7904f413d2d4193dce4618c3a689ab"
2352 |
2353 | regexpp@^2.0.1:
2354 | version "2.0.1"
2355 | resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f"
2356 |
2357 | registry-auth-token@^3.0.1:
2358 | version "3.4.0"
2359 | resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.4.0.tgz#d7446815433f5d5ed6431cd5dca21048f66b397e"
2360 | dependencies:
2361 | rc "^1.1.6"
2362 | safe-buffer "^5.0.1"
2363 |
2364 | registry-url@^3.0.3:
2365 | version "3.1.0"
2366 | resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942"
2367 | dependencies:
2368 | rc "^1.0.1"
2369 |
2370 | require-directory@^2.1.1:
2371 | version "2.1.1"
2372 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
2373 |
2374 | require-main-filename@^2.0.0:
2375 | version "2.0.0"
2376 | resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b"
2377 |
2378 | require-uncached@^1.0.3:
2379 | version "1.0.3"
2380 | resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3"
2381 | dependencies:
2382 | caller-path "^0.1.0"
2383 | resolve-from "^1.0.0"
2384 |
2385 | resolve-from@^1.0.0:
2386 | version "1.0.1"
2387 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226"
2388 |
2389 | resolve@^1.10.0, resolve@^1.5.0:
2390 | version "1.10.0"
2391 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.10.0.tgz#3bdaaeaf45cc07f375656dfd2e54ed0810b101ba"
2392 | dependencies:
2393 | path-parse "^1.0.6"
2394 |
2395 | restore-cursor@^2.0.0:
2396 | version "2.0.0"
2397 | resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf"
2398 | dependencies:
2399 | onetime "^2.0.0"
2400 | signal-exit "^3.0.2"
2401 |
2402 | retry-as-promised@^3.1.0:
2403 | version "3.2.0"
2404 | resolved "https://registry.yarnpkg.com/retry-as-promised/-/retry-as-promised-3.2.0.tgz#769f63d536bec4783549db0777cb56dadd9d8543"
2405 | dependencies:
2406 | any-promise "^1.3.0"
2407 |
2408 | rimraf@^2.6.1, rimraf@~2.6.2:
2409 | version "2.6.3"
2410 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"
2411 | dependencies:
2412 | glob "^7.1.3"
2413 |
2414 | run-async@^2.2.0:
2415 | version "2.3.0"
2416 | resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0"
2417 | dependencies:
2418 | is-promise "^2.1.0"
2419 |
2420 | rx-lite-aggregates@^4.0.8:
2421 | version "4.0.8"
2422 | resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be"
2423 | dependencies:
2424 | rx-lite "*"
2425 |
2426 | rx-lite@*, rx-lite@^4.0.8:
2427 | version "4.0.8"
2428 | resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444"
2429 |
2430 | rxjs@^6.4.0:
2431 | version "6.4.0"
2432 | resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.4.0.tgz#f3bb0fe7bda7fb69deac0c16f17b50b0b8790504"
2433 | dependencies:
2434 | tslib "^1.9.0"
2435 |
2436 | safe-buffer@5.1.2, safe-buffer@^5.0.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
2437 | version "5.1.2"
2438 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
2439 |
2440 | "safer-buffer@>= 2.1.2 < 3":
2441 | version "2.1.2"
2442 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
2443 |
2444 | sax@^1.2.4:
2445 | version "1.2.4"
2446 | resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
2447 |
2448 | seedrandom@2.4.x:
2449 | version "2.4.4"
2450 | resolved "https://registry.yarnpkg.com/seedrandom/-/seedrandom-2.4.4.tgz#b25ea98632c73e45f58b77cfaa931678df01f9ba"
2451 |
2452 | semver-diff@^2.0.0:
2453 | version "2.1.0"
2454 | resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36"
2455 | dependencies:
2456 | semver "^5.0.3"
2457 |
2458 | "semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.1:
2459 | version "5.7.1"
2460 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
2461 |
2462 | semver@^6.1.1:
2463 | version "6.3.0"
2464 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
2465 |
2466 | send@0.16.2:
2467 | version "0.16.2"
2468 | resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1"
2469 | dependencies:
2470 | debug "2.6.9"
2471 | depd "~1.1.2"
2472 | destroy "~1.0.4"
2473 | encodeurl "~1.0.2"
2474 | escape-html "~1.0.3"
2475 | etag "~1.8.1"
2476 | fresh "0.5.2"
2477 | http-errors "~1.6.2"
2478 | mime "1.4.1"
2479 | ms "2.0.0"
2480 | on-finished "~2.3.0"
2481 | range-parser "~1.2.0"
2482 | statuses "~1.4.0"
2483 |
2484 | seq-queue@^0.0.5:
2485 | version "0.0.5"
2486 | resolved "https://registry.yarnpkg.com/seq-queue/-/seq-queue-0.0.5.tgz#d56812e1c017a6e4e7c3e3a37a1da6d78dd3c93e"
2487 |
2488 | sequelize-cli@^5.5.1:
2489 | version "5.5.1"
2490 | resolved "https://registry.yarnpkg.com/sequelize-cli/-/sequelize-cli-5.5.1.tgz#0b9c2fc04d082cc8ae0a8fe270b96bb606152bab"
2491 | dependencies:
2492 | bluebird "^3.5.3"
2493 | cli-color "^1.4.0"
2494 | fs-extra "^7.0.1"
2495 | js-beautify "^1.8.8"
2496 | lodash "^4.17.5"
2497 | resolve "^1.5.0"
2498 | umzug "^2.1.0"
2499 | yargs "^13.1.0"
2500 |
2501 | sequelize-pool@^2.3.0:
2502 | version "2.3.0"
2503 | resolved "https://registry.yarnpkg.com/sequelize-pool/-/sequelize-pool-2.3.0.tgz#64f1fe8744228172c474f530604b6133be64993d"
2504 |
2505 | sequelize@^5.15.1:
2506 | version "5.15.1"
2507 | resolved "https://registry.yarnpkg.com/sequelize/-/sequelize-5.15.1.tgz#f130ded17e74395ae7f5e265277c99577e895afb"
2508 | dependencies:
2509 | bluebird "^3.5.0"
2510 | cls-bluebird "^2.1.0"
2511 | debug "^4.1.1"
2512 | dottie "^2.0.0"
2513 | inflection "1.12.0"
2514 | lodash "^4.17.11"
2515 | moment "^2.24.0"
2516 | moment-timezone "^0.5.21"
2517 | retry-as-promised "^3.1.0"
2518 | semver "^6.1.1"
2519 | sequelize-pool "^2.3.0"
2520 | toposort-class "^1.0.1"
2521 | uuid "^3.2.1"
2522 | validator "^10.11.0"
2523 | wkx "^0.4.6"
2524 |
2525 | serve-static@1.13.2:
2526 | version "1.13.2"
2527 | resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.2.tgz#095e8472fd5b46237db50ce486a43f4b86c6cec1"
2528 | dependencies:
2529 | encodeurl "~1.0.2"
2530 | escape-html "~1.0.3"
2531 | parseurl "~1.3.2"
2532 | send "0.16.2"
2533 |
2534 | set-blocking@^2.0.0, set-blocking@~2.0.0:
2535 | version "2.0.0"
2536 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
2537 |
2538 | setprototypeof@1.1.0:
2539 | version "1.1.0"
2540 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656"
2541 |
2542 | shebang-command@^1.2.0:
2543 | version "1.2.0"
2544 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
2545 | dependencies:
2546 | shebang-regex "^1.0.0"
2547 |
2548 | shebang-regex@^1.0.0:
2549 | version "1.0.0"
2550 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
2551 |
2552 | shimmer@^1.1.0:
2553 | version "1.2.1"
2554 | resolved "https://registry.yarnpkg.com/shimmer/-/shimmer-1.2.1.tgz#610859f7de327b587efebf501fb43117f9aff337"
2555 |
2556 | sigmund@^1.0.1:
2557 | version "1.0.1"
2558 | resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590"
2559 |
2560 | signal-exit@^3.0.0, signal-exit@^3.0.2:
2561 | version "3.0.2"
2562 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
2563 |
2564 | slice-ansi@1.0.0:
2565 | version "1.0.0"
2566 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d"
2567 | dependencies:
2568 | is-fullwidth-code-point "^2.0.0"
2569 |
2570 | slice-ansi@^2.1.0:
2571 | version "2.1.0"
2572 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636"
2573 | dependencies:
2574 | ansi-styles "^3.2.0"
2575 | astral-regex "^1.0.0"
2576 | is-fullwidth-code-point "^2.0.0"
2577 |
2578 | source-map-support@0.5.x:
2579 | version "0.5.12"
2580 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.12.tgz#b4f3b10d51857a5af0138d3ce8003b201613d599"
2581 | dependencies:
2582 | buffer-from "^1.0.0"
2583 | source-map "^0.6.0"
2584 |
2585 | source-map@0.7.x:
2586 | version "0.7.3"
2587 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383"
2588 |
2589 | source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1:
2590 | version "0.6.1"
2591 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
2592 |
2593 | spdx-correct@^3.0.0:
2594 | version "3.1.0"
2595 | resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4"
2596 | dependencies:
2597 | spdx-expression-parse "^3.0.0"
2598 | spdx-license-ids "^3.0.0"
2599 |
2600 | spdx-exceptions@^2.1.0:
2601 | version "2.2.0"
2602 | resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977"
2603 |
2604 | spdx-expression-parse@^3.0.0:
2605 | version "3.0.0"
2606 | resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0"
2607 | dependencies:
2608 | spdx-exceptions "^2.1.0"
2609 | spdx-license-ids "^3.0.0"
2610 |
2611 | spdx-license-ids@^3.0.0:
2612 | version "3.0.4"
2613 | resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.4.tgz#75ecd1a88de8c184ef015eafb51b5b48bfd11bb1"
2614 |
2615 | sprintf-js@~1.0.2:
2616 | version "1.0.3"
2617 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
2618 |
2619 | sqlstring@^2.3.1:
2620 | version "2.3.1"
2621 | resolved "https://registry.yarnpkg.com/sqlstring/-/sqlstring-2.3.1.tgz#475393ff9e91479aea62dcaf0ca3d14983a7fb40"
2622 |
2623 | "statuses@>= 1.4.0 < 2":
2624 | version "1.5.0"
2625 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
2626 |
2627 | statuses@~1.4.0:
2628 | version "1.4.0"
2629 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087"
2630 |
2631 | string-width@^1.0.1:
2632 | version "1.0.2"
2633 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
2634 | dependencies:
2635 | code-point-at "^1.0.0"
2636 | is-fullwidth-code-point "^1.0.0"
2637 | strip-ansi "^3.0.0"
2638 |
2639 | "string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1:
2640 | version "2.1.1"
2641 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
2642 | dependencies:
2643 | is-fullwidth-code-point "^2.0.0"
2644 | strip-ansi "^4.0.0"
2645 |
2646 | string-width@^3.0.0, string-width@^3.1.0:
2647 | version "3.1.0"
2648 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961"
2649 | dependencies:
2650 | emoji-regex "^7.0.1"
2651 | is-fullwidth-code-point "^2.0.0"
2652 | strip-ansi "^5.1.0"
2653 |
2654 | string_decoder@~1.1.1:
2655 | version "1.1.1"
2656 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
2657 | dependencies:
2658 | safe-buffer "~5.1.0"
2659 |
2660 | strip-ansi@^3.0.0, strip-ansi@^3.0.1:
2661 | version "3.0.1"
2662 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
2663 | dependencies:
2664 | ansi-regex "^2.0.0"
2665 |
2666 | strip-ansi@^4.0.0:
2667 | version "4.0.0"
2668 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f"
2669 | dependencies:
2670 | ansi-regex "^3.0.0"
2671 |
2672 | strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0:
2673 | version "5.2.0"
2674 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae"
2675 | dependencies:
2676 | ansi-regex "^4.1.0"
2677 |
2678 | strip-bom@^3.0.0:
2679 | version "3.0.0"
2680 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
2681 |
2682 | strip-eof@^1.0.0:
2683 | version "1.0.0"
2684 | resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
2685 |
2686 | strip-json-comments@^2.0.1, strip-json-comments@~2.0.1:
2687 | version "2.0.1"
2688 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
2689 |
2690 | superagent@^3.8.3:
2691 | version "3.8.3"
2692 | resolved "https://registry.yarnpkg.com/superagent/-/superagent-3.8.3.tgz#460ea0dbdb7d5b11bc4f78deba565f86a178e128"
2693 | dependencies:
2694 | component-emitter "^1.2.0"
2695 | cookiejar "^2.1.0"
2696 | debug "^3.1.0"
2697 | extend "^3.0.0"
2698 | form-data "^2.3.1"
2699 | formidable "^1.2.0"
2700 | methods "^1.1.1"
2701 | mime "^1.4.1"
2702 | qs "^6.5.1"
2703 | readable-stream "^2.3.5"
2704 |
2705 | supertest@^4.0.2:
2706 | version "4.0.2"
2707 | resolved "https://registry.yarnpkg.com/supertest/-/supertest-4.0.2.tgz#c2234dbdd6dc79b6f15b99c8d6577b90e4ce3f36"
2708 | dependencies:
2709 | methods "^1.1.2"
2710 | superagent "^3.8.3"
2711 |
2712 | supports-color@4.4.x:
2713 | version "4.4.0"
2714 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.4.0.tgz#883f7ddabc165142b2a61427f3352ded195d1a3e"
2715 | dependencies:
2716 | has-flag "^2.0.0"
2717 |
2718 | supports-color@^2.0.0:
2719 | version "2.0.0"
2720 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
2721 |
2722 | supports-color@^5.3.0, supports-color@^5.5.0:
2723 | version "5.5.0"
2724 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
2725 | dependencies:
2726 | has-flag "^3.0.0"
2727 |
2728 | table@4.0.2:
2729 | version "4.0.2"
2730 | resolved "https://registry.yarnpkg.com/table/-/table-4.0.2.tgz#a33447375391e766ad34d3486e6e2aedc84d2e36"
2731 | dependencies:
2732 | ajv "^5.2.3"
2733 | ajv-keywords "^2.1.0"
2734 | chalk "^2.1.0"
2735 | lodash "^4.17.4"
2736 | slice-ansi "1.0.0"
2737 | string-width "^2.1.1"
2738 |
2739 | table@^5.0.2:
2740 | version "5.2.3"
2741 | resolved "https://registry.yarnpkg.com/table/-/table-5.2.3.tgz#cde0cc6eb06751c009efab27e8c820ca5b67b7f2"
2742 | dependencies:
2743 | ajv "^6.9.1"
2744 | lodash "^4.17.11"
2745 | slice-ansi "^2.1.0"
2746 | string-width "^3.0.0"
2747 |
2748 | tar@^4.4.2:
2749 | version "4.4.13"
2750 | resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525"
2751 | dependencies:
2752 | chownr "^1.1.1"
2753 | fs-minipass "^1.2.5"
2754 | minipass "^2.8.6"
2755 | minizlib "^1.2.1"
2756 | mkdirp "^0.5.0"
2757 | safe-buffer "^5.1.2"
2758 | yallist "^3.0.3"
2759 |
2760 | term-size@^1.2.0:
2761 | version "1.2.0"
2762 | resolved "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69"
2763 | dependencies:
2764 | execa "^0.7.0"
2765 |
2766 | text-table@^0.2.0, text-table@~0.2.0:
2767 | version "0.2.0"
2768 | resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
2769 |
2770 | through@^2.3.6:
2771 | version "2.3.8"
2772 | resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
2773 |
2774 | timed-out@^4.0.0:
2775 | version "4.0.1"
2776 | resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f"
2777 |
2778 | timers-ext@^0.1.5:
2779 | version "0.1.7"
2780 | resolved "https://registry.yarnpkg.com/timers-ext/-/timers-ext-0.1.7.tgz#6f57ad8578e07a3fb9f91d9387d65647555e25c6"
2781 | dependencies:
2782 | es5-ext "~0.10.46"
2783 | next-tick "1"
2784 |
2785 | tmp@^0.0.33:
2786 | version "0.0.33"
2787 | resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"
2788 | dependencies:
2789 | os-tmpdir "~1.0.2"
2790 |
2791 | to-regex-range@^5.0.1:
2792 | version "5.0.1"
2793 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
2794 | dependencies:
2795 | is-number "^7.0.0"
2796 |
2797 | topo@3.x.x:
2798 | version "3.0.3"
2799 | resolved "https://registry.yarnpkg.com/topo/-/topo-3.0.3.tgz#d5a67fb2e69307ebeeb08402ec2a2a6f5f7ad95c"
2800 | dependencies:
2801 | hoek "6.x.x"
2802 |
2803 | toposort-class@^1.0.1:
2804 | version "1.0.1"
2805 | resolved "https://registry.yarnpkg.com/toposort-class/-/toposort-class-1.0.1.tgz#7ffd1f78c8be28c3ba45cd4e1a3f5ee193bd9988"
2806 |
2807 | touch@^3.1.0:
2808 | version "3.1.0"
2809 | resolved "https://registry.yarnpkg.com/touch/-/touch-3.1.0.tgz#fe365f5f75ec9ed4e56825e0bb76d24ab74af83b"
2810 | dependencies:
2811 | nopt "~1.0.10"
2812 |
2813 | tslib@^1.9.0:
2814 | version "1.9.3"
2815 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286"
2816 |
2817 | type-check@~0.3.2:
2818 | version "0.3.2"
2819 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
2820 | dependencies:
2821 | prelude-ls "~1.1.2"
2822 |
2823 | type-is@~1.6.16:
2824 | version "1.6.16"
2825 | resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.16.tgz#f89ce341541c672b25ee7ae3c73dee3b2be50194"
2826 | dependencies:
2827 | media-typer "0.3.0"
2828 | mime-types "~2.1.18"
2829 |
2830 | typedarray@^0.0.6:
2831 | version "0.0.6"
2832 | resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
2833 |
2834 | uglify-js@^3.1.4:
2835 | version "3.5.4"
2836 | resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.5.4.tgz#4a64d57f590e20a898ba057f838dcdfb67a939b9"
2837 | dependencies:
2838 | commander "~2.20.0"
2839 | source-map "~0.6.1"
2840 |
2841 | uid-safe@~2.1.5:
2842 | version "2.1.5"
2843 | resolved "https://registry.yarnpkg.com/uid-safe/-/uid-safe-2.1.5.tgz#2b3d5c7240e8fc2e58f8aa269e5ee49c0857bd3a"
2844 | dependencies:
2845 | random-bytes "~1.0.0"
2846 |
2847 | umzug@^2.1.0:
2848 | version "2.2.0"
2849 | resolved "https://registry.yarnpkg.com/umzug/-/umzug-2.2.0.tgz#6160bdc1817e4a63a625946775063c638623e62e"
2850 | dependencies:
2851 | babel-runtime "^6.23.0"
2852 | bluebird "^3.5.3"
2853 |
2854 | undefsafe@^2.0.2:
2855 | version "2.0.2"
2856 | resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-2.0.2.tgz#225f6b9e0337663e0d8e7cfd686fc2836ccace76"
2857 | dependencies:
2858 | debug "^2.2.0"
2859 |
2860 | unique-string@^1.0.0:
2861 | version "1.0.0"
2862 | resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a"
2863 | dependencies:
2864 | crypto-random-string "^1.0.0"
2865 |
2866 | universalify@^0.1.0:
2867 | version "0.1.2"
2868 | resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
2869 |
2870 | unpipe@1.0.0, unpipe@~1.0.0:
2871 | version "1.0.0"
2872 | resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
2873 |
2874 | unzip-response@^2.0.1:
2875 | version "2.0.1"
2876 | resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97"
2877 |
2878 | update-notifier@^2.5.0:
2879 | version "2.5.0"
2880 | resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.5.0.tgz#d0744593e13f161e406acb1d9408b72cad08aff6"
2881 | dependencies:
2882 | boxen "^1.2.1"
2883 | chalk "^2.0.1"
2884 | configstore "^3.0.0"
2885 | import-lazy "^2.1.0"
2886 | is-ci "^1.0.10"
2887 | is-installed-globally "^0.1.0"
2888 | is-npm "^1.0.0"
2889 | latest-version "^3.0.0"
2890 | semver-diff "^2.0.0"
2891 | xdg-basedir "^3.0.0"
2892 |
2893 | uri-js@^4.2.2:
2894 | version "4.2.2"
2895 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0"
2896 | dependencies:
2897 | punycode "^2.1.0"
2898 |
2899 | url-parse-lax@^1.0.0:
2900 | version "1.0.0"
2901 | resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73"
2902 | dependencies:
2903 | prepend-http "^1.0.1"
2904 |
2905 | util-deprecate@~1.0.1:
2906 | version "1.0.2"
2907 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
2908 |
2909 | utils-merge@1.0.1:
2910 | version "1.0.1"
2911 | resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
2912 |
2913 | uuid@^3.2.1, uuid@^3.3.2:
2914 | version "3.3.2"
2915 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131"
2916 |
2917 | validate-npm-package-license@^3.0.1:
2918 | version "3.0.4"
2919 | resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a"
2920 | dependencies:
2921 | spdx-correct "^3.0.0"
2922 | spdx-expression-parse "^3.0.0"
2923 |
2924 | validator@^10.11.0:
2925 | version "10.11.0"
2926 | resolved "https://registry.yarnpkg.com/validator/-/validator-10.11.0.tgz#003108ea6e9a9874d31ccc9e5006856ccd76b228"
2927 |
2928 | vary@^1, vary@~1.1.2:
2929 | version "1.1.2"
2930 | resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
2931 |
2932 | which-module@^2.0.0:
2933 | version "2.0.0"
2934 | resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
2935 |
2936 | which@^1.2.9:
2937 | version "1.3.1"
2938 | resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
2939 | dependencies:
2940 | isexe "^2.0.0"
2941 |
2942 | wide-align@^1.1.0:
2943 | version "1.1.3"
2944 | resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457"
2945 | dependencies:
2946 | string-width "^1.0.2 || 2"
2947 |
2948 | widest-line@^2.0.0:
2949 | version "2.0.1"
2950 | resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-2.0.1.tgz#7438764730ec7ef4381ce4df82fb98a53142a3fc"
2951 | dependencies:
2952 | string-width "^2.1.1"
2953 |
2954 | will-call@1.x.x:
2955 | version "1.0.1"
2956 | resolved "https://registry.yarnpkg.com/will-call/-/will-call-1.0.1.tgz#9b37561ea7156aaba21b28fdf635b80fe78bf166"
2957 |
2958 | wkx@^0.4.6:
2959 | version "0.4.6"
2960 | resolved "https://registry.yarnpkg.com/wkx/-/wkx-0.4.6.tgz#228ab592e6457382ea6fb79fc825058d07fce523"
2961 | dependencies:
2962 | "@types/node" "*"
2963 |
2964 | wordwrap@~0.0.2:
2965 | version "0.0.3"
2966 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107"
2967 |
2968 | wordwrap@~1.0.0:
2969 | version "1.0.0"
2970 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
2971 |
2972 | wrap-ansi@^5.1.0:
2973 | version "5.1.0"
2974 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09"
2975 | dependencies:
2976 | ansi-styles "^3.2.0"
2977 | string-width "^3.0.0"
2978 | strip-ansi "^5.0.0"
2979 |
2980 | wrappy@1:
2981 | version "1.0.2"
2982 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
2983 |
2984 | write-file-atomic@^2.0.0:
2985 | version "2.4.3"
2986 | resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481"
2987 | dependencies:
2988 | graceful-fs "^4.1.11"
2989 | imurmurhash "^0.1.4"
2990 | signal-exit "^3.0.2"
2991 |
2992 | write@^0.2.1:
2993 | version "0.2.1"
2994 | resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757"
2995 | dependencies:
2996 | mkdirp "^0.5.1"
2997 |
2998 | xdg-basedir@^3.0.0:
2999 | version "3.0.0"
3000 | resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4"
3001 |
3002 | y18n@^4.0.0:
3003 | version "4.0.0"
3004 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b"
3005 |
3006 | yallist@^2.1.2:
3007 | version "2.1.2"
3008 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
3009 |
3010 | yallist@^3.0.0, yallist@^3.0.2:
3011 | version "3.0.3"
3012 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9"
3013 |
3014 | yallist@^3.0.3:
3015 | version "3.1.1"
3016 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
3017 |
3018 | yargs-parser@^13.1.1:
3019 | version "13.1.1"
3020 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz#d26058532aa06d365fe091f6a1fc06b2f7e5eca0"
3021 | dependencies:
3022 | camelcase "^5.0.0"
3023 | decamelize "^1.2.0"
3024 |
3025 | yargs@^13.1.0:
3026 | version "13.3.0"
3027 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.0.tgz#4c657a55e07e5f2cf947f8a366567c04a0dedc83"
3028 | dependencies:
3029 | cliui "^5.0.0"
3030 | find-up "^3.0.0"
3031 | get-caller-file "^2.0.1"
3032 | require-directory "^2.1.1"
3033 | require-main-filename "^2.0.0"
3034 | set-blocking "^2.0.0"
3035 | string-width "^3.0.0"
3036 | which-module "^2.0.0"
3037 | y18n "^4.0.0"
3038 | yargs-parser "^13.1.1"
3039 |
--------------------------------------------------------------------------------