feat(nest): support nest 8 (#6284)

* feat(nest): support nest 8

* feat(nest): update migration and generation logic

* feat(nest): updated according feedback

* feat(nest): fix migration issues

* feat(nest): final changes according feedback

Co-authored-by: Chau Tran <nartc7789@gmail.com>

* fix(nest): log info to install packages install running installPackageTask

Co-authored-by: Chau Tran <nartc7789@gmail.com>
This commit is contained in:
Gustavo Perdomo 2021-11-04 18:48:38 -03:00 committed by GitHub
parent ed28e7d53a
commit e960285769
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
15 changed files with 374 additions and 137 deletions

View File

@ -261,11 +261,11 @@ describe('Build Node apps', () => {
expect(packageJson).toEqual( expect(packageJson).toEqual(
expect.objectContaining({ expect.objectContaining({
dependencies: { dependencies: {
'@nestjs/common': '^7.0.0', '@nestjs/common': '^8.0.0',
'@nestjs/core': '^7.0.0', '@nestjs/core': '^8.0.0',
'@nestjs/platform-express': '^7.0.0', '@nestjs/platform-express': '^8.0.0',
'reflect-metadata': '^0.1.13', 'reflect-metadata': '^0.1.13',
rxjs: '~6.6.3', rxjs: '^7.0.0',
}, },
main: 'main.js', main: 'main.js',
name: expect.any(String), name: expect.any(String),

View File

@ -48,12 +48,12 @@
"@angular/upgrade": "^12.2.0", "@angular/upgrade": "^12.2.0",
"@babel/helper-create-regexp-features-plugin": "^7.14.5", "@babel/helper-create-regexp-features-plugin": "^7.14.5",
"@cypress/webpack-preprocessor": "^5.9.1", "@cypress/webpack-preprocessor": "^5.9.1",
"@nestjs/common": "^7.0.0", "@nestjs/common": "^8.0.0",
"@nestjs/core": "^7.0.0", "@nestjs/core": "^8.0.0",
"@nestjs/platform-express": "^7.0.0", "@nestjs/platform-express": "^8.0.0",
"@nestjs/schematics": "^7.0.0", "@nestjs/schematics": "^8.0.0",
"@nestjs/swagger": "^4.8.2", "@nestjs/swagger": "^5.0.9",
"@nestjs/testing": "^7.0.0", "@nestjs/testing": "^8.0.0",
"@ngrx/component-store": "12.5.0", "@ngrx/component-store": "12.5.0",
"@ngrx/effects": "12.5.0", "@ngrx/effects": "12.5.0",
"@ngrx/entity": "12.5.0", "@ngrx/entity": "12.5.0",

View File

@ -9,6 +9,12 @@
"version": "10.0.0-beta.1", "version": "10.0.0-beta.1",
"description": "Update Nest.js libraries", "description": "Update Nest.js libraries",
"factory": "./src/migrations/update-10-0-0/update-10-0-0" "factory": "./src/migrations/update-10-0-0/update-10-0-0"
},
"update-to-nest-8": {
"cli": "nx",
"version": "13.2.0-beta.0",
"description": "Update Nest.js libraries",
"factory": "./src/migrations/update-13-2-0/update-to-nest-8"
} }
}, },
"packageJsonUpdates": { "packageJsonUpdates": {

View File

@ -33,6 +33,6 @@
"@nrwl/linter": "*", "@nrwl/linter": "*",
"@nrwl/node": "*", "@nrwl/node": "*",
"@nrwl/jest": "*", "@nrwl/jest": "*",
"@nestjs/schematics": "^7.0.0" "@nestjs/schematics": "^8.0.0"
} }
} }

View File

@ -1,6 +1,15 @@
import { applicationGenerator as angularApplicationGenerator } from '@nrwl/angular/src/generators/application/application';
import type { Tree } from '@nrwl/devkit'; import type { Tree } from '@nrwl/devkit';
import * as devkit from '@nrwl/devkit'; import * as devkit from '@nrwl/devkit';
import { createTreeWithEmptyWorkspace } from '@nrwl/devkit/testing'; import { createTreeWithEmptyWorkspace } from '@nrwl/devkit/testing';
import * as semver from 'semver';
import {
nestJsSchematicsVersion,
nestJsVersion7,
nestJsVersion8,
rxjsVersion6,
rxjsVersion7,
} from '../../utils/versions';
import { applicationGenerator } from './application'; import { applicationGenerator } from './application';
describe('application generator', () => { describe('application generator', () => {
@ -62,4 +71,68 @@ describe('application generator', () => {
expect(devkit.formatFiles).not.toHaveBeenCalled(); expect(devkit.formatFiles).not.toHaveBeenCalled();
}); });
}); });
describe('NestJS versions', () => {
it('should use NestJs 8 for empty workspace', async () => {
await applicationGenerator(tree, { name: appName });
const pkg = devkit.readJson(tree, `package.json`);
expect(pkg.dependencies['rxjs']).toBe(rxjsVersion7);
expect(pkg.dependencies['@nestjs/common']).toBe(nestJsVersion8);
expect(pkg.devDependencies['@nestjs/schematics']).toBe(
nestJsSchematicsVersion
);
});
it(`should use NestJs 8 for Angular + RxJS 7 (${rxjsVersion7}) workspace`, async () => {
await angularApplicationGenerator(tree, { name: 'angular-app' });
let pkg = devkit.readJson(tree, 'package.json');
pkg.dependencies['rxjs'] = rxjsVersion7;
tree.write('package.json', JSON.stringify(pkg));
await applicationGenerator(tree, { name: appName });
pkg = devkit.readJson(tree, 'package.json');
expect(pkg.dependencies['rxjs']).toBe(rxjsVersion7);
expect(pkg.dependencies['@nestjs/common']).toBe(nestJsVersion8);
expect(pkg.devDependencies['@nestjs/schematics']).toBe(
nestJsSchematicsVersion
);
});
it('should use NestJs 8 for Angular + RxJS 7 (7.4.0) workspace', async () => {
await angularApplicationGenerator(tree, { name: 'angular-app' });
let pkg = devkit.readJson(tree, 'package.json');
pkg.dependencies['rxjs'] = '~7.4.0';
tree.write('package.json', JSON.stringify(pkg));
await applicationGenerator(tree, { name: appName });
pkg = devkit.readJson(tree, 'package.json');
expect(pkg.dependencies['rxjs']).toBe('~7.4.0');
expect(pkg.dependencies['@nestjs/common']).toBe(nestJsVersion8);
expect(pkg.devDependencies['@nestjs/schematics']).toBe(
nestJsSchematicsVersion
);
});
it('should use NestJs 7 for Angular + RxJS 6 workspace', async () => {
await angularApplicationGenerator(tree, { name: 'angular-app' });
await applicationGenerator(tree, { name: appName });
const pkg = devkit.readJson(tree, `package.json`);
expect(semver.minVersion(pkg.dependencies['rxjs']).major).toBe(
semver.minVersion(rxjsVersion6).major
);
expect(pkg.dependencies['@nestjs/common']).toBe(nestJsVersion7);
expect(pkg.devDependencies['@nestjs/schematics']).toBe(
nestJsSchematicsVersion
);
});
});
}); });

View File

@ -13,9 +13,8 @@ async function bootstrap() {
const globalPrefix = 'api'; const globalPrefix = 'api';
app.setGlobalPrefix(globalPrefix); app.setGlobalPrefix(globalPrefix);
const port = process.env.PORT || 3333; const port = process.env.PORT || 3333;
await app.listen(port, () => { await app.listen(port);
Logger.log('Listening at http://localhost:' + port + '/' + globalPrefix); Logger.log(`🚀 Application is running on: http://localhost:${port}/${globalPrefix}`);
});
} }
bootstrap(); bootstrap();

View File

@ -3,7 +3,7 @@ import * as devkit from '@nrwl/devkit';
import { createTreeWithEmptyWorkspace } from '@nrwl/devkit/testing'; import { createTreeWithEmptyWorkspace } from '@nrwl/devkit/testing';
import { import {
nestJsSchematicsVersion, nestJsSchematicsVersion,
nestJsVersion, nestJsVersion8,
nxVersion, nxVersion,
} from '../../utils/versions'; } from '../../utils/versions';
import { initGenerator } from './init'; import { initGenerator } from './init';
@ -20,10 +20,10 @@ describe('init generator', () => {
await initGenerator(tree, {}); await initGenerator(tree, {});
const packageJson = devkit.readJson(tree, 'package.json'); const packageJson = devkit.readJson(tree, 'package.json');
expect(packageJson.dependencies['@nestjs/common']).toBe(nestJsVersion); expect(packageJson.dependencies['@nestjs/common']).toBe(nestJsVersion8);
expect(packageJson.dependencies['@nestjs/core']).toBe(nestJsVersion); expect(packageJson.dependencies['@nestjs/core']).toBe(nestJsVersion8);
expect(packageJson.dependencies['@nestjs/platform-express']).toBe( expect(packageJson.dependencies['@nestjs/platform-express']).toBe(
nestJsVersion nestJsVersion8
); );
expect(packageJson.dependencies['reflect-metadata']).toBeDefined(); expect(packageJson.dependencies['reflect-metadata']).toBeDefined();
expect(packageJson.dependencies['rxjs']).toBeDefined(); expect(packageJson.dependencies['rxjs']).toBeDefined();
@ -32,7 +32,7 @@ describe('init generator', () => {
expect(packageJson.devDependencies['@nestjs/schematics']).toBe( expect(packageJson.devDependencies['@nestjs/schematics']).toBe(
nestJsSchematicsVersion nestJsSchematicsVersion
); );
expect(packageJson.devDependencies['@nestjs/testing']).toBe(nestJsVersion); expect(packageJson.devDependencies['@nestjs/testing']).toBe(nestJsVersion8);
expect(packageJson.devDependencies['@nrwl/nest']).toBe(nxVersion); expect(packageJson.devDependencies['@nrwl/nest']).toBe(nxVersion);
}); });

View File

@ -1,27 +1,52 @@
import type { GeneratorCallback, Tree } from '@nrwl/devkit'; import type { GeneratorCallback, Tree } from '@nrwl/devkit';
import { addDependenciesToPackageJson } from '@nrwl/devkit'; import { addDependenciesToPackageJson, readJson } from '@nrwl/devkit';
import { satisfies } from 'semver';
import { import {
nestJsSchematicsVersion, nestJsSchematicsVersion,
nestJsVersion, nestJsVersion7,
nestJsVersion8,
nxVersion, nxVersion,
reflectMetadataVersion, reflectMetadataVersion,
rxjsVersion, rxjsVersion6,
rxjsVersion7,
} from '../../../utils/versions'; } from '../../../utils/versions';
export function addDependencies(tree: Tree): GeneratorCallback { export function addDependencies(tree: Tree): GeneratorCallback {
// Old nest 7 and rxjs 6 by default
let NEST_VERSION = nestJsVersion7;
let RXJS = rxjsVersion6;
const packageJson = readJson(tree, 'package.json');
if (packageJson.dependencies['@angular/core']) {
let rxjs = packageJson.dependencies['rxjs'];
if (rxjs.startsWith('~') || rxjs.startsWith('^')) {
rxjs = rxjs.substring(1);
}
if (satisfies(rxjs, rxjsVersion7)) {
NEST_VERSION = nestJsVersion8;
RXJS = packageJson.dependencies['rxjs'];
}
} else {
NEST_VERSION = nestJsVersion8;
RXJS = rxjsVersion7;
}
return addDependenciesToPackageJson( return addDependenciesToPackageJson(
tree, tree,
{ {
'@nestjs/common': nestJsVersion, '@nestjs/common': NEST_VERSION,
'@nestjs/core': nestJsVersion, '@nestjs/core': NEST_VERSION,
'@nestjs/platform-express': nestJsVersion, '@nestjs/platform-express': NEST_VERSION,
'reflect-metadata': reflectMetadataVersion, 'reflect-metadata': reflectMetadataVersion,
rxjs: rxjsVersion, rxjs: RXJS,
tslib: '^2.0.0', tslib: '^2.0.0',
}, },
{ {
'@nestjs/schematics': nestJsSchematicsVersion, '@nestjs/schematics': nestJsSchematicsVersion,
'@nestjs/testing': nestJsVersion, '@nestjs/testing': NEST_VERSION,
'@nrwl/nest': nxVersion, '@nrwl/nest': nxVersion,
} }
); );

View File

@ -14,8 +14,6 @@ import { ReplaceChange } from '@nrwl/workspace/src/utils/ast-utils';
import { join, relative } from 'path'; import { join, relative } from 'path';
import { import {
createSourceFile, createSourceFile,
isDecorator,
isImportClause,
isImportDeclaration, isImportDeclaration,
isStringLiteral, isStringLiteral,
ScriptTarget, ScriptTarget,

View File

@ -0,0 +1,86 @@
import { formatFiles, logger, readJson, Tree, updateJson } from '@nrwl/devkit';
import { sortObjectByKeys } from '@nrwl/tao/src/utils/object-sort';
import { checkAndCleanWithSemver } from '@nrwl/workspace';
import { satisfies } from 'semver';
import {
nestJsSchematicsVersion,
nestJsVersion8,
rxjsVersion7,
} from '../../utils/versions';
export default async function update(tree: Tree) {
const shouldUpdate = await isUpdatable(tree);
if (!shouldUpdate) {
return;
}
updateVersion(tree);
await formatFiles(tree);
return (): void => {
logger.info(
'Please make sure to run npm install or yarn install to get the latest packages added by this migration'
);
};
}
async function isUpdatable(tree: Tree) {
const json = readJson(tree, 'package.json');
if (json.dependencies['@angular/core']) {
const rxjs = checkAndCleanWithSemver('rxjs', json.dependencies['rxjs']);
if (satisfies(rxjs, rxjsVersion7)) {
return true;
}
const { Confirm } = require('enquirer');
const prompt = new Confirm({
name: 'question',
message: 'Do you want to update to RxJS 7 + Nest 8?',
initial: true,
});
return await prompt.run();
}
return true;
}
function updateVersion(tree: Tree) {
updateJson(tree, 'package.json', (json) => {
json.dependencies = json.dependencies || {};
json.devDependencies = json.devDependencies || {};
const rxjs = checkAndCleanWithSemver('rxjs', json.dependencies['rxjs']);
json.dependencies = {
...json.dependencies,
'@nestjs/common': nestJsVersion8,
'@nestjs/core': nestJsVersion8,
rxjs: satisfies(rxjs, rxjsVersion7)
? json.dependencies['rxjs']
: rxjsVersion7,
};
if (json.dependencies['@nestjs/platform-express']) {
json.dependencies['@nestjs/platform-express'] = nestJsVersion8;
}
if (json.dependencies['@nestjs/platform-fastify']) {
json.dependencies['@nestjs/platform-fastify'] = nestJsVersion8;
}
json.devDependencies = {
...json.devDependencies,
'@nestjs/schematics': nestJsSchematicsVersion,
'@nestjs/testing': nestJsVersion8,
};
json.dependencies = sortObjectByKeys(json.dependencies);
json.devDependencies = sortObjectByKeys(json.devDependencies);
return json;
});
}

View File

@ -1,8 +1,11 @@
export const nxVersion = '*'; export const nxVersion = '*';
export const nestJsVersion = '^7.0.0'; export const nestJsVersion7 = '^7.0.0';
export const nestJsSchematicsVersion = '^7.0.0'; export const nestJsVersion8 = '^8.0.0';
export const rxjsVersion = '~6.6.3'; export const nestJsSchematicsVersion = '^8.0.0';
export const rxjsVersion6 = '~6.6.3';
export const rxjsVersion7 = '^7.0.0';
export const reflectMetadataVersion = '^0.1.13'; export const reflectMetadataVersion = '^0.1.13';

View File

@ -25,6 +25,7 @@ export {
readWorkspaceJson, readWorkspaceJson,
readNxJson, readNxJson,
readWorkspaceConfig, readWorkspaceConfig,
readPackageJson,
} from './src/core/file-utils'; } from './src/core/file-utils';
export { ProjectGraphCache } from './src/core/nx-deps/nx-deps-cache'; export { ProjectGraphCache } from './src/core/nx-deps/nx-deps-cache';
export { export {

View File

@ -37,6 +37,8 @@ function check() {
'packages/workspace/src/migrations/update-8-3-0/update-ng-cli-8-1.ts', 'packages/workspace/src/migrations/update-8-3-0/update-ng-cli-8-1.ts',
'packages/workspace/src/migrations/update-8-12-0/update-package-json-deps.spec.ts', 'packages/workspace/src/migrations/update-8-12-0/update-package-json-deps.spec.ts',
'packages/workspace/src/tasks-runner/task-orchestrator.ts', 'packages/workspace/src/tasks-runner/task-orchestrator.ts',
'packages/nest/src/generators/init/lib/add-dependencies.ts',
'packages/nest/src/migrations/update-13-2-0/update-to-nest-8.ts',
]; ];
const files = [ const files = [

View File

@ -104,6 +104,7 @@ const IGNORE_MATCHES = {
'webpack', 'webpack',
'webpack-dev-server', 'webpack-dev-server',
], ],
nest: ['semver'],
}; };
export default async function getMissingDependencies( export default async function getMissingDependencies(

253
yarn.lock
View File

@ -214,15 +214,16 @@
"@angular-devkit/architect" "0.1202.2" "@angular-devkit/architect" "0.1202.2"
rxjs "6.6.7" rxjs "6.6.7"
"@angular-devkit/core@11.2.3": "@angular-devkit/core@12.0.5":
version "11.2.3" version "12.0.5"
resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-11.2.3.tgz#322fb08f4e2683a37bd08edecb04ddafa42865d9" resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-12.0.5.tgz#3d02abd97684434f6e1ffee470b7a9c63987ae51"
integrity sha512-2JEGXzFqjTqVls2uIZEE0sk4VY9a/alxBAq8BFYIVbvzKsL9gAY71Ztf21zrhQrZop9qeuLJtOAbp00QyYUaQA== integrity sha512-zVSQV+8/vjUjsUKGlj8Kf5LioA6AXJTGI0yhHW9q1dFX4dPpbW63k0R1UoIB2wJ0F/AbYVgpnPGPe9BBm2fvZA==
dependencies: dependencies:
ajv "6.12.6" ajv "8.2.0"
ajv-formats "2.0.2"
fast-json-stable-stringify "2.1.0" fast-json-stable-stringify "2.1.0"
magic-string "0.25.7" magic-string "0.25.7"
rxjs "6.6.3" rxjs "6.6.7"
source-map "0.7.3" source-map "0.7.3"
"@angular-devkit/core@12.2.2", "@angular-devkit/core@~12.2.0": "@angular-devkit/core@12.2.2", "@angular-devkit/core@~12.2.0":
@ -237,14 +238,14 @@
rxjs "6.6.7" rxjs "6.6.7"
source-map "0.7.3" source-map "0.7.3"
"@angular-devkit/schematics@11.2.3": "@angular-devkit/schematics@12.0.5":
version "11.2.3" version "12.0.5"
resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-11.2.3.tgz#4f156ff2f723ad5b24a709bf97fe676c9753a544" resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-12.0.5.tgz#db099b6cba1cadf064b87fd675857f6eba167b2a"
integrity sha512-x/IKgZDn6z/MzQ28WF2GTP2N+n78iySQhLu6n6bpmdrFp9noi9QASzN+mAFiqSNO8XpO9oyIB5y2ERl8KBrU1g== integrity sha512-iW3XuDHScr3TXuunlEjF5O01zBpwpLgfr1oEny8PvseFGDlHK4Nj8zNIoIn3Yg936aiFO4GJAC/UXsT8g5vKxQ==
dependencies: dependencies:
"@angular-devkit/core" "11.2.3" "@angular-devkit/core" "12.0.5"
ora "5.3.0" ora "5.4.0"
rxjs "6.6.3" rxjs "6.6.7"
"@angular-devkit/schematics@12.2.2", "@angular-devkit/schematics@~12.2.0": "@angular-devkit/schematics@12.2.2", "@angular-devkit/schematics@~12.2.0":
version "12.2.2" version "12.2.2"
@ -3953,72 +3954,72 @@
resolved "https://registry.yarnpkg.com/@napi-rs/triples/-/triples-1.0.3.tgz#76d6d0c3f4d16013c61e45dfca5ff1e6c31ae53c" resolved "https://registry.yarnpkg.com/@napi-rs/triples/-/triples-1.0.3.tgz#76d6d0c3f4d16013c61e45dfca5ff1e6c31ae53c"
integrity sha512-jDJTpta+P4p1NZTFVLHJ/TLFVYVcOqv6l8xwOeBKNPMgY/zDYH/YH7SJbvrr/h1RcS9GzbPcLKGzpuK9cV56UA== integrity sha512-jDJTpta+P4p1NZTFVLHJ/TLFVYVcOqv6l8xwOeBKNPMgY/zDYH/YH7SJbvrr/h1RcS9GzbPcLKGzpuK9cV56UA==
"@nestjs/common@^7.0.0": "@nestjs/common@^8.0.0":
version "7.6.14" version "8.0.9"
resolved "https://registry.yarnpkg.com/@nestjs/common/-/common-7.6.14.tgz#abdad360ef107482345b111eeee74fbef00620c9" resolved "https://registry.yarnpkg.com/@nestjs/common/-/common-8.0.9.tgz#1db4f1d3970ffdce62a9234bfe5ab9aa8a75bc44"
integrity sha512-XJrGoGttCsIOvG2+EXl09pl9iCmYXnhPjx3ndPPigMRdXQGLVpF38OdzroWTD7aYU5rHo3Co21G9cYl8aqdt2Q== integrity sha512-Y3DQxOD57suyvMURpgqX0IBFliMZZNvp1bhvjzjU376Igh33NIz18xhxV9EKe+F0EHHawyM3cv1ZEGYi0yGrtQ==
dependencies: dependencies:
axios "0.21.1" axios "0.21.4"
iterare "1.2.1" iterare "1.2.1"
tslib "2.1.0" tslib "2.3.1"
uuid "8.3.2" uuid "8.3.2"
"@nestjs/core@^7.0.0": "@nestjs/core@^8.0.0":
version "7.6.14" version "8.0.9"
resolved "https://registry.yarnpkg.com/@nestjs/core/-/core-7.6.14.tgz#b3be15506aee33b847abce993a7371439b292dd9" resolved "https://registry.yarnpkg.com/@nestjs/core/-/core-8.0.9.tgz#49e27b726ec6cd12474d18cd8cafd9e44761468d"
integrity sha512-iAeQIsC79xcLTpga3he48ROX4g561VFsfbksicqotrFy0k9czKxVtHxevsnwo8KzFsYXQqOCO6XYI8MsuAjMcg== integrity sha512-Q8bge+yuFzcuW9iY5fiMz3gydyB3D25dO9/YFGEtHexw2ipQA1QCt94XfIxGqFe1C07k5IDSK/C/l+R33CHrGg==
dependencies: dependencies:
"@nuxtjs/opencollective" "0.3.2" "@nuxtjs/opencollective" "0.3.2"
fast-safe-stringify "2.0.7" fast-safe-stringify "2.1.1"
iterare "1.2.1" iterare "1.2.1"
object-hash "2.1.1" object-hash "2.2.0"
path-to-regexp "3.2.0" path-to-regexp "3.2.0"
tslib "2.1.0" tslib "2.3.1"
uuid "8.3.2" uuid "8.3.2"
"@nestjs/mapped-types@0.4.1": "@nestjs/mapped-types@1.0.0":
version "0.4.1" version "1.0.0"
resolved "https://registry.yarnpkg.com/@nestjs/mapped-types/-/mapped-types-0.4.1.tgz#e7fe038f0bdda7b8f858fa79ca8516b8f9069b1a" resolved "https://registry.yarnpkg.com/@nestjs/mapped-types/-/mapped-types-1.0.0.tgz#52a0441795f6da8144a35970d3ebc19281f31cfd"
integrity sha512-JXrw2LMangSU3vnaXWXVX47GRG1FbbNh4aVBbidDjxT3zlghsoNQY6qyWtT001MCl8lJGo8I6i6+DurBRRxl/Q== integrity sha512-26AW5jHadLXtvHs+M+Agd9KZ92dDlBrmD0rORlBlvn2KvsWs4JRaKl2mUsrW7YsdZeAu3Hc4ukqyYyDdyCmMWQ==
"@nestjs/platform-express@^7.0.0": "@nestjs/platform-express@^8.0.0":
version "7.6.14" version "8.0.9"
resolved "https://registry.yarnpkg.com/@nestjs/platform-express/-/platform-express-7.6.14.tgz#b16de114421492b719d924a8abf408071c75898e" resolved "https://registry.yarnpkg.com/@nestjs/platform-express/-/platform-express-8.0.9.tgz#ebcec131a34f122db805a87921114968ba872385"
integrity sha512-0e+byDx6Ak3avSkhMlZfs65vqzjqn/kdpR6EdtifIpIsJWYo0ZapbCNBqyQ2RLFq/IBjP6Y9nWO6HNSOOM60Kw== integrity sha512-J21FqDZytpMh3NeZFDrBqn8rhcLbySVUNdCqhgFkSPnNCzTDyogbUKDMCIDCo5Y/114T3GFFR+cFbp9aabRd7Q==
dependencies: dependencies:
body-parser "1.19.0" body-parser "1.19.0"
cors "2.8.5" cors "2.8.5"
express "4.17.1" express "4.17.1"
multer "1.4.2" multer "1.4.3"
tslib "2.1.0" tslib "2.3.1"
"@nestjs/schematics@^7.0.0": "@nestjs/schematics@^8.0.0":
version "7.3.0" version "8.0.3"
resolved "https://registry.yarnpkg.com/@nestjs/schematics/-/schematics-7.3.0.tgz#e92d820948f73c77a30e51b06db42e9d2a3699a4" resolved "https://registry.yarnpkg.com/@nestjs/schematics/-/schematics-8.0.3.tgz#b2247e6f5e8dd38e67969a662437f61b48841456"
integrity sha512-yBlg3HV944CbbrXKFMZWs9KkMjIeBLcbgetZOjaiY2AUljwF4PyNoTbV6ulHLyt6ws9mMTPBYiEoF+7V05Lmcg== integrity sha512-A5qyS9yv6v2RIBqbsyYG57NfYA8Jm/aypRV1nc7JXjhdfDHwWKqCsgQ/7/82vVjhlvVAfr5x/dpCWqcF3XYd7w==
dependencies: dependencies:
"@angular-devkit/core" "11.2.3" "@angular-devkit/core" "12.0.5"
"@angular-devkit/schematics" "11.2.3" "@angular-devkit/schematics" "12.0.5"
fs-extra "9.1.0" fs-extra "10.0.0"
jsonc-parser "3.0.0" jsonc-parser "3.0.0"
pluralize "8.0.0" pluralize "8.0.0"
"@nestjs/swagger@^4.8.2": "@nestjs/swagger@^5.0.9":
version "4.8.2" version "5.1.0"
resolved "https://registry.yarnpkg.com/@nestjs/swagger/-/swagger-4.8.2.tgz#0a0b3ca1b25146e797ca77addd9fa97f82406c1c" resolved "https://registry.yarnpkg.com/@nestjs/swagger/-/swagger-5.1.0.tgz#dddce4fca002a008d3b996d845a57c6c7be993bd"
integrity sha512-RSUwcVxrzXF7/b/IZ5lXnYHJ6jIGS9wWRTJKIt1kIaCNWT+0wRfTlAyhQkzs2g35/PTXJEcdIwwY7mBO/bwHzw== integrity sha512-+/Edyzkh3n9Kkw72zzRDHF1ZWK1PlvkkM9lK9fjYaiMjEZ3oaCiSjdwd88vAVX6UIP0nvQkT5VNpSLYU+GK5yg==
dependencies: dependencies:
"@nestjs/mapped-types" "0.4.1" "@nestjs/mapped-types" "1.0.0"
lodash "4.17.21" lodash "4.17.21"
path-to-regexp "3.2.0" path-to-regexp "3.2.0"
"@nestjs/testing@^7.0.0": "@nestjs/testing@^8.0.0":
version "7.6.14" version "8.0.9"
resolved "https://registry.yarnpkg.com/@nestjs/testing/-/testing-7.6.14.tgz#b1093250157a54fe6b27ec164bdbdc0d26dcd841" resolved "https://registry.yarnpkg.com/@nestjs/testing/-/testing-8.0.9.tgz#46a5770fbed19766d0230cc5d8fa3d8746c9befa"
integrity sha512-sHOPsmzCPQUlQtfpH5WK+eILk8lRMdr/k3MrkuprS9Y1O4wmPt81ohspvsCXxLQ4U65i6cYR9y/C2uefvnx4rg== integrity sha512-idFhNESD90jUjDfvePgUS5uJzSXEYRhA8xfpv3snWMr3/4ouR5m+o7Wb3Zr+kDbU0Pi+SemKDLv9QoFWatHDeA==
dependencies: dependencies:
optional "0.1.4" optional "0.1.4"
tslib "2.1.0" tslib "2.3.1"
"@next/env@12.0.0": "@next/env@12.0.0":
version "12.0.0" version "12.0.0"
@ -7310,6 +7311,13 @@ ajv-errors@^1.0.0:
resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d"
integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==
ajv-formats@2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.0.2.tgz#69875cb99d76c74be46e9c7a4444bc232354eba0"
integrity sha512-Brah4Uo5/U8v76c6euTwtjVFFaVishwnJrQBYpev1JRh4vjA1F4HY3UzQez41YUCszUCXKagG8v6eVRBHV1gkw==
dependencies:
ajv "^8.0.0"
ajv-formats@2.1.0: ajv-formats@2.1.0:
version "2.1.0" version "2.1.0"
resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.0.tgz#96eaf83e38d32108b66d82a9cb0cfa24886cdfeb" resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.0.tgz#96eaf83e38d32108b66d82a9cb0cfa24886cdfeb"
@ -7322,14 +7330,14 @@ ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2:
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d"
integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==
ajv@6.12.6, ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5: ajv@8.2.0:
version "6.12.6" version "8.2.0"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.2.0.tgz#c89d3380a784ce81b2085f48811c4c101df4c602"
integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== integrity sha512-WSNGFuyWd//XO8n/m/EaOlNLtO0yL8EXT/74LqT4khdhpZjP7lkj/kT5uwRmGitKEVp/Oj7ZUHeGfPtgHhQ5CA==
dependencies: dependencies:
fast-deep-equal "^3.1.1" fast-deep-equal "^3.1.1"
fast-json-stable-stringify "^2.0.0" json-schema-traverse "^1.0.0"
json-schema-traverse "^0.4.1" require-from-string "^2.0.2"
uri-js "^4.2.2" uri-js "^4.2.2"
ajv@8.6.2: ajv@8.6.2:
@ -7342,6 +7350,16 @@ ajv@8.6.2:
require-from-string "^2.0.2" require-from-string "^2.0.2"
uri-js "^4.2.2" uri-js "^4.2.2"
ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5:
version "6.12.6"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
dependencies:
fast-deep-equal "^3.1.1"
fast-json-stable-stringify "^2.0.0"
json-schema-traverse "^0.4.1"
uri-js "^4.2.2"
ajv@^8.0.0: ajv@^8.0.0:
version "8.3.0" version "8.3.0"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.3.0.tgz#25ee7348e32cdc4a1dbb38256bf6bdc451dd577c" resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.3.0.tgz#25ee7348e32cdc4a1dbb38256bf6bdc451dd577c"
@ -7902,7 +7920,14 @@ axe-core@^4.0.2:
resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.1.3.tgz#64a4c85509e0991f5168340edc4bedd1ceea6966" resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.1.3.tgz#64a4c85509e0991f5168340edc4bedd1ceea6966"
integrity sha512-vwPpH4Aj4122EW38mxO/fxhGKtwWTMLDIJfZ1He0Edbtjcfna/R3YB67yVhezUMzqc3Jr3+Ii50KRntlENL4xQ== integrity sha512-vwPpH4Aj4122EW38mxO/fxhGKtwWTMLDIJfZ1He0Edbtjcfna/R3YB67yVhezUMzqc3Jr3+Ii50KRntlENL4xQ==
axios@0.21.1, axios@^0.21.1: axios@0.21.4:
version "0.21.4"
resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575"
integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==
dependencies:
follow-redirects "^1.14.0"
axios@^0.21.1:
version "0.21.1" version "0.21.1"
resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.1.tgz#22563481962f4d6bde9a76d516ef0e5d3c09b2b8" resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.1.tgz#22563481962f4d6bde9a76d516ef0e5d3c09b2b8"
integrity sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA== integrity sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==
@ -12527,7 +12552,12 @@ fast-redact@^3.0.0:
resolved "https://registry.yarnpkg.com/fast-redact/-/fast-redact-3.0.1.tgz#d6015b971e933d03529b01333ba7f22c29961e92" resolved "https://registry.yarnpkg.com/fast-redact/-/fast-redact-3.0.1.tgz#d6015b971e933d03529b01333ba7f22c29961e92"
integrity sha512-kYpn4Y/valC9MdrISg47tZOpYBNoTXKgT9GYXFpHN/jYFs+lFkPoisY+LcBODdKVMY96ATzvzsWv+ES/4Kmufw== integrity sha512-kYpn4Y/valC9MdrISg47tZOpYBNoTXKgT9GYXFpHN/jYFs+lFkPoisY+LcBODdKVMY96ATzvzsWv+ES/4Kmufw==
fast-safe-stringify@2.0.7, fast-safe-stringify@^2.0.7: fast-safe-stringify@2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884"
integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==
fast-safe-stringify@^2.0.7:
version "2.0.7" version "2.0.7"
resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz#124aa885899261f68aedb42a7c080de9da608743" resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz#124aa885899261f68aedb42a7c080de9da608743"
integrity sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA== integrity sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==
@ -12817,6 +12847,11 @@ follow-redirects@^1.0.0, follow-redirects@^1.10.0:
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.13.3.tgz#e5598ad50174c1bc4e872301e82ac2cd97f90267" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.13.3.tgz#e5598ad50174c1bc4e872301e82ac2cd97f90267"
integrity sha512-DUgl6+HDzB0iEptNQEXLx/KhTmDb8tZUHSeLqpnjpknR70H0nC2t9N73BK6fN4hOvJ84pKlIQVQ4k5FFlBedKA== integrity sha512-DUgl6+HDzB0iEptNQEXLx/KhTmDb8tZUHSeLqpnjpknR70H0nC2t9N73BK6fN4hOvJ84pKlIQVQ4k5FFlBedKA==
follow-redirects@^1.14.0:
version "1.14.4"
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.4.tgz#838fdf48a8bbdd79e52ee51fb1c94e3ed98b9379"
integrity sha512-zwGkiSXC1MUJG/qmeIFH2HBJx9u0V46QGUe3YR1fXG8bXQxq7fLj0RjLZQ5nubr9qNJUZrH+xUcwXEoXNpfS+g==
for-in@^1.0.2: for-in@^1.0.2:
version "1.0.2" version "1.0.2"
resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
@ -12952,6 +12987,15 @@ fs-access@^1.0.0:
dependencies: dependencies:
null-check "^1.0.0" null-check "^1.0.0"
fs-extra@10.0.0, fs-extra@^10.0.0:
version "10.0.0"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.0.0.tgz#9ff61b655dde53fb34a82df84bb214ce802e17c1"
integrity sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==
dependencies:
graceful-fs "^4.2.0"
jsonfile "^6.0.1"
universalify "^2.0.0"
fs-extra@8.1.0, fs-extra@^8.1.0: fs-extra@8.1.0, fs-extra@^8.1.0:
version "8.1.0" version "8.1.0"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0"
@ -12961,16 +13005,6 @@ fs-extra@8.1.0, fs-extra@^8.1.0:
jsonfile "^4.0.0" jsonfile "^4.0.0"
universalify "^0.1.0" universalify "^0.1.0"
fs-extra@9.1.0, fs-extra@^9.0.0, fs-extra@^9.0.1, fs-extra@^9.1.0:
version "9.1.0"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d"
integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==
dependencies:
at-least-node "^1.0.0"
graceful-fs "^4.2.0"
jsonfile "^6.0.1"
universalify "^2.0.0"
fs-extra@^0.30.0: fs-extra@^0.30.0:
version "0.30.0" version "0.30.0"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.30.0.tgz#f233ffcc08d4da7d432daa449776989db1df93f0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.30.0.tgz#f233ffcc08d4da7d432daa449776989db1df93f0"
@ -12982,15 +13016,6 @@ fs-extra@^0.30.0:
path-is-absolute "^1.0.0" path-is-absolute "^1.0.0"
rimraf "^2.2.8" rimraf "^2.2.8"
fs-extra@^10.0.0:
version "10.0.0"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.0.0.tgz#9ff61b655dde53fb34a82df84bb214ce802e17c1"
integrity sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==
dependencies:
graceful-fs "^4.2.0"
jsonfile "^6.0.1"
universalify "^2.0.0"
fs-extra@^7.0.1: fs-extra@^7.0.1:
version "7.0.1" version "7.0.1"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9"
@ -13000,6 +13025,16 @@ fs-extra@^7.0.1:
jsonfile "^4.0.0" jsonfile "^4.0.0"
universalify "^0.1.0" universalify "^0.1.0"
fs-extra@^9.0.0, fs-extra@^9.0.1, fs-extra@^9.1.0:
version "9.1.0"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d"
integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==
dependencies:
at-least-node "^1.0.0"
graceful-fs "^4.2.0"
jsonfile "^6.0.1"
universalify "^2.0.0"
fs-minipass@^2.0.0, fs-minipass@^2.1.0: fs-minipass@^2.0.0, fs-minipass@^2.1.0:
version "2.1.0" version "2.1.0"
resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb"
@ -18102,7 +18137,7 @@ mkdirp@1.0.4, mkdirp@1.x, mkdirp@^1.0.3, mkdirp@^1.0.4, mkdirp@~1.0.4:
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
"mkdirp@>=0.5 0", mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5, mkdirp@~0.5.1: "mkdirp@>=0.5 0", mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.4, mkdirp@^0.5.5, mkdirp@~0.5.1:
version "0.5.5" version "0.5.5"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def"
integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==
@ -18156,15 +18191,15 @@ ms@^2.0.0, ms@^2.1.1:
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
multer@1.4.2: multer@1.4.3:
version "1.4.2" version "1.4.3"
resolved "https://registry.yarnpkg.com/multer/-/multer-1.4.2.tgz#2f1f4d12dbaeeba74cb37e623f234bf4d3d2057a" resolved "https://registry.yarnpkg.com/multer/-/multer-1.4.3.tgz#4db352d6992e028ac0eacf7be45c6efd0264297b"
integrity sha512-xY8pX7V+ybyUpbYMxtjM9KAiD9ixtg5/JkeKUTD6xilfDv0vzzOFcCp4Ljb1UU3tSOM3VTZtKo63OmzOrGi3Cg== integrity sha512-np0YLKncuZoTzufbkM6wEKp68EhWJXcU6fq6QqrSwkckd2LlMgd1UqhUJLj6NS/5sZ8dE8LYDWslsltJznnXlg==
dependencies: dependencies:
append-field "^1.0.0" append-field "^1.0.0"
busboy "^0.2.11" busboy "^0.2.11"
concat-stream "^1.5.2" concat-stream "^1.5.2"
mkdirp "^0.5.1" mkdirp "^0.5.4"
object-assign "^4.1.1" object-assign "^4.1.1"
on-finished "^2.3.0" on-finished "^2.3.0"
type-is "^1.6.4" type-is "^1.6.4"
@ -18853,12 +18888,7 @@ object-copy@^0.1.0:
define-property "^0.2.5" define-property "^0.2.5"
kind-of "^3.0.3" kind-of "^3.0.3"
object-hash@2.1.1: object-hash@2.2.0, object-hash@^2.2.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-2.1.1.tgz#9447d0279b4fcf80cff3259bf66a1dc73afabe09"
integrity sha512-VOJmgmS+7wvXf8CjbQmimtCnEx3IAoLxI3fp2fbWehxrWBcAQFbk+vcwb6vzR0VZv/eNCJ/27j151ZTwqW/JeQ==
object-hash@^2.2.0:
version "2.2.0" version "2.2.0"
resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-2.2.0.tgz#5ad518581eefc443bd763472b8ff2e9c2c0d54a5" resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-2.2.0.tgz#5ad518581eefc443bd763472b8ff2e9c2c0d54a5"
integrity sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw== integrity sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==
@ -19069,17 +19099,18 @@ optionator@^0.9.1:
type-check "^0.4.0" type-check "^0.4.0"
word-wrap "^1.2.3" word-wrap "^1.2.3"
ora@5.3.0, ora@^5.1.0: ora@5.4.0:
version "5.3.0" version "5.4.0"
resolved "https://registry.yarnpkg.com/ora/-/ora-5.3.0.tgz#fb832899d3a1372fe71c8b2c534bbfe74961bb6f" resolved "https://registry.yarnpkg.com/ora/-/ora-5.4.0.tgz#42eda4855835b9cd14d33864c97a3c95a3f56bf4"
integrity sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g== integrity sha512-1StwyXQGoU6gdjYkyVcqOLnVlbKj+6yPNNOxJVgpt9t4eksKjiriiHuxktLYkgllwk+D6MbC4ihH84L1udRXPg==
dependencies: dependencies:
bl "^4.0.3" bl "^4.1.0"
chalk "^4.1.0" chalk "^4.1.0"
cli-cursor "^3.1.0" cli-cursor "^3.1.0"
cli-spinners "^2.5.0" cli-spinners "^2.5.0"
is-interactive "^1.0.0" is-interactive "^1.0.0"
log-symbols "^4.0.0" is-unicode-supported "^0.1.0"
log-symbols "^4.1.0"
strip-ansi "^6.0.0" strip-ansi "^6.0.0"
wcwidth "^1.0.1" wcwidth "^1.0.1"
@ -19108,6 +19139,20 @@ ora@^1.3.0:
cli-spinners "^1.0.1" cli-spinners "^1.0.1"
log-symbols "^2.1.0" log-symbols "^2.1.0"
ora@^5.1.0:
version "5.3.0"
resolved "https://registry.yarnpkg.com/ora/-/ora-5.3.0.tgz#fb832899d3a1372fe71c8b2c534bbfe74961bb6f"
integrity sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==
dependencies:
bl "^4.0.3"
chalk "^4.1.0"
cli-cursor "^3.1.0"
cli-spinners "^2.5.0"
is-interactive "^1.0.0"
log-symbols "^4.0.0"
strip-ansi "^6.0.0"
wcwidth "^1.0.1"
original@^1.0.0: original@^1.0.0:
version "1.0.2" version "1.0.2"
resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f"
@ -22377,13 +22422,6 @@ rxjs@6.5.5:
dependencies: dependencies:
tslib "^1.9.0" tslib "^1.9.0"
rxjs@6.6.3:
version "6.6.3"
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.3.tgz#8ca84635c4daa900c0d3967a6ee7ac60271ee552"
integrity sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==
dependencies:
tslib "^1.9.0"
rxjs@6.6.7, rxjs@^6.5.0, rxjs@^6.6.7: rxjs@6.6.7, rxjs@^6.5.0, rxjs@^6.6.7:
version "6.6.7" version "6.6.7"
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9"
@ -24539,6 +24577,11 @@ tslib@2.3.0, tslib@^2.2.0:
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.0.tgz#803b8cdab3e12ba581a4ca41c8839bbb0dacb09e" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.0.tgz#803b8cdab3e12ba581a4ca41c8839bbb0dacb09e"
integrity sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg== integrity sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==
tslib@2.3.1:
version "2.3.1"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01"
integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==
tslib@^1.10.0, tslib@^1.13.0, tslib@^1.8.1, tslib@^1.9.0: tslib@^1.10.0, tslib@^1.13.0, tslib@^1.8.1, tslib@^1.9.0:
version "1.14.1" version "1.14.1"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"