fix: inherit startup sort (#1402)
This commit is contained in:
parent
91413196ea
commit
bab10c928b
@ -70,6 +70,7 @@ module.exports = (cli) => {
|
|||||||
...process.argv.slice(3),
|
...process.argv.slice(3),
|
||||||
`--port=${serverPort}`,
|
`--port=${serverPort}`,
|
||||||
];
|
];
|
||||||
|
|
||||||
if (opts.dbSync) {
|
if (opts.dbSync) {
|
||||||
argv.push('--db-sync');
|
argv.push('--db-sync');
|
||||||
}
|
}
|
||||||
|
@ -4,6 +4,7 @@ import { Field } from '.';
|
|||||||
|
|
||||||
export class InheritedCollection extends Collection {
|
export class InheritedCollection extends Collection {
|
||||||
parents?: Collection[];
|
parents?: Collection[];
|
||||||
|
|
||||||
constructor(options: CollectionOptions, context: CollectionContext) {
|
constructor(options: CollectionOptions, context: CollectionContext) {
|
||||||
if (!options.inherits) {
|
if (!options.inherits) {
|
||||||
throw new Error('InheritedCollection must have inherits option');
|
throw new Error('InheritedCollection must have inherits option');
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
import { InheritedCollection } from './inherited-collection';
|
import { InheritedCollection } from './inherited-collection';
|
||||||
import lodash from 'lodash';
|
import lodash from 'lodash';
|
||||||
import { Sequelize } from 'sequelize';
|
|
||||||
|
|
||||||
export class SyncRunner {
|
export class SyncRunner {
|
||||||
static async syncInheritModel(model: any, options: any) {
|
static async syncInheritModel(model: any, options: any) {
|
||||||
@ -42,8 +41,10 @@ export class SyncRunner {
|
|||||||
if (childAttributes.id && childAttributes.id.autoIncrement) {
|
if (childAttributes.id && childAttributes.id.autoIncrement) {
|
||||||
for (const parent of parentTables) {
|
for (const parent of parentTables) {
|
||||||
const sequenceNameResult = await queryInterface.sequelize.query(
|
const sequenceNameResult = await queryInterface.sequelize.query(
|
||||||
`SELECT column_default FROM information_schema.columns WHERE
|
`SELECT column_default
|
||||||
table_name='${parent}' and "column_name" = 'id';`,
|
FROM information_schema.columns
|
||||||
|
WHERE table_name = '${parent}'
|
||||||
|
and "column_name" = 'id';`,
|
||||||
{
|
{
|
||||||
transaction,
|
transaction,
|
||||||
},
|
},
|
||||||
@ -65,7 +66,8 @@ export class SyncRunner {
|
|||||||
const sequenceName = match[1];
|
const sequenceName = match[1];
|
||||||
|
|
||||||
const sequenceCurrentValResult = await queryInterface.sequelize.query(
|
const sequenceCurrentValResult = await queryInterface.sequelize.query(
|
||||||
`select last_value from ${sequenceName}`,
|
`select last_value
|
||||||
|
from ${sequenceName}`,
|
||||||
{
|
{
|
||||||
transaction,
|
transaction,
|
||||||
},
|
},
|
||||||
@ -94,12 +96,12 @@ export class SyncRunner {
|
|||||||
|
|
||||||
const idColumnQuery = await queryInterface.sequelize.query(
|
const idColumnQuery = await queryInterface.sequelize.query(
|
||||||
`
|
`
|
||||||
SELECT true
|
SELECT true
|
||||||
FROM pg_attribute
|
FROM pg_attribute
|
||||||
WHERE attrelid = '${queryName}'::regclass -- cast to a registered class (table)
|
WHERE attrelid = '${queryName}'::regclass -- cast to a registered class (table)
|
||||||
AND attname = 'id'
|
AND attname = 'id'
|
||||||
AND NOT attisdropped
|
AND NOT attisdropped
|
||||||
`,
|
`,
|
||||||
{
|
{
|
||||||
transaction,
|
transaction,
|
||||||
},
|
},
|
||||||
@ -110,7 +112,8 @@ AND NOT attisdropped
|
|||||||
}
|
}
|
||||||
|
|
||||||
await queryInterface.sequelize.query(
|
await queryInterface.sequelize.query(
|
||||||
`alter table "${sequenceTable}" alter column id set default nextval('${maxSequenceName}')`,
|
`alter table "${sequenceTable}"
|
||||||
|
alter column id set default nextval('${maxSequenceName}')`,
|
||||||
{
|
{
|
||||||
transaction,
|
transaction,
|
||||||
},
|
},
|
||||||
|
@ -371,11 +371,13 @@ export class Application<StateT = DefaultState, ContextT = DefaultContext> exten
|
|||||||
process.exit(1);
|
process.exit(1);
|
||||||
}
|
}
|
||||||
await this.dbVersionCheck({ exit: true });
|
await this.dbVersionCheck({ exit: true });
|
||||||
|
|
||||||
if (argv?.[2] !== 'upgrade') {
|
if (argv?.[2] !== 'upgrade') {
|
||||||
await this.load({
|
await this.load({
|
||||||
method: argv?.[2],
|
method: argv?.[2],
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
return this.cli.parseAsync(argv, options);
|
return this.cli.parseAsync(argv, options);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,7 +8,8 @@
|
|||||||
"@nocobase/database": "0.9.0-alpha.2",
|
"@nocobase/database": "0.9.0-alpha.2",
|
||||||
"@nocobase/plugin-error-handler": "0.9.0-alpha.2",
|
"@nocobase/plugin-error-handler": "0.9.0-alpha.2",
|
||||||
"@nocobase/server": "0.9.0-alpha.2",
|
"@nocobase/server": "0.9.0-alpha.2",
|
||||||
"sequelize": "^6.26.0"
|
"sequelize": "^6.26.0",
|
||||||
|
"toposort": "^2.0.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@nocobase/test": "0.9.0-alpha.2"
|
"@nocobase/test": "0.9.0-alpha.2"
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import Topo from '@hapi/topo';
|
import { Repository } from '@nocobase/database';
|
||||||
import { Model, Repository } from '@nocobase/database';
|
|
||||||
import { CollectionModel } from '../models/collection';
|
import { CollectionModel } from '../models/collection';
|
||||||
|
import toposort from 'toposort';
|
||||||
|
|
||||||
interface LoadOptions {
|
interface LoadOptions {
|
||||||
filter?: any;
|
filter?: any;
|
||||||
@ -12,11 +12,14 @@ export class CollectionRepository extends Repository {
|
|||||||
const { filter, skipExist } = options;
|
const { filter, skipExist } = options;
|
||||||
const instances = (await this.find({ filter })) as CollectionModel[];
|
const instances = (await this.find({ filter })) as CollectionModel[];
|
||||||
|
|
||||||
const sorter = new Topo.Sorter<Model>();
|
const inheritedGraph = [];
|
||||||
|
|
||||||
const throughModels = [];
|
const throughModels = [];
|
||||||
|
const generalModels = [];
|
||||||
|
|
||||||
|
const nameMap = {};
|
||||||
|
|
||||||
for (const instance of instances) {
|
for (const instance of instances) {
|
||||||
|
nameMap[instance.get('name')] = instance;
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
const fields = await instance.getFields();
|
const fields = await instance.getFields();
|
||||||
for (const field of fields) {
|
for (const field of fields) {
|
||||||
@ -28,29 +31,27 @@ export class CollectionRepository extends Repository {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const topoOptions = {
|
|
||||||
group: instance.get('name'),
|
|
||||||
};
|
|
||||||
|
|
||||||
if (instance.get('inherits')) {
|
if (instance.get('inherits')) {
|
||||||
topoOptions['after'] = instance.get('inherits');
|
for (const parent of instance.get('inherits')) {
|
||||||
|
inheritedGraph.push([parent, instance.get('name')]);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
generalModels.push(instance.get('name'));
|
||||||
}
|
}
|
||||||
|
|
||||||
sorter.add(instance, topoOptions);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const sorted = sorter.nodes;
|
generalModels.sort((a, b) => {
|
||||||
|
if (throughModels.includes(a)) {
|
||||||
sorted.sort((a, b) => {
|
|
||||||
if (throughModels.includes(a.get('name'))) {
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
});
|
});
|
||||||
|
|
||||||
for (const instance of sorted) {
|
const sortedNames = [...toposort(inheritedGraph), ...generalModels];
|
||||||
await instance.load({ skipExist });
|
|
||||||
|
for (const instanceName of sortedNames) {
|
||||||
|
await nameMap[instanceName].load({ skipExist });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
245
yarn.lock
245
yarn.lock
@ -3639,6 +3639,13 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
regenerator-runtime "^0.13.4"
|
regenerator-runtime "^0.13.4"
|
||||||
|
|
||||||
|
"@babel/runtime@^7.17.2":
|
||||||
|
version "7.20.13"
|
||||||
|
resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.13.tgz#7055ab8a7cff2b8f6058bf6ae45ff84ad2aded4b"
|
||||||
|
integrity sha512-gt3PKXs0DBoL9xCvOIIZ2NEqAGZqHjAnmVbfQtB620V0uReIQutpel14KcneZuer7UioY8ALKZ7iocavvzTNFA==
|
||||||
|
dependencies:
|
||||||
|
regenerator-runtime "^0.13.11"
|
||||||
|
|
||||||
"@babel/runtime@^7.18.0", "@babel/runtime@^7.20.0":
|
"@babel/runtime@^7.18.0", "@babel/runtime@^7.20.0":
|
||||||
version "7.20.6"
|
version "7.20.6"
|
||||||
resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.6.tgz#facf4879bfed9b5326326273a64220f099b0fce3"
|
resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.6.tgz#facf4879bfed9b5326326273a64220f099b0fce3"
|
||||||
@ -5381,6 +5388,164 @@
|
|||||||
call-me-maybe "^1.0.1"
|
call-me-maybe "^1.0.1"
|
||||||
glob-to-regexp "^0.3.0"
|
glob-to-regexp "^0.3.0"
|
||||||
|
|
||||||
|
"@nocobase/acl@0.8.1-alpha.4":
|
||||||
|
version "0.8.1-alpha.4"
|
||||||
|
resolved "https://registry.npmjs.org/@nocobase/acl/-/acl-0.8.1-alpha.4.tgz#2c971b5bd79c2522d9b67bb415d6c1d54d040d5d"
|
||||||
|
integrity sha512-avj/wansqBBD6dab4YZAnsXaDk50JbXpnqrMVr1qMCO+h2ZDteULLWBmXrSa6tpzOjj8GMVmq5R779SMMZXV3w==
|
||||||
|
dependencies:
|
||||||
|
"@nocobase/resourcer" "0.8.1-alpha.4"
|
||||||
|
json-templates "^4.2.0"
|
||||||
|
|
||||||
|
"@nocobase/actions@0.8.1-alpha.4":
|
||||||
|
version "0.8.1-alpha.4"
|
||||||
|
resolved "https://registry.npmjs.org/@nocobase/actions/-/actions-0.8.1-alpha.4.tgz#4e49e706e77c496c868b9bb09d20c54d5b122d65"
|
||||||
|
integrity sha512-1pz9oANr8d3hQ5ZlcV+uL2UglC/p5Xyd+1mRTDIGEv6BfkZ2mKGV8DuWGlRHAZWyB7O5LyVn/nVs3SOqFlfZ8Q==
|
||||||
|
dependencies:
|
||||||
|
"@nocobase/cache" "0.8.1-alpha.4"
|
||||||
|
"@nocobase/database" "0.8.1-alpha.4"
|
||||||
|
"@nocobase/resourcer" "0.8.1-alpha.4"
|
||||||
|
|
||||||
|
"@nocobase/cache@0.8.1-alpha.4":
|
||||||
|
version "0.8.1-alpha.4"
|
||||||
|
resolved "https://registry.npmjs.org/@nocobase/cache/-/cache-0.8.1-alpha.4.tgz#f5dfa214ba76e5669d4d0e26839f9656e4b1551d"
|
||||||
|
integrity sha512-TWDmnL+r86KI3AzlyiCMXeCbs+Ils5UtyWwQ+B4KlGjo3u3/V06GnxmHq/Ulpeac9fU6/83cIqJmDJczjk16jA==
|
||||||
|
dependencies:
|
||||||
|
cache-manager "^4.1.0"
|
||||||
|
|
||||||
|
"@nocobase/client@0.8.1-alpha.4":
|
||||||
|
version "0.8.1-alpha.4"
|
||||||
|
resolved "https://registry.npmjs.org/@nocobase/client/-/client-0.8.1-alpha.4.tgz#2e4152d44529c734d7d61b6312b8a2ca6c1b31b5"
|
||||||
|
integrity sha512-Y7gOD/0UAMBL0wa8YaN4F96GBscBl+jNx9gCSt2CyUVFYmXnMRQnXTPc3nFbJL2XX1h8KenIH+vDT2UUJOc2Ag==
|
||||||
|
dependencies:
|
||||||
|
"@antv/g2plot" "^2.4.18"
|
||||||
|
"@dnd-kit/core" "^5.0.1"
|
||||||
|
"@dnd-kit/sortable" "^6.0.0"
|
||||||
|
"@emotion/css" "^11.7.1"
|
||||||
|
"@formily/antd" "2.0.20"
|
||||||
|
"@formily/core" "2.0.20"
|
||||||
|
"@formily/react" "2.0.20"
|
||||||
|
"@nocobase/sdk" "0.8.1-alpha.4"
|
||||||
|
"@nocobase/utils" "0.8.1-alpha.4"
|
||||||
|
ahooks "^3.7.2"
|
||||||
|
antd "4.22.8"
|
||||||
|
axios "^0.26.1"
|
||||||
|
classnames "^2.3.1"
|
||||||
|
cron-parser "^4.6.0"
|
||||||
|
cronstrue "^2.11.0"
|
||||||
|
file-saver "^2.0.5"
|
||||||
|
i18next "^21.6.0"
|
||||||
|
json-templates "^4.2.0"
|
||||||
|
marked "^4.0.12"
|
||||||
|
mathjs "^10.6.0"
|
||||||
|
react-beautiful-dnd "^13.1.0"
|
||||||
|
react-big-calendar "^0.38.7"
|
||||||
|
react-contenteditable "^3.3.6"
|
||||||
|
react-drag-listview "^0.1.9"
|
||||||
|
react-helmet "^6.1.0"
|
||||||
|
react-hotkeys-hook "^3.4.7"
|
||||||
|
react-i18next "^11.15.1"
|
||||||
|
react-iframe "~1.8.5"
|
||||||
|
react-image-lightbox "^5.1.4"
|
||||||
|
react-js-cron "^1.4.0"
|
||||||
|
react-quill "^1.3.5"
|
||||||
|
react-router-dom "^5.2.0"
|
||||||
|
react-to-print "^2.14.7"
|
||||||
|
solarlunar-es "^1.0.9"
|
||||||
|
use-deep-compare-effect "^1.8.1"
|
||||||
|
|
||||||
|
"@nocobase/database@0.8.1-alpha.4":
|
||||||
|
version "0.8.1-alpha.4"
|
||||||
|
resolved "https://registry.npmjs.org/@nocobase/database/-/database-0.8.1-alpha.4.tgz#f12a900cd1559ff0a583bdeb8abe0f2a1c472103"
|
||||||
|
integrity sha512-0lRTM43XUV5QIvNc0l8RGL+aay6WTL2ft1uYSUDXHbn4p+hgfJtZq+1cF+SwSLFM3i66//uSQ9apkHSwjoqFJA==
|
||||||
|
dependencies:
|
||||||
|
"@nocobase/utils" "0.8.1-alpha.4"
|
||||||
|
async-mutex "^0.3.2"
|
||||||
|
cron-parser "4.4.0"
|
||||||
|
deepmerge "^4.2.2"
|
||||||
|
flat "^5.0.2"
|
||||||
|
glob "^7.1.6"
|
||||||
|
mathjs "^10.6.1"
|
||||||
|
moment "2.x"
|
||||||
|
semver "^7.3.7"
|
||||||
|
sequelize "^6.26.0"
|
||||||
|
umzug "^3.1.1"
|
||||||
|
|
||||||
|
"@nocobase/logger@0.8.1-alpha.4":
|
||||||
|
version "0.8.1-alpha.4"
|
||||||
|
resolved "https://registry.npmjs.org/@nocobase/logger/-/logger-0.8.1-alpha.4.tgz#bb4597548a8b7d4ecaef670feed4c64feb607dc3"
|
||||||
|
integrity sha512-2STTXjPDq9MDl5hMWIQMnaNXFdKl8YOrMNJqwcGYpNeXW6xr4KoDwpMfHQb3DUHid0OILVNOg6cWCZuvFks4Qg==
|
||||||
|
dependencies:
|
||||||
|
lodash "^4.17.21"
|
||||||
|
winston "^3.8.2"
|
||||||
|
winston-daily-rotate-file "^4.7.1"
|
||||||
|
|
||||||
|
"@nocobase/resourcer@0.8.1-alpha.4":
|
||||||
|
version "0.8.1-alpha.4"
|
||||||
|
resolved "https://registry.npmjs.org/@nocobase/resourcer/-/resourcer-0.8.1-alpha.4.tgz#8bbcba1e225a9a1743f940373bc2e6488700f3af"
|
||||||
|
integrity sha512-+r02gA+1V4K+lGLmcq84/bMLU6OLQ7DnSBUJpMNLteiDiLgYmsanoGkjeH/dqss8fGfEQW26+pcfDny2SoaWJA==
|
||||||
|
dependencies:
|
||||||
|
"@nocobase/utils" "0.8.1-alpha.4"
|
||||||
|
deepmerge "^4.2.2"
|
||||||
|
koa-compose "^4.1.0"
|
||||||
|
lodash "^4.17.21"
|
||||||
|
path-to-regexp "^6.1.0"
|
||||||
|
qs "^6.9.4"
|
||||||
|
|
||||||
|
"@nocobase/sdk@0.8.1-alpha.4":
|
||||||
|
version "0.8.1-alpha.4"
|
||||||
|
resolved "https://registry.npmjs.org/@nocobase/sdk/-/sdk-0.8.1-alpha.4.tgz#d2ef03ff855b861ae1a0ccbf3daf198b74e6c2a4"
|
||||||
|
integrity sha512-ZIOyC2KmW5Sb5H49jUSbQeEIA8WWL4cGYfnqKSo0ZaQE4rq+vs3adYtqO4C1I8dVy7oEXut6wHHwCQT8/m15/A==
|
||||||
|
dependencies:
|
||||||
|
axios "^0.26.1"
|
||||||
|
qs "^6.10.1"
|
||||||
|
|
||||||
|
"@nocobase/server@0.8.1-alpha.4":
|
||||||
|
version "0.8.1-alpha.4"
|
||||||
|
resolved "https://registry.npmjs.org/@nocobase/server/-/server-0.8.1-alpha.4.tgz#683eb80ee140e2212639534f0fc44e052d497f46"
|
||||||
|
integrity sha512-kF9G6uN9kiB87egusl2zDFR41edzQcxamakKlnPLM+xXEQLhN79za7KazJq59h0ZPqvBQsyeMI/0hbx6qICRaw==
|
||||||
|
dependencies:
|
||||||
|
"@hapi/topo" "^6.0.0"
|
||||||
|
"@koa/cors" "^3.1.0"
|
||||||
|
"@koa/router" "^9.4.0"
|
||||||
|
"@nocobase/acl" "0.8.1-alpha.4"
|
||||||
|
"@nocobase/actions" "0.8.1-alpha.4"
|
||||||
|
"@nocobase/database" "0.8.1-alpha.4"
|
||||||
|
"@nocobase/logger" "0.8.1-alpha.4"
|
||||||
|
"@nocobase/resourcer" "0.8.1-alpha.4"
|
||||||
|
chalk "^4.1.1"
|
||||||
|
commander "^9.2.0"
|
||||||
|
find-package-json "^1.2.0"
|
||||||
|
i18next "^21.6.0"
|
||||||
|
koa "^2.13.4"
|
||||||
|
koa-bodyparser "^4.3.0"
|
||||||
|
koa-static "^5.0.0"
|
||||||
|
lodash "^4.17.21"
|
||||||
|
semver "^7.3.7"
|
||||||
|
xpipe "^1.0.5"
|
||||||
|
|
||||||
|
"@nocobase/test@0.8.1-alpha.4":
|
||||||
|
version "0.8.1-alpha.4"
|
||||||
|
resolved "https://registry.npmjs.org/@nocobase/test/-/test-0.8.1-alpha.4.tgz#9cc36f509ce3b31497c35e26ff82a416c98769db"
|
||||||
|
integrity sha512-Pj/MtqaHicRl440BrCCfKk+y21i8l+MgkwLWKoFu7fxPBA7zKf+iB7z5KIt48kFe1AbX+Mm9mIgnBR/bZUuGEw==
|
||||||
|
dependencies:
|
||||||
|
"@nocobase/server" "0.8.1-alpha.4"
|
||||||
|
"@types/supertest" "^2.0.11"
|
||||||
|
mockjs "^1.1.0"
|
||||||
|
mysql2 "^2.3.3"
|
||||||
|
pg "^8.7.3"
|
||||||
|
pg-hstore "^2.3.4"
|
||||||
|
sqlite3 "^5.0.8"
|
||||||
|
supertest "^6.1.6"
|
||||||
|
|
||||||
|
"@nocobase/utils@0.8.1-alpha.4":
|
||||||
|
version "0.8.1-alpha.4"
|
||||||
|
resolved "https://registry.npmjs.org/@nocobase/utils/-/utils-0.8.1-alpha.4.tgz#4558cc5b914d41841d51e727fe6d9f58b3a7f04a"
|
||||||
|
integrity sha512-6YsHFTUzGCDgSRgxr7YZ1RUsSgwHXEz5j/2W8mTRYd94Psmp5XiEnxF1kMuGDSVffaQvWNvvUzwGrb3yB/uBUA==
|
||||||
|
dependencies:
|
||||||
|
"@hapi/topo" "^6.0.0"
|
||||||
|
deepmerge "^4.2.2"
|
||||||
|
flat-to-nested "^1.1.1"
|
||||||
|
|
||||||
"@node-saml/node-saml@^4.0.2":
|
"@node-saml/node-saml@^4.0.2":
|
||||||
version "4.0.2"
|
version "4.0.2"
|
||||||
resolved "https://registry.npmjs.org/@node-saml/node-saml/-/node-saml-4.0.2.tgz#e12020ea635346f33fcef008fe0e6fa2f28713e5"
|
resolved "https://registry.npmjs.org/@node-saml/node-saml/-/node-saml-4.0.2.tgz#e12020ea635346f33fcef008fe0e6fa2f28713e5"
|
||||||
@ -6442,7 +6607,14 @@
|
|||||||
resolved "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc"
|
resolved "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc"
|
||||||
integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==
|
integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==
|
||||||
|
|
||||||
"@types/react-dom@^16.9.8", "@types/react-dom@^17.0.0":
|
"@types/react-dom@^16.9.8":
|
||||||
|
version "16.9.17"
|
||||||
|
resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.17.tgz#29100cbcc422d7b7dba7de24bb906de56680dd34"
|
||||||
|
integrity sha512-qSRyxEsrm5btPXnowDOs5jSkgT8ldAA0j6Qp+otHUh+xHzy3sXmgNfyhucZjAjkgpdAUw9rJe0QRtX/l+yaS4g==
|
||||||
|
dependencies:
|
||||||
|
"@types/react" "^16"
|
||||||
|
|
||||||
|
"@types/react-dom@^17.0.0":
|
||||||
version "17.0.11"
|
version "17.0.11"
|
||||||
resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.11.tgz#e1eadc3c5e86bdb5f7684e00274ae228e7bcc466"
|
resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.11.tgz#e1eadc3c5e86bdb5f7684e00274ae228e7bcc466"
|
||||||
integrity sha512-f96K3k+24RaLGVu/Y2Ng3e1EbZ8/cVJvypZWd7cy0ofCBaf2lcM46xNhycMZ2xGwbBjRql7hOlZ+e2WlJ5MH3Q==
|
integrity sha512-f96K3k+24RaLGVu/Y2Ng3e1EbZ8/cVJvypZWd7cy0ofCBaf2lcM46xNhycMZ2xGwbBjRql7hOlZ+e2WlJ5MH3Q==
|
||||||
@ -6502,7 +6674,7 @@
|
|||||||
"@types/history" "*"
|
"@types/history" "*"
|
||||||
"@types/react" "*"
|
"@types/react" "*"
|
||||||
|
|
||||||
"@types/react@*", "@types/react@>=16.9.11", "@types/react@^16.9.43", "@types/react@^17.0.0":
|
"@types/react@*", "@types/react@>=16.9.11", "@types/react@^17.0.0":
|
||||||
version "17.0.34"
|
version "17.0.34"
|
||||||
resolved "https://registry.npmjs.org/@types/react/-/react-17.0.34.tgz#797b66d359b692e3f19991b6b07e4b0c706c0102"
|
resolved "https://registry.npmjs.org/@types/react/-/react-17.0.34.tgz#797b66d359b692e3f19991b6b07e4b0c706c0102"
|
||||||
integrity sha512-46FEGrMjc2+8XhHXILr+3+/sTe3OfzSPU9YGKILLrUYbQ1CLQC9Daqo1KzENGXAWwrFwiY0l4ZbF20gRvgpWTg==
|
integrity sha512-46FEGrMjc2+8XhHXILr+3+/sTe3OfzSPU9YGKILLrUYbQ1CLQC9Daqo1KzENGXAWwrFwiY0l4ZbF20gRvgpWTg==
|
||||||
@ -6511,6 +6683,15 @@
|
|||||||
"@types/scheduler" "*"
|
"@types/scheduler" "*"
|
||||||
csstype "^3.0.2"
|
csstype "^3.0.2"
|
||||||
|
|
||||||
|
"@types/react@^16", "@types/react@^16.9.43":
|
||||||
|
version "16.14.35"
|
||||||
|
resolved "https://registry.npmjs.org/@types/react/-/react-16.14.35.tgz#9d3cf047d85aca8006c4776693124a5be90ee429"
|
||||||
|
integrity sha512-NUEiwmSS1XXtmBcsm1NyRRPYjoZF2YTE89/5QiLt5mlGffYK9FQqOKuOLuXNrjPQV04oQgaZG+Yq02ZfHoFyyg==
|
||||||
|
dependencies:
|
||||||
|
"@types/prop-types" "*"
|
||||||
|
"@types/scheduler" "*"
|
||||||
|
csstype "^3.0.2"
|
||||||
|
|
||||||
"@types/resolve@1.17.1":
|
"@types/resolve@1.17.1":
|
||||||
version "1.17.1"
|
version "1.17.1"
|
||||||
resolved "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6"
|
resolved "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6"
|
||||||
@ -8953,7 +9134,7 @@ chalk@^1.1.1, chalk@^1.1.3, chalk@~1.1.3:
|
|||||||
strip-ansi "^3.0.0"
|
strip-ansi "^3.0.0"
|
||||||
supports-color "^2.0.0"
|
supports-color "^2.0.0"
|
||||||
|
|
||||||
chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.1:
|
chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1:
|
||||||
version "4.1.2"
|
version "4.1.2"
|
||||||
resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
|
resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
|
||||||
integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
|
integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
|
||||||
@ -9787,13 +9968,6 @@ copy-to-clipboard@^3.2.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
toggle-selection "^1.0.6"
|
toggle-selection "^1.0.6"
|
||||||
|
|
||||||
copy-to-clipboard@^3.3.1:
|
|
||||||
version "3.3.3"
|
|
||||||
resolved "https://registry.npmmirror.com/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz#55ac43a1db8ae639a4bd99511c148cdd1b83a1b0"
|
|
||||||
integrity sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==
|
|
||||||
dependencies:
|
|
||||||
toggle-selection "^1.0.6"
|
|
||||||
|
|
||||||
copy-to@^2.0.1:
|
copy-to@^2.0.1:
|
||||||
version "2.0.1"
|
version "2.0.1"
|
||||||
resolved "https://registry.npmjs.org/copy-to/-/copy-to-2.0.1.tgz#2680fbb8068a48d08656b6098092bdafc906f4a5"
|
resolved "https://registry.npmjs.org/copy-to/-/copy-to-2.0.1.tgz#2680fbb8068a48d08656b6098092bdafc906f4a5"
|
||||||
@ -11090,13 +11264,6 @@ ee-first@1.1.1, ee-first@~1.1.1:
|
|||||||
resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
|
resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
|
||||||
integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
|
integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
|
||||||
|
|
||||||
ejs@^3.1.8:
|
|
||||||
version "3.1.8"
|
|
||||||
resolved "https://registry.npmmirror.com/ejs/-/ejs-3.1.8.tgz#758d32910c78047585c7ef1f92f9ee041c1c190b"
|
|
||||||
integrity sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==
|
|
||||||
dependencies:
|
|
||||||
jake "^10.8.5"
|
|
||||||
|
|
||||||
electron-to-chromium@^1.3.886:
|
electron-to-chromium@^1.3.886:
|
||||||
version "1.3.896"
|
version "1.3.896"
|
||||||
resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.896.tgz#4a94efe4870b1687eafd5c378198a49da06e8a1b"
|
resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.896.tgz#4a94efe4870b1687eafd5c378198a49da06e8a1b"
|
||||||
@ -12122,13 +12289,6 @@ file-uri-to-path@2:
|
|||||||
resolved "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-2.0.0.tgz#7b415aeba227d575851e0a5b0c640d7656403fba"
|
resolved "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-2.0.0.tgz#7b415aeba227d575851e0a5b0c640d7656403fba"
|
||||||
integrity sha512-hjPFI8oE/2iQPVe4gbrJ73Pp+Xfub2+WI2LlXDbsaJBwT5wuMh35WNWVYYTpnz895shtwfyutMFLFywpQAFdLg==
|
integrity sha512-hjPFI8oE/2iQPVe4gbrJ73Pp+Xfub2+WI2LlXDbsaJBwT5wuMh35WNWVYYTpnz895shtwfyutMFLFywpQAFdLg==
|
||||||
|
|
||||||
filelist@^1.0.1:
|
|
||||||
version "1.0.4"
|
|
||||||
resolved "https://registry.npmmirror.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5"
|
|
||||||
integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==
|
|
||||||
dependencies:
|
|
||||||
minimatch "^5.0.1"
|
|
||||||
|
|
||||||
fill-range@^4.0.0:
|
fill-range@^4.0.0:
|
||||||
version "4.0.0"
|
version "4.0.0"
|
||||||
resolved "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7"
|
resolved "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7"
|
||||||
@ -13530,6 +13690,13 @@ i18next-http-backend@^2.1.1:
|
|||||||
dependencies:
|
dependencies:
|
||||||
cross-fetch "3.1.5"
|
cross-fetch "3.1.5"
|
||||||
|
|
||||||
|
i18next@^21.6.0:
|
||||||
|
version "21.10.0"
|
||||||
|
resolved "https://registry.npmjs.org/i18next/-/i18next-21.10.0.tgz#85429af55fdca4858345d0e16b584ec29520197d"
|
||||||
|
integrity sha512-YeuIBmFsGjUfO3qBmMOc0rQaun4mIpGKET5WDwvu8lU7gvwpcariZLNtL0Fzj+zazcHUrlXHiptcFhBMFaxzfg==
|
||||||
|
dependencies:
|
||||||
|
"@babel/runtime" "^7.17.2"
|
||||||
|
|
||||||
i18next@^22.4.9:
|
i18next@^22.4.9:
|
||||||
version "22.4.9"
|
version "22.4.9"
|
||||||
resolved "https://registry.npmjs.org/i18next/-/i18next-22.4.9.tgz#98c8384c6bd41ff937da98b1e809ba03d3b41053"
|
resolved "https://registry.npmjs.org/i18next/-/i18next-22.4.9.tgz#98c8384c6bd41ff937da98b1e809ba03d3b41053"
|
||||||
@ -14559,16 +14726,6 @@ istanbul-reports@^3.0.2:
|
|||||||
html-escaper "^2.0.0"
|
html-escaper "^2.0.0"
|
||||||
istanbul-lib-report "^3.0.0"
|
istanbul-lib-report "^3.0.0"
|
||||||
|
|
||||||
jake@^10.8.5:
|
|
||||||
version "10.8.5"
|
|
||||||
resolved "https://registry.npmmirror.com/jake/-/jake-10.8.5.tgz#f2183d2c59382cb274226034543b9c03b8164c46"
|
|
||||||
integrity sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==
|
|
||||||
dependencies:
|
|
||||||
async "^3.2.3"
|
|
||||||
chalk "^4.0.2"
|
|
||||||
filelist "^1.0.1"
|
|
||||||
minimatch "^3.0.4"
|
|
||||||
|
|
||||||
javascript-natural-sort@^0.7.1:
|
javascript-natural-sort@^0.7.1:
|
||||||
version "0.7.1"
|
version "0.7.1"
|
||||||
resolved "https://registry.npmmirror.com/javascript-natural-sort/-/javascript-natural-sort-0.7.1.tgz#f9e2303d4507f6d74355a73664d1440fb5a0ef59"
|
resolved "https://registry.npmmirror.com/javascript-natural-sort/-/javascript-natural-sort-0.7.1.tgz#f9e2303d4507f6d74355a73664d1440fb5a0ef59"
|
||||||
@ -17036,13 +17193,6 @@ minimatch@^3.0.3, minimatch@^3.1.1, minimatch@^3.1.2:
|
|||||||
dependencies:
|
dependencies:
|
||||||
brace-expansion "^1.1.7"
|
brace-expansion "^1.1.7"
|
||||||
|
|
||||||
minimatch@^5.0.1:
|
|
||||||
version "5.1.0"
|
|
||||||
resolved "https://registry.npmmirror.com/minimatch/-/minimatch-5.1.0.tgz#1717b464f4971b144f6aabe8f2d0b8e4511e09c7"
|
|
||||||
integrity sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==
|
|
||||||
dependencies:
|
|
||||||
brace-expansion "^2.0.1"
|
|
||||||
|
|
||||||
minimatch@^5.1.0:
|
minimatch@^5.1.0:
|
||||||
version "5.1.1"
|
version "5.1.1"
|
||||||
resolved "https://registry.npmmirror.com/minimatch/-/minimatch-5.1.1.tgz#6c9dffcf9927ff2a31e74b5af11adf8b9604b022"
|
resolved "https://registry.npmmirror.com/minimatch/-/minimatch-5.1.1.tgz#6c9dffcf9927ff2a31e74b5af11adf8b9604b022"
|
||||||
@ -20662,14 +20812,6 @@ react-contenteditable@^3.3.6:
|
|||||||
fast-deep-equal "^3.1.3"
|
fast-deep-equal "^3.1.3"
|
||||||
prop-types "^15.7.1"
|
prop-types "^15.7.1"
|
||||||
|
|
||||||
react-copy-to-clipboard@^5.1.0:
|
|
||||||
version "5.1.0"
|
|
||||||
resolved "https://registry.npmmirror.com/react-copy-to-clipboard/-/react-copy-to-clipboard-5.1.0.tgz#09aae5ec4c62750ccb2e6421a58725eabc41255c"
|
|
||||||
integrity sha512-k61RsNgAayIJNoy9yDsYzDe/yAZAzEbEgcz3DZMhF686LEyukcE1hzurxe85JandPUG+yTfGVFzuEw3xt8WP/A==
|
|
||||||
dependencies:
|
|
||||||
copy-to-clipboard "^3.3.1"
|
|
||||||
prop-types "^15.8.1"
|
|
||||||
|
|
||||||
react-docgen-typescript-dumi-tmp@^1.22.1-0:
|
react-docgen-typescript-dumi-tmp@^1.22.1-0:
|
||||||
version "1.22.1-0"
|
version "1.22.1-0"
|
||||||
resolved "https://registry.npmjs.org/react-docgen-typescript-dumi-tmp/-/react-docgen-typescript-dumi-tmp-1.22.1-0.tgz#6f452de05c5c114a6e1dd60b34930afaa7ae39a0"
|
resolved "https://registry.npmjs.org/react-docgen-typescript-dumi-tmp/-/react-docgen-typescript-dumi-tmp-1.22.1-0.tgz#6f452de05c5c114a6e1dd60b34930afaa7ae39a0"
|
||||||
@ -23580,6 +23722,11 @@ toposort-class@^1.0.1:
|
|||||||
resolved "https://registry.npmjs.org/toposort-class/-/toposort-class-1.0.1.tgz#7ffd1f78c8be28c3ba45cd4e1a3f5ee193bd9988"
|
resolved "https://registry.npmjs.org/toposort-class/-/toposort-class-1.0.1.tgz#7ffd1f78c8be28c3ba45cd4e1a3f5ee193bd9988"
|
||||||
integrity sha1-f/0feMi+KMO6Rc1OGj9e4ZO9mYg=
|
integrity sha1-f/0feMi+KMO6Rc1OGj9e4ZO9mYg=
|
||||||
|
|
||||||
|
toposort@^2.0.2:
|
||||||
|
version "2.0.2"
|
||||||
|
resolved "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz#ae21768175d1559d48bef35420b2f4962f09c330"
|
||||||
|
integrity sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==
|
||||||
|
|
||||||
tough-cookie@^2.3.3, tough-cookie@^2.3.4, tough-cookie@~2.5.0:
|
tough-cookie@^2.3.3, tough-cookie@^2.3.4, tough-cookie@~2.5.0:
|
||||||
version "2.5.0"
|
version "2.5.0"
|
||||||
resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
|
resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
|
||||||
|
Loading…
Reference in New Issue
Block a user