chore: upgrade sequelize version to to latest (#1234)

* chore: upgrade sequelize version to to latest

* fix: type error

* chore: type ModelCtor to ModelStatic

* feat: update sequelize version of the map plugin

* chore: update lock

Co-authored-by: chenos <chenlinxh@gmail.com>
Co-authored-by: chareice <chareice@live.com>
This commit is contained in:
Dunqing 2022-12-24 16:30:01 +08:00 committed by GitHub
parent 6d1a4425f2
commit 07c373956c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
31 changed files with 95 additions and 92 deletions

View File

@ -46,7 +46,7 @@ db.collection({
| `options.name` | `string` | - | collection 标识 | | `options.name` | `string` | - | collection 标识 |
| `options.tableName?` | `string` | - | 数据库表名,如不传则使用 `options.name` 的值 | | `options.tableName?` | `string` | - | 数据库表名,如不传则使用 `options.name` 的值 |
| `options.fields?` | `FieldOptions[]` | - | 字段定义,详见 [Field](./field) | | `options.fields?` | `FieldOptions[]` | - | 字段定义,详见 [Field](./field) |
| `options.model?` | `string \| ModelCtor<Model>` | - | Sequelize 的 Model 类型,如果使用的是 `string`,则需要调用之前在 db 上注册过该模型名称 | | `options.model?` | `string \| ModelStatic<Model>` | - | Sequelize 的 Model 类型,如果使用的是 `string`,则需要调用之前在 db 上注册过该模型名称 |
| `options.repository?` | `string \| RepositoryType` | - | 数据仓库类型,如果使用 `string`,则需要调用之前在 db 上注册过该仓库类型 | | `options.repository?` | `string \| RepositoryType` | - | 数据仓库类型,如果使用 `string`,则需要调用之前在 db 上注册过该仓库类型 |
| `options.sortable?` | `string \| boolean \| { name?: string; scopeKey?: string }` | - | 数据可排序字段配置,默认不排序 | | `options.sortable?` | `string \| boolean \| { name?: string; scopeKey?: string }` | - | 数据可排序字段配置,默认不排序 |
| `options.autoGenId?` | `boolean` | `true` | 是否自动生成唯一主键,默认为 `true` | | `options.autoGenId?` | `boolean` | `true` | 是否自动生成唯一主键,默认为 `true` |

View File

@ -396,7 +396,7 @@ db.registerFieldTypes({
**签名** **签名**
* `registerModels(models: MapOf<ModelCtor<any>>): void` * `registerModels(models: MapOf<ModelStatic<any>>): void`
**参数** **参数**

View File

@ -46,7 +46,7 @@ db.collection({
| `options.name` | `string` | - | collection 标识 | | `options.name` | `string` | - | collection 标识 |
| `options.tableName?` | `string` | - | 数据库表名,如不传则使用 `options.name` 的值 | | `options.tableName?` | `string` | - | 数据库表名,如不传则使用 `options.name` 的值 |
| `options.fields?` | `FieldOptions[]` | - | 字段定义,详见 [Field](./field) | | `options.fields?` | `FieldOptions[]` | - | 字段定义,详见 [Field](./field) |
| `options.model?` | `string \| ModelCtor<Model>` | - | Sequelize 的 Model 类型,如果使用的是 `string`,则需要调用之前在 db 上注册过该模型名称 | | `options.model?` | `string \| ModelStatic<Model>` | - | Sequelize 的 Model 类型,如果使用的是 `string`,则需要调用之前在 db 上注册过该模型名称 |
| `options.repository?` | `string \| RepositoryType` | - | 数据仓库类型,如果使用 `string`,则需要调用之前在 db 上注册过该仓库类型 | | `options.repository?` | `string \| RepositoryType` | - | 数据仓库类型,如果使用 `string`,则需要调用之前在 db 上注册过该仓库类型 |
| `options.sortable?` | `string \| boolean \| { name?: string; scopeKey?: string }` | - | 数据可排序字段配置,默认不排序 | | `options.sortable?` | `string \| boolean \| { name?: string; scopeKey?: string }` | - | 数据可排序字段配置,默认不排序 |
| `options.autoGenId?` | `boolean` | `true` | 是否自动生成唯一主键,默认为 `true` | | `options.autoGenId?` | `boolean` | `true` | 是否自动生成唯一主键,默认为 `true` |

View File

@ -396,7 +396,7 @@ db.registerFieldTypes({
**签名** **签名**
* `registerModels(models: MapOf<ModelCtor<any>>): void` * `registerModels(models: MapOf<ModelStatic<any>>): void`
**参数** **参数**

View File

@ -21,7 +21,7 @@
"mathjs": "^10.6.1", "mathjs": "^10.6.1",
"moment": "2.x", "moment": "2.x",
"semver": "^7.3.7", "semver": "^7.3.7",
"sequelize": "^6.9.0", "sequelize": "^6.26.0",
"umzug": "^3.1.1" "umzug": "^3.1.1"
}, },
"devDependencies": { "devDependencies": {

View File

@ -2,11 +2,11 @@ import merge from 'deepmerge';
import { EventEmitter } from 'events'; import { EventEmitter } from 'events';
import { default as lodash, default as _ } from 'lodash'; import { default as lodash, default as _ } from 'lodash';
import { import {
ModelCtor,
ModelOptions, ModelOptions,
QueryInterfaceDropTableOptions, QueryInterfaceDropTableOptions,
SyncOptions, SyncOptions,
Transactionable, Transactionable,
ModelStatic,
Utils, Utils,
} from 'sequelize'; } from 'sequelize';
import { Database } from './database'; import { Database } from './database';
@ -25,7 +25,7 @@ export interface CollectionOptions extends Omit<ModelOptions, 'name' | 'hooks'>
inherits?: string[] | string; inherits?: string[] | string;
filterTargetKey?: string; filterTargetKey?: string;
fields?: FieldOptions[]; fields?: FieldOptions[];
model?: string | ModelCtor<Model>; model?: string | ModelStatic<Model>;
repository?: string | RepositoryType; repository?: string | RepositoryType;
sortable?: CollectionSortable; sortable?: CollectionSortable;
/** /**
@ -51,7 +51,7 @@ export class Collection<
context: CollectionContext; context: CollectionContext;
isThrough?: boolean; isThrough?: boolean;
fields: Map<string, any> = new Map<string, any>(); fields: Map<string, any> = new Map<string, any>();
model: ModelCtor<Model>; model: ModelStatic<Model>;
repository: Repository<TModelAttributes, TCreationAttributes>; repository: Repository<TModelAttributes, TCreationAttributes>;
get filterTargetKey() { get filterTargetKey() {
@ -109,7 +109,7 @@ export class Collection<
return; return;
} }
const { name, model, autoGenId = true } = this.options; const { name, model, autoGenId = true } = this.options;
let M: ModelCtor<Model> = Model; let M: ModelStatic<Model> = Model;
if (this.context.database.sequelize.isDefined(name)) { if (this.context.database.sequelize.isDefined(name)) {
const m = this.context.database.sequelize.model(name); const m = this.context.database.sequelize.model(name);
if ((m as any).isThrough) { if ((m as any).isThrough) {
@ -450,7 +450,7 @@ export class Collection<
} }
} }
const models: ModelCtor<Model>[] = []; const models: ModelStatic<Model>[] = [];
// @ts-ignore // @ts-ignore
this.context.database.sequelize.modelManager.forEachModel((model) => { this.context.database.sequelize.modelManager.forEachModel((model) => {
if (modelNames.has(model.name)) { if (modelNames.has(model.name)) {

View File

@ -7,7 +7,7 @@ import { basename, isAbsolute, resolve } from 'path';
import semver from 'semver'; import semver from 'semver';
import { import {
DataTypes, DataTypes,
ModelCtor, ModelStatic,
Op, Op,
Options, Options,
QueryInterfaceDropAllTablesOptions, QueryInterfaceDropAllTablesOptions,
@ -65,7 +65,7 @@ export interface MergeOptions extends merge.Options {}
export interface PendingOptions { export interface PendingOptions {
field: RelationField; field: RelationField;
model: ModelCtor<Model>; model: ModelStatic<Model>;
} }
interface MapOf<T> { interface MapOf<T> {
@ -147,12 +147,12 @@ export class Database extends EventEmitter implements AsyncEmitter {
migrations: Migrations; migrations: Migrations;
fieldTypes = new Map(); fieldTypes = new Map();
options: IDatabaseOptions; options: IDatabaseOptions;
models = new Map<string, ModelCtor<Model>>(); models = new Map<string, ModelStatic<Model>>();
repositories = new Map<string, RepositoryType>(); repositories = new Map<string, RepositoryType>();
operators = new Map(); operators = new Map();
collections = new Map<string, Collection>(); collections = new Map<string, Collection>();
pendingFields = new Map<string, RelationField[]>(); pendingFields = new Map<string, RelationField[]>();
modelCollection = new Map<ModelCtor<any>, Collection>(); modelCollection = new Map<ModelStatic<any>, Collection>();
tableNameCollectionMap = new Map<string, Collection>(); tableNameCollectionMap = new Map<string, Collection>();
referenceMap = new ReferencesMap(); referenceMap = new ReferencesMap();
@ -371,7 +371,7 @@ export class Database extends EventEmitter implements AsyncEmitter {
} }
getModel<M extends Model>(name: string) { getModel<M extends Model>(name: string) {
return this.getCollection(name).model as ModelCtor<M>; return this.getCollection(name).model as ModelStatic<M>;
} }
getRepository<R extends Repository>(name: string): R; getRepository<R extends Repository>(name: string): R;
@ -409,7 +409,7 @@ export class Database extends EventEmitter implements AsyncEmitter {
} }
} }
registerModels(models: MapOf<ModelCtor<any>>) { registerModels(models: MapOf<ModelStatic<any>>) {
for (const [type, schemaType] of Object.entries(models)) { for (const [type, schemaType] of Object.entries(models)) {
this.models.set(type, schemaType); this.models.set(type, schemaType);
} }

View File

@ -1,6 +1,6 @@
import { flatten, unflatten } from 'flat'; import { flatten, unflatten } from 'flat';
import { default as lodash, default as _ } from 'lodash'; import { default as lodash, default as _ } from 'lodash';
import { ModelCtor } from 'sequelize'; import { ModelStatic } from 'sequelize';
import { Collection } from './collection'; import { Collection } from './collection';
import { Database } from './database'; import { Database } from './database';
import { Model } from './model'; import { Model } from './model';
@ -17,7 +17,7 @@ interface FilterParserContext {
export default class FilterParser { export default class FilterParser {
collection: Collection; collection: Collection;
database: Database; database: Database;
model: ModelCtor<Model>; model: ModelStatic<Model>;
filter: FilterType; filter: FilterType;
context: FilterParserContext; context: FilterParserContext;

View File

@ -1,4 +1,4 @@
export { DataTypes, ModelCtor, Op, SyncOptions } from 'sequelize'; export { DataTypes, ModelStatic, Op, SyncOptions } from 'sequelize';
export * from './collection'; export * from './collection';
export * from './inherited-collection'; export * from './inherited-collection';
export * from './database'; export * from './database';

View File

@ -1,5 +1,6 @@
import lodash from 'lodash'; import lodash from 'lodash';
import type { SequelizeHooks } from 'sequelize/types/lib/hooks'; import { SequelizeHooks } from 'sequelize/types/hooks';
import Database from './database'; import Database from './database';
import { Model } from './model'; import { Model } from './model';

View File

@ -1,5 +1,5 @@
import lodash from 'lodash'; import lodash from 'lodash';
import { DataTypes, Model as SequelizeModel, ModelCtor } from 'sequelize'; import { DataTypes, Model as SequelizeModel, ModelStatic } from 'sequelize';
import { Collection } from './collection'; import { Collection } from './collection';
import { Database } from './database'; import { Database } from './database';
import { Field } from './fields'; import { Field } from './fields';
@ -13,7 +13,7 @@ interface IModel {
} }
interface JSONTransformerOptions { interface JSONTransformerOptions {
model: ModelCtor<any>; model: ModelStatic<any>;
collection: Collection; collection: Collection;
db: Database; db: Database;
key?: string; key?: string;
@ -82,7 +82,7 @@ export class Model<TModelAttributes extends {} = any, TCreationAttributes extend
}; };
const opts = { const opts = {
model: this.constructor as ModelCtor<any>, model: this.constructor as ModelStatic<any>,
collection: (this.constructor as any).collection, collection: (this.constructor as any).collection,
db: (this.constructor as any).database as Database, db: (this.constructor as any).database as Database,
}; };

View File

@ -149,4 +149,4 @@ export default {
[Op.and]: [Sequelize.literal(`${subQuery}`)], [Op.and]: [Sequelize.literal(`${subQuery}`)],
}; };
}, },
}; } as Record<string, any>;

View File

@ -11,4 +11,4 @@ export default {
[Op.is]: null, [Op.is]: null,
}; };
}, },
}; } as Record<string, any>;

View File

@ -15,4 +15,4 @@ export default {
[Op.eq]: true, [Op.eq]: true,
}; };
}, },
}; } as Record<string, any>;

View File

@ -38,4 +38,4 @@ export default {
$dateNotAfter(value) { $dateNotAfter(value) {
return { [Op.lt]: getNextDay(value) }; return { [Op.lt]: getNextDay(value) };
}, },
}; } as Record<string, any>;

View File

@ -1,4 +1,4 @@
import { DataTypes, Op } from 'sequelize'; import { Op } from 'sequelize';
import { ArrayField, StringField } from '../fields'; import { ArrayField, StringField } from '../fields';
import arrayOperators from './array'; import arrayOperators from './array';
import lodash, { parseInt } from 'lodash'; import lodash, { parseInt } from 'lodash';

View File

@ -13,4 +13,4 @@ export default {
}, },
}; };
}, },
}; } as Record<string, any>;

View File

@ -9,4 +9,5 @@ export default {
}, },
}; };
}, },
}; } as Record<string, any>;

View File

@ -1,4 +1,4 @@
import { FindAttributeOptions, ModelCtor, Op, Sequelize } from 'sequelize'; import { FindAttributeOptions, ModelStatic, Op, Sequelize } from 'sequelize';
import { Collection } from './collection'; import { Collection } from './collection';
import { Database } from './database'; import { Database } from './database';
import FilterParser from './filter-parser'; import FilterParser from './filter-parser';
@ -15,7 +15,7 @@ export class OptionsParser {
options: FindOptions; options: FindOptions;
database: Database; database: Database;
collection: Collection; collection: Collection;
model: ModelCtor<any>; model: ModelStatic<any>;
filterParser: FilterParser; filterParser: FilterParser;
context: OptionsParserContext; context: OptionsParserContext;
@ -207,7 +207,7 @@ export class OptionsParser {
* @param queryParams * @param queryParams
* @param append * @param append
*/ */
const setInclude = (model: ModelCtor<any>, queryParams: any, append: string) => { const setInclude = (model: ModelStatic<any>, queryParams: any, append: string) => {
const appendFields = append.split('.'); const appendFields = append.split('.');
const appendAssociation = appendFields[0]; const appendAssociation = appendFields[0];

View File

@ -1,5 +1,5 @@
import lodash from 'lodash'; import lodash from 'lodash';
import { Association, BelongsTo, BelongsToMany, HasMany, HasOne, ModelCtor, Transaction } from 'sequelize'; import { Association, BelongsTo, BelongsToMany, HasMany, HasOne, ModelStatic, Transaction } from 'sequelize';
import { Collection } from '../collection'; import { Collection } from '../collection';
import Database from '../database'; import Database from '../database';
import { transactionWrapperBuilder } from '../decorators/transaction-decorator'; import { transactionWrapperBuilder } from '../decorators/transaction-decorator';
@ -18,7 +18,7 @@ export const transaction = transactionWrapperBuilder(function () {
export abstract class RelationRepository { export abstract class RelationRepository {
sourceCollection: Collection; sourceCollection: Collection;
association: Association; association: Association;
targetModel: ModelCtor<any>; targetModel: ModelStatic<any>;
targetCollection: Collection; targetCollection: Collection;
associationName: string; associationName: string;
associationField: RelationField; associationField: RelationField;

View File

@ -7,12 +7,12 @@ import {
DestroyOptions as SequelizeDestroyOptions, DestroyOptions as SequelizeDestroyOptions,
FindAndCountOptions as SequelizeAndCountOptions, FindAndCountOptions as SequelizeAndCountOptions,
FindOptions as SequelizeFindOptions, FindOptions as SequelizeFindOptions,
ModelCtor, ModelStatic,
Op, Op,
Transactionable, Transactionable,
UpdateOptions as SequelizeUpdateOptions, UpdateOptions as SequelizeUpdateOptions,
WhereOperators,
} from 'sequelize'; } from 'sequelize';
import { WhereOperators } from 'sequelize/types/lib/model';
import { Collection } from './collection'; import { Collection } from './collection';
import { Database } from './database'; import { Database } from './database';
import mustHaveFilter from './decorators/must-have-filter-decorator'; import mustHaveFilter from './decorators/must-have-filter-decorator';
@ -202,7 +202,7 @@ export class Repository<TModelAttributes extends {} = any, TCreationAttributes e
{ {
database: Database; database: Database;
collection: Collection; collection: Collection;
model: ModelCtor<Model>; model: ModelStatic<Model>;
constructor(collection: Collection) { constructor(collection: Collection) {
this.database = collection.context.database; this.database = collection.context.database;

View File

@ -1,8 +1,8 @@
import type { Model } from './model'; import type { Model } from './model';
import type { ValidationOptions } from 'sequelize/types/lib/instance-validator';
import type { HookReturn } from 'sequelize/types/lib/hooks';
import type { CreateOptions, DestroyOptions, SaveOptions, SyncOptions, UpdateOptions } from 'sequelize/types'; import type { CreateOptions, DestroyOptions, SaveOptions, SyncOptions, UpdateOptions } from 'sequelize/types';
import { Collection, CollectionOptions } from './collection'; import { Collection, CollectionOptions } from './collection';
import { HookReturn } from 'sequelize/types/hooks';
import { ValidationOptions } from 'sequelize/types/instance-validator';
export type CollectionNameType = string; export type CollectionNameType = string;

View File

@ -5,8 +5,8 @@ import {
HasMany, HasMany,
HasOne, HasOne,
Hookable, Hookable,
ModelCtor, ModelStatic,
Transactionable Transactionable,
} from 'sequelize'; } from 'sequelize';
import { Model } from './model'; import { Model } from './model';
import { UpdateGuard } from './update-guard'; import { UpdateGuard } from './update-guard';
@ -297,13 +297,13 @@ export async function updateSingleAssociation(
const createAccessor = association.accessors.create; const createAccessor = association.accessors.create;
let dataKey: string; let dataKey: string;
let M: ModelCtor<Model>; let M: ModelStatic<Model>;
if (association.associationType === 'BelongsTo') { if (association.associationType === 'BelongsTo') {
M = association.target as ModelCtor<Model>; M = association.target as ModelStatic<Model>;
// @ts-ignore // @ts-ignore
dataKey = association.targetKey; dataKey = association.targetKey;
} else { } else {
M = association.target as ModelCtor<Model>; M = association.target as ModelStatic<Model>;
dataKey = M.primaryKeyAttribute; dataKey = M.primaryKeyAttribute;
} }

View File

@ -1,5 +1,5 @@
import lodash from 'lodash'; import lodash from 'lodash';
import { ModelCtor } from 'sequelize'; import { ModelStatic } from 'sequelize';
import { Model } from './model'; import { Model } from './model';
import { AssociationKeysToBeUpdate, BlackList, WhiteList } from './repository'; import { AssociationKeysToBeUpdate, BlackList, WhiteList } from './repository';
@ -11,7 +11,7 @@ type UpdateValues = {
type UpdateAction = 'create' | 'update'; type UpdateAction = 'create' | 'update';
export class UpdateGuard { export class UpdateGuard {
model: ModelCtor<any>; model: ModelStatic<any>;
action: UpdateAction; action: UpdateAction;
private associationKeysToBeUpdate: AssociationKeysToBeUpdate; private associationKeysToBeUpdate: AssociationKeysToBeUpdate;
private blackList: BlackList; private blackList: BlackList;
@ -21,7 +21,7 @@ export class UpdateGuard {
this.action = action; this.action = action;
} }
setModel(model: ModelCtor<any>) { setModel(model: ModelStatic<any>) {
this.model = model; this.model = model;
} }

View File

@ -14,7 +14,7 @@
"@nocobase/database": "0.8.0-alpha.13", "@nocobase/database": "0.8.0-alpha.13",
"@nocobase/plugin-error-handler": "0.8.0-alpha.13", "@nocobase/plugin-error-handler": "0.8.0-alpha.13",
"@nocobase/server": "0.8.0-alpha.13", "@nocobase/server": "0.8.0-alpha.13",
"sequelize": "^6.9.0" "sequelize": "^6.26.0"
}, },
"devDependencies": { "devDependencies": {
"@nocobase/test": "0.8.0-alpha.13" "@nocobase/test": "0.8.0-alpha.13"

View File

@ -12,7 +12,7 @@
"@formily/react": "2.0.20", "@formily/react": "2.0.20",
"@emotion/css": "^11.7.1", "@emotion/css": "^11.7.1",
"antd": "~4.19.5", "antd": "~4.19.5",
"sequelize": "^6.9.0", "sequelize": "^6.26.0",
"ahooks": "^3.7.2" "ahooks": "^3.7.2"
} }
} }

View File

@ -2,7 +2,6 @@ import { BaseColumnFieldOptions, Field, FieldContext } from '@nocobase/database'
import { DataTypes } from 'sequelize'; import { DataTypes } from 'sequelize';
import { isPg, toValue } from '../helpers'; import { isPg, toValue } from '../helpers';
// @ts-ignore
class Circle extends DataTypes.ABSTRACT { class Circle extends DataTypes.ABSTRACT {
key = 'Circle'; key = 'Circle';
} }

View File

@ -2,7 +2,6 @@ import { BaseColumnFieldOptions, Field, FieldContext } from '@nocobase/database'
import { DataTypes } from 'sequelize'; import { DataTypes } from 'sequelize';
import { isMysql, isPg, isSqlite, joinComma, toValue } from '../helpers'; import { isMysql, isPg, isSqlite, joinComma, toValue } from '../helpers';
// @ts-ignore
class LineString extends DataTypes.ABSTRACT { class LineString extends DataTypes.ABSTRACT {
key = 'Path'; key = 'Path';
} }

View File

@ -2,7 +2,6 @@ import { BaseColumnFieldOptions, Field, FieldContext } from '@nocobase/database'
import { DataTypes } from 'sequelize'; import { DataTypes } from 'sequelize';
import { isMysql, isPg, joinComma, toValue } from '../helpers'; import { isMysql, isPg, joinComma, toValue } from '../helpers';
// @ts-ignore
class Point extends DataTypes.ABSTRACT { class Point extends DataTypes.ABSTRACT {
key = 'Point'; key = 'Point';
} }

View File

@ -2,7 +2,6 @@ import { BaseColumnFieldOptions, Field, FieldContext } from '@nocobase/database'
import { DataTypes } from 'sequelize'; import { DataTypes } from 'sequelize';
import { isMysql, isPg, joinComma, toValue } from '../helpers'; import { isMysql, isPg, joinComma, toValue } from '../helpers';
// @ts-ignore
class Polygon extends DataTypes.ABSTRACT { class Polygon extends DataTypes.ABSTRACT {
key = 'Polygon' key = 'Polygon'
} }

View File

@ -5570,6 +5570,11 @@
resolved "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz#250a7b16c3b91f672a24552ec64678eeb1d3a08d" resolved "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz#250a7b16c3b91f672a24552ec64678eeb1d3a08d"
integrity sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ== integrity sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==
"@types/validator@^13.7.1":
version "13.7.10"
resolved "https://registry.yarnpkg.com/@types/validator/-/validator-13.7.10.tgz#f9763dc0933f8324920afa9c0790308eedf55ca7"
integrity sha512-t1yxFAR2n0+VO6hd/FJ9F2uezAZVWHLmpmlJzm1eX03+H7+HsuTAp7L8QJs+2pQCfWkP1+EXsGK9Z9v7o/qPVQ==
"@types/warning@^3.0.0": "@types/warning@^3.0.0":
version "3.0.0" version "3.0.0"
resolved "https://registry.npmjs.org/@types/warning/-/warning-3.0.0.tgz#0d2501268ad8f9962b740d387c4654f5f8e23e52" resolved "https://registry.npmjs.org/@types/warning/-/warning-3.0.0.tgz#0d2501268ad8f9962b740d387c4654f5f8e23e52"
@ -9336,7 +9341,7 @@ debug@^3.1.0, debug@^3.1.1, debug@^3.2.6, debug@^3.2.7:
dependencies: dependencies:
ms "^2.1.1" ms "^2.1.1"
debug@^4.3.4: debug@^4.3.3, debug@^4.3.4:
version "4.3.4" version "4.3.4"
resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
@ -9806,9 +9811,9 @@ dotignore@~0.1.2:
dependencies: dependencies:
minimatch "^3.0.4" minimatch "^3.0.4"
dottie@^2.0.0: dottie@^2.0.2:
version "2.0.2" version "2.0.2"
resolved "https://registry.npmjs.org/dottie/-/dottie-2.0.2.tgz#cc91c0726ce3a054ebf11c55fbc92a7f266dd154" resolved "https://registry.yarnpkg.com/dottie/-/dottie-2.0.2.tgz#cc91c0726ce3a054ebf11c55fbc92a7f266dd154"
integrity sha512-fmrwR04lsniq/uSr8yikThDTrM7epXHBAAjH9TbeH3rEA8tdCO7mRzB9hdmdGyJCxF8KERo9CITcm3kGuoyMhg== integrity sha512-fmrwR04lsniq/uSr8yikThDTrM7epXHBAAjH9TbeH3rEA8tdCO7mRzB9hdmdGyJCxF8KERo9CITcm3kGuoyMhg==
dumi-assets-types@1.0.0: dumi-assets-types@1.0.0:
@ -12440,10 +12445,10 @@ inflation@^2.0.0:
resolved "https://registry.npmjs.org/inflation/-/inflation-2.0.0.tgz#8b417e47c28f925a45133d914ca1fd389107f30f" resolved "https://registry.npmjs.org/inflation/-/inflation-2.0.0.tgz#8b417e47c28f925a45133d914ca1fd389107f30f"
integrity sha1-i0F+R8KPklpFEz2RTKH9OJEH8w8= integrity sha1-i0F+R8KPklpFEz2RTKH9OJEH8w8=
inflection@1.13.1: inflection@^1.13.2:
version "1.13.1" version "1.13.4"
resolved "https://registry.npmjs.org/inflection/-/inflection-1.13.1.tgz#c5cadd80888a90cf84c2e96e340d7edc85d5f0cb" resolved "https://registry.yarnpkg.com/inflection/-/inflection-1.13.4.tgz#65aa696c4e2da6225b148d7a154c449366633a32"
integrity sha512-dldYtl2WlN0QDkIDtg8+xFwOS2Tbmp12t1cHa5/YClU6ZQjTFm7B66UcVbh9NQB+HvT5BAd2t5+yKsBkw5pcqA== integrity sha512-6I/HUDeYFfuNCVS3td055BaXBwKYuzw7K3ExVMStBowKo9oOAMJIXIHvdyR3iboTCp1b+1i5DSkIZTcwIktuDw==
inflight@^1.0.4: inflight@^1.0.4:
version "1.0.6" version "1.0.6"
@ -14965,7 +14970,7 @@ lodash.uniq@^4.3.0, lodash.uniq@^4.5.0:
resolved "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" resolved "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=
lodash@4.17.21, lodash@4.x, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.7.0: lodash@4.17.21, lodash@4.x, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.7.0:
version "4.17.21" version "4.17.21"
resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
@ -15871,10 +15876,10 @@ module-details-from-path@^1.0.3:
resolved "https://registry.npmjs.org/module-details-from-path/-/module-details-from-path-1.0.3.tgz#114c949673e2a8a35e9d35788527aa37b679da2b" resolved "https://registry.npmjs.org/module-details-from-path/-/module-details-from-path-1.0.3.tgz#114c949673e2a8a35e9d35788527aa37b679da2b"
integrity sha1-EUyUlnPiqKNenTV4hSeqN7Z52is= integrity sha1-EUyUlnPiqKNenTV4hSeqN7Z52is=
moment-timezone@^0.5.31: moment-timezone@^0.5.34:
version "0.5.34" version "0.5.40"
resolved "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.34.tgz#a75938f7476b88f155d3504a9343f7519d9a405c" resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.40.tgz#c148f5149fd91dd3e29bf481abc8830ecba16b89"
integrity sha512-3zAEHh2hKUs3EXLESx/wsgw6IQdusOT8Bxm3D9UrHPQR7zlMmzwybC8zHEM1tQ4LJwP7fcxrWr8tuBg05fFCbg== integrity sha512-tWfmNkRYmBkPJz5mr9GVDn9vRlVZOTe6yqY92rFxiOdWXbjaR0+9LwQnZGGuNR63X456NqmEkbskte8tWL5ePg==
dependencies: dependencies:
moment ">= 2.9.0" moment ">= 2.9.0"
@ -15883,7 +15888,7 @@ moment@2.x, moment@^2.29.1:
resolved "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz#3dbe052889fe7c1b2ed966fcb3a77328964ef108" resolved "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz#3dbe052889fe7c1b2ed966fcb3a77328964ef108"
integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w== integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==
"moment@>= 2.9.0", moment@^2.24.0, moment@^2.25.3, moment@^2.26.0: "moment@>= 2.9.0", moment@^2.24.0, moment@^2.25.3:
version "2.29.1" version "2.29.1"
resolved "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3" resolved "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3"
integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ== integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==
@ -20303,12 +20308,10 @@ ret@~0.1.10:
resolved "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" resolved "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"
integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==
retry-as-promised@^3.2.0: retry-as-promised@^6.1.0:
version "3.2.0" version "6.1.0"
resolved "https://registry.npmjs.org/retry-as-promised/-/retry-as-promised-3.2.0.tgz#769f63d536bec4783549db0777cb56dadd9d8543" resolved "https://registry.yarnpkg.com/retry-as-promised/-/retry-as-promised-6.1.0.tgz#11eca9a0f97804d552ec8e74bc4eb839bd226dc4"
integrity sha512-CybGs60B7oYU/qSQ6kuaFmRd9sTZ6oXSc0toqePvV74Ac6/IFZSI1ReFQmtCN+uvW1Mtqdwpvt/LGOiCBAY2Mg== integrity sha512-Hj/jY+wFC+SB9SDlIIFWiGOHnNG0swYbGYsOj2BJ8u2HKUaobNKab0OIC0zOLYzDy0mb7A4xA5BMo4LMz5YtEA==
dependencies:
any-promise "^1.3.0"
retry@^0.12.0: retry@^0.12.0:
version "0.12.0" version "0.12.0"
@ -20701,28 +20704,30 @@ seq-queue@^0.0.5:
resolved "https://registry.npmjs.org/seq-queue/-/seq-queue-0.0.5.tgz#d56812e1c017a6e4e7c3e3a37a1da6d78dd3c93e" resolved "https://registry.npmjs.org/seq-queue/-/seq-queue-0.0.5.tgz#d56812e1c017a6e4e7c3e3a37a1da6d78dd3c93e"
integrity sha1-1WgS4cAXpuTnw+Ojeh2m143TyT4= integrity sha1-1WgS4cAXpuTnw+Ojeh2m143TyT4=
sequelize-pool@^6.0.0: sequelize-pool@^7.1.0:
version "6.1.0" version "7.1.0"
resolved "https://registry.npmjs.org/sequelize-pool/-/sequelize-pool-6.1.0.tgz#caaa0c1e324d3c2c3a399fed2c7998970925d668" resolved "https://registry.yarnpkg.com/sequelize-pool/-/sequelize-pool-7.1.0.tgz#210b391af4002762f823188fd6ecfc7413020768"
integrity sha512-4YwEw3ZgK/tY/so+GfnSgXkdwIJJ1I32uZJztIEgZeAO6HMgj64OzySbWLgxj+tXhZCJnzRfkY9gINw8Ft8ZMg== integrity sha512-G9c0qlIWQSK29pR/5U2JF5dDQeqqHRragoyahj/Nx4KOOQ3CPPfzxnfqFPCSB7x5UgjOgnZ61nSxz+fjDpRlJg==
sequelize@^6.9.0: sequelize@^6.26.0:
version "6.11.0" version "6.26.0"
resolved "https://registry.npmjs.org/sequelize/-/sequelize-6.11.0.tgz#11620b02ab2ca02af59ec652dd22bef7ccd348af" resolved "https://registry.yarnpkg.com/sequelize/-/sequelize-6.26.0.tgz#ef4a48849f20b28303d3e2c1cb0f0e13755f26ae"
integrity sha512-+j3N5lr+FR1eicMRGR3bRsGOl9HMY0UGb2PyB2i1yZ64XBgsz3xejMH0UD45LcUitj40soDGIa9CyvZG0dfzKg== integrity sha512-Xv82z1FdSn/qwB1IObSxIHV519cFk/vSD28vWs8Y0VucQLn7pK2x2jYjf2Qg/rBUQbCVprDdU7RPf+55rrkc0A==
dependencies: dependencies:
debug "^4.1.1" "@types/debug" "^4.1.7"
dottie "^2.0.0" "@types/validator" "^13.7.1"
inflection "1.13.1" debug "^4.3.3"
lodash "^4.17.20" dottie "^2.0.2"
moment "^2.26.0" inflection "^1.13.2"
moment-timezone "^0.5.31" lodash "^4.17.21"
moment "^2.29.1"
moment-timezone "^0.5.34"
pg-connection-string "^2.5.0" pg-connection-string "^2.5.0"
retry-as-promised "^3.2.0" retry-as-promised "^6.1.0"
semver "^7.3.2" semver "^7.3.5"
sequelize-pool "^6.0.0" sequelize-pool "^7.1.0"
toposort-class "^1.0.1" toposort-class "^1.0.1"
uuid "^8.1.0" uuid "^8.3.2"
validator "^13.7.0" validator "^13.7.0"
wkx "^0.5.0" wkx "^0.5.0"
@ -23006,7 +23011,7 @@ uuid@^3.2.1, uuid@^3.3.2:
resolved "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" resolved "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
uuid@^8.1.0, uuid@^8.3.0: uuid@^8.3.0, uuid@^8.3.2:
version "8.3.2" version "8.3.2"
resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"
integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==