From 85f1a08a64a54e1401e49f863a6c65d522fb68b7 Mon Sep 17 00:00:00 2001 From: Akash P Date: Tue, 17 Jan 2023 18:34:09 +0530 Subject: [PATCH] update to koa-router latest 12.x, fix some tests update open & rimraf, use fixed version for some dependencies, update s3 upload plugin to v3 sdk, add base url support --- .../tests/admin-permission.test.e2e.js | 356 ++++++++++---- .../strapi-connector-bookshelf/package.json | 2 +- packages/strapi-helper-plugin/package.json | 2 +- .../lib/utils/connectivity.js | 15 +- packages/strapi-hook-redis/package.json | 2 +- .../content-types.test.e2e.js.snap | 46 +- .../middlewares/documentation/index.js | 2 +- packages/strapi-plugin-email/package.json | 2 +- packages/strapi-plugin-graphql/package.json | 2 +- .../config/routes.json | 34 +- .../overrides/users-permissions-User.json | 2 +- .../lib/index.js | 90 ++-- .../package.json | 3 +- packages/strapi/lib/Strapi.js | 2 +- .../strapi/lib/middlewares/public/index.js | 4 +- .../strapi/lib/middlewares/router/index.js | 2 +- packages/strapi/lib/utils/openBrowser.js | 16 +- packages/strapi/package.json | 28 +- yarn.lock | 463 +++++++++++++----- 19 files changed, 718 insertions(+), 355 deletions(-) diff --git a/packages/strapi-admin/tests/admin-permission.test.e2e.js b/packages/strapi-admin/tests/admin-permission.test.e2e.js index 88541458..3e826621 100644 --- a/packages/strapi-admin/tests/admin-permission.test.e2e.js +++ b/packages/strapi-admin/tests/admin-permission.test.e2e.js @@ -941,293 +941,445 @@ describe('Role CRUD End to End', () => { `); } else { expect(sortedData).toMatchInlineSnapshot(` - Object { - "conditions": Array [ - Object { + { + "conditions": [ + { "category": "default", "displayName": "Is creator", "id": "admin::is-creator", }, - Object { + { "category": "default", "displayName": "Has same role as creator", "id": "admin::has-same-role-as-creator", }, ], - "sections": Object { - "contentTypes": Array [ - Object { - "action": "plugins::content-manager.explorer.create", - "displayName": "Create", - "subjects": Array [ - "plugins::users-permissions.user", - ], - }, - Object { - "action": "plugins::content-manager.explorer.delete", - "displayName": "Delete", - "subjects": Array [ - "plugins::users-permissions.user", - ], - }, - Object { - "action": "plugins::content-manager.explorer.publish", - "displayName": "Publish", - "subjects": Array [], - }, - Object { - "action": "plugins::content-manager.explorer.read", - "displayName": "Read", - "subjects": Array [ - "plugins::users-permissions.user", - ], - }, - Object { - "action": "plugins::content-manager.explorer.update", - "displayName": "Update", - "subjects": Array [ - "plugins::users-permissions.user", - ], - }, + "sections": { + "collectionTypes": [ + [ + { + "actionId": "plugins::content-manager.explorer.create", + "applyToProperties": [ + "fields", + "locales", + ], + "label": "Create", + "subjects": [ + "plugins::users-permissions.user", + ], + }, + { + "actionId": "plugins::content-manager.explorer.read", + "applyToProperties": [ + "fields", + "locales", + ], + "label": "Read", + "subjects": [ + "plugins::users-permissions.user", + ], + }, + { + "actionId": "plugins::content-manager.explorer.update", + "applyToProperties": [ + "fields", + "locales", + ], + "label": "Update", + "subjects": [ + "plugins::users-permissions.user", + ], + }, + { + "actionId": "plugins::content-manager.explorer.delete", + "applyToProperties": [ + "locales", + ], + "label": "Delete", + "subjects": [ + "plugins::users-permissions.user", + ], + }, + { + "actionId": "plugins::content-manager.explorer.publish", + "applyToProperties": [ + "locales", + ], + "label": "Publish", + "subjects": [], + }, + ], + [ + { + "label": "user", + "properties": [ + { + "children": [ + { + "label": "username", + "required": true, + "value": "username", + }, + { + "label": "email", + "required": true, + "value": "email", + }, + { + "label": "provider", + "value": "provider", + }, + { + "label": "password", + "value": "password", + }, + { + "label": "resetPasswordToken", + "value": "resetPasswordToken", + }, + { + "label": "confirmationToken", + "value": "confirmationToken", + }, + { + "label": "confirmed", + "value": "confirmed", + }, + { + "label": "blocked", + "value": "blocked", + }, + { + "label": "role", + "value": "role", + }, + ], + "label": "Fields", + "value": "fields", + }, + ], + "uid": "plugins::users-permissions.user", + }, + ], ], - "plugins": Array [ - Object { + "plugins": [ + { "action": "plugins::content-manager.collection-types.configure-view", "displayName": "Configure view", - "plugin": "plugin::content-manager", + "plugin": "content-manager", "subCategory": "collection types", }, - Object { + { "action": "plugins::content-manager.components.configure-layout", "displayName": "Configure Layout", - "plugin": "plugin::content-manager", + "plugin": "content-manager", "subCategory": "components", }, - Object { + { "action": "plugins::content-manager.single-types.configure-view", "displayName": "Configure view", - "plugin": "plugin::content-manager", + "plugin": "content-manager", "subCategory": "single types", }, - Object { + { "action": "plugins::content-type-builder.read", "displayName": "Read", - "plugin": "plugin::content-type-builder", + "plugin": "content-type-builder", "subCategory": "general", }, - Object { + { "action": "plugins::documentation.read", "displayName": "Access the Documentation", - "plugin": "plugin::documentation", + "plugin": "documentation", "subCategory": "general", }, - Object { + { "action": "plugins::documentation.settings.regenerate", "displayName": "Regenerate", - "plugin": "plugin::documentation", + "plugin": "documentation", "subCategory": "settings", }, - Object { + { "action": "plugins::documentation.settings.update", "displayName": "Update and delete", - "plugin": "plugin::documentation", + "plugin": "documentation", "subCategory": "settings", }, - Object { + { "action": "plugins::upload.assets.copy-link", "displayName": "Copy link", - "plugin": "plugin::upload", + "plugin": "upload", "subCategory": "assets", }, - Object { + { "action": "plugins::upload.assets.create", "displayName": "Create (upload)", - "plugin": "plugin::upload", + "plugin": "upload", "subCategory": "assets", }, - Object { + { "action": "plugins::upload.assets.download", "displayName": "Download", - "plugin": "plugin::upload", + "plugin": "upload", "subCategory": "assets", }, - Object { + { "action": "plugins::upload.assets.update", "displayName": "Update (crop, details, replace) + delete", - "plugin": "plugin::upload", + "plugin": "upload", "subCategory": "assets", }, - Object { + { "action": "plugins::upload.read", "displayName": "Access the Media Library", - "plugin": "plugin::upload", + "plugin": "upload", "subCategory": "general", }, - Object { + { "action": "plugins::users-permissions.advanced-settings.read", "displayName": "Read", - "plugin": "plugin::users-permissions", + "plugin": "users-permissions", "subCategory": "advancedSettings", }, - Object { + { "action": "plugins::users-permissions.advanced-settings.update", "displayName": "Edit", - "plugin": "plugin::users-permissions", + "plugin": "users-permissions", "subCategory": "advancedSettings", }, - Object { + { "action": "plugins::users-permissions.email-templates.read", "displayName": "Read", - "plugin": "plugin::users-permissions", + "plugin": "users-permissions", "subCategory": "emailTemplates", }, - Object { + { "action": "plugins::users-permissions.email-templates.update", "displayName": "Edit", - "plugin": "plugin::users-permissions", + "plugin": "users-permissions", "subCategory": "emailTemplates", }, - Object { + { "action": "plugins::users-permissions.providers.read", "displayName": "Read", - "plugin": "plugin::users-permissions", + "plugin": "users-permissions", "subCategory": "providers", }, - Object { + { "action": "plugins::users-permissions.providers.update", "displayName": "Edit", - "plugin": "plugin::users-permissions", + "plugin": "users-permissions", "subCategory": "providers", }, - Object { + { "action": "plugins::users-permissions.roles.create", "displayName": "Create", - "plugin": "plugin::users-permissions", + "plugin": "users-permissions", "subCategory": "roles", }, - Object { + { "action": "plugins::users-permissions.roles.delete", "displayName": "Delete", - "plugin": "plugin::users-permissions", + "plugin": "users-permissions", "subCategory": "roles", }, - Object { + { "action": "plugins::users-permissions.roles.read", "displayName": "Read", - "plugin": "plugin::users-permissions", + "plugin": "users-permissions", "subCategory": "roles", }, - Object { + { "action": "plugins::users-permissions.roles.update", "displayName": "Update", - "plugin": "plugin::users-permissions", + "plugin": "users-permissions", "subCategory": "roles", }, ], - "settings": Array [ - Object { + "settings": [ + { "action": "admin::marketplace.plugins.install", "category": "plugins and marketplace", "displayName": "Install (only for dev env)", "subCategory": "plugins", }, - Object { + { "action": "admin::marketplace.plugins.uninstall", "category": "plugins and marketplace", "displayName": "Uninstall (only for dev env)", "subCategory": "plugins", }, - Object { + { "action": "admin::marketplace.read", "category": "plugins and marketplace", "displayName": "Access the marketplace", "subCategory": "marketplace", }, - Object { + { "action": "admin::roles.create", "category": "users and roles", "displayName": "Create", "subCategory": "roles", }, - Object { + { "action": "admin::roles.delete", "category": "users and roles", "displayName": "Delete", "subCategory": "roles", }, - Object { + { "action": "admin::roles.read", "category": "users and roles", "displayName": "Read", "subCategory": "roles", }, - Object { + { "action": "admin::roles.update", "category": "users and roles", "displayName": "Update", "subCategory": "roles", }, - Object { + { "action": "admin::users.create", "category": "users and roles", "displayName": "Create (invite)", "subCategory": "users", }, - Object { + { "action": "admin::users.delete", "category": "users and roles", "displayName": "Delete", "subCategory": "users", }, - Object { + { "action": "admin::users.read", "category": "users and roles", "displayName": "Read", "subCategory": "users", }, - Object { + { "action": "admin::users.update", "category": "users and roles", "displayName": "Update", "subCategory": "users", }, - Object { + { "action": "admin::webhooks.create", "category": "webhooks", "displayName": "Create", "subCategory": "general", }, - Object { + { "action": "admin::webhooks.delete", "category": "webhooks", "displayName": "Delete", "subCategory": "general", }, - Object { + { "action": "admin::webhooks.read", "category": "webhooks", "displayName": "Read", "subCategory": "general", }, - Object { + { "action": "admin::webhooks.update", "category": "webhooks", "displayName": "Update", "subCategory": "general", }, - Object { + { "action": "plugins::email.settings.read", "category": "email", "displayName": "Access the Email Settings page", "subCategory": "general", }, - Object { + { + "action": "plugins::i18n.locale.create", + "category": "Internationalization", + "displayName": "Create", + "subCategory": "Locales", + }, + { + "action": "plugins::i18n.locale.delete", + "category": "Internationalization", + "displayName": "Delete", + "subCategory": "Locales", + }, + { + "action": "plugins::i18n.locale.read", + "category": "Internationalization", + "displayName": "Read", + "subCategory": "Locales", + }, + { + "action": "plugins::i18n.locale.update", + "category": "Internationalization", + "displayName": "Update", + "subCategory": "Locales", + }, + { "action": "plugins::upload.settings.read", "category": "media library", "displayName": "Access the Media Library settings page", "subCategory": "general", }, ], + "singleTypes": [ + [ + { + "actionId": "plugins::content-manager.explorer.create", + "applyToProperties": [ + "fields", + "locales", + ], + "label": "Create", + "subjects": [ + "plugins::users-permissions.user", + ], + }, + { + "actionId": "plugins::content-manager.explorer.read", + "applyToProperties": [ + "fields", + "locales", + ], + "label": "Read", + "subjects": [ + "plugins::users-permissions.user", + ], + }, + { + "actionId": "plugins::content-manager.explorer.update", + "applyToProperties": [ + "fields", + "locales", + ], + "label": "Update", + "subjects": [ + "plugins::users-permissions.user", + ], + }, + { + "actionId": "plugins::content-manager.explorer.delete", + "applyToProperties": [ + "locales", + ], + "label": "Delete", + "subjects": [ + "plugins::users-permissions.user", + ], + }, + { + "actionId": "plugins::content-manager.explorer.publish", + "applyToProperties": [ + "locales", + ], + "label": "Publish", + "subjects": [], + }, + ], + [], + ], }, } `); diff --git a/packages/strapi-connector-bookshelf/package.json b/packages/strapi-connector-bookshelf/package.json index a350b2ff..115f7c7a 100644 --- a/packages/strapi-connector-bookshelf/package.json +++ b/packages/strapi-connector-bookshelf/package.json @@ -26,7 +26,7 @@ "lodash": "4.17.21", "p-map": "4.0.0", "pluralize": "^8.0.0", - "rimraf": "3.0.2" + "rimraf": "4.1.0" }, "peerDependencies": { "knex": "0.21.18" diff --git a/packages/strapi-helper-plugin/package.json b/packages/strapi-helper-plugin/package.json index dc20d490..84399917 100644 --- a/packages/strapi-helper-plugin/package.json +++ b/packages/strapi-helper-plugin/package.json @@ -46,7 +46,7 @@ "@babel/preset-react": "^7.13.13", "enzyme": "^3.8.0", "enzyme-adapter-react-16": "^1.15.6", - "rimraf": "3.0.2", + "rimraf": "4.1.0", "rollup": "^1.10.0", "rollup-plugin-babel": "^4.3.2", "rollup-plugin-commonjs": "^9.3.4", diff --git a/packages/strapi-hook-redis/lib/utils/connectivity.js b/packages/strapi-hook-redis/lib/utils/connectivity.js index f9b7f09c..4a2d5da9 100644 --- a/packages/strapi-hook-redis/lib/utils/connectivity.js +++ b/packages/strapi-hook-redis/lib/utils/connectivity.js @@ -25,13 +25,14 @@ module.exports = (scope, success, error) => { logger.info('The app has been connected to the database successfully!'); - rimraf(scope.tmpPath, (err) => { - if (err) { - console.log(`Error removing connection test folder: ${scope.tmpPath}`); + rimraf(scope.tmpPath).then( + () => { + logger.info('Copying the dashboard...'); + success(); + }, + (err) => { + console.log(`Error removing connection test folder: ${scope.tmpPath}`, err); } - logger.info('Copying the dashboard...'); - - success(); - }); + ); }); }; diff --git a/packages/strapi-hook-redis/package.json b/packages/strapi-hook-redis/package.json index ddeffddd..65d9e98a 100644 --- a/packages/strapi-hook-redis/package.json +++ b/packages/strapi-hook-redis/package.json @@ -21,7 +21,7 @@ "@akemona-org/strapi-utils": "3.9.4", "ioredis": "^4.27.1", "lodash": "4.17.21", - "rimraf": "3.0.2", + "rimraf": "4.1.0", "stack-trace": "0.0.10" }, "author": { diff --git a/packages/strapi-plugin-content-type-builder/tests/__snapshots__/content-types.test.e2e.js.snap b/packages/strapi-plugin-content-type-builder/tests/__snapshots__/content-types.test.e2e.js.snap index 5e19c805..65cea577 100644 --- a/packages/strapi-plugin-content-type-builder/tests/__snapshots__/content-types.test.e2e.js.snap +++ b/packages/strapi-plugin-content-type-builder/tests/__snapshots__/content-types.test.e2e.js.snap @@ -1,14 +1,14 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`Content Type Builder - Content types Collection Types Get collection type returns full schema and information 1`] = ` -Object { - "data": Object { +{ + "data": { "apiID": "test-collection-type", - "schema": Object { - "attributes": Object { - "title": Object { - "pluginOptions": Object { - "i18n": Object { + "schema": { + "attributes": { + "title": { + "pluginOptions": { + "i18n": { "localized": true, }, }, @@ -21,8 +21,8 @@ Object { "draftAndPublish": false, "kind": "collectionType", "name": "Test Collection Type", - "pluginOptions": Object { - "i18n": Object { + "pluginOptions": { + "i18n": { "localized": true, }, }, @@ -35,12 +35,12 @@ Object { `; exports[`Content Type Builder - Content types Collection Types Get collection type returns full schema and informations with draftAndPublish 1`] = ` -Object { - "data": Object { +{ + "data": { "apiID": "ct-with-dp", - "schema": Object { - "attributes": Object { - "title": Object { + "schema": { + "attributes": { + "title": { "type": "string", }, }, @@ -59,14 +59,14 @@ Object { `; exports[`Content Type Builder - Content types Single Types Get single type returns full schema and information 1`] = ` -Object { - "data": Object { +{ + "data": { "apiID": "test-single-type", - "schema": Object { - "attributes": Object { - "title": Object { - "pluginOptions": Object { - "i18n": Object { + "schema": { + "attributes": { + "title": { + "pluginOptions": { + "i18n": { "localized": true, }, }, @@ -79,8 +79,8 @@ Object { "draftAndPublish": false, "kind": "singleType", "name": "Test Single Type", - "pluginOptions": Object { - "i18n": Object { + "pluginOptions": { + "i18n": { "localized": true, }, }, diff --git a/packages/strapi-plugin-documentation/middlewares/documentation/index.js b/packages/strapi-plugin-documentation/middlewares/documentation/index.js index 7a72009f..e1ca0c8f 100755 --- a/packages/strapi-plugin-documentation/middlewares/documentation/index.js +++ b/packages/strapi-plugin-documentation/middlewares/documentation/index.js @@ -47,7 +47,7 @@ module.exports = (strapi) => { } ); - strapi.router.get('/plugins/documentation/*', async (ctx, next) => { + strapi.router.get('/plugins/documentation/(.*)', async (ctx, next) => { ctx.url = path.basename(ctx.url); return await koaStatic(swaggerUi.getAbsoluteFSPath(), { diff --git a/packages/strapi-plugin-email/package.json b/packages/strapi-plugin-email/package.json index 76a553d7..7d9a7607 100644 --- a/packages/strapi-plugin-email/package.json +++ b/packages/strapi-plugin-email/package.json @@ -21,7 +21,7 @@ }, "devDependencies": { "@akemona-org/strapi-helper-plugin": "3.9.4", - "rimraf": "3.0.2" + "rimraf": "4.1.0" }, "author": { "name": "Akemona team", diff --git a/packages/strapi-plugin-graphql/package.json b/packages/strapi-plugin-graphql/package.json index dc752560..d648ed05 100644 --- a/packages/strapi-plugin-graphql/package.json +++ b/packages/strapi-plugin-graphql/package.json @@ -40,7 +40,7 @@ "devDependencies": { "cross-env": "^7.0.3", "koa": "^2.13.1", - "rimraf": "3.0.2" + "rimraf": "4.1.0" }, "engines": { "node": ">=14.19.1 <=18.x.x", diff --git a/packages/strapi-plugin-users-permissions/config/routes.json b/packages/strapi-plugin-users-permissions/config/routes.json index 3fddd5ad..3bdbbd55 100644 --- a/packages/strapi-plugin-users-permissions/config/routes.json +++ b/packages/strapi-plugin-users-permissions/config/routes.json @@ -35,9 +35,7 @@ "path": "/roles/:id", "handler": "UsersPermissions.getRole", "config": { - "policies": [ - ["admin::hasPermissions", ["plugins::users-permissions.roles.read"]] - ], + "policies": [["admin::hasPermissions", ["plugins::users-permissions.roles.read"]]], "description": "Retrieve a role depending on its id", "tag": { "plugin": "users-permissions", @@ -51,9 +49,7 @@ "path": "/roles", "handler": "UsersPermissions.getRoles", "config": { - "policies": [ - ["admin::hasPermissions", ["plugins::users-permissions.roles.read"]] - ], + "policies": [["admin::hasPermissions", ["plugins::users-permissions.roles.read"]]], "description": "Retrieve all role documents", "tag": { "plugin": "users-permissions", @@ -75,9 +71,7 @@ "path": "/email-templates", "handler": "UsersPermissions.getEmailTemplate", "config": { - "policies": [ - ["admin::hasPermissions", ["plugins::users-permissions.email-templates.read"]] - ] + "policies": [["admin::hasPermissions", ["plugins::users-permissions.email-templates.read"]]] } }, { @@ -123,9 +117,7 @@ "path": "/providers", "handler": "UsersPermissions.getProviders", "config": { - "policies": [ - ["admin::hasPermissions", ["plugins::users-permissions.providers.read"]] - ] + "policies": [["admin::hasPermissions", ["plugins::users-permissions.providers.read"]]] } }, @@ -134,9 +126,7 @@ "path": "/providers", "handler": "UsersPermissions.updateProviders", "config": { - "policies": [ - ["admin::hasPermissions", ["plugins::users-permissions.providers.update"]] - ] + "policies": [["admin::hasPermissions", ["plugins::users-permissions.providers.update"]]] } }, { @@ -144,9 +134,7 @@ "path": "/roles", "handler": "UsersPermissions.createRole", "config": { - "policies": [ - ["admin::hasPermissions", ["plugins::users-permissions.roles.create"]] - ], + "policies": [["admin::hasPermissions", ["plugins::users-permissions.roles.create"]]], "description": "Create a new role", "tag": { "plugin": "users-permissions", @@ -160,9 +148,7 @@ "path": "/roles/:role", "handler": "UsersPermissions.updateRole", "config": { - "policies": [ - ["admin::hasPermissions", ["plugins::users-permissions.roles.update"]] - ], + "policies": [["admin::hasPermissions", ["plugins::users-permissions.roles.update"]]], "description": "Update a role", "tag": { "plugin": "users-permissions", @@ -176,9 +162,7 @@ "path": "/roles/:role", "handler": "UsersPermissions.deleteRole", "config": { - "policies": [ - ["admin::hasPermissions", ["plugins::users-permissions.roles.delete"]] - ], + "policies": [["admin::hasPermissions", ["plugins::users-permissions.roles.delete"]]], "description": "Delete a role", "tag": { "plugin": "users-permissions", @@ -189,7 +173,7 @@ }, { "method": "GET", - "path": "/connect/*", + "path": "/connect/(.*)", "handler": "Auth.connect", "config": { "policies": ["plugins::users-permissions.ratelimit"], diff --git a/packages/strapi-plugin-users-permissions/documentation/1.0.0/overrides/users-permissions-User.json b/packages/strapi-plugin-users-permissions/documentation/1.0.0/overrides/users-permissions-User.json index afe7d929..70e783a1 100644 --- a/packages/strapi-plugin-users-permissions/documentation/1.0.0/overrides/users-permissions-User.json +++ b/packages/strapi-plugin-users-permissions/documentation/1.0.0/overrides/users-permissions-User.json @@ -111,7 +111,7 @@ ] } }, - "/connect/*": { + "/connect/(.*)": { "get": { "summary": "Authenticate your user with a custom provider", "tags": ["Authentication"], diff --git a/packages/strapi-provider-upload-aws-s3/lib/index.js b/packages/strapi-provider-upload-aws-s3/lib/index.js index 5f166df9..15486374 100644 --- a/packages/strapi-provider-upload-aws-s3/lib/index.js +++ b/packages/strapi-provider-upload-aws-s3/lib/index.js @@ -4,62 +4,64 @@ * Module dependencies */ -/* eslint-disable no-unused-vars */ // Public node modules. -const _ = require('lodash'); -const AWS = require('aws-sdk'); +const { S3Client, PutObjectCommand, DeleteObjectCommand } = require('@aws-sdk/client-s3'); module.exports = { init(config) { - const S3 = new AWS.S3({ - apiVersion: '2006-03-01', - ...config, + if (!config.params.Bucket || !config.region) { + throw new Error('Invalid config.'); + } + const client = new S3Client({ + region: config.region, + ...(config.accessKeyId && { + credentials: { + accessKeyId: config.accessKeyId, + secretAccessKey: config.secretAccessKey, + }, + }), }); return { - upload(file, customParams = {}) { - return new Promise((resolve, reject) => { - // upload file on S3 bucket - const path = file.path ? `${file.path}/` : ''; - S3.upload( - { - Key: `${path}${file.hash}${file.ext}`, - Body: Buffer.from(file.buffer, 'binary'), - ACL: 'public-read', - ContentType: file.mime, - ...customParams, - }, - (err, data) => { - if (err) { - return reject(err); - } - - // set the bucket file url - file.url = data.Location; + async upload(file, customParams = {}) { + // upload file on S3 bucket + const path = file.path ? `${file.path}/` : ''; - resolve(); - } - ); - }); + try { + const command = new PutObjectCommand({ + Bucket: config.params.Bucket, + Key: `${path}${file.hash}${file.ext}`, + Body: Buffer.from(file.buffer, 'binary'), + ACL: 'public-read', + ContentType: file.mime, + ...customParams, + }); + client.config.Bu; + const data = await client.send(command); + const location = `https://${command.input.Bucket}.s3.${config.region}.amazonaws.com/${command.input.Key}`; + file.url = config.baseUrl ? `${config.baseUrl}/${command.input.Key}` : location; + // console.log('s3 upload Success:', data); + return data; + } catch (err) { + console.log('s3 upload failed: ' + err); + throw err; + } }, - delete(file, customParams = {}) { - return new Promise((resolve, reject) => { - // delete file on S3 bucket - const path = file.path ? `${file.path}/` : ''; - S3.deleteObject( - { + async delete(file, customParams = {}) { + // delete file on S3 bucket + const path = file.path ? `${file.path}/` : ''; + try { + const data = await client.send( + new DeleteObjectCommand({ Key: `${path}${file.hash}${file.ext}`, ...customParams, - }, - (err, data) => { - if (err) { - return reject(err); - } - - resolve(); - } + }) ); - }); + return data; + } catch (err) { + console.log('delete from S3 failed: ' + err); + throw err; + } }, }; }, diff --git a/packages/strapi-provider-upload-aws-s3/package.json b/packages/strapi-provider-upload-aws-s3/package.json index 30c1254e..0f11bd86 100644 --- a/packages/strapi-provider-upload-aws-s3/package.json +++ b/packages/strapi-provider-upload-aws-s3/package.json @@ -17,8 +17,7 @@ }, "main": "./lib", "dependencies": { - "aws-sdk": "2.892.0", - "lodash": "4.17.21" + "@aws-sdk/client-s3": "3.245.0" }, "strapi": { "isProvider": true diff --git a/packages/strapi/lib/Strapi.js b/packages/strapi/lib/Strapi.js index 2e46bf2e..3c896419 100644 --- a/packages/strapi/lib/Strapi.js +++ b/packages/strapi/lib/Strapi.js @@ -4,7 +4,7 @@ const http = require('http'); const path = require('path'); const fse = require('fs-extra'); const Koa = require('koa'); -const Router = require('koa-router'); +const Router = require('@koa/router'); const _ = require('lodash'); const chalk = require('chalk'); const CLITable = require('cli-table3'); diff --git a/packages/strapi/lib/middlewares/public/index.js b/packages/strapi/lib/middlewares/public/index.js index 1c46df1a..4afe9634 100644 --- a/packages/strapi/lib/middlewares/public/index.js +++ b/packages/strapi/lib/middlewares/public/index.js @@ -87,12 +87,12 @@ module.exports = (strapi) => { }; strapi.router.get( - `${strapi.config.admin.path}/*`, + `${strapi.config.admin.path}/(.*)`, serveStatic(buildDir, { maxage: maxAge, defer: false, index: 'index.html' }) ); strapi.router.get(`${strapi.config.admin.path}`, serveAdmin); - strapi.router.get(`${strapi.config.admin.path}/*`, serveAdmin); + strapi.router.get(`${strapi.config.admin.path}/(.*)`, serveAdmin); }, }; }; diff --git a/packages/strapi/lib/middlewares/router/index.js b/packages/strapi/lib/middlewares/router/index.js index a2057b82..c09db247 100644 --- a/packages/strapi/lib/middlewares/router/index.js +++ b/packages/strapi/lib/middlewares/router/index.js @@ -6,7 +6,7 @@ // Public node modules. const _ = require('lodash'); -const Router = require('koa-router'); +const Router = require('@koa/router'); const createEndpointComposer = require('./utils/composeEndpoint'); /** * Router hook diff --git a/packages/strapi/lib/utils/openBrowser.js b/packages/strapi/lib/utils/openBrowser.js index a91cc7c6..095f20e2 100644 --- a/packages/strapi/lib/utils/openBrowser.js +++ b/packages/strapi/lib/utils/openBrowser.js @@ -10,7 +10,7 @@ var execSync = require('child_process').execSync; var chalk = require('chalk'); var spawn = require('cross-spawn'); -var opn = require('opn'); +var opn = require('open'); const fetch = require('node-fetch'); const { getAbsoluteAdminUrl } = require('@akemona-org/strapi-utils'); @@ -82,19 +82,9 @@ function startBrowserProcess(browser, url) { } } - // Another special case: on OS X, check if BROWSER has been set to "open". - // In this case, instead of passing `open` to `opn` (which won't work), - // just ignore it (thus ensuring the intended behavior, i.e. opening the system browser): - // https://github.com/facebook/create-react-app/pull/1690#issuecomment-283518768 - if (process.platform === 'darwin' && browser === 'open') { - browser = undefined; - } - - // Fallback to opn - // (It will always open new tab) try { - var options = { app: browser }; - opn(url, options).catch(() => {}); // Prevent `unhandledRejection` error. + // open in default browser (opn v) + opn(url).catch(() => {}); // Prevent `unhandledRejection` error. return true; } catch (err) { return false; diff --git a/packages/strapi/package.json b/packages/strapi/package.json index 57f3b644..cf609636 100644 --- a/packages/strapi/package.json +++ b/packages/strapi/package.json @@ -25,7 +25,7 @@ "@akemona-org/strapi-generate-policy": "3.9.4", "@akemona-org/strapi-generate-service": "3.9.4", "@akemona-org/strapi-utils": "3.9.4", - "@koa/cors": "^3.0.0", + "@koa/cors": "3.4.3", "async": "^2.1.2", "boom": "^7.3.0", "boxen": "4.2.0", @@ -44,29 +44,29 @@ "glob": "^7.1.2", "inquirer": "^6.2.1", "is-docker": "2.2.1", - "koa": "^2.13.1", - "koa-body": "^4.2.0", - "koa-compose": "^4.1.0", - "koa-compress": "^5.0.1", + "koa": "2.14.1", + "koa-body": "4.2.0", + "koa-compose": "4.1.0", + "koa-compress": "5.1.0", "koa-convert": "^2.0.0", "koa-favicon": "^2.0.0", "koa-i18n": "^2.1.0", - "koa-ip": "^2.0.0", + "koa-ip": "2.1.2", "koa-locale": "~1.3.0", "koa-lusca": "~2.2.0", - "koa-router": "^7.4.0", - "koa-session": "^6.2.0", - "koa-static": "^5.0.0", + "@koa/router": "12.0.0", + "koa-session": "6.2.0", + "koa-static": "5.0.0", "lodash": "4.17.21", "node-fetch": "2.6.1", "node-machine-id": "1.1.12", "node-schedule": "1.3.2", - "opn": "^5.3.0", - "ora": "^5.4.0", + "open": "8.4.0", + "ora": "5.4.1", "package-json": "7.0.0", - "qs": "^6.10.1", - "resolve-cwd": "^3.0.0", - "rimraf": "^3.0.2", + "qs": "6.11.0", + "resolve-cwd": "3.0.0", + "rimraf": "4.1.0", "semver": "7.3.5" }, "scripts": { diff --git a/yarn.lock b/yarn.lock index b49f92fc..d4e723e1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -76,6 +76,24 @@ dependencies: tslib "~2.0.1" +"@aws-crypto/crc32@2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/crc32/-/crc32-2.0.0.tgz#4ad432a3c03ec3087c5540ff6e41e6565d2dc153" + integrity sha512-TvE1r2CUueyXOuHdEigYjIZVesInd9KN+K/TFFNfkkxRThiNxO6i4ZqqAVMoEjAamZZ1AA8WXJkjCz7YShHPQA== + dependencies: + "@aws-crypto/util" "^2.0.0" + "@aws-sdk/types" "^3.1.0" + tslib "^1.11.1" + +"@aws-crypto/crc32c@2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/crc32c/-/crc32c-2.0.0.tgz#4235336ef78f169f6a05248906703b9b78da676e" + integrity sha512-vF0eMdMHx3O3MoOXUfBZry8Y4ZDtcuskjjKgJz8YfIDjLStxTZrYXk+kZqtl6A0uCmmiN/Eb/JbC/CndTV1MHg== + dependencies: + "@aws-crypto/util" "^2.0.0" + "@aws-sdk/types" "^3.1.0" + tslib "^1.11.1" + "@aws-crypto/ie11-detection@^2.0.0": version "2.0.2" resolved "https://registry.yarnpkg.com/@aws-crypto/ie11-detection/-/ie11-detection-2.0.2.tgz#9c39f4a5558196636031a933ec1b4792de959d6a" @@ -83,6 +101,18 @@ dependencies: tslib "^1.11.1" +"@aws-crypto/sha1-browser@2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/sha1-browser/-/sha1-browser-2.0.0.tgz#71e735df20ea1d38f59259c4b1a2e00ca74a0eea" + integrity sha512-3fIVRjPFY8EG5HWXR+ZJZMdWNRpwbxGzJ9IH9q93FpbgCH8u8GHRi46mZXp3cYD7gealmyqpm3ThZwLKJjWJhA== + dependencies: + "@aws-crypto/ie11-detection" "^2.0.0" + "@aws-crypto/supports-web-crypto" "^2.0.0" + "@aws-sdk/types" "^3.1.0" + "@aws-sdk/util-locate-window" "^3.0.0" + "@aws-sdk/util-utf8-browser" "^3.0.0" + tslib "^1.11.1" + "@aws-crypto/sha256-browser@2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-browser/-/sha256-browser-2.0.0.tgz#741c9024df55ec59b51e5b1f5d806a4852699fb5" @@ -139,6 +169,21 @@ "@aws-sdk/types" "3.226.0" tslib "^2.3.1" +"@aws-sdk/chunked-blob-reader-native@3.208.0": + version "3.208.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/chunked-blob-reader-native/-/chunked-blob-reader-native-3.208.0.tgz#cdbd12c89a4f3ddd91bf707da8bb4af311487cc5" + integrity sha512-JeOZ95PW+fJ6bbuqPySYqLqHk1n4+4ueEEraJsiUrPBV0S1ZtyvOGHcnGztKUjr2PYNaiexmpWuvUve9K12HRA== + dependencies: + "@aws-sdk/util-base64" "3.208.0" + tslib "^2.3.1" + +"@aws-sdk/chunked-blob-reader@3.188.0": + version "3.188.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/chunked-blob-reader/-/chunked-blob-reader-3.188.0.tgz#18181b27511ab512e56b9f2cef30d2abbef639dc" + integrity sha512-zkPRFZZPL3eH+kH86LDYYXImiClA1/sW60zYOjse9Pgka+eDJlvBN6hcYxwDEKjcwATYiSRR1aVQHcfCinlGXg== + dependencies: + tslib "^2.3.1" + "@aws-sdk/client-cognito-identity@3.245.0": version "3.245.0" resolved "https://registry.yarnpkg.com/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.245.0.tgz#b0cd78ae73457aa1bd2a7146921e55c82ab344d6" @@ -181,6 +226,67 @@ "@aws-sdk/util-utf8-node" "3.208.0" tslib "^2.3.1" +"@aws-sdk/client-s3@3.245.0": + version "3.245.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-s3/-/client-s3-3.245.0.tgz#67b11959512c93fdb7e8995efdc40c01993f455a" + integrity sha512-wdCrEiqIfwtWebrK7A1giRggwO64S6I2iPXTwRmat4AR6sFlMO02jVFaIDyA8TTiVnBMz7ekT1QFmIjFAKc4uQ== + dependencies: + "@aws-crypto/sha1-browser" "2.0.0" + "@aws-crypto/sha256-browser" "2.0.0" + "@aws-crypto/sha256-js" "2.0.0" + "@aws-sdk/client-sts" "3.245.0" + "@aws-sdk/config-resolver" "3.234.0" + "@aws-sdk/credential-provider-node" "3.245.0" + "@aws-sdk/eventstream-serde-browser" "3.226.0" + "@aws-sdk/eventstream-serde-config-resolver" "3.226.0" + "@aws-sdk/eventstream-serde-node" "3.226.0" + "@aws-sdk/fetch-http-handler" "3.226.0" + "@aws-sdk/hash-blob-browser" "3.226.0" + "@aws-sdk/hash-node" "3.226.0" + "@aws-sdk/hash-stream-node" "3.226.0" + "@aws-sdk/invalid-dependency" "3.226.0" + "@aws-sdk/md5-js" "3.226.0" + "@aws-sdk/middleware-bucket-endpoint" "3.226.0" + "@aws-sdk/middleware-content-length" "3.226.0" + "@aws-sdk/middleware-endpoint" "3.226.0" + "@aws-sdk/middleware-expect-continue" "3.226.0" + "@aws-sdk/middleware-flexible-checksums" "3.226.0" + "@aws-sdk/middleware-host-header" "3.226.0" + "@aws-sdk/middleware-location-constraint" "3.226.0" + "@aws-sdk/middleware-logger" "3.226.0" + "@aws-sdk/middleware-recursion-detection" "3.226.0" + "@aws-sdk/middleware-retry" "3.235.0" + "@aws-sdk/middleware-sdk-s3" "3.231.0" + "@aws-sdk/middleware-serde" "3.226.0" + "@aws-sdk/middleware-signing" "3.226.0" + "@aws-sdk/middleware-ssec" "3.226.0" + "@aws-sdk/middleware-stack" "3.226.0" + "@aws-sdk/middleware-user-agent" "3.226.0" + "@aws-sdk/node-config-provider" "3.226.0" + "@aws-sdk/node-http-handler" "3.226.0" + "@aws-sdk/protocol-http" "3.226.0" + "@aws-sdk/signature-v4-multi-region" "3.226.0" + "@aws-sdk/smithy-client" "3.234.0" + "@aws-sdk/types" "3.226.0" + "@aws-sdk/url-parser" "3.226.0" + "@aws-sdk/util-base64" "3.208.0" + "@aws-sdk/util-body-length-browser" "3.188.0" + "@aws-sdk/util-body-length-node" "3.208.0" + "@aws-sdk/util-defaults-mode-browser" "3.234.0" + "@aws-sdk/util-defaults-mode-node" "3.234.0" + "@aws-sdk/util-endpoints" "3.245.0" + "@aws-sdk/util-retry" "3.229.0" + "@aws-sdk/util-stream-browser" "3.226.0" + "@aws-sdk/util-stream-node" "3.226.0" + "@aws-sdk/util-user-agent-browser" "3.226.0" + "@aws-sdk/util-user-agent-node" "3.226.0" + "@aws-sdk/util-utf8-browser" "3.188.0" + "@aws-sdk/util-utf8-node" "3.208.0" + "@aws-sdk/util-waiter" "3.226.0" + "@aws-sdk/xml-builder" "3.201.0" + fast-xml-parser "4.0.11" + tslib "^2.3.1" + "@aws-sdk/client-sso-oidc@3.245.0": version "3.245.0" resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.245.0.tgz#3235c856c7bd2ceddf9ac1bda6d599465b8e3dd7" @@ -426,6 +532,51 @@ "@aws-sdk/types" "3.226.0" tslib "^2.3.1" +"@aws-sdk/eventstream-codec@3.226.0": + version "3.226.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-codec/-/eventstream-codec-3.226.0.tgz#1f54fb2c0bb321d2636d068ee1e969a8c07586ab" + integrity sha512-6uPtR8vSwz3fqoZk9hrb6qBYdp3PJ22+JxV5Wimdesvow4kJXSgDQXIxEkxbv6SxB9tNRB4uJHD84RetHEi15Q== + dependencies: + "@aws-crypto/crc32" "2.0.0" + "@aws-sdk/types" "3.226.0" + "@aws-sdk/util-hex-encoding" "3.201.0" + tslib "^2.3.1" + +"@aws-sdk/eventstream-serde-browser@3.226.0": + version "3.226.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.226.0.tgz#a1b880952b5d5b367fcff57be7c00682d01cef00" + integrity sha512-otYC5aZE9eJUqAlKpy8w0rPDQ1eKGvZPtgxWXmFYSO2lDVGfI1nBBNmdZ4MdHqNuQ7ucsKMQYF8BFJ65K2tYPA== + dependencies: + "@aws-sdk/eventstream-serde-universal" "3.226.0" + "@aws-sdk/types" "3.226.0" + tslib "^2.3.1" + +"@aws-sdk/eventstream-serde-config-resolver@3.226.0": + version "3.226.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.226.0.tgz#07aa985fd8c7d417442bb48786a63bad63bb1a5a" + integrity sha512-A56Gypg+lyEfA5cna+EUH9XTrj0SvRG1gwNW7lrUzviN36SeA/LFTUIOEjxVML3Lowy+EPAcrSZ67h6aepoAig== + dependencies: + "@aws-sdk/types" "3.226.0" + tslib "^2.3.1" + +"@aws-sdk/eventstream-serde-node@3.226.0": + version "3.226.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.226.0.tgz#2f95e686ea51e452c1a3af4fa48242573e5ea3ad" + integrity sha512-KWLnKkKDzI9RNkiK6OiSYpG/XjZfue6Bsp/vRG+H5z3fbXdHv4X2+iW+Efu2Kvn7jsUyUv82TCl57DyJ/HKYhQ== + dependencies: + "@aws-sdk/eventstream-serde-universal" "3.226.0" + "@aws-sdk/types" "3.226.0" + tslib "^2.3.1" + +"@aws-sdk/eventstream-serde-universal@3.226.0": + version "3.226.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.226.0.tgz#f071c41b9706f129efad42c083a9ab5e2f2fc583" + integrity sha512-Q8viYM1Sv90/yIUqyWNeG1GEvyVlAI3GIrInQcCMC+xT59jS+IKGy2y7ojCvSWXnhf5/HMXKcmG092QsqeKy0Q== + dependencies: + "@aws-sdk/eventstream-codec" "3.226.0" + "@aws-sdk/types" "3.226.0" + tslib "^2.3.1" + "@aws-sdk/fetch-http-handler@3.226.0": version "3.226.0" resolved "https://registry.yarnpkg.com/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.226.0.tgz#350f78fc18fe9cb0a889ef4870838a8fcfa8855c" @@ -437,6 +588,16 @@ "@aws-sdk/util-base64" "3.208.0" tslib "^2.3.1" +"@aws-sdk/hash-blob-browser@3.226.0": + version "3.226.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.226.0.tgz#00143ed30f9bd8b671327a94609db2403036654d" + integrity sha512-5DCvWE6L4xGoViEHyjcPFuUe1G2EtNx8TqswWaoaKgyasP/yuRm4H99Ra7rqIrjCcSTAGD9NVsUQvVVw1bGt9w== + dependencies: + "@aws-sdk/chunked-blob-reader" "3.188.0" + "@aws-sdk/chunked-blob-reader-native" "3.208.0" + "@aws-sdk/types" "3.226.0" + tslib "^2.3.1" + "@aws-sdk/hash-node@3.226.0": version "3.226.0" resolved "https://registry.yarnpkg.com/@aws-sdk/hash-node/-/hash-node-3.226.0.tgz#252d98bcbb1e13c8f26d9d416db03cf8cceac185" @@ -446,6 +607,14 @@ "@aws-sdk/util-buffer-from" "3.208.0" tslib "^2.3.1" +"@aws-sdk/hash-stream-node@3.226.0": + version "3.226.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/hash-stream-node/-/hash-stream-node-3.226.0.tgz#cdf4c231fa1dd6006532afc370626702c80e4c91" + integrity sha512-cgNTGlF8SdHaQXtjEmuLXz2U8SLM2JDKtIVPku/lHTMsUsEn+fuv2C+h1f/hvd4aNw5t1zggym7sO1/h/rv56Q== + dependencies: + "@aws-sdk/types" "3.226.0" + tslib "^2.3.1" + "@aws-sdk/invalid-dependency@3.226.0": version "3.226.0" resolved "https://registry.yarnpkg.com/@aws-sdk/invalid-dependency/-/invalid-dependency-3.226.0.tgz#74586f60859ed1813985e3d642066cc46d2e9d40" @@ -461,6 +630,27 @@ dependencies: tslib "^2.3.1" +"@aws-sdk/md5-js@3.226.0": + version "3.226.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/md5-js/-/md5-js-3.226.0.tgz#1400f9af49233e2cae7f90c3c93013b4ce3e39f6" + integrity sha512-ENigJRNudqyh6xsch166SZ4gggHd3XzZJ8gkCU4CWPne04HcR3BkWSO774IuWooCHt8zkaEHKecPurRz6qR+Vw== + dependencies: + "@aws-sdk/types" "3.226.0" + "@aws-sdk/util-utf8-browser" "3.188.0" + "@aws-sdk/util-utf8-node" "3.208.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-bucket-endpoint@3.226.0": + version "3.226.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.226.0.tgz#830ec9fa591667b9e848b69504f79f86717e97e7" + integrity sha512-A1Vq5W2X7jgTfjqcKPmjoHohF0poP+9fxwL97fQMvzcwmjhtoCV3bLEpo6CGYx0pKPiSlRJXZkRwRPj2hDHDmA== + dependencies: + "@aws-sdk/protocol-http" "3.226.0" + "@aws-sdk/types" "3.226.0" + "@aws-sdk/util-arn-parser" "3.208.0" + "@aws-sdk/util-config-provider" "3.208.0" + tslib "^2.3.1" + "@aws-sdk/middleware-content-length@3.226.0": version "3.226.0" resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-content-length/-/middleware-content-length-3.226.0.tgz#6cc952049f6e3cdc3a3778c9dce9f2aee942b5fe" @@ -484,6 +674,27 @@ "@aws-sdk/util-middleware" "3.226.0" tslib "^2.3.1" +"@aws-sdk/middleware-expect-continue@3.226.0": + version "3.226.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.226.0.tgz#46a5b720ff896ce706ee4c01b0edcdb37bd8eaf4" + integrity sha512-YxvQKTV/eA9P8AgW0hXOgj5Qa+TSnNFfyOkfeP089aP3f6p92b1cESf33TEOKsddive2mHT5LRCN6MuPcgWWrA== + dependencies: + "@aws-sdk/protocol-http" "3.226.0" + "@aws-sdk/types" "3.226.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-flexible-checksums@3.226.0": + version "3.226.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.226.0.tgz#01e2d983ffe855fb8c2b78d43cf81de26db32996" + integrity sha512-8A9Ot9A7794UP5tMGl2MnfTW/UM/jYy1wRWF9YkR/hPIcPb7OmE0hmlwIQGzb/7grxpYw66ETKf0WeH/41YfeQ== + dependencies: + "@aws-crypto/crc32" "2.0.0" + "@aws-crypto/crc32c" "2.0.0" + "@aws-sdk/is-array-buffer" "3.201.0" + "@aws-sdk/protocol-http" "3.226.0" + "@aws-sdk/types" "3.226.0" + tslib "^2.3.1" + "@aws-sdk/middleware-host-header@3.226.0": version "3.226.0" resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.226.0.tgz#1e1ecb034929e0dbc532ae501fd93781438f9a24" @@ -493,6 +704,14 @@ "@aws-sdk/types" "3.226.0" tslib "^2.3.1" +"@aws-sdk/middleware-location-constraint@3.226.0": + version "3.226.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.226.0.tgz#c6c24047953294015342d704d787be8e05df49d3" + integrity sha512-qHiYaBYPc2R37KxG2uqsUUwh4usrQMHfGkrpTUnx5d4rGzM3mC+muPsTpSHnAL63K2/yJOHQJFjss3GGwV4SSA== + dependencies: + "@aws-sdk/types" "3.226.0" + tslib "^2.3.1" + "@aws-sdk/middleware-logger@3.226.0": version "3.226.0" resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.226.0.tgz#37fd0e62f555befd526b03748c3aab60dcefecf3" @@ -523,6 +742,16 @@ tslib "^2.3.1" uuid "^8.3.2" +"@aws-sdk/middleware-sdk-s3@3.231.0": + version "3.231.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.231.0.tgz#98a6f0ce1611b0dbdc96e6aaaa8979fa5d9b0644" + integrity sha512-UGaSvevd2TanfKgStF46dDSHkh4bxOr1gdUkyHm9i+1pF5lx4KdbnBZv/5SKnn7XifhHRXrs1M3lTzemXREhTA== + dependencies: + "@aws-sdk/protocol-http" "3.226.0" + "@aws-sdk/types" "3.226.0" + "@aws-sdk/util-arn-parser" "3.208.0" + tslib "^2.3.1" + "@aws-sdk/middleware-sdk-sts@3.226.0": version "3.226.0" resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.226.0.tgz#e8a8cf42bba8963259546120cde1e408628863f9" @@ -555,6 +784,14 @@ "@aws-sdk/util-middleware" "3.226.0" tslib "^2.3.1" +"@aws-sdk/middleware-ssec@3.226.0": + version "3.226.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-ssec/-/middleware-ssec-3.226.0.tgz#4f160aa6822e2af1b1b8a755ff0710aefb66abfb" + integrity sha512-DR97oWoLHiMdaUP/wu99HtzG7/ijvCrjZGDH37WBO1rxFtEti6L7T09wgHzwxMN8gtL8FJA7dU8IrffGSC9VmA== + dependencies: + "@aws-sdk/types" "3.226.0" + tslib "^2.3.1" + "@aws-sdk/middleware-stack@3.226.0": version "3.226.0" resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-stack/-/middleware-stack-3.226.0.tgz#b0408370270188103987c457c758f9cf7651754f" @@ -638,6 +875,17 @@ "@aws-sdk/types" "3.226.0" tslib "^2.3.1" +"@aws-sdk/signature-v4-multi-region@3.226.0": + version "3.226.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.226.0.tgz#7f97056e66dde3ca07c72176994c12daaa517f94" + integrity sha512-QHxNuf9ynK208v7Y3imdsa3Cz8ynYV7ZOf3sBJdItuEtHN6uy/KxaOrtvpF8I5Hyn48Hc8z5miTSMujFKT7GEw== + dependencies: + "@aws-sdk/protocol-http" "3.226.0" + "@aws-sdk/signature-v4" "3.226.0" + "@aws-sdk/types" "3.226.0" + "@aws-sdk/util-arn-parser" "3.208.0" + tslib "^2.3.1" + "@aws-sdk/signature-v4@3.226.0": version "3.226.0" resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4/-/signature-v4-3.226.0.tgz#100390b5c5b55a9b0abd05b06fceb36cfa0ecf98" @@ -686,6 +934,13 @@ "@aws-sdk/types" "3.226.0" tslib "^2.3.1" +"@aws-sdk/util-arn-parser@3.208.0": + version "3.208.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-arn-parser/-/util-arn-parser-3.208.0.tgz#56b6ae4699c3140bb27dcede5146876fef04e823" + integrity sha512-QV4af+kscova9dv4VuHOgH8wEr/IIYHDGcnyVtkUEqahCejWr1Kuk+SBK0xMwnZY5LSycOtQ8aeqHOn9qOjZtA== + dependencies: + tslib "^2.3.1" + "@aws-sdk/util-base64@3.208.0": version "3.208.0" resolved "https://registry.yarnpkg.com/@aws-sdk/util-base64/-/util-base64-3.208.0.tgz#36b430e5396251f761590f7c2f0c5c12193f353c" @@ -782,6 +1037,28 @@ "@aws-sdk/service-error-classification" "3.229.0" tslib "^2.3.1" +"@aws-sdk/util-stream-browser@3.226.0": + version "3.226.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-stream-browser/-/util-stream-browser-3.226.0.tgz#a14ea5c118d448f01ed6103203404f466960e5fe" + integrity sha512-ZvjlA1ySaLd0DqUWTKmL7LsxfPhroAONpzsinaHmw9aZVL40s2cADU9eWgBdHTuAOeFklL7NP0cc6UiTFHKe8g== + dependencies: + "@aws-sdk/fetch-http-handler" "3.226.0" + "@aws-sdk/types" "3.226.0" + "@aws-sdk/util-base64" "3.208.0" + "@aws-sdk/util-hex-encoding" "3.201.0" + "@aws-sdk/util-utf8-browser" "3.188.0" + tslib "^2.3.1" + +"@aws-sdk/util-stream-node@3.226.0": + version "3.226.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-stream-node/-/util-stream-node-3.226.0.tgz#7c568a947f47fea1f3b268b895b6e73235e29703" + integrity sha512-HADXiIgDGoXcCLSKuPnjCLENf0iC0lzqqnymZu9H2FoACZhJB7DvJ9LnP51Pvw9lfCu+yvLzbMqSPdbXtMbRWg== + dependencies: + "@aws-sdk/node-http-handler" "3.226.0" + "@aws-sdk/types" "3.226.0" + "@aws-sdk/util-buffer-from" "3.208.0" + tslib "^2.3.1" + "@aws-sdk/util-uri-escape@3.201.0": version "3.201.0" resolved "https://registry.yarnpkg.com/@aws-sdk/util-uri-escape/-/util-uri-escape-3.201.0.tgz#5e708d4cde001a4558ee616f889ceacfadd2ab03" @@ -822,6 +1099,22 @@ "@aws-sdk/util-buffer-from" "3.208.0" tslib "^2.3.1" +"@aws-sdk/util-waiter@3.226.0": + version "3.226.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-waiter/-/util-waiter-3.226.0.tgz#6715afd59748cbc610ddfbc5e21124b20a7e85ac" + integrity sha512-qYQMRxnu5k8qQihJXoIWMkBOj0+XkHHj/drLdbRnwL6ni6NcG8++cs9M3DSjIcxmxgF/7SLpDjn1H3sC7cYo4g== + dependencies: + "@aws-sdk/abort-controller" "3.226.0" + "@aws-sdk/types" "3.226.0" + tslib "^2.3.1" + +"@aws-sdk/xml-builder@3.201.0": + version "3.201.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/xml-builder/-/xml-builder-3.201.0.tgz#acf0869855460528114bec17f290b224fe19a3e2" + integrity sha512-brRdB1wwMgjWEnOQsv7zSUhIQuh7DEicrfslAqHop4S4FtSI3GQAShpQqgOpMTNFYcpaWKmE/Y1MJmNY7xLCnw== + dependencies: + tslib "^2.3.1" + "@babel/code-frame@7.12.11": version "7.12.11" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" @@ -2498,6 +2791,13 @@ "@jridgewell/resolve-uri" "3.1.0" "@jridgewell/sourcemap-codec" "1.4.14" +"@koa/cors@3.4.3": + version "3.4.3" + resolved "https://registry.yarnpkg.com/@koa/cors/-/cors-3.4.3.tgz#d669ee6e8d6e4f0ec4a7a7b0a17e7a3ed3752ebb" + integrity sha512-WPXQUaAeAMVaLTEFpoq3T2O1C+FstkjJnDQqy95Ck1UdILajsRhu6mhJ8H2f4NFPRBoCNN+qywTJfq/gGki5mw== + dependencies: + vary "^1.1.2" + "@koa/cors@^2.2.1": version "2.2.3" resolved "https://registry.yarnpkg.com/@koa/cors/-/cors-2.2.3.tgz#c32a9907acbee1e72fedfb0b9ac840d2e6f9be57" @@ -2505,12 +2805,15 @@ dependencies: vary "^1.1.2" -"@koa/cors@^3.0.0": - version "3.4.3" - resolved "https://registry.yarnpkg.com/@koa/cors/-/cors-3.4.3.tgz#d669ee6e8d6e4f0ec4a7a7b0a17e7a3ed3752ebb" - integrity sha512-WPXQUaAeAMVaLTEFpoq3T2O1C+FstkjJnDQqy95Ck1UdILajsRhu6mhJ8H2f4NFPRBoCNN+qywTJfq/gGki5mw== +"@koa/router@12.0.0": + version "12.0.0" + resolved "https://registry.yarnpkg.com/@koa/router/-/router-12.0.0.tgz#2ae7937093fd392761c0e5833c368379d4a35737" + integrity sha512-cnnxeKHXlt7XARJptflGURdJaO+ITpNkOHmQu7NHmCoRinPbyvFzce/EG/E8Zy81yQ1W9MoSdtklc3nyaDReUw== dependencies: - vary "^1.1.2" + http-errors "^2.0.0" + koa-compose "^4.1.0" + methods "^1.1.2" + path-to-regexp "^6.2.1" "@lerna/add@6.4.0": version "6.4.0" @@ -5453,21 +5756,6 @@ available-typed-arrays@^1.0.5: resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== -aws-sdk@2.892.0: - version "2.892.0" - resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.892.0.tgz#adec48f52f4b6f5c576dcbfac020bcec1eed3a25" - integrity sha512-OOXJ15AnJJMHZYXJQVy22Wjnp5GrZCfvCxmoZuXdsLNs8M+BL4mfBqma82+UkM2NhJgLYuAhDfvFUBob6VGIWw== - dependencies: - buffer "4.9.2" - events "1.1.1" - ieee754 "1.1.13" - jmespath "0.15.0" - querystring "0.2.0" - sax "1.2.1" - url "0.10.3" - uuid "3.3.2" - xml2js "0.4.19" - aws-sign2@~0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" @@ -6045,7 +6333,7 @@ buffer-xor@^1.0.3: resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== -buffer@4.9.2, buffer@^4.3.0: +buffer@^4.3.0: version "4.9.2" resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== @@ -7235,7 +7523,7 @@ cosmiconfig@^7.0.0: path-type "^4.0.0" yaml "^1.10.0" -crc@^3.8.0: +crc@^3.4.4: version "3.8.0" resolved "https://registry.yarnpkg.com/crc/-/crc-3.8.0.tgz#ad60269c2c856f8c299e2c4cc0de4556914056c6" integrity sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ== @@ -8971,11 +9259,6 @@ eventemitter3@^4.0.0, eventemitter3@^4.0.4: resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== -events@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" - integrity sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw== - events@^3.0.0, events@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" @@ -10644,7 +10927,7 @@ http-deceiver@^1.2.7: resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== -http-errors@2.0.0: +http-errors@2.0.0, http-errors@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== @@ -10655,7 +10938,7 @@ http-errors@2.0.0: statuses "2.0.1" toidentifier "1.0.1" -http-errors@^1.3.1, http-errors@^1.6.3, http-errors@^1.7.3, http-errors@^1.8.0, http-errors@~1.8.0: +http-errors@^1.6.3, http-errors@^1.7.3, http-errors@^1.8.0, http-errors@~1.8.0: version "1.8.1" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.8.1.tgz#7c3f28577cbc8a207388455dbd62295ed07bd68c" integrity sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g== @@ -10830,11 +11113,6 @@ icss-utils@^4.1.0: dependencies: postcss "^7.0.14" -ieee754@1.1.13: - version "1.1.13" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" - integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== - ieee754@^1.1.13, ieee754@^1.1.4, ieee754@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" @@ -11658,7 +11936,7 @@ is-touch-device@^1.0.1: resolved "https://registry.yarnpkg.com/is-touch-device/-/is-touch-device-1.0.1.tgz#9a2fd59f689e9a9bf6ae9a86924c4ba805a42eab" integrity sha512-LAYzo9kMT1b2p19L/1ATGt2XcSilnzNlyvq6c0pbPRVisLbAPpLqr53tIJS00kvrTkj0HtR8U7+u8X0yR8lPSw== -is-type-of@^1.2.1: +is-type-of@^1.0.0: version "1.2.1" resolved "https://registry.yarnpkg.com/is-type-of/-/is-type-of-1.2.1.tgz#e263ec3857aceb4f28c47130ec78db09a920f8c5" integrity sha512-uK0kyX9LZYhSDS7H2sVJQJop1UnWPWmo5RvR3q2kFH6AUHYs7sOrVg0b4nyBHw29kRRNFofYN/JbHZDlHiItTA== @@ -12299,11 +12577,6 @@ jest@29.0.3: import-local "^3.0.2" jest-cli "^29.0.3" -jmespath@0.15.0: - version "0.15.0" - resolved "https://registry.yarnpkg.com/jmespath/-/jmespath-0.15.0.tgz#a3f222a9aae9f966f5d27c796510e28091764217" - integrity sha512-+kHj8HXArPfpPEKGLZ+kB5ONRTCiGQXo8RQYL0hH8t6pWXUBBK5KkkQmTNOwKK4LEsd0yTsgtjJVm4UBSZea4w== - joycon@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/joycon/-/joycon-3.1.1.tgz#bce8596d6ae808f8b68168f5fc69280996894f03" @@ -12647,7 +12920,7 @@ known-css-properties@^0.21.0: resolved "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.21.0.tgz#15fbd0bbb83447f3ce09d8af247ed47c68ede80d" integrity sha512-sZLUnTqimCkvkgRS+kbPlYW5o8q5w1cu+uIisKpEWkj31I8mx8kNG162DwRav8Zirkva6N5uoFsm9kzK4mUXjw== -koa-body@^4.2.0: +koa-body@4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/koa-body/-/koa-body-4.2.0.tgz#37229208b820761aca5822d14c5fc55cee31b26f" integrity sha512-wdGu7b9amk4Fnk/ytH8GuWwfs4fsB5iNkY8kZPpgQVb04QZSv85T0M8reb+cJmvLE8cjPYvBzRikD3s6qz8OoA== @@ -12681,7 +12954,7 @@ koa-compose@~2.3.0: resolved "https://registry.yarnpkg.com/koa-compose/-/koa-compose-2.3.0.tgz#4617fa832a16412a56967334304efd797d6ed35c" integrity sha512-nnWA0chVm0d3ta1JRDSj6z7stsxPcfuydO912IgZ5QIZ6Z8qluMSX+kCkgcrJB5StRTnNqvRcy2yodh/UWOWuw== -koa-compress@^5.0.1: +koa-compress@5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/koa-compress/-/koa-compress-5.1.0.tgz#7b9fe24f4c1b28d9cae90864597da472c2fcf701" integrity sha512-G3Ppo9jrUwlchp6qdoRgQNMiGZtM0TAHkxRZQ7EoVvIG8E47J4nAsMJxXHAUQ+0oc7t0MDxSdONWTFcbzX7/Bg== @@ -12723,7 +12996,7 @@ koa-i18n@^2.1.0: debug "*" i18n-2 "*" -koa-ip@^2.0.0: +koa-ip@2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/koa-ip/-/koa-ip-2.1.2.tgz#a7e64c3f8c0e6736565b8bc1229993c0b711788e" integrity sha512-U9w+WkasaIeHRrPfAp/J7UsGCqdCOeavetq6ASMjXUvMmEboKAWGFUlt0c2QU3z6F6Q5NJloh8IwkgWzoaJ8Tg== @@ -12765,18 +13038,6 @@ koa-range@0.3.0: dependencies: stream-slice "^0.1.2" -koa-router@^7.4.0: - version "7.4.0" - resolved "https://registry.yarnpkg.com/koa-router/-/koa-router-7.4.0.tgz#aee1f7adc02d5cb31d7d67465c9eacc825e8c5e0" - integrity sha512-IWhaDXeAnfDBEpWS6hkGdZ1ablgr6Q6pGdXCyK38RbzuH4LkUOpPqPw+3f8l8aTDrQmBQ7xJc0bs2yV4dzcO+g== - dependencies: - debug "^3.1.0" - http-errors "^1.3.1" - koa-compose "^3.0.0" - methods "^1.0.1" - path-to-regexp "^1.1.1" - urijs "^1.19.0" - koa-send@^5.0.0: version "5.0.1" resolved "https://registry.yarnpkg.com/koa-send/-/koa-send-5.0.1.tgz#39dceebfafb395d0d60beaffba3a70b4f543fe79" @@ -12786,17 +13047,17 @@ koa-send@^5.0.0: http-errors "^1.7.3" resolve-path "^1.4.0" -koa-session@^6.2.0: - version "6.3.1" - resolved "https://registry.yarnpkg.com/koa-session/-/koa-session-6.3.1.tgz#a6bc1f1ece1258d4ee4f02017c70eb6c03e7bc93" - integrity sha512-Y6206QSkDgtIgjTT7ndmIgZjWrOcY3jflfsDjwvxLfYwSiwKGVAi3l1ExhI2KjkEO1uhKyPxcEWhEDn8HaoRUg== +koa-session@6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/koa-session/-/koa-session-6.2.0.tgz#c0da2a808b520f62a25dac9f2914b580b2402078" + integrity sha512-l2ZC6D1BnRkIXhWkRgpewdqKn38/9/2WScmxyShuN408TxX+J/gUzdzGBIvGZaRwmezOU819sNpGmfFGLeDckg== dependencies: - crc "^3.8.0" - debug "^4.3.3" - is-type-of "^1.2.1" - uuid "^8.3.2" + crc "^3.4.4" + debug "^3.1.0" + is-type-of "^1.0.0" + uuid "^3.3.2" -koa-static@^5.0.0: +koa-static@5.0.0, koa-static@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/koa-static/-/koa-static-5.0.0.tgz#5e92fc96b537ad5219f425319c95b64772776943" integrity sha512-UqyYyH5YEXaJrf9S8E23GoJFQZXkBVJ9zYYMPGz919MSX1KuvAcycIuS0ci150HCoPf4XQVhQ84Qf8xRPWxFaQ== @@ -12850,7 +13111,7 @@ koa@2.13.1: type-is "^1.6.16" vary "^1.1.2" -koa@^2.13.1: +koa@2.14.1, koa@^2.13.1: version "2.14.1" resolved "https://registry.yarnpkg.com/koa/-/koa-2.14.1.tgz#defb9589297d8eb1859936e777f3feecfc26925c" integrity sha512-USJFyZgi2l0wDgqkfD27gL4YGno7TfUkcmOe6UOLFOVuN+J7FwnNu4Dydl4CUQzraM1lBAiGed0M9OVJoT0Kqw== @@ -13679,7 +13940,7 @@ merge2@^1.3.0, merge2@^1.4.1: resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== -methods@1.1.2, methods@^1.0.1, methods@^1.1.2, methods@~1.1.2: +methods@1.1.2, methods@^1.1.2, methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== @@ -14914,7 +15175,7 @@ only@~0.0.2: resolved "https://registry.yarnpkg.com/only/-/only-0.0.2.tgz#2afde84d03e50b9a8edc444e30610a70295edfb4" integrity sha512-Fvw+Jemq5fjjyWz6CpKx6w9s7xxqo3+JCyM0WXWeCSOboZ8ABkyvP8ID4CZuChA/wxSx+XSJmdOm8rGVyJ1hdQ== -open@^8.4.0: +open@8.4.0, open@^8.4.0: version "8.4.0" resolved "https://registry.yarnpkg.com/open/-/open-8.4.0.tgz#345321ae18f8138f82565a910fdc6b39e8c244f8" integrity sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q== @@ -14928,7 +15189,7 @@ opener@^1.5.2: resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== -opn@^5.3.0, opn@^5.5.0: +opn@^5.5.0: version "5.5.0" resolved "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc" integrity sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA== @@ -14974,7 +15235,7 @@ ora@5.4.0: strip-ansi "^6.0.0" wcwidth "^1.0.1" -ora@^5.3.0, ora@^5.4.0, ora@^5.4.1: +ora@5.4.1, ora@^5.3.0, ora@^5.4.0, ora@^5.4.1: version "5.4.1" resolved "https://registry.yarnpkg.com/ora/-/ora-5.4.1.tgz#1b2678426af4ac4a509008e5e4ac9e9959db9e18" integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== @@ -15465,7 +15726,7 @@ path-to-regexp@0.1.7: resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== -path-to-regexp@^1.1.1, path-to-regexp@^1.7.0: +path-to-regexp@^1.7.0: version "1.8.0" resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.8.0.tgz#887b3ba9d84393e87a0a0b9f4cb756198b53548a" integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA== @@ -15477,6 +15738,11 @@ path-to-regexp@^3.1.0: resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-3.2.0.tgz#fa7877ecbc495c601907562222453c43cc204a5f" integrity sha512-jczvQbCUS7XmS7o+y1aEO9OBVFeZBQ1MDSEqmO7xSoPgOPoowY/SxLpZ6Vh97/8qHZOteiCKb7gkG9gA2ZUxJA== +path-to-regexp@^6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-6.2.1.tgz#d54934d6798eb9e5ef14e7af7962c945906918e5" + integrity sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw== + path-type@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" @@ -16502,7 +16768,7 @@ qs@6.10.1: dependencies: side-channel "^1.0.4" -qs@6.11.0, qs@^6.10.1, qs@^6.10.2, qs@^6.4.0, qs@^6.5.2, qs@^6.9.4, qs@^6.9.6: +qs@6.11.0, qs@^6.10.2, qs@^6.4.0, qs@^6.5.2, qs@^6.9.4, qs@^6.9.6: version "6.11.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== @@ -17483,6 +17749,13 @@ resolve-alpn@^1.0.0: resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== +resolve-cwd@3.0.0, resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== + dependencies: + resolve-from "^5.0.0" + resolve-cwd@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" @@ -17490,13 +17763,6 @@ resolve-cwd@^2.0.0: dependencies: resolve-from "^3.0.0" -resolve-cwd@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" - integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== - dependencies: - resolve-from "^5.0.0" - resolve-dir@^1.0.0, resolve-dir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" @@ -17638,6 +17904,11 @@ rimraf@3.0.2, rimraf@^3.0.0, rimraf@^3.0.2: dependencies: glob "^7.1.3" +rimraf@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-4.1.0.tgz#c503e3b75b0da4e276846b45cace9a93d16a4903" + integrity sha512-ZJdkUR5/dRrRJHdcSKJLrpRn6tVjl9ALxd4yrTCxFsMpjQNzwHF6GLqMsuEzEYIXxHlFPDSk21Vr8VPuFBEz0g== + ripemd160@^2.0.0, ripemd160@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" @@ -17867,11 +18138,6 @@ saslprep@^1.0.3: dependencies: sparse-bitfield "^3.0.3" -sax@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a" - integrity sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA== - sax@>=0.6.0, sax@^1.2.4, sax@~1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" @@ -19908,11 +20174,6 @@ uri-js@^4.2.2: dependencies: punycode "^2.1.0" -urijs@^1.19.0: - version "1.19.11" - resolved "https://registry.yarnpkg.com/urijs/-/urijs-1.19.11.tgz#204b0d6b605ae80bea54bea39280cdb7c9f923cc" - integrity sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ== - urix@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" @@ -19935,14 +20196,6 @@ url-parse@^1.5.10, url-parse@^1.5.3: querystringify "^2.1.1" requires-port "^1.0.0" -url@0.10.3: - version "0.10.3" - resolved "https://registry.yarnpkg.com/url/-/url-0.10.3.tgz#021e4d9c7705f21bbf37d03ceb58767402774c64" - integrity sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ== - dependencies: - punycode "1.3.2" - querystring "0.2.0" - url@^0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" @@ -20014,11 +20267,6 @@ utils-merge@1.0.1, utils-merge@^1.0.1: resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== -uuid@3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" - integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== - uuid@^3.1.0, uuid@^3.2.1, uuid@^3.3.2: version "3.4.0" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" @@ -20626,14 +20874,6 @@ xml-name-validator@^4.0.0: resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz#79a006e2e63149a8600f15430f0a4725d1524835" integrity sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw== -xml2js@0.4.19: - version "0.4.19" - resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7" - integrity sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q== - dependencies: - sax ">=0.6.0" - xmlbuilder "~9.0.1" - xml2js@^0.4.19: version "0.4.23" resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.23.tgz#a0c69516752421eb2ac758ee4d4ccf58843eac66" @@ -20647,11 +20887,6 @@ xmlbuilder@~11.0.0: resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3" integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA== -xmlbuilder@~9.0.1: - version "9.0.7" - resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d" - integrity sha512-7YXTQc3P2l9+0rjaUbLwMKRhtmwg1M1eDf6nag7urC7pIPYLD9W/jmzQ4ptRSUbodw5S0jfoGTflLemQibSpeQ== - xmlchars@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb"