directus 9.18.0 → 9.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/commands/roles/create.js +1 -1
- package/dist/cli/utils/create-env/env-stub.liquid +3 -2
- package/dist/controllers/collections.js +18 -0
- package/dist/database/run-ast.js +11 -4
- package/dist/database/system-data/fields/activity.yaml +2 -1
- package/dist/database/system-data/fields/collections.yaml +8 -4
- package/dist/database/system-data/fields/dashboards.yaml +6 -3
- package/dist/database/system-data/fields/fields.yaml +18 -9
- package/dist/database/system-data/fields/files.yaml +14 -7
- package/dist/database/system-data/fields/flows.yaml +10 -5
- package/dist/database/system-data/fields/folders.yaml +2 -1
- package/dist/database/system-data/fields/operations.yaml +8 -4
- package/dist/database/system-data/fields/panels.yaml +8 -4
- package/dist/database/system-data/fields/permissions.yaml +8 -4
- package/dist/database/system-data/fields/presets.yaml +10 -5
- package/dist/database/system-data/fields/relations.yaml +2 -1
- package/dist/database/system-data/fields/revisions.yaml +4 -2
- package/dist/database/system-data/fields/roles.yaml +12 -6
- package/dist/database/system-data/fields/settings.yaml +10 -5
- package/dist/database/system-data/fields/shares.yaml +7 -3
- package/dist/database/system-data/fields/users.yaml +15 -7
- package/dist/database/system-data/fields/webhooks.yaml +8 -4
- package/dist/env.js +4 -2
- package/dist/env.test.js +1 -0
- package/dist/logger.d.ts +2 -2
- package/dist/logger.js +10 -3
- package/dist/messenger.d.ts +3 -3
- package/dist/services/collections.d.ts +4 -0
- package/dist/services/collections.js +50 -5
- package/dist/services/graphql/index.js +92 -69
- package/dist/services/graphql/types/date.d.ts +1 -1
- package/dist/services/graphql/types/geojson.d.ts +1 -1
- package/dist/services/graphql/types/hash.d.ts +1 -1
- package/dist/services/graphql/types/string-or-float.d.ts +1 -1
- package/dist/services/graphql/types/void.d.ts +1 -1
- package/dist/services/items.js +3 -1
- package/dist/services/mail/templates/base.liquid +0 -1
- package/dist/services/payload.js +2 -2
- package/dist/services/payload.test.js +102 -0
- package/dist/types/items.d.ts +4 -0
- package/dist/utils/apply-query.js +10 -2
- package/dist/utils/get-ast-from-query.js +1 -1
- package/dist/utils/get-auth-providers.d.ts +1 -0
- package/dist/utils/get-auth-providers.js +1 -0
- package/dist/utils/get-auth-providers.test.d.ts +1 -0
- package/dist/utils/get-auth-providers.test.js +72 -0
- package/dist/utils/get-relation-info.js +10 -4
- package/package.json +121 -122
package/dist/types/items.d.ts
CHANGED
|
@@ -23,6 +23,10 @@ export declare type MutationOptions = {
|
|
|
23
23
|
* Flag to disable the auto purging of the cache. Is ignored when CACHE_AUTO_PURGE isn't enabled.
|
|
24
24
|
*/
|
|
25
25
|
autoPurgeCache?: false;
|
|
26
|
+
/**
|
|
27
|
+
* Flag to disable the auto purging of the system cache.
|
|
28
|
+
*/
|
|
29
|
+
autoPurgeSystemCache?: false;
|
|
26
30
|
/**
|
|
27
31
|
* Allow disabling the emitting of hooks. Useful if a custom hook is fired (like files.upload)
|
|
28
32
|
*/
|
|
@@ -212,11 +212,13 @@ function applyFilter(knex, schema, rootQuery, rootFilter, collection, subQuery =
|
|
|
212
212
|
const { columnPath, targetCollection } = (0, get_column_path_1.getColumnPath)({ path: filterPath, collection, relations, aliasMap });
|
|
213
213
|
if (!columnPath)
|
|
214
214
|
continue;
|
|
215
|
-
|
|
215
|
+
const { type, special } = validateFilterField(schema.collections[targetCollection].fields, (0, strip_function_1.stripFunction)(filterPath[filterPath.length - 1]), targetCollection);
|
|
216
|
+
validateFilterOperator(type, filterOperator, special);
|
|
216
217
|
applyFilterToQuery(columnPath, filterOperator, filterValue, logical, targetCollection);
|
|
217
218
|
}
|
|
218
219
|
else {
|
|
219
|
-
|
|
220
|
+
const { type, special } = validateFilterField(schema.collections[collection].fields, (0, strip_function_1.stripFunction)(filterPath[0]), collection);
|
|
221
|
+
validateFilterOperator(type, filterOperator, special);
|
|
220
222
|
applyFilterToQuery(`${collection}.${filterPath[0]}`, filterOperator, filterValue, logical);
|
|
221
223
|
}
|
|
222
224
|
}
|
|
@@ -248,6 +250,12 @@ function applyFilter(knex, schema, rootQuery, rootFilter, collection, subQuery =
|
|
|
248
250
|
}
|
|
249
251
|
}
|
|
250
252
|
}
|
|
253
|
+
function validateFilterField(fields, key, collection = 'unknown') {
|
|
254
|
+
if (fields[key] === undefined) {
|
|
255
|
+
throw new invalid_query_1.InvalidQueryException(`Invalid filter key "${key}" on "${collection}"`);
|
|
256
|
+
}
|
|
257
|
+
return fields[key];
|
|
258
|
+
}
|
|
251
259
|
function validateFilterOperator(type, filterOperator, special) {
|
|
252
260
|
if (filterOperator.startsWith('_')) {
|
|
253
261
|
filterOperator = filterOperator.slice(1);
|
|
@@ -73,7 +73,7 @@ async function getASTFromQuery(collection, query, schema, options) {
|
|
|
73
73
|
if (!fields || !Array.isArray(fields))
|
|
74
74
|
return [];
|
|
75
75
|
const children = [];
|
|
76
|
-
const relationalStructure =
|
|
76
|
+
const relationalStructure = Object.create(null);
|
|
77
77
|
for (const fieldKey of fields) {
|
|
78
78
|
let name = fieldKey;
|
|
79
79
|
if (query.alias) {
|
|
@@ -11,6 +11,7 @@ function getAuthProviders() {
|
|
|
11
11
|
.filter((provider) => provider && env_1.default[`AUTH_${provider.toUpperCase()}_DRIVER`])
|
|
12
12
|
.map((provider) => ({
|
|
13
13
|
name: provider,
|
|
14
|
+
label: env_1.default[`AUTH_${provider.toUpperCase()}_LABEL`],
|
|
14
15
|
driver: env_1.default[`AUTH_${provider.toUpperCase()}_DRIVER`],
|
|
15
16
|
icon: env_1.default[`AUTH_${provider.toUpperCase()}_ICON`],
|
|
16
17
|
}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
let factoryEnv = {};
|
|
4
|
+
jest.mock('../../src/env', () => new Proxy({}, {
|
|
5
|
+
get(target, prop) {
|
|
6
|
+
return factoryEnv[prop];
|
|
7
|
+
},
|
|
8
|
+
}));
|
|
9
|
+
const get_auth_providers_1 = require("../../src/utils/get-auth-providers");
|
|
10
|
+
const scenarios = [
|
|
11
|
+
{
|
|
12
|
+
name: 'when no providers configured',
|
|
13
|
+
input: {},
|
|
14
|
+
output: [],
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
name: 'when no driver configured',
|
|
18
|
+
input: {
|
|
19
|
+
AUTH_PROVIDERS: 'directus',
|
|
20
|
+
},
|
|
21
|
+
output: [],
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
name: 'when single provider and driver are properly configured',
|
|
25
|
+
input: {
|
|
26
|
+
AUTH_PROVIDERS: 'directus',
|
|
27
|
+
AUTH_DIRECTUS_DRIVER: 'openid',
|
|
28
|
+
AUTH_DIRECTUS_LABEL: 'Directus',
|
|
29
|
+
AUTH_DIRECTUS_ICON: 'hare',
|
|
30
|
+
},
|
|
31
|
+
output: [
|
|
32
|
+
{
|
|
33
|
+
name: 'directus',
|
|
34
|
+
driver: 'openid',
|
|
35
|
+
label: 'Directus',
|
|
36
|
+
icon: 'hare',
|
|
37
|
+
},
|
|
38
|
+
],
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
name: 'when multiple provider and driver are properly configured',
|
|
42
|
+
input: {
|
|
43
|
+
AUTH_PROVIDERS: 'directus,custom',
|
|
44
|
+
AUTH_DIRECTUS_DRIVER: 'openid',
|
|
45
|
+
AUTH_DIRECTUS_LABEL: 'Directus',
|
|
46
|
+
AUTH_DIRECTUS_ICON: 'hare',
|
|
47
|
+
AUTH_CUSTOM_DRIVER: 'openid',
|
|
48
|
+
AUTH_CUSTOM_ICON: 'lock',
|
|
49
|
+
},
|
|
50
|
+
output: [
|
|
51
|
+
{
|
|
52
|
+
name: 'directus',
|
|
53
|
+
driver: 'openid',
|
|
54
|
+
label: 'Directus',
|
|
55
|
+
icon: 'hare',
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
name: 'custom',
|
|
59
|
+
driver: 'openid',
|
|
60
|
+
icon: 'lock',
|
|
61
|
+
},
|
|
62
|
+
],
|
|
63
|
+
},
|
|
64
|
+
];
|
|
65
|
+
describe('get auth providers', () => {
|
|
66
|
+
for (const scenario of scenarios) {
|
|
67
|
+
test(scenario.name, () => {
|
|
68
|
+
factoryEnv = scenario.input;
|
|
69
|
+
expect((0, get_auth_providers_1.getAuthProviders)()).toEqual(scenario.output);
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
});
|
|
@@ -2,12 +2,18 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getRelationInfo = void 0;
|
|
4
4
|
const get_relation_type_1 = require("./get-relation-type");
|
|
5
|
+
function checkImplicitRelation(field) {
|
|
6
|
+
if (field.startsWith('$FOLLOW(') && field.endsWith(')')) {
|
|
7
|
+
return field.slice(8, -1).split(',');
|
|
8
|
+
}
|
|
9
|
+
return null;
|
|
10
|
+
}
|
|
5
11
|
function getRelationInfo(relations, collection, field) {
|
|
6
|
-
var _a
|
|
12
|
+
var _a;
|
|
7
13
|
if (field.startsWith('$FOLLOW') && field.length > 500) {
|
|
8
14
|
throw new Error(`Implicit $FOLLOW statement is too big to parse. Got: "${field.substring(500)}..."`);
|
|
9
15
|
}
|
|
10
|
-
const implicitRelation = (
|
|
16
|
+
const implicitRelation = checkImplicitRelation(field);
|
|
11
17
|
if (implicitRelation) {
|
|
12
18
|
if (implicitRelation[2] === undefined) {
|
|
13
19
|
const [m2oCollection, m2oField] = implicitRelation;
|
|
@@ -34,11 +40,11 @@ function getRelationInfo(relations, collection, field) {
|
|
|
34
40
|
return { relation, relationType: 'o2a' };
|
|
35
41
|
}
|
|
36
42
|
}
|
|
37
|
-
const relation = (
|
|
43
|
+
const relation = (_a = relations.find((relation) => {
|
|
38
44
|
var _a;
|
|
39
45
|
return ((relation.collection === collection && relation.field === field) ||
|
|
40
46
|
(relation.related_collection === collection && ((_a = relation.meta) === null || _a === void 0 ? void 0 : _a.one_field) === field));
|
|
41
|
-
})) !== null &&
|
|
47
|
+
})) !== null && _a !== void 0 ? _a : null;
|
|
42
48
|
const relationType = relation ? (0, get_relation_type_1.getRelationType)({ relation, collection, field }) : null;
|
|
43
49
|
return { relation, relationType };
|
|
44
50
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "directus",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.19.0",
|
|
4
4
|
"license": "GPL-3.0-only",
|
|
5
5
|
"homepage": "https://github.com/directus/directus#readme",
|
|
6
6
|
"description": "Directus is a real-time API and App dashboard for managing SQL database content.",
|
|
@@ -65,110 +65,110 @@
|
|
|
65
65
|
"README.md"
|
|
66
66
|
],
|
|
67
67
|
"dependencies": {
|
|
68
|
-
"@aws-sdk/client-ses": "
|
|
69
|
-
"@directus/app": "9.
|
|
70
|
-
"@directus/drive": "9.
|
|
71
|
-
"@directus/drive-azure": "9.
|
|
72
|
-
"@directus/drive-gcs": "9.
|
|
73
|
-
"@directus/drive-s3": "9.
|
|
74
|
-
"@directus/extensions-sdk": "
|
|
75
|
-
"@directus/format-title": "
|
|
76
|
-
"@directus/schema": "9.
|
|
77
|
-
"@directus/shared": "9.
|
|
78
|
-
"@directus/specs": "9.
|
|
79
|
-
"@godaddy/terminus": "
|
|
80
|
-
"@rollup/plugin-alias": "
|
|
81
|
-
"@rollup/plugin-virtual": "
|
|
82
|
-
"argon2": "
|
|
83
|
-
"async": "
|
|
84
|
-
"async-mutex": "
|
|
85
|
-
"axios": "
|
|
86
|
-
"busboy": "
|
|
87
|
-
"bytes": "
|
|
88
|
-
"camelcase": "
|
|
89
|
-
"chalk": "
|
|
90
|
-
"chokidar": "
|
|
91
|
-
"commander": "
|
|
92
|
-
"cookie-parser": "
|
|
93
|
-
"cors": "
|
|
94
|
-
"csv-parser": "
|
|
95
|
-
"date-fns": "
|
|
96
|
-
"deep-diff": "
|
|
97
|
-
"deep-map": "
|
|
98
|
-
"destroy": "
|
|
99
|
-
"dotenv": "
|
|
100
|
-
"encodeurl": "
|
|
101
|
-
"eventemitter2": "
|
|
102
|
-
"execa": "
|
|
103
|
-
"exifr": "
|
|
104
|
-
"express": "
|
|
105
|
-
"fast-redact": "
|
|
106
|
-
"flat": "
|
|
107
|
-
"fs-extra": "
|
|
108
|
-
"globby": "
|
|
109
|
-
"graphql": "
|
|
110
|
-
"graphql-compose": "
|
|
111
|
-
"helmet": "
|
|
112
|
-
"inquirer": "
|
|
113
|
-
"ioredis": "
|
|
114
|
-
"joi": "
|
|
115
|
-
"js-yaml": "
|
|
116
|
-
"js2xmlparser": "
|
|
117
|
-
"json2csv": "
|
|
118
|
-
"jsonwebtoken": "
|
|
119
|
-
"keyv": "
|
|
120
|
-
"knex": "2.
|
|
121
|
-
"knex-schema-inspector": "
|
|
122
|
-
"ldapjs": "
|
|
123
|
-
"liquidjs": "
|
|
124
|
-
"lodash": "
|
|
125
|
-
"marked": "
|
|
126
|
-
"micromustache": "
|
|
127
|
-
"mime-types": "
|
|
128
|
-
"ms": "
|
|
129
|
-
"nanoid": "
|
|
130
|
-
"node-cron": "
|
|
131
|
-
"node-machine-id": "
|
|
132
|
-
"nodemailer": "
|
|
133
|
-
"object-hash": "
|
|
134
|
-
"openapi3-ts": "
|
|
135
|
-
"openid-client": "
|
|
136
|
-
"ora": "
|
|
137
|
-
"otplib": "
|
|
138
|
-
"pino": "6.
|
|
139
|
-
"pino-
|
|
140
|
-
"pino-http": "
|
|
141
|
-
"qs": "
|
|
142
|
-
"rate-limiter-flexible": "
|
|
143
|
-
"resolve-cwd": "
|
|
144
|
-
"rollup": "
|
|
145
|
-
"sanitize-html": "
|
|
146
|
-
"sharp": "
|
|
147
|
-
"snappy": "
|
|
148
|
-
"stream-json": "
|
|
149
|
-
"strip-bom-stream": "
|
|
150
|
-
"tmp-promise": "
|
|
151
|
-
"update-check": "
|
|
152
|
-
"uuid": "
|
|
68
|
+
"@aws-sdk/client-ses": "3.190.0",
|
|
69
|
+
"@directus/app": "9.19.0",
|
|
70
|
+
"@directus/drive": "9.19.0",
|
|
71
|
+
"@directus/drive-azure": "9.19.0",
|
|
72
|
+
"@directus/drive-gcs": "9.19.0",
|
|
73
|
+
"@directus/drive-s3": "9.19.0",
|
|
74
|
+
"@directus/extensions-sdk": "9.19.0",
|
|
75
|
+
"@directus/format-title": "9.15.0",
|
|
76
|
+
"@directus/schema": "9.19.0",
|
|
77
|
+
"@directus/shared": "9.19.0",
|
|
78
|
+
"@directus/specs": "9.19.0",
|
|
79
|
+
"@godaddy/terminus": "4.11.2",
|
|
80
|
+
"@rollup/plugin-alias": "4.0.0",
|
|
81
|
+
"@rollup/plugin-virtual": "3.0.0",
|
|
82
|
+
"argon2": "0.30.1",
|
|
83
|
+
"async": "3.2.4",
|
|
84
|
+
"async-mutex": "0.4.0",
|
|
85
|
+
"axios": "1.1.3",
|
|
86
|
+
"busboy": "1.6.0",
|
|
87
|
+
"bytes": "3.1.2",
|
|
88
|
+
"camelcase": "6.3.0",
|
|
89
|
+
"chalk": "4.1.1",
|
|
90
|
+
"chokidar": "3.5.3",
|
|
91
|
+
"commander": "9.4.1",
|
|
92
|
+
"cookie-parser": "1.4.6",
|
|
93
|
+
"cors": "2.8.5",
|
|
94
|
+
"csv-parser": "3.0.0",
|
|
95
|
+
"date-fns": "2.29.3",
|
|
96
|
+
"deep-diff": "1.0.2",
|
|
97
|
+
"deep-map": "2.0.0",
|
|
98
|
+
"destroy": "1.2.0",
|
|
99
|
+
"dotenv": "16.0.3",
|
|
100
|
+
"encodeurl": "1.0.2",
|
|
101
|
+
"eventemitter2": "6.4.9",
|
|
102
|
+
"execa": "5.1.1",
|
|
103
|
+
"exifr": "7.1.3",
|
|
104
|
+
"express": "4.18.2",
|
|
105
|
+
"fast-redact": "3.1.2",
|
|
106
|
+
"flat": "5.0.2",
|
|
107
|
+
"fs-extra": "10.1.0",
|
|
108
|
+
"globby": "11.0.4",
|
|
109
|
+
"graphql": "16.6.0",
|
|
110
|
+
"graphql-compose": "9.0.9",
|
|
111
|
+
"helmet": "6.0.0",
|
|
112
|
+
"inquirer": "8.2.4",
|
|
113
|
+
"ioredis": "5.2.3",
|
|
114
|
+
"joi": "17.6.3",
|
|
115
|
+
"js-yaml": "4.1.0",
|
|
116
|
+
"js2xmlparser": "5.0.0",
|
|
117
|
+
"json2csv": "5.0.7",
|
|
118
|
+
"jsonwebtoken": "8.5.1",
|
|
119
|
+
"keyv": "4.5.0",
|
|
120
|
+
"knex": "2.3.0",
|
|
121
|
+
"knex-schema-inspector": "3.0.0",
|
|
122
|
+
"ldapjs": "2.3.3",
|
|
123
|
+
"liquidjs": "9.42.0",
|
|
124
|
+
"lodash": "4.17.21",
|
|
125
|
+
"marked": "4.1.1",
|
|
126
|
+
"micromustache": "8.0.3",
|
|
127
|
+
"mime-types": "2.1.35",
|
|
128
|
+
"ms": "2.1.3",
|
|
129
|
+
"nanoid": "3.1.23",
|
|
130
|
+
"node-cron": "3.0.2",
|
|
131
|
+
"node-machine-id": "1.1.12",
|
|
132
|
+
"nodemailer": "6.8.0",
|
|
133
|
+
"object-hash": "3.0.0",
|
|
134
|
+
"openapi3-ts": "3.1.1",
|
|
135
|
+
"openid-client": "5.2.0",
|
|
136
|
+
"ora": "5.4.0",
|
|
137
|
+
"otplib": "12.0.1",
|
|
138
|
+
"pino": "8.6.1",
|
|
139
|
+
"pino-http": "8.2.1",
|
|
140
|
+
"pino-http-print": "3.1.0",
|
|
141
|
+
"qs": "6.11.0",
|
|
142
|
+
"rate-limiter-flexible": "2.3.12",
|
|
143
|
+
"resolve-cwd": "3.0.0",
|
|
144
|
+
"rollup": "3.2.3",
|
|
145
|
+
"sanitize-html": "2.7.2",
|
|
146
|
+
"sharp": "0.31.1",
|
|
147
|
+
"snappy": "7.2.0",
|
|
148
|
+
"stream-json": "1.7.4",
|
|
149
|
+
"strip-bom-stream": "4.0.0",
|
|
150
|
+
"tmp-promise": "3.0.3",
|
|
151
|
+
"update-check": "1.5.4",
|
|
152
|
+
"uuid": "9.0.0",
|
|
153
153
|
"uuid-validate": "0.0.3",
|
|
154
|
-
"vm2": "
|
|
155
|
-
"wellknown": "
|
|
154
|
+
"vm2": "3.9.11",
|
|
155
|
+
"wellknown": "0.5.0"
|
|
156
156
|
},
|
|
157
157
|
"optionalDependencies": {
|
|
158
|
-
"@keyv/redis": "
|
|
159
|
-
"keyv-memcache": "
|
|
160
|
-
"memcached": "
|
|
161
|
-
"mysql": "
|
|
162
|
-
"nodemailer-mailgun-transport": "
|
|
163
|
-
"nodemailer-sendgrid": "
|
|
164
|
-
"pg": "
|
|
165
|
-
"sqlite3": "
|
|
166
|
-
"tedious": "
|
|
158
|
+
"@keyv/redis": "2.5.2",
|
|
159
|
+
"keyv-memcache": "1.2.5",
|
|
160
|
+
"memcached": "2.2.2",
|
|
161
|
+
"mysql": "2.18.1",
|
|
162
|
+
"nodemailer-mailgun-transport": "2.1.5",
|
|
163
|
+
"nodemailer-sendgrid": "1.0.3",
|
|
164
|
+
"pg": "8.8.0",
|
|
165
|
+
"sqlite3": "5.1.2",
|
|
166
|
+
"tedious": "15.1.0"
|
|
167
167
|
},
|
|
168
168
|
"gitHead": "24621f3934dc77eb23441331040ed13c676ceffd",
|
|
169
169
|
"devDependencies": {
|
|
170
|
-
"@otplib/preset-default": "
|
|
171
|
-
"@types/async": "3.2.
|
|
170
|
+
"@otplib/preset-default": "12.0.1",
|
|
171
|
+
"@types/async": "3.2.15",
|
|
172
172
|
"@types/body-parser": "1.19.2",
|
|
173
173
|
"@types/busboy": "1.5.0",
|
|
174
174
|
"@types/bytes": "3.1.1",
|
|
@@ -176,35 +176,34 @@
|
|
|
176
176
|
"@types/cors": "2.8.12",
|
|
177
177
|
"@types/deep-diff": "1.0.1",
|
|
178
178
|
"@types/destroy": "1.0.0",
|
|
179
|
-
"@types/encodeurl": "
|
|
180
|
-
"@types/express": "4.17.
|
|
179
|
+
"@types/encodeurl": "1.0.0",
|
|
180
|
+
"@types/express": "4.17.14",
|
|
181
181
|
"@types/express-pino-logger": "4.0.3",
|
|
182
|
-
"@types/express-serve-static-core": "
|
|
183
|
-
"@types/express-session": "1.17.
|
|
184
|
-
"@types/fast-redact": "
|
|
182
|
+
"@types/express-serve-static-core": "4.17.31",
|
|
183
|
+
"@types/express-session": "1.17.5",
|
|
184
|
+
"@types/fast-redact": "3.0.2",
|
|
185
185
|
"@types/flat": "5.0.2",
|
|
186
186
|
"@types/fs-extra": "9.0.13",
|
|
187
187
|
"@types/inquirer": "8.2.1",
|
|
188
|
-
"@types/
|
|
189
|
-
"@types/jest": "27.5.2",
|
|
188
|
+
"@types/jest": "29.2.0",
|
|
190
189
|
"@types/js-yaml": "4.0.5",
|
|
191
190
|
"@types/json2csv": "5.0.3",
|
|
192
|
-
"@types/jsonwebtoken": "8.5.
|
|
191
|
+
"@types/jsonwebtoken": "8.5.9",
|
|
193
192
|
"@types/keyv": "3.1.4",
|
|
194
|
-
"@types/ldapjs": "2.2.
|
|
195
|
-
"@types/lodash": "4.14.
|
|
196
|
-
"@types/marked": "4.0.
|
|
193
|
+
"@types/ldapjs": "2.2.4",
|
|
194
|
+
"@types/lodash": "4.14.186",
|
|
195
|
+
"@types/marked": "4.0.7",
|
|
197
196
|
"@types/mime-types": "2.1.1",
|
|
198
197
|
"@types/ms": "0.7.31",
|
|
199
|
-
"@types/node": "
|
|
200
|
-
"@types/node-cron": "
|
|
201
|
-
"@types/nodemailer": "6.4.
|
|
198
|
+
"@types/node": "18.11.2",
|
|
199
|
+
"@types/node-cron": "3.0.4",
|
|
200
|
+
"@types/nodemailer": "6.4.6",
|
|
202
201
|
"@types/object-hash": "2.2.1",
|
|
203
|
-
"@types/pino": "
|
|
202
|
+
"@types/pino": "7.0.4",
|
|
204
203
|
"@types/pino-http": "5.8.1",
|
|
205
204
|
"@types/qs": "6.9.7",
|
|
206
205
|
"@types/sanitize-html": "2.6.2",
|
|
207
|
-
"@types/sharp": "0.
|
|
206
|
+
"@types/sharp": "0.31.0",
|
|
208
207
|
"@types/stream-json": "1.7.2",
|
|
209
208
|
"@types/supertest": "2.0.12",
|
|
210
209
|
"@types/uuid": "8.3.4",
|
|
@@ -212,15 +211,15 @@
|
|
|
212
211
|
"@types/wellknown": "0.5.3",
|
|
213
212
|
"copyfiles": "2.4.1",
|
|
214
213
|
"cross-env": "7.0.3",
|
|
215
|
-
"form-data": "
|
|
216
|
-
"jest": "
|
|
214
|
+
"form-data": "4.0.0",
|
|
215
|
+
"jest": "29.2.1",
|
|
217
216
|
"knex-mock-client": "1.8.4",
|
|
218
217
|
"rimraf": "3.0.2",
|
|
219
|
-
"supertest": "
|
|
220
|
-
"ts-jest": "
|
|
221
|
-
"ts-node": "
|
|
222
|
-
"ts-node-dev": "
|
|
223
|
-
"typescript": "4.
|
|
218
|
+
"supertest": "6.3.0",
|
|
219
|
+
"ts-jest": "29.0.3",
|
|
220
|
+
"ts-node": "10.9.1",
|
|
221
|
+
"ts-node-dev": "2.0.0",
|
|
222
|
+
"typescript": "4.8.4"
|
|
224
223
|
},
|
|
225
224
|
"scripts": {
|
|
226
225
|
"start": "npx directus start",
|