From a4d9be845051df348f2e3176f95931810e06b89f Mon Sep 17 00:00:00 2001 From: "junsung.yoon" Date: Sat, 10 Oct 2020 16:23:16 +0900 Subject: [PATCH 1/3] yarn lint --fix + yarn add sequelize-cli --- config/config.js | 8 +- index.js | 32 +- package.json | 1 + .../migrations/20200827223319-create-admin.js | 6 +- .../20200827223527-create-banner.js | 6 +- .../migrations/20200827223657-create-board.js | 6 +- .../20200827223837-create-cancel-request.js | 6 +- .../20200827223935-create-payment.js | 6 +- .../migrations/20200827224019-create-post.js | 6 +- .../20200827224111-create-student.js | 6 +- .../20200827230222-create-associations.js | 56 +-- .../migrations/20200926153605-edit-post.js | 14 +- .../20200930185340-create-petition.js | 6 +- .../20201001091755-create-associations.js | 22 +- .../20201005191451-edit-petition.js | 18 +- src/database/models/Board.js | 12 +- src/database/models/CancelRequest.js | 14 +- src/database/models/Petition.js | 14 +- src/database/models/Student.js | 20 +- src/database/models/admin.js | 10 +- src/database/models/banner.js | 10 +- src/database/models/index.js | 14 +- src/database/models/payment.js | 12 +- src/database/models/post.js | 12 +- .../seeders/20200419080205-create-boards.js | 24 +- src/routes/admins/admins.ctrl.js | 18 +- src/routes/admins/index.js | 10 +- src/routes/auth/auth.ctrl.js | 14 +- src/routes/auth/generateToken.js | 6 +- src/routes/auth/index.js | 10 +- src/routes/banners/banners.ctrl.js | 2 +- src/routes/banners/index.js | 10 +- src/routes/boards/boards.ctrl.js | 2 +- src/routes/boards/index.js | 12 +- .../cancelRequest/cancelRequest.ctrl.js | 6 +- src/routes/cancelRequest/index.js | 12 +- src/routes/index.js | 38 +- src/routes/payments/index.js | 8 +- src/routes/payments/payments.ctrl.js | 10 +- src/routes/petitions/index.js | 14 +- src/routes/petitions/petitions.ctrl.js | 6 +- src/routes/posts/index.js | 14 +- src/routes/posts/posts.ctrl.js | 12 +- src/utils/index.js | 8 +- yarn.lock | 354 +++++++++++++++++- 45 files changed, 622 insertions(+), 285 deletions(-) diff --git a/config/config.js b/config/config.js index ee8a262..21d318b 100644 --- a/config/config.js +++ b/config/config.js @@ -1,4 +1,4 @@ -require("dotenv").config(); +require('dotenv').config(); module.exports = { development: { @@ -6,7 +6,7 @@ module.exports = { password: process.env.PASSWORD, database: process.env.DATABASE, host: process.env.HOST, - dialect: "mysql", + dialect: 'mysql', operatorsAliases: 0, }, test: { @@ -14,7 +14,7 @@ module.exports = { password: process.env.PASSWORD, database: process.env.DATABASE, host: process.env.HOST, - dialect: "mysql", + dialect: 'mysql', operatorsAliases: 0, }, production: { @@ -22,7 +22,7 @@ module.exports = { password: process.env.PASSWORD, database: process.env.DATABASE, host: process.env.HOST, - dialect: "mysql", + dialect: 'mysql', operatorsAliases: 0, }, }; diff --git a/index.js b/index.js index 78aabf9..72a1be5 100644 --- a/index.js +++ b/index.js @@ -1,14 +1,14 @@ -require("dotenv").config(); -const Koa = require("koa"); -const bodyParser = require("koa-body"); -const cors = require("@koa/cors"); -const logger = require("koa-logger"); -const router = require("./src/routes"); -const models = require("./src/database/models/index.js"); -const helmet = require("koa-helmet"); -const swagger = require("koa2-swagger-ui"); -const swaggerDoc = require("./src/utils/swaggerDef.js"); -const { jwtMiddleware } = require("./src/utils"); +require('dotenv').config(); +const Koa = require('koa'); +const bodyParser = require('koa-body'); +const cors = require('@koa/cors'); +const logger = require('koa-logger'); +const router = require('./src/routes'); +const models = require('./src/database/models/index.js'); +const helmet = require('koa-helmet'); +const swagger = require('koa2-swagger-ui'); +const swaggerDoc = require('./src/utils/swaggerDef.js'); +const { jwtMiddleware } = require('./src/utils'); const run = async () => { const app = new Koa(); @@ -16,10 +16,10 @@ const run = async () => { models.sequelize .sync() .then(() => { - console.log(" DB 연결 성공"); + console.log(' DB 연결 성공'); }) .catch((err) => { - console.log("연결 실패"); + console.log('연결 실패'); console.log(err); }); @@ -31,11 +31,11 @@ const run = async () => { app.use(router.routes()).use(router.allowedMethods()); app.use( swagger({ - routePrefix: "/swagger", + routePrefix: '/swagger', swaggerOptions: { - url: "/swagger.json", + url: '/swagger.json', }, - }) + }), ); app.use(swaggerDoc.routes()); diff --git a/package.json b/package.json index f7d7a4f..5395e57 100644 --- a/package.json +++ b/package.json @@ -39,6 +39,7 @@ "passport-accesstoken": "^0.1.0", "router": "^1.3.5", "sequelize": "^6.3.5", + "sequelize-cli": "^6.2.0", "swagger-jsdoc": "^4.0.0", "yarn": "^1.22.4" }, diff --git a/src/database/migrations/20200827223319-create-admin.js b/src/database/migrations/20200827223319-create-admin.js index 5e125d1..0f0d828 100644 --- a/src/database/migrations/20200827223319-create-admin.js +++ b/src/database/migrations/20200827223319-create-admin.js @@ -1,8 +1,8 @@ -"use strict"; +'use strict'; module.exports = { up: async (queryInterface, Sequelize) => { - await queryInterface.createTable("Admin", { + await queryInterface.createTable('Admin', { id: { type: Sequelize.UUID, defaultValue: Sequelize.UUIDV4, @@ -17,6 +17,6 @@ module.exports = { }, down: async (queryInterface, Sequelize) => { - await queryInterface.dropTable("Admin"); + await queryInterface.dropTable('Admin'); }, }; diff --git a/src/database/migrations/20200827223527-create-banner.js b/src/database/migrations/20200827223527-create-banner.js index 9e098d0..cc7949f 100644 --- a/src/database/migrations/20200827223527-create-banner.js +++ b/src/database/migrations/20200827223527-create-banner.js @@ -1,8 +1,8 @@ -"use strict"; +'use strict'; module.exports = { up: async (queryInterface, Sequelize) => { - await queryInterface.createTable("Banner", { + await queryInterface.createTable('Banner', { id: { type: Sequelize.UUID, defaultValue: Sequelize.UUIDV4, @@ -15,6 +15,6 @@ module.exports = { }, down: async (queryInterface, Sequelize) => { - await queryInterface.dropTable("Banner"); + await queryInterface.dropTable('Banner'); }, }; diff --git a/src/database/migrations/20200827223657-create-board.js b/src/database/migrations/20200827223657-create-board.js index 0d1c521..43fcd4a 100644 --- a/src/database/migrations/20200827223657-create-board.js +++ b/src/database/migrations/20200827223657-create-board.js @@ -1,8 +1,8 @@ -"use strict"; +'use strict'; module.exports = { up: async (queryInterface, Sequelize) => { - await queryInterface.createTable("Board", { + await queryInterface.createTable('Board', { id: { autoIncrement: true, primaryKey: true, @@ -16,6 +16,6 @@ module.exports = { }, down: async (queryInterface, Sequelize) => { - await queryInterface.dropTable("Board"); + await queryInterface.dropTable('Board'); }, }; diff --git a/src/database/migrations/20200827223837-create-cancel-request.js b/src/database/migrations/20200827223837-create-cancel-request.js index 2d95435..6fc1286 100644 --- a/src/database/migrations/20200827223837-create-cancel-request.js +++ b/src/database/migrations/20200827223837-create-cancel-request.js @@ -1,8 +1,8 @@ -"use strict"; +'use strict'; module.exports = { up: async (queryInterface, Sequelize) => { - await queryInterface.createTable("CancelRequest", { + await queryInterface.createTable('CancelRequest', { id: { type: Sequelize.UUID, defaultValue: Sequelize.UUIDV4, @@ -16,6 +16,6 @@ module.exports = { }, down: async (queryInterface, Sequelize) => { - await queryInterface.dropTable("CancelRequest"); + await queryInterface.dropTable('CancelRequest'); }, }; diff --git a/src/database/migrations/20200827223935-create-payment.js b/src/database/migrations/20200827223935-create-payment.js index 7b11446..927439c 100644 --- a/src/database/migrations/20200827223935-create-payment.js +++ b/src/database/migrations/20200827223935-create-payment.js @@ -1,8 +1,8 @@ -"use strict"; +'use strict'; module.exports = { up: async (queryInterface, Sequelize) => { - await queryInterface.createTable("Payment", { + await queryInterface.createTable('Payment', { id: { type: Sequelize.UUID, defaultValue: Sequelize.UUIDV4, @@ -15,6 +15,6 @@ module.exports = { }, down: async (queryInterface, Sequelize) => { - await queryInterface.dropTable("Payment"); + await queryInterface.dropTable('Payment'); }, }; diff --git a/src/database/migrations/20200827224019-create-post.js b/src/database/migrations/20200827224019-create-post.js index 8cccb0a..549c9e7 100644 --- a/src/database/migrations/20200827224019-create-post.js +++ b/src/database/migrations/20200827224019-create-post.js @@ -1,8 +1,8 @@ -"use strict"; +'use strict'; module.exports = { up: async (queryInterface, Sequelize) => { - await queryInterface.createTable("Post", { + await queryInterface.createTable('Post', { id: { type: Sequelize.UUID, defaultValue: Sequelize.UUIDV4, @@ -24,6 +24,6 @@ module.exports = { }, down: async (queryInterface, Sequelize) => { - await queryInterface.dropTable("Post"); + await queryInterface.dropTable('Post'); }, }; diff --git a/src/database/migrations/20200827224111-create-student.js b/src/database/migrations/20200827224111-create-student.js index 162965d..bc1a441 100644 --- a/src/database/migrations/20200827224111-create-student.js +++ b/src/database/migrations/20200827224111-create-student.js @@ -1,8 +1,8 @@ -"use strict"; +'use strict'; module.exports = { up: async (queryInterface, Sequelize) => { - await queryInterface.createTable("Student", { + await queryInterface.createTable('Student', { id: { type: Sequelize.UUID, defaultValue: Sequelize.UUIDV4, @@ -23,6 +23,6 @@ module.exports = { }, down: async (queryInterface, Sequelize) => { - await queryInterface.dropTable("Student"); + await queryInterface.dropTable('Student'); }, }; diff --git a/src/database/migrations/20200827230222-create-associations.js b/src/database/migrations/20200827230222-create-associations.js index 3677619..0744afe 100644 --- a/src/database/migrations/20200827230222-create-associations.js +++ b/src/database/migrations/20200827230222-create-associations.js @@ -1,52 +1,52 @@ -"use strict"; +'use strict'; module.exports = { up: async (queryInterface, Sequelize) => { // Board hasMany Post return queryInterface .addColumn( - "Post", // name of Source model - "boardId", // name of the key we're adding + 'Post', // name of Source model + 'boardId', // name of the key we're adding { type: Sequelize.INTEGER, references: { - model: "Board", // name of Target model - key: "id", // key in Target model that we're referencing + model: 'Board', // name of Target model + key: 'id', // key in Target model that we're referencing }, - onUpdate: "CASCADE", - onDelete: "SET NULL", - } + onUpdate: 'CASCADE', + onDelete: 'SET NULL', + }, ) .then(() => { // Student hasMany CancelRequest return queryInterface.addColumn( - "CancelRequest", // name of Target model - "studentNumber", // name of the key we're adding + 'CancelRequest', // name of Target model + 'studentNumber', // name of the key we're adding { type: Sequelize.INTEGER, references: { - model: "Student", // name of Source model - key: "studentNumber", + model: 'Student', // name of Source model + key: 'studentNumber', }, - onUpdate: "CASCADE", - onDelete: "CASCADE", - } + onUpdate: 'CASCADE', + onDelete: 'CASCADE', + }, ); }) .then(() => { // Student hasMany Payment return queryInterface.addColumn( - "Payment", // name of Target model - "studentId", // name of the key we're adding + 'Payment', // name of Target model + 'studentId', // name of the key we're adding { type: Sequelize.UUID, references: { - model: "Student", // name of Source model - key: "id", + model: 'Student', // name of Source model + key: 'id', }, - onUpdate: "CASCADE", - onDelete: "SET NULL", - } + onUpdate: 'CASCADE', + onDelete: 'SET NULL', + }, ); }); }, @@ -55,21 +55,21 @@ module.exports = { // remove Board hasMany Post return queryInterface .removeColumn( - "Post", // name of Source model - "boardId" // key we want to remove + 'Post', // name of Source model + 'boardId', // key we want to remove ) .then(() => { // remove Student hasMany CancelRequest return queryInterface.removeColumn( - "CancelRequest", // name of the Target model - "studentNumber" // key we want to remove + 'CancelRequest', // name of the Target model + 'studentNumber', // key we want to remove ); }) .then(() => { // remove Student hasMany Payment return queryInterface.removeColumn( - "Payment", // name of the Target model - "studentId" // key we want to remove + 'Payment', // name of the Target model + 'studentId', // key we want to remove ); }); }, diff --git a/src/database/migrations/20200926153605-edit-post.js b/src/database/migrations/20200926153605-edit-post.js index 134ea68..62c79fa 100644 --- a/src/database/migrations/20200926153605-edit-post.js +++ b/src/database/migrations/20200926153605-edit-post.js @@ -1,23 +1,23 @@ -"use strict"; +'use strict'; module.exports = { up: (queryInterface, Sequelize) => { return Promise.all([ - queryInterface.addColumn("Post", "korAuthor", { + queryInterface.addColumn('Post', 'korAuthor', { type: Sequelize.TEXT, }), - queryInterface.addColumn("Post", "engAuthor", { + queryInterface.addColumn('Post', 'engAuthor', { type: Sequelize.TEXT, }), - queryInterface.removeColumn("Post", "author"), + queryInterface.removeColumn('Post', 'author'), ]); }, down: (queryInterface, Sequelize) => { return Promise.all([ - queryInterface.removeColumn("Post", "korAuthor"), - queryInterface.removeColumn("Post", "engAuthor"), - queryInterface.addColumn("Post", "author", { + queryInterface.removeColumn('Post', 'korAuthor'), + queryInterface.removeColumn('Post', 'engAuthor'), + queryInterface.addColumn('Post', 'author', { type: Sequelize.TEXT, }), ]); diff --git a/src/database/migrations/20200930185340-create-petition.js b/src/database/migrations/20200930185340-create-petition.js index 4768078..24a5aff 100644 --- a/src/database/migrations/20200930185340-create-petition.js +++ b/src/database/migrations/20200930185340-create-petition.js @@ -1,8 +1,8 @@ -"use strict"; +'use strict'; module.exports = { up: (queryInterface, Sequelize) => { - return queryInterface.createTable("Petition", { + return queryInterface.createTable('Petition', { id: { type: Sequelize.UUID, defaultValue: Sequelize.UUIDV4, @@ -18,6 +18,6 @@ module.exports = { }, down: (queryInterface, Sequelize) => { - return queryInterface.dropTable("Petition"); + return queryInterface.dropTable('Petition'); }, }; diff --git a/src/database/migrations/20201001091755-create-associations.js b/src/database/migrations/20201001091755-create-associations.js index 7b4fb86..f2473c8 100644 --- a/src/database/migrations/20201001091755-create-associations.js +++ b/src/database/migrations/20201001091755-create-associations.js @@ -1,26 +1,26 @@ -"use strict"; +'use strict'; module.exports = { up: async (queryInterface, Sequelize) => { // Board hasMany Post - await queryInterface.createTable("Student_Petition", { + await queryInterface.createTable('Student_Petition', { StudentId: { type: Sequelize.UUID, references: { - model: "Student", // name of Target model - key: "id", // key in Target model that we're referencing + model: 'Student', // name of Target model + key: 'id', // key in Target model that we're referencing }, - onUpdate: "CASCADE", - onDelete: "CASCADE", + onUpdate: 'CASCADE', + onDelete: 'CASCADE', }, PetitionId: { type: Sequelize.UUID, references: { - model: "Petition", // name of Target model - key: "id", // key in Target model that we're referencing + model: 'Petition', // name of Target model + key: 'id', // key in Target model that we're referencing }, - onUpdate: "CASCADE", - onDelete: "CASCADE", + onUpdate: 'CASCADE', + onDelete: 'CASCADE', }, createdAt: Sequelize.DATE, updatedAt: Sequelize.DATE, @@ -28,6 +28,6 @@ module.exports = { }, down: async (queryInterface, Sequelize) => { - await queryInterface.dropTable("Student_Petition"); + await queryInterface.dropTable('Student_Petition'); }, }; diff --git a/src/database/migrations/20201005191451-edit-petition.js b/src/database/migrations/20201005191451-edit-petition.js index 0f0f8d5..a2956d3 100644 --- a/src/database/migrations/20201005191451-edit-petition.js +++ b/src/database/migrations/20201005191451-edit-petition.js @@ -1,23 +1,23 @@ -"use strict"; +'use strict'; module.exports = { up: async (queryInterface, Sequelize) => { await queryInterface.addColumn( - "Petition", // name of Source model - "authorId", // name of the key we're adding + 'Petition', // name of Source model + 'authorId', // name of the key we're adding { type: Sequelize.UUID, references: { - model: "Student", // name of Target model - key: "id", // key in Target model that we're referencing + model: 'Student', // name of Target model + key: 'id', // key in Target model that we're referencing }, - onUpdate: "CASCADE", - onDelete: "CASCADE", - } + onUpdate: 'CASCADE', + onDelete: 'CASCADE', + }, ); }, down: async (queryInterface, Sequelize) => { - await queryInterface.removeColumn("Petition", "authorId"); + await queryInterface.removeColumn('Petition', 'authorId'); }, }; diff --git a/src/database/models/Board.js b/src/database/models/Board.js index cce9ffd..7e5abc9 100644 --- a/src/database/models/Board.js +++ b/src/database/models/Board.js @@ -1,7 +1,7 @@ -"use strict"; +'use strict'; module.exports = (sequelize, DataTypes) => { const Board = sequelize.define( - "Board", + 'Board', { id: { autoIncrement: true, @@ -16,13 +16,13 @@ module.exports = (sequelize, DataTypes) => { { freezeTableName: true, timestamps: false, - charset: "utf8", - collate: "utf8_general_ci", - } + charset: 'utf8', + collate: 'utf8_general_ci', + }, ); Board.associate = function (models) { - models.Board.hasMany(models.Post, { foreignKey: "boardId" }); + models.Board.hasMany(models.Post, { foreignKey: 'boardId' }); }; return Board; diff --git a/src/database/models/CancelRequest.js b/src/database/models/CancelRequest.js index c835328..85126bb 100644 --- a/src/database/models/CancelRequest.js +++ b/src/database/models/CancelRequest.js @@ -1,7 +1,7 @@ -"use strict"; +'use strict'; module.exports = (sequelize, DataTypes) => { const CancelRequest = sequelize.define( - "CancelRequest", + 'CancelRequest', { id: { type: DataTypes.UUID, @@ -13,15 +13,15 @@ module.exports = (sequelize, DataTypes) => { }, { freezeTableName: true, - charset: "utf8", - collate: "utf8_general_ci", - } + charset: 'utf8', + collate: 'utf8_general_ci', + }, ); CancelRequest.associate = function (models) { // associations can be defined here CancelRequest.belongsTo(models.Student, { - targetKey: "studentNumber", - foreignKey: "studentNumber", + targetKey: 'studentNumber', + foreignKey: 'studentNumber', }); }; return CancelRequest; diff --git a/src/database/models/Petition.js b/src/database/models/Petition.js index 1797d82..d5295cf 100644 --- a/src/database/models/Petition.js +++ b/src/database/models/Petition.js @@ -1,7 +1,7 @@ -"use strict"; +'use strict'; module.exports = (sequelize, DataTypes) => { const Petition = sequelize.define( - "Petition", + 'Petition', { id: { type: DataTypes.UUID, @@ -30,14 +30,14 @@ module.exports = (sequelize, DataTypes) => { }, { freezeTableName: true, - charset: "utf8", - collate: "utf8_general_ci", - } + charset: 'utf8', + collate: 'utf8_general_ci', + }, ); Petition.associate = function (models) { - Petition.belongsToMany(models.Student, { through: "Student_Petition" }); - Petition.belongsTo(models.Student, { foreignKey: "authorId" }); + Petition.belongsToMany(models.Student, { through: 'Student_Petition' }); + Petition.belongsTo(models.Student, { foreignKey: 'authorId' }); }; return Petition; diff --git a/src/database/models/Student.js b/src/database/models/Student.js index 0bfeafd..246010e 100644 --- a/src/database/models/Student.js +++ b/src/database/models/Student.js @@ -1,7 +1,7 @@ -"use strict"; +'use strict'; module.exports = (sequelize, DataTypes) => { const Student = sequelize.define( - "Student", + 'Student', { id: { type: DataTypes.UUID, @@ -16,23 +16,23 @@ module.exports = (sequelize, DataTypes) => { }, { freezeTableName: true, - charset: "utf8", - collate: "utf8_general_ci", - } + charset: 'utf8', + collate: 'utf8_general_ci', + }, ); Student.associate = function (models) { // associations can be defined here Student.hasMany(models.CancelRequest, { - foreignKey: "studentNumber", - sourceKey: "studentNumber", + foreignKey: 'studentNumber', + sourceKey: 'studentNumber', }); Student.hasMany(models.Payment, { - foreignKey: "studentId", + foreignKey: 'studentId', }); Student.hasMany(models.Petition, { - foreignKey: "authorId", + foreignKey: 'authorId', }); - Student.belongsToMany(models.Petition, { through: "Student_Petition" }); + Student.belongsToMany(models.Petition, { through: 'Student_Petition' }); }; return Student; }; diff --git a/src/database/models/admin.js b/src/database/models/admin.js index 1aa08ac..f26e25a 100644 --- a/src/database/models/admin.js +++ b/src/database/models/admin.js @@ -1,7 +1,7 @@ -"use strict"; +'use strict'; module.exports = (sequelize, DataTypes) => { const Admin = sequelize.define( - "Admin", + 'Admin', { id: { type: DataTypes.UUID, @@ -14,9 +14,9 @@ module.exports = (sequelize, DataTypes) => { }, { freezeTableName: true, - charset: "utf8", - collate: "utf8_general_ci", - } + charset: 'utf8', + collate: 'utf8_general_ci', + }, ); Admin.associate = function (models) { // associations can be defined here diff --git a/src/database/models/banner.js b/src/database/models/banner.js index dad7d15..284bda6 100644 --- a/src/database/models/banner.js +++ b/src/database/models/banner.js @@ -1,7 +1,7 @@ -"use strict"; +'use strict'; module.exports = (sequelize, DataTypes) => { const Banner = sequelize.define( - "Banner", + 'Banner', { id: { type: DataTypes.UUID, @@ -15,9 +15,9 @@ module.exports = (sequelize, DataTypes) => { { freezeTableName: true, timestamps: false, - charset: "utf8", - collate: "utf8_general_ci", - } + charset: 'utf8', + collate: 'utf8_general_ci', + }, ); Banner.associate = function (models) { // associations can be defined here diff --git a/src/database/models/index.js b/src/database/models/index.js index 6f36b4a..77c541c 100644 --- a/src/database/models/index.js +++ b/src/database/models/index.js @@ -1,8 +1,8 @@ -"use strict"; +'use strict'; -const fs = require("fs"); -const path = require("path"); -const Sequelize = require("sequelize"); +const fs = require('fs'); +const path = require('path'); +const Sequelize = require('sequelize'); const basename = path.basename(__filename); const db = {}; @@ -13,19 +13,19 @@ const sequelize = new Sequelize( { host: process.env.HOST, dialect: process.env.DIALECT, - } + }, ); fs.readdirSync(__dirname) .filter((file) => { return ( - file.indexOf(".") !== 0 && file !== basename && file.slice(-3) === ".js" + file.indexOf('.') !== 0 && file !== basename && file.slice(-3) === '.js' ); }) .forEach((file) => { const model = require(path.join(__dirname, file))( sequelize, - Sequelize.DataTypes + Sequelize.DataTypes, ); db[model.name] = model; }); diff --git a/src/database/models/payment.js b/src/database/models/payment.js index e72fafb..26c032e 100644 --- a/src/database/models/payment.js +++ b/src/database/models/payment.js @@ -1,7 +1,7 @@ -"use strict"; +'use strict'; module.exports = (sequelize, DataTypes) => { const Payment = sequelize.define( - "Payment", + 'Payment', { id: { type: DataTypes.UUID, @@ -15,13 +15,13 @@ module.exports = (sequelize, DataTypes) => { { freezeTableName: true, timestamps: false, - charset: "utf8", - collate: "utf8_general_ci", - } + charset: 'utf8', + collate: 'utf8_general_ci', + }, ); Payment.associate = function (models) { // associations can be defined here - Payment.belongsTo(models.Student, { foreignKey: "studentId" }); + Payment.belongsTo(models.Student, { foreignKey: 'studentId' }); }; return Payment; }; diff --git a/src/database/models/post.js b/src/database/models/post.js index b475ef2..7455e47 100644 --- a/src/database/models/post.js +++ b/src/database/models/post.js @@ -1,7 +1,7 @@ -"use strict"; +'use strict'; module.exports = (sequelize, DataTypes) => { const Post = sequelize.define( - "Post", + 'Post', { id: { type: DataTypes.UUID, @@ -28,13 +28,13 @@ module.exports = (sequelize, DataTypes) => { }, { freezeTableName: true, - charset: "utf8", - collate: "utf8_general_ci", - } + charset: 'utf8', + collate: 'utf8_general_ci', + }, ); Post.associate = function (models) { - models.Post.belongsTo(models.Board, { foreignKey: "boardId" }); + models.Post.belongsTo(models.Board, { foreignKey: 'boardId' }); }; return Post; diff --git a/src/database/seeders/20200419080205-create-boards.js b/src/database/seeders/20200419080205-create-boards.js index 0e1e7fc..1d1213a 100644 --- a/src/database/seeders/20200419080205-create-boards.js +++ b/src/database/seeders/20200419080205-create-boards.js @@ -1,30 +1,30 @@ -"use strict"; +'use strict'; module.exports = { up: (queryInterface, Sequelize) => { return queryInterface.bulkInsert( - "Board", + 'Board', [ { id: 1, - korTitle: "공지사항", - engTitle: "Announcements", - korDescription: "", - engDescription: "", + korTitle: '공지사항', + engTitle: 'Announcements', + korDescription: '', + engDescription: '', }, { id: 2, - korTitle: "학생 복지", - engTitle: "Student Welfare", - korDescription: "학우들을 위한 제휴 및 기타 복지사업", - engDescription: "Partnerships and discounts for students", + korTitle: '학생 복지', + engTitle: 'Student Welfare', + korDescription: '학우들을 위한 제휴 및 기타 복지사업', + engDescription: 'Partnerships and discounts for students', }, ], - {} + {}, ); }, down: (queryInterface, Sequelize) => { - return queryInterface.bulkDelete("Board", null, {}); + return queryInterface.bulkDelete('Board', null, {}); }, }; diff --git a/src/routes/admins/admins.ctrl.js b/src/routes/admins/admins.ctrl.js index 72446f0..4eaa18f 100644 --- a/src/routes/admins/admins.ctrl.js +++ b/src/routes/admins/admins.ctrl.js @@ -1,19 +1,19 @@ -const models = require("../../database/models"); -const { generateToken } = require("../auth/generateToken"); -const crypto = require("crypto"); -const { assert } = require("console"); +const models = require('../../database/models'); +const { generateToken } = require('../auth/generateToken'); +const crypto = require('crypto'); +const { assert } = require('console'); const genRandomString = function (length) { return crypto .randomBytes(Math.ceil(length / 2)) - .toString("hex") /** convert to hexadecimal format */ + .toString('hex') /** convert to hexadecimal format */ .slice(0, length); /** return required number of characters */ }; const hashed = (data, salt) => { - const hash = crypto.createHmac("sha512", salt); + const hash = crypto.createHmac('sha512', salt); hash.update(data); - return hash.digest("hex"); + return hash.digest('hex'); }; /** @swagger @@ -94,7 +94,7 @@ exports.login = async (ctx) => { }); ctx.status = 200; ctx.body = { - auth: "admin", + auth: 'admin', }; }; @@ -141,7 +141,7 @@ exports.check = async (ctx) => { return; } ctx.status = 200; - ctx.body = { auth: "admin" }; + ctx.body = { auth: 'admin' }; }; /** @swagger diff --git a/src/routes/admins/index.js b/src/routes/admins/index.js index 154cc8f..160f7d7 100644 --- a/src/routes/admins/index.js +++ b/src/routes/admins/index.js @@ -1,9 +1,9 @@ -const Router = require("koa-router"); +const Router = require('koa-router'); const admins = new Router(); -const adminsCtrl = require("./admins.ctrl"); +const adminsCtrl = require('./admins.ctrl'); -admins.post("/login", adminsCtrl.login); -admins.get("/check", adminsCtrl.check); -admins.post("/register", adminsCtrl.register); +admins.post('/login', adminsCtrl.login); +admins.get('/check', adminsCtrl.check); +admins.post('/register', adminsCtrl.register); module.exports = admins; diff --git a/src/routes/auth/auth.ctrl.js b/src/routes/auth/auth.ctrl.js index ec70388..254ff52 100644 --- a/src/routes/auth/auth.ctrl.js +++ b/src/routes/auth/auth.ctrl.js @@ -1,6 +1,6 @@ -const models = require("../../database/models"); -const { generateToken } = require("./generateToken"); -const e = require("cors"); +const models = require('../../database/models'); +const { generateToken } = require('./generateToken'); +const e = require('cors'); exports.signup = async (ctx) => { const { USER_INFO, state } = JSON.parse(ctx.request.body.result).dataMap; @@ -25,7 +25,7 @@ exports.signup = async (ctx) => { payments.map(async (payment) => { payment.studentId = studentId; await payment.save(); - }) + }), ); } else { } @@ -42,7 +42,7 @@ exports.signup = async (ctx) => { }; exports.logout = async (ctx) => { - ctx.cookies.set(process.env.ACCESS_TOKEN, "", { overwrite: true }); + ctx.cookies.set(process.env.ACCESS_TOKEN, '', { overwrite: true }); ctx.status = 200; }; @@ -59,13 +59,13 @@ exports.check = async (ctx) => { ctx.status = 204; return; } else { - ctx.body = { auth: "admin" }; + ctx.body = { auth: 'admin' }; return; } } ctx.status = 200; ctx.body = { - auth: "student", + auth: 'student', korName: student.korName, engName: student.engName, }; diff --git a/src/routes/auth/generateToken.js b/src/routes/auth/generateToken.js index 0d10043..a6761e1 100644 --- a/src/routes/auth/generateToken.js +++ b/src/routes/auth/generateToken.js @@ -1,5 +1,5 @@ const jwtSecret = process.env.JWT_SECRET; -const jwt = require("jsonwebtoken"); +const jwt = require('jsonwebtoken'); function generateToken(payload) { return new Promise((resolve, reject) => { @@ -7,12 +7,12 @@ function generateToken(payload) { payload, jwtSecret, { - expiresIn: "7d", + expiresIn: '7d', }, (error, token) => { if (error) reject(error); resolve(token); - } + }, ); }); } diff --git a/src/routes/auth/index.js b/src/routes/auth/index.js index 2b949df..abd51d3 100644 --- a/src/routes/auth/index.js +++ b/src/routes/auth/index.js @@ -1,9 +1,9 @@ -const Router = require("koa-router"); +const Router = require('koa-router'); const auth = new Router(); -const authCtrl = require("./auth.ctrl"); +const authCtrl = require('./auth.ctrl'); -auth.post("/signup", authCtrl.signup); -auth.get("/check", authCtrl.check); -auth.get("/logout", authCtrl.logout); +auth.post('/signup', authCtrl.signup); +auth.get('/check', authCtrl.check); +auth.get('/logout', authCtrl.logout); module.exports = auth; diff --git a/src/routes/banners/banners.ctrl.js b/src/routes/banners/banners.ctrl.js index bc2aa60..fb14792 100644 --- a/src/routes/banners/banners.ctrl.js +++ b/src/routes/banners/banners.ctrl.js @@ -1,4 +1,4 @@ -const models = require("../../database/models"); +const models = require('../../database/models'); /** @swagger * /banners: diff --git a/src/routes/banners/index.js b/src/routes/banners/index.js index 895f51d..f358555 100644 --- a/src/routes/banners/index.js +++ b/src/routes/banners/index.js @@ -1,9 +1,9 @@ -const Router = require("koa-router"); +const Router = require('koa-router'); const banners = new Router(); -const bannersCtrl = require("./banners.ctrl"); +const bannersCtrl = require('./banners.ctrl'); -banners.get("/", bannersCtrl.list); -banners.post("/", bannersCtrl.upload); -banners.delete("/:id", bannersCtrl.remove); +banners.get('/', bannersCtrl.list); +banners.post('/', bannersCtrl.upload); +banners.delete('/:id', bannersCtrl.remove); module.exports = banners; diff --git a/src/routes/boards/boards.ctrl.js b/src/routes/boards/boards.ctrl.js index a18c699..b03e0f1 100644 --- a/src/routes/boards/boards.ctrl.js +++ b/src/routes/boards/boards.ctrl.js @@ -1,4 +1,4 @@ -const models = require("../../database/models"); +const models = require('../../database/models'); /** @swagger * /boards: diff --git a/src/routes/boards/index.js b/src/routes/boards/index.js index 087109d..f403b58 100644 --- a/src/routes/boards/index.js +++ b/src/routes/boards/index.js @@ -1,10 +1,10 @@ -const Router = require("koa-router"); +const Router = require('koa-router'); const boards = new Router(); -const boardsCtrl = require("./boards.ctrl"); +const boardsCtrl = require('./boards.ctrl'); -boards.post("/", boardsCtrl.create); -boards.get("/", boardsCtrl.list); -boards.delete("/:id", boardsCtrl.delete); -boards.patch("/:id", boardsCtrl.edit); +boards.post('/', boardsCtrl.create); +boards.get('/', boardsCtrl.list); +boards.delete('/:id', boardsCtrl.delete); +boards.patch('/:id', boardsCtrl.edit); module.exports = boards; diff --git a/src/routes/cancelRequest/cancelRequest.ctrl.js b/src/routes/cancelRequest/cancelRequest.ctrl.js index 9d94b70..0ebe7b1 100644 --- a/src/routes/cancelRequest/cancelRequest.ctrl.js +++ b/src/routes/cancelRequest/cancelRequest.ctrl.js @@ -1,5 +1,5 @@ -const models = require("../../database/models"); -const Op = require("sequelize").Op; +const models = require('../../database/models'); +const Op = require('sequelize').Op; /** * POST /cancelRequest @@ -46,7 +46,7 @@ exports.getAll = async (ctx) => { }); ctx.assert(admin, 401); const res = await models.CancelRequest.findAll({ - order: [["ku_std_no", "ASC"]], + order: [['ku_std_no', 'ASC']], }); ctx.assert(res, 404); ctx.body = res; diff --git a/src/routes/cancelRequest/index.js b/src/routes/cancelRequest/index.js index a80955a..50c7e36 100644 --- a/src/routes/cancelRequest/index.js +++ b/src/routes/cancelRequest/index.js @@ -1,10 +1,10 @@ -const Router = require("koa-router"); +const Router = require('koa-router'); const cancelRequest = new Router(); -const cancelRequestCtrl = require("./cancelRequest.ctrl"); +const cancelRequestCtrl = require('./cancelRequest.ctrl'); -cancelRequest.post("/", cancelRequestCtrl.post); -cancelRequest.get("/admin", cancelRequestCtrl.getAll); -cancelRequest.get("/", cancelRequestCtrl.getOne); -cancelRequest.delete("/", cancelRequestCtrl.delete); +cancelRequest.post('/', cancelRequestCtrl.post); +cancelRequest.get('/admin', cancelRequestCtrl.getAll); +cancelRequest.get('/', cancelRequestCtrl.getOne); +cancelRequest.delete('/', cancelRequestCtrl.delete); module.exports = cancelRequest; diff --git a/src/routes/index.js b/src/routes/index.js index 6a216cf..eca4047 100644 --- a/src/routes/index.js +++ b/src/routes/index.js @@ -1,27 +1,27 @@ -const Router = require("koa-router"); +const Router = require('koa-router'); -const posts = require("./posts"); -const banners = require("./banners"); -const boards = require("./boards"); -const petitions = require("./petitions"); -const admins = require("./admins"); -const auth = require("./auth"); -const payments = require("./payments"); -const cancelRequest = require("./cancelRequest"); +const posts = require('./posts'); +const banners = require('./banners'); +const boards = require('./boards'); +const petitions = require('./petitions'); +const admins = require('./admins'); +const auth = require('./auth'); +const payments = require('./payments'); +const cancelRequest = require('./cancelRequest'); const router = new Router(); -router.get("/hello", (ctx) => { - ctx.body = "hello"; +router.get('/hello', (ctx) => { + ctx.body = 'hello'; }); -router.use("/auth", auth.routes()); -router.use("/posts", posts.routes()); -router.use("/admins", admins.routes()); -router.use("/banners", banners.routes()); -router.use("/boards", boards.routes()); -router.use("/petitions", petitions.routes()); -router.use("/payments", payments.routes()); -router.use("/cancelRequest", cancelRequest.routes()); +router.use('/auth', auth.routes()); +router.use('/posts', posts.routes()); +router.use('/admins', admins.routes()); +router.use('/banners', banners.routes()); +router.use('/boards', boards.routes()); +router.use('/petitions', petitions.routes()); +router.use('/payments', payments.routes()); +router.use('/cancelRequest', cancelRequest.routes()); module.exports = router; diff --git a/src/routes/payments/index.js b/src/routes/payments/index.js index e38a611..d9c2d61 100644 --- a/src/routes/payments/index.js +++ b/src/routes/payments/index.js @@ -1,8 +1,8 @@ -const Router = require("koa-router"); +const Router = require('koa-router'); const payments = new Router(); -const paymentsCtrl = require("./payments.ctrl"); +const paymentsCtrl = require('./payments.ctrl'); -payments.post("/admin", paymentsCtrl.bulkUpload); -payments.get("/", paymentsCtrl.list); +payments.post('/admin', paymentsCtrl.bulkUpload); +payments.get('/', paymentsCtrl.list); module.exports = payments; diff --git a/src/routes/payments/payments.ctrl.js b/src/routes/payments/payments.ctrl.js index b850d57..7d866b2 100644 --- a/src/routes/payments/payments.ctrl.js +++ b/src/routes/payments/payments.ctrl.js @@ -1,5 +1,5 @@ -const models = require("../../database/models"); -const Op = require("sequelize").Op; +const models = require('../../database/models'); +const Op = require('sequelize').Op; exports.bulkUpload = async (ctx) => { ctx.assert(ctx.request.user, 401); @@ -10,7 +10,7 @@ exports.bulkUpload = async (ctx) => { ctx.assert(admin, 401); const { studentDataCollection } = ctx.request.body; const bulkData = []; - const semesters = ["spring", "fall"]; + const semesters = ['spring', 'fall']; await Promise.all( studentDataCollection.map(async (studentData) => { const studentNumber = studentData.shift(); @@ -22,7 +22,7 @@ exports.bulkUpload = async (ctx) => { studentId = student.id; } for (var i = 0; i < studentData.length; i++) { - if (studentData[i] === "1") { + if (studentData[i] === '1') { const payment = { studentNumber, year: `${parseInt(i / 2) + 2016}`, @@ -32,7 +32,7 @@ exports.bulkUpload = async (ctx) => { bulkData.push(payment); } } - }) + }), ); const res = await models.Payment.bulkCreate(bulkData); if (res) { diff --git a/src/routes/petitions/index.js b/src/routes/petitions/index.js index aa22312..9c5ebcf 100644 --- a/src/routes/petitions/index.js +++ b/src/routes/petitions/index.js @@ -1,11 +1,11 @@ -const Router = require("koa-router"); +const Router = require('koa-router'); const petitions = new Router(); -const petitionsCtrl = require("./petitions.ctrl"); +const petitionsCtrl = require('./petitions.ctrl'); -petitions.post("/", petitionsCtrl.write); -petitions.get("/", petitionsCtrl.list); -petitions.get("/:id", petitionsCtrl.read); -petitions.post("/vote/:id", petitionsCtrl.vote); -petitions.delete("/:id", petitionsCtrl.delete); +petitions.post('/', petitionsCtrl.write); +petitions.get('/', petitionsCtrl.list); +petitions.get('/:id', petitionsCtrl.read); +petitions.post('/vote/:id', petitionsCtrl.vote); +petitions.delete('/:id', petitionsCtrl.delete); module.exports = petitions; diff --git a/src/routes/petitions/petitions.ctrl.js b/src/routes/petitions/petitions.ctrl.js index b290e15..48b3436 100644 --- a/src/routes/petitions/petitions.ctrl.js +++ b/src/routes/petitions/petitions.ctrl.js @@ -1,5 +1,5 @@ -const models = require("../../database/models"); -const Op = require("sequelize").Op; +const models = require('../../database/models'); +const Op = require('sequelize').Op; exports.write = async (ctx) => { ctx.assert(ctx.request.user, 401); @@ -35,7 +35,7 @@ exports.list = async (ctx) => { const offset = PAGE_SIZE * (page - 1); const petitions = await models.Petition.findAll({ - order: [["createdAt", "DESC"]], + order: [['createdAt', 'DESC']], offset, limit: PAGE_SIZE, raw: false, diff --git a/src/routes/posts/index.js b/src/routes/posts/index.js index 23209c3..a2f9185 100644 --- a/src/routes/posts/index.js +++ b/src/routes/posts/index.js @@ -1,11 +1,11 @@ -const Router = require("koa-router"); +const Router = require('koa-router'); const posts = new Router(); -const postsCtrl = require("./posts.ctrl"); +const postsCtrl = require('./posts.ctrl'); -posts.post("/", postsCtrl.write); -posts.get("/", postsCtrl.list); -posts.get("/:id", postsCtrl.read); -posts.patch("/:id", postsCtrl.update); -posts.delete("/:id", postsCtrl.remove); +posts.post('/', postsCtrl.write); +posts.get('/', postsCtrl.list); +posts.get('/:id', postsCtrl.read); +posts.patch('/:id', postsCtrl.update); +posts.delete('/:id', postsCtrl.remove); module.exports = posts; diff --git a/src/routes/posts/posts.ctrl.js b/src/routes/posts/posts.ctrl.js index 2222b75..6aa7b09 100644 --- a/src/routes/posts/posts.ctrl.js +++ b/src/routes/posts/posts.ctrl.js @@ -1,5 +1,5 @@ -const models = require("../../database/models"); -const Op = require("sequelize").Op; +const models = require('../../database/models'); +const Op = require('sequelize').Op; /** @swagger * /posts: @@ -158,7 +158,7 @@ exports.list = async (ctx) => { var where = { boardId: parseInt(boardId) }; const posts = await models.Post.findAll({ - order: [["createdAt", "DESC"]], + order: [['createdAt', 'DESC']], offset: offset, limit: POST_NUM_PER_PAGE, where: where, @@ -293,10 +293,10 @@ exports.remove = async (ctx) => { if (!res) { ctx.status = 404; ctx.body = { - message: "포스트가 존재하지 않습니다.", + message: '포스트가 존재하지 않습니다.', }; } else { - console.log("포스트 삭제 성공!"); + console.log('포스트 삭제 성공!'); ctx.status = 204; } }) @@ -376,7 +376,7 @@ exports.update = async (ctx) => { }) .then((res) => { ctx.body = post; - console.log("포스트 업데이트 성공!"); + console.log('포스트 업데이트 성공!'); }) .catch((err) => { console.log(err); diff --git a/src/utils/index.js b/src/utils/index.js index ed771b2..4eeca42 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -1,5 +1,5 @@ const parseJSON = (jsonString, fallback = {}) => { - if (typeof jsonString === "object") { + if (typeof jsonString === 'object') { return jsonString; } @@ -13,7 +13,7 @@ const parseJSON = (jsonString, fallback = {}) => { }; const jwtSecret = process.env.JWT_SECRET; -const jwt = require("jsonwebtoken"); +const jwt = require('jsonwebtoken'); function decodeToken(token) { return new Promise((resolve, reject) => { @@ -33,7 +33,7 @@ async function jwtMiddleware(ctx, next) { if (Date.now() / 1000 - decoded.iat > 60 * 60 * 24) { // 하루가 지나면 갱신해준다. const { id } = decoded; - const { generateToken } = require("../routes/auth/generateToken"); + const { generateToken } = require('../routes/auth/generateToken'); const freshToken = await generateToken({ id }); ctx.cookies.set(process.env.ACCESS_TOKEN, freshToken, { maxAge: 1000 * 60 * 60 * 24 * 7, // 7days @@ -44,7 +44,7 @@ async function jwtMiddleware(ctx, next) { ctx.request.user = decoded; } catch (e) { // token validate 실패 - ctx.request.user = "ERROR"; + ctx.request.user = 'ERROR'; } return next(); diff --git a/yarn.lock b/yarn.lock index cb75ea6..69a90d6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -261,6 +261,11 @@ ansi-colors@^4.1.1: resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== +ansi-regex@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + ansi-regex@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" @@ -351,6 +356,11 @@ binary-extensions@^2.0.0: resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.0.0.tgz#23c0df14f6a88077f5f986c0d167ec03c3d5537c" integrity sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow== +bluebird@^3.7.2: + version "3.7.2" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== + bowser@2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/bowser/-/bowser-2.9.0.tgz#3bed854233b419b9a7422d9ee3e85504373821c9" @@ -435,7 +445,7 @@ callsites@^3.0.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -camelcase@^5.3.1: +camelcase@^5.0.0, camelcase@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== @@ -503,6 +513,27 @@ cli-boxes@^2.2.0: resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.0.tgz#538ecae8f9c6ca508e3c3c95b453fe93cb4c168d" integrity sha512-gpaBrMAizVEANOpfZp/EEUixTXDyGt7DFzdK5hU+UbWt/J0lB0w20ncZj59Z9a93xHb9u12zF5BS6i9RKbtg4w== +cli-color@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/cli-color/-/cli-color-1.4.0.tgz#7d10738f48526824f8fe7da51857cb0f572fe01f" + integrity sha512-xu6RvQqqrWEo6MPR1eixqGPywhYBHRs653F9jfXB2Hx4jdM/3WxiNE1vppRmxtMIfl16SFYTpYlrnqH/HsK/2w== + dependencies: + ansi-regex "^2.1.1" + d "1" + es5-ext "^0.10.46" + es6-iterator "^2.0.3" + memoizee "^0.4.14" + timers-ext "^0.1.5" + +cliui@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" + integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== + dependencies: + string-width "^3.1.0" + strip-ansi "^5.2.0" + wrap-ansi "^5.1.0" + clone-response@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" @@ -554,7 +585,7 @@ commander@5.0.0: resolved "https://registry.yarnpkg.com/commander/-/commander-5.0.0.tgz#dbf1909b49e5044f8fdaf0adc809f0c0722bdfd0" integrity sha512-JrDGPAKjMGSP1G0DUoaceEJ3DZgAfr/q6X7FVk4+U5KxUSKviYGM2k6zWkfyyBHy5rAtzgYJFa1ro2O9PtoxwQ== -commander@^2.7.1: +commander@^2.19.0, commander@^2.7.1: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== @@ -564,6 +595,14 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= +config-chain@^1.1.12: + version "1.1.12" + resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.12.tgz#0fde8d091200eb5e808caf25fe618c02f48e4efa" + integrity sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA== + dependencies: + ini "^1.3.4" + proto-list "~1.2.1" + configstore@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/configstore/-/configstore-5.0.1.tgz#d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96" @@ -628,6 +667,14 @@ crypto@^1.0.1: resolved "https://registry.yarnpkg.com/crypto/-/crypto-1.0.1.tgz#2af1b7cad8175d24c8a1b0778255794a21803037" integrity sha512-VxBKmeNcqQdiUQUW2Tzq0t377b54N2bMtXO/qiLa+6eRRmmC4qT3D4OnTGoT/U6O9aklQ/jTwbOtRMTTY8G0Ig== +d@1, d@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" + integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== + dependencies: + es5-ext "^0.10.50" + type "^1.0.1" + dasherize@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/dasherize/-/dasherize-2.0.0.tgz#6d809c9cd0cf7bb8952d80fc84fa13d47ddb1308" @@ -661,6 +708,11 @@ debug@~3.1.0: dependencies: ms "2.0.0" +decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + decompress-response@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" @@ -754,6 +806,16 @@ ecdsa-sig-formatter@1.0.11: dependencies: safe-buffer "^5.0.1" +editorconfig@^0.15.3: + version "0.15.3" + resolved "https://registry.yarnpkg.com/editorconfig/-/editorconfig-0.15.3.tgz#bef84c4e75fb8dcb0ce5cee8efd51c15999befc5" + integrity sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g== + dependencies: + commander "^2.19.0" + lru-cache "^4.1.5" + semver "^5.6.0" + sigmund "^1.0.1" + ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" @@ -795,6 +857,42 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" +es5-ext@^0.10.35, es5-ext@^0.10.45, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@~0.10.14, es5-ext@~0.10.2, es5-ext@~0.10.46: + version "0.10.53" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.53.tgz#93c5a3acfdbef275220ad72644ad02ee18368de1" + integrity sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q== + dependencies: + es6-iterator "~2.0.3" + es6-symbol "~3.1.3" + next-tick "~1.0.0" + +es6-iterator@^2.0.3, es6-iterator@~2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" + integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= + dependencies: + d "1" + es5-ext "^0.10.35" + es6-symbol "^3.1.1" + +es6-symbol@^3.1.1, es6-symbol@~3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" + integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== + dependencies: + d "^1.0.1" + ext "^1.1.2" + +es6-weak-map@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.3.tgz#b6da1f16cc2cc0d9be43e6bdbfc5e7dfcdf31d53" + integrity sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA== + dependencies: + d "1" + es5-ext "^0.10.46" + es6-iterator "^2.0.3" + es6-symbol "^3.1.1" + escape-goat@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675" @@ -915,11 +1013,26 @@ esutils@^2.0.2: resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== +event-emitter@^0.3.5: + version "0.3.5" + resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" + integrity sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk= + dependencies: + d "1" + es5-ext "~0.10.14" + events@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" integrity sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ= +ext@^1.1.2: + version "1.4.0" + resolved "https://registry.yarnpkg.com/ext/-/ext-1.4.0.tgz#89ae7a07158f79d35517882904324077e4379244" + integrity sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A== + dependencies: + type "^2.0.0" + fast-deep-equal@^3.1.1: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" @@ -954,6 +1067,13 @@ fill-range@^7.0.1: dependencies: to-regex-range "^5.0.1" +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + dependencies: + locate-path "^3.0.0" + find-up@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" @@ -986,6 +1106,15 @@ fresh@~0.5.2: resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= +fs-extra@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" + integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" @@ -1008,6 +1137,11 @@ generate-function@^2.3.1: dependencies: is-property "^1.0.2" +get-caller-file@^2.0.1: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + get-stream@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" @@ -1084,6 +1218,11 @@ graceful-fs@^4.1.2: resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== +graceful-fs@^4.1.6: + version "4.2.4" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" + integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== + handlebars@^4.7.6: version "4.7.6" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.6.tgz#d4c05c1baf90e9945f77aa68a7a219aa4a7df74e" @@ -1275,7 +1414,7 @@ inherits@2, inherits@2.0.4: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -ini@^1.3.5, ini@~1.3.0: +ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: version "1.3.5" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== @@ -1354,6 +1493,11 @@ is-path-inside@^3.0.1: resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.2.tgz#f5220fc82a3e233757291dddc9c5877f2a1f3017" integrity sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg== +is-promise@^2.1: + version "2.2.2" + resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" + integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== + is-property@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" @@ -1389,6 +1533,17 @@ jmespath@0.15.0: resolved "https://registry.yarnpkg.com/jmespath/-/jmespath-0.15.0.tgz#a3f222a9aae9f966f5d27c796510e28091764217" integrity sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc= +js-beautify@^1.8.8: + version "1.13.0" + resolved "https://registry.yarnpkg.com/js-beautify/-/js-beautify-1.13.0.tgz#a056d5d3acfd4918549aae3ab039f9f3c51eebb2" + integrity sha512-/Tbp1OVzZjbwzwJQFIlYLm9eWQ+3aYbBXLSaqb1mEJzhcQAfrqMMQYtjb6io+U6KpD0ID4F+Id3/xcjH3l/sqA== + dependencies: + config-chain "^1.1.12" + editorconfig "^0.15.3" + glob "^7.1.3" + mkdirp "^1.0.4" + nopt "^5.0.0" + js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" @@ -1430,6 +1585,13 @@ json-stable-stringify-without-jsonify@^1.0.1: resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= + optionalDependencies: + graceful-fs "^4.1.6" + jsonwebtoken@^8.5.1: version "8.5.1" resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz#00e71e0b8df54c2121a1f26137df2280673bcc0d" @@ -1601,6 +1763,14 @@ lines-and-columns@^1.1.6: resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + locate-path@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" @@ -1653,7 +1823,7 @@ lodash.once@^4.0.0: resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w= -lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19: +lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.5: version "4.17.20" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== @@ -1673,7 +1843,7 @@ lowercase-keys@^2.0.0: resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== -lru-cache@^4.1.3: +lru-cache@^4.1.3, lru-cache@^4.1.5: version "4.1.5" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== @@ -1688,6 +1858,13 @@ lru-cache@^5.1.1: dependencies: yallist "^3.0.2" +lru-queue@0.1: + version "0.1.0" + resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3" + integrity sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM= + dependencies: + es5-ext "~0.10.2" + make-dir@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" @@ -1715,6 +1892,20 @@ mem@^6.1.0: map-age-cleaner "^0.1.3" mimic-fn "^3.0.0" +memoizee@^0.4.14: + version "0.4.14" + resolved "https://registry.yarnpkg.com/memoizee/-/memoizee-0.4.14.tgz#07a00f204699f9a95c2d9e77218271c7cd610d57" + integrity sha512-/SWFvWegAIYAO4NQMpcX+gcra0yEZu4OntmUdrBaWrJncxOqAziGFlHxc7yjKVK2uu3lpPW27P27wkR82wA8mg== + dependencies: + d "1" + es5-ext "^0.10.45" + es6-weak-map "^2.0.2" + event-emitter "^0.3.5" + is-promise "^2.1" + lru-queue "0.1" + next-tick "1" + timers-ext "^0.1.5" + methods@^1.1.2, methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" @@ -1761,6 +1952,11 @@ mkdirp@^0.5.1: dependencies: minimist "^1.2.5" +mkdirp@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + moment-timezone@^0.5.31: version "0.5.31" resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.31.tgz#9c40d8c5026f0c7ab46eda3d63e49c155148de05" @@ -1825,6 +2021,16 @@ neo-async@^2.6.0: resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== +next-tick@1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" + integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== + +next-tick@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" + integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= + nocache@2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/nocache/-/nocache-2.1.0.tgz#120c9ffec43b5729b1d5de88cd71aa75a0ba491f" @@ -1846,6 +2052,13 @@ nodemon@^2.0.3: undefsafe "^2.0.2" update-notifier "^4.0.0" +nopt@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88" + integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== + dependencies: + abbrev "1" + nopt@~1.0.10: version "1.0.10" resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee" @@ -1924,13 +2137,20 @@ p-defer@^1.0.0: resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= -p-limit@^2.2.0: +p-limit@^2.0.0, p-limit@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== dependencies: p-try "^2.0.0" +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== + dependencies: + p-limit "^2.0.0" + p-locate@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" @@ -2008,6 +2228,11 @@ passthrough-counter@^1.0.0: resolved "https://registry.yarnpkg.com/passthrough-counter/-/passthrough-counter-1.0.0.tgz#1967d9e66da572b5c023c787db112a387ab166fa" integrity sha1-GWfZ5m2lcrXAI8eH2xEqOHqxZvo= +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + path-exists@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" @@ -2070,6 +2295,11 @@ progress@^2.0.0: resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== +proto-list@~1.2.1: + version "1.2.4" + resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" + integrity sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk= + pseudomap@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" @@ -2192,12 +2422,22 @@ registry-url@^5.0.0: dependencies: rc "^1.2.8" +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + resolve-from@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== -resolve@^1.10.0: +resolve@^1.10.0, resolve@^1.5.0: version "1.17.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== @@ -2290,6 +2530,19 @@ seq-queue@^0.0.5: resolved "https://registry.yarnpkg.com/seq-queue/-/seq-queue-0.0.5.tgz#d56812e1c017a6e4e7c3e3a37a1da6d78dd3c93e" integrity sha1-1WgS4cAXpuTnw+Ojeh2m143TyT4= +sequelize-cli@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/sequelize-cli/-/sequelize-cli-6.2.0.tgz#fd02bfeae23b8226872f9947f3f8212cc49a4771" + integrity sha512-6WQ2x91hg30dUn66mXHnzvHATZ4pyI1GHSNbS/TNN/vRR4BLRSLijadeMgC8zqmKDsL0VqzVVopJWfJakuP++Q== + dependencies: + cli-color "^1.4.0" + fs-extra "^7.0.1" + js-beautify "^1.8.8" + lodash "^4.17.5" + resolve "^1.5.0" + umzug "^2.3.0" + yargs "^13.1.0" + sequelize-pool@^6.0.0: version "6.1.0" resolved "https://registry.yarnpkg.com/sequelize-pool/-/sequelize-pool-6.1.0.tgz#caaa0c1e324d3c2c3a399fed2c7998970925d668" @@ -2314,6 +2567,11 @@ sequelize@^6.3.5: validator "^10.11.0" wkx "^0.5.0" +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + setprototypeof@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" @@ -2336,6 +2594,11 @@ shebang-regex@^3.0.0: resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== +sigmund@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" + integrity sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA= + signal-exit@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" @@ -2396,7 +2659,7 @@ sqlstring@^2.3.1: resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= -string-width@^3.0.0: +string-width@^3.0.0, string-width@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== @@ -2414,7 +2677,7 @@ string-width@^4.0.0, string-width@^4.1.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.0" -strip-ansi@^5.1.0: +strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== @@ -2490,6 +2753,14 @@ text-table@^0.2.0: resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= +timers-ext@^0.1.5: + version "0.1.7" + resolved "https://registry.yarnpkg.com/timers-ext/-/timers-ext-0.1.7.tgz#6f57ad8578e07a3fb9f91d9387d65647555e25c6" + integrity sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ== + dependencies: + es5-ext "~0.10.46" + next-tick "1" + to-readable-stream@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771" @@ -2549,6 +2820,16 @@ type-is@^1.6.14, type-is@^1.6.16: media-typer "0.3.0" mime-types "~2.1.24" +type@^1.0.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" + integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== + +type@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/type/-/type-2.1.0.tgz#9bdc22c648cf8cf86dd23d32336a41cfb6475e3f" + integrity sha512-G9absDWvhAWCV2gmF1zKud3OyC61nZDwWvBL2DApaVFogI07CprggiQAOOjvp2NRjYWFzPyu7vwtDrQFq8jeSA== + typedarray-to-buffer@^3.1.5: version "3.1.5" resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" @@ -2561,6 +2842,13 @@ uglify-js@^3.1.4: resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.10.1.tgz#dd14767eb7150de97f2573a5ff210db14fffe4ad" integrity sha512-RjxApKkrPJB6kjJxQS3iZlf///REXWYxYJxO/MpmlQzVkDWVI3PSnCBWezMecmTU/TRkNxrl8bmsfFQCp+LO+Q== +umzug@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/umzug/-/umzug-2.3.0.tgz#0ef42b62df54e216b05dcaf627830a6a8b84a184" + integrity sha512-Z274K+e8goZK8QJxmbRPhl89HPO1K+ORFtm6rySPhFKfKc5GHhqdzD0SGhSWHkzoXasqJuItdhorSvY7/Cgflw== + dependencies: + bluebird "^3.7.2" + undefsafe@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-2.0.3.tgz#6b166e7094ad46313b2202da7ecc2cd7cc6e7aae" @@ -2575,6 +2863,11 @@ unique-string@^2.0.0: dependencies: crypto-random-string "^2.0.0" +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + unpipe@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" @@ -2669,6 +2962,11 @@ vary@^1, vary@^1.1.2: resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + which@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" @@ -2700,6 +2998,15 @@ wordwrap@^1.0.0: resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= +wrap-ansi@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" + integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== + dependencies: + ansi-styles "^3.2.0" + string-width "^3.0.0" + strip-ansi "^5.0.0" + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" @@ -2745,6 +3052,11 @@ xmlbuilder@~9.0.1: resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d" integrity sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0= +y18n@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" + integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== + yallist@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" @@ -2755,6 +3067,30 @@ yallist@^3.0.2: resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== +yargs-parser@^13.1.2: + version "13.1.2" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" + integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs@^13.1.0: + version "13.3.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" + integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== + dependencies: + cliui "^5.0.0" + find-up "^3.0.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^3.0.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^13.1.2" + yarn@^1.22.4: version "1.22.4" resolved "https://registry.yarnpkg.com/yarn/-/yarn-1.22.4.tgz#01c1197ca5b27f21edc8bc472cd4c8ce0e5a470e" From cd9d485420656d64a06533578bdc3ee72d17cd86 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 12 Dec 2020 12:37:09 +0000 Subject: [PATCH 2/3] build(deps): bump ini from 1.3.5 to 1.3.8 Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.8. - [Release notes](https://github.com/isaacs/ini/releases) - [Commits](https://github.com/isaacs/ini/compare/v1.3.5...v1.3.8) Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 69a90d6..8bd8828 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1415,9 +1415,9 @@ inherits@2, inherits@2.0.4: integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: - version "1.3.5" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" - integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== + version "1.3.8" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== is-arrayish@^0.2.1: version "0.2.1" From d00c00702b36d67a2426087e2e7f5872a6d13eeb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 31 Dec 2020 06:53:44 +0000 Subject: [PATCH 3/3] build(deps): bump urijs from 1.19.2 to 1.19.5 Bumps [urijs](https://github.com/medialize/URI.js) from 1.19.2 to 1.19.5. - [Release notes](https://github.com/medialize/URI.js/releases) - [Changelog](https://github.com/medialize/URI.js/blob/gh-pages/CHANGELOG.md) - [Commits](https://github.com/medialize/URI.js/compare/v1.19.2...v1.19.5) Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 69a90d6..1fe1024 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2900,9 +2900,9 @@ uri-js@^4.2.2: punycode "^2.1.0" urijs@^1.19.2: - version "1.19.2" - resolved "https://registry.yarnpkg.com/urijs/-/urijs-1.19.2.tgz#f9be09f00c4c5134b7cb3cf475c1dd394526265a" - integrity sha512-s/UIq9ap4JPZ7H1EB5ULo/aOUbWqfDi7FKzMC2Nz+0Si8GiT1rIEaprt8hy3Vy2Ex2aJPpOQv4P4DuOZ+K1c6w== + version "1.19.5" + resolved "https://registry.yarnpkg.com/urijs/-/urijs-1.19.5.tgz#119683ab4b2fb0bd637e5ea6dd9117bcac68d3e4" + integrity sha512-48z9VGWwdCV5KfizHsE05DWS5fhK6gFlx5MjO7xu0Krc5FGPWzjlXEVV0nPMrdVuP7xmMHiPZ2HoYZwKOFTZOg== url-parse-lax@^3.0.0: version "3.0.0"