mirror of
https://github.com/directus/directus.git
synced 2026-01-09 01:48:11 -05:00
Finish dependency move (#25583)
* Dangerously update API deps * Dangerously move app dependencies to pnpm-workspace * Move all dependencies to catalog * Sort catalog * Pnpm update * Use pnpm 10.14 * Update for zod breaking change * Fix unhead breaking change * Downgrade major api upgrades * Downgrade app major upgrades * Fix app tests * Downgrade isolated-vm * Add changeset * Fix template in head * Resolve unhead lang signature * Downgrade unhead * Downgrade keyv/redis It uses a different redis lib under the hood which is incompatible * Resolve import in test * Update and move workspace root dependencies * Update CSS for updated linter rules * Oops * Run formatter * Update rule name * Run prettier * Move utils peer to catalog * Add focus-trap dependency
This commit is contained in:
14
.changeset/red-rules-glow.md
Normal file
14
.changeset/red-rules-glow.md
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
'@directus/composables': patch
|
||||
'@directus/extensions': patch
|
||||
'@directus/pressure': patch
|
||||
'@directus/memory': patch
|
||||
'@directus/stores': patch
|
||||
'@directus/themes': patch
|
||||
'@directus/types': patch
|
||||
'@directus/utils': patch
|
||||
'@directus/api': patch
|
||||
'@directus/app': patch
|
||||
---
|
||||
|
||||
Upgraded dependencies
|
||||
270
api/package.json
270
api/package.json
@@ -66,8 +66,8 @@
|
||||
"test:coverage": "vitest run --coverage"
|
||||
},
|
||||
"dependencies": {
|
||||
"@authenio/samlify-node-xmllint": "2.0.0",
|
||||
"@aws-sdk/client-ses": "3.758.0",
|
||||
"@authenio/samlify-node-xmllint": "catalog:",
|
||||
"@aws-sdk/client-ses": "catalog:",
|
||||
"@directus/app": "workspace:*",
|
||||
"@directus/constants": "workspace:*",
|
||||
"@directus/env": "workspace:*",
|
||||
@@ -91,154 +91,154 @@
|
||||
"@directus/system-data": "workspace:*",
|
||||
"@directus/utils": "workspace:*",
|
||||
"@directus/validation": "workspace:*",
|
||||
"@godaddy/terminus": "4.12.1",
|
||||
"@rollup/plugin-alias": "5.1.1",
|
||||
"@rollup/plugin-node-resolve": "15.3.1",
|
||||
"@rollup/plugin-virtual": "3.0.2",
|
||||
"@tus/server": "1.10.2",
|
||||
"@tus/utils": "0.5.1",
|
||||
"argon2": "0.41.1",
|
||||
"async": "3.2.6",
|
||||
"async-mutex": "0.5.0",
|
||||
"axios": "1.8.4",
|
||||
"busboy": "1.6.0",
|
||||
"bytes": "3.1.2",
|
||||
"camelcase": "8.0.0",
|
||||
"chalk": "5.4.1",
|
||||
"chokidar": "3.6.0",
|
||||
"commander": "12.1.0",
|
||||
"content-disposition": "0.5.4",
|
||||
"cookie": "1.0.2",
|
||||
"cookie-parser": "1.4.7",
|
||||
"cors": "2.8.5",
|
||||
"cron-parser": "4.9.0",
|
||||
"date-fns": "4.1.0",
|
||||
"deep-diff": "1.0.2",
|
||||
"destroy": "1.2.0",
|
||||
"@godaddy/terminus": "catalog:",
|
||||
"@rollup/plugin-alias": "catalog:",
|
||||
"@rollup/plugin-node-resolve": "catalog:",
|
||||
"@rollup/plugin-virtual": "catalog:",
|
||||
"@tus/server": "catalog:",
|
||||
"@tus/utils": "catalog:",
|
||||
"argon2": "catalog:",
|
||||
"async": "catalog:",
|
||||
"async-mutex": "catalog:",
|
||||
"axios": "catalog:",
|
||||
"busboy": "catalog:",
|
||||
"bytes": "catalog:",
|
||||
"camelcase": "catalog:",
|
||||
"chalk": "catalog:",
|
||||
"chokidar": "catalog:",
|
||||
"commander": "catalog:",
|
||||
"content-disposition": "catalog:",
|
||||
"cookie": "catalog:",
|
||||
"cookie-parser": "catalog:",
|
||||
"cors": "catalog:",
|
||||
"cron-parser": "catalog:",
|
||||
"date-fns": "catalog:",
|
||||
"deep-diff": "catalog:",
|
||||
"destroy": "catalog:",
|
||||
"directus": "workspace:*",
|
||||
"dotenv": "16.4.7",
|
||||
"encodeurl": "2.0.0",
|
||||
"eventemitter2": "6.4.9",
|
||||
"execa": "8.0.1",
|
||||
"exif-reader": "2.0.2",
|
||||
"express": "4.21.2",
|
||||
"flat": "6.0.1",
|
||||
"fs-extra": "11.3.0",
|
||||
"glob-to-regexp": "0.4.1",
|
||||
"graphql": "16.10.0",
|
||||
"graphql-compose": "9.1.0",
|
||||
"graphql-ws": "5.16.2",
|
||||
"helmet": "8.0.0",
|
||||
"icc": "3.0.0",
|
||||
"inquirer": "12.4.2",
|
||||
"ioredis": "5.5.0",
|
||||
"ip-matching": "2.1.2",
|
||||
"isolated-vm": "5.0.3",
|
||||
"joi": "17.13.3",
|
||||
"js-yaml": "4.1.0",
|
||||
"js2xmlparser": "5.0.0",
|
||||
"json2csv": "5.0.7",
|
||||
"jsonwebtoken": "9.0.2",
|
||||
"keyv": "5.3.0",
|
||||
"knex": "3.1.0",
|
||||
"ldapjs": "2.3.3",
|
||||
"liquidjs": "10.21.0",
|
||||
"dotenv": "catalog:",
|
||||
"encodeurl": "catalog:",
|
||||
"eventemitter2": "catalog:",
|
||||
"execa": "catalog:",
|
||||
"exif-reader": "catalog:",
|
||||
"express": "catalog:",
|
||||
"flat": "catalog:",
|
||||
"fs-extra": "catalog:",
|
||||
"glob-to-regexp": "catalog:",
|
||||
"graphql": "catalog:",
|
||||
"graphql-compose": "catalog:",
|
||||
"graphql-ws": "catalog:",
|
||||
"helmet": "catalog:",
|
||||
"icc": "catalog:",
|
||||
"inquirer": "catalog:",
|
||||
"ioredis": "catalog:",
|
||||
"ip-matching": "catalog:",
|
||||
"isolated-vm": "catalog:",
|
||||
"joi": "catalog:",
|
||||
"js-yaml": "catalog:",
|
||||
"js2xmlparser": "catalog:",
|
||||
"json2csv": "catalog:",
|
||||
"jsonwebtoken": "catalog:",
|
||||
"keyv": "catalog:",
|
||||
"knex": "catalog:",
|
||||
"ldapjs": "catalog:",
|
||||
"liquidjs": "catalog:",
|
||||
"lodash-es": "catalog:",
|
||||
"marked": "15.0.7",
|
||||
"micromustache": "8.0.3",
|
||||
"mime-types": "2.1.35",
|
||||
"minimatch": "10.0.1",
|
||||
"mnemonist": "0.40.3",
|
||||
"ms": "2.1.3",
|
||||
"nanoid": "5.1.2",
|
||||
"node-machine-id": "1.1.12",
|
||||
"node-schedule": "2.1.1",
|
||||
"nodemailer": "6.10.0",
|
||||
"object-hash": "3.0.0",
|
||||
"openapi3-ts": "4.4.0",
|
||||
"openid-client": "5.7.1",
|
||||
"ora": "8.2.0",
|
||||
"otplib": "12.0.1",
|
||||
"p-limit": "6.2.0",
|
||||
"p-queue": "8.1.0",
|
||||
"papaparse": "5.5.2",
|
||||
"pino": "9.6.0",
|
||||
"pino-http": "10.4.0",
|
||||
"pino-http-print": "3.1.0",
|
||||
"pino-pretty": "13.0.0",
|
||||
"pm2": "5.4.3",
|
||||
"prom-client": "15.1.3",
|
||||
"proxy-addr": "2.0.7",
|
||||
"qs": "6.14.0",
|
||||
"rate-limiter-flexible": "5.0.5",
|
||||
"rollup": "4.34.9",
|
||||
"rolldown": "1.0.0-beta.28",
|
||||
"samlify": "2.10.0",
|
||||
"sanitize-html": "2.14.0",
|
||||
"sharp": "0.33.5",
|
||||
"snappy": "7.2.2",
|
||||
"stream-json": "1.9.1",
|
||||
"tar": "7.4.3",
|
||||
"tsx": "4.19.3",
|
||||
"uuid": "11.1.0",
|
||||
"wellknown": "0.5.0",
|
||||
"ws": "8.18.1",
|
||||
"zod": "3.24.2",
|
||||
"zod-validation-error": "3.4.0"
|
||||
"marked": "catalog:",
|
||||
"micromustache": "catalog:",
|
||||
"mime-types": "catalog:",
|
||||
"minimatch": "catalog:",
|
||||
"mnemonist": "catalog:",
|
||||
"ms": "catalog:",
|
||||
"nanoid": "catalog:",
|
||||
"node-machine-id": "catalog:",
|
||||
"node-schedule": "catalog:",
|
||||
"nodemailer": "catalog:",
|
||||
"object-hash": "catalog:",
|
||||
"openapi3-ts": "catalog:",
|
||||
"openid-client": "catalog:",
|
||||
"ora": "catalog:",
|
||||
"otplib": "catalog:",
|
||||
"p-limit": "catalog:",
|
||||
"p-queue": "catalog:",
|
||||
"papaparse": "catalog:",
|
||||
"pino": "catalog:",
|
||||
"pino-http": "catalog:",
|
||||
"pino-http-print": "catalog:",
|
||||
"pino-pretty": "catalog:",
|
||||
"pm2": "catalog:",
|
||||
"prom-client": "catalog:",
|
||||
"proxy-addr": "catalog:",
|
||||
"qs": "catalog:",
|
||||
"rate-limiter-flexible": "catalog:",
|
||||
"rollup": "catalog:",
|
||||
"rolldown": "catalog:",
|
||||
"samlify": "catalog:",
|
||||
"sanitize-html": "catalog:",
|
||||
"sharp": "catalog:",
|
||||
"snappy": "catalog:",
|
||||
"stream-json": "catalog:",
|
||||
"tar": "catalog:",
|
||||
"tsx": "catalog:",
|
||||
"uuid": "catalog:",
|
||||
"wellknown": "catalog:",
|
||||
"ws": "catalog:",
|
||||
"zod": "catalog:",
|
||||
"zod-validation-error": "catalog:"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@directus/schema-builder": "workspace:*",
|
||||
"@directus/tsconfig": "catalog:",
|
||||
"@directus/types": "workspace:*",
|
||||
"@ngneat/falso": "7.3.0",
|
||||
"@types/async": "3.2.24",
|
||||
"@types/busboy": "1.5.4",
|
||||
"@types/bytes": "3.1.5",
|
||||
"@types/content-disposition": "0.5.8",
|
||||
"@types/cookie-parser": "1.4.8",
|
||||
"@types/cors": "2.8.17",
|
||||
"@types/deep-diff": "1.0.5",
|
||||
"@types/destroy": "1.0.3",
|
||||
"@types/encodeurl": "1.0.2",
|
||||
"@types/express": "4.17.21",
|
||||
"@types/express-serve-static-core": "4.19.6",
|
||||
"@types/fs-extra": "11.0.4",
|
||||
"@types/glob-to-regexp": "0.4.4",
|
||||
"@types/inquirer": "9.0.7",
|
||||
"@types/js-yaml": "4.0.9",
|
||||
"@types/json2csv": "5.0.7",
|
||||
"@types/jsonwebtoken": "9.0.9",
|
||||
"@types/ldapjs": "2.2.5",
|
||||
"@ngneat/falso": "catalog:",
|
||||
"@types/async": "catalog:",
|
||||
"@types/busboy": "catalog:",
|
||||
"@types/bytes": "catalog:",
|
||||
"@types/content-disposition": "catalog:",
|
||||
"@types/cookie-parser": "catalog:",
|
||||
"@types/cors": "catalog:",
|
||||
"@types/deep-diff": "catalog:",
|
||||
"@types/destroy": "catalog:",
|
||||
"@types/encodeurl": "catalog:",
|
||||
"@types/express": "catalog:",
|
||||
"@types/express-serve-static-core": "catalog:",
|
||||
"@types/fs-extra": "catalog:",
|
||||
"@types/glob-to-regexp": "catalog:",
|
||||
"@types/inquirer": "catalog:",
|
||||
"@types/js-yaml": "catalog:",
|
||||
"@types/json2csv": "catalog:",
|
||||
"@types/jsonwebtoken": "catalog:",
|
||||
"@types/ldapjs": "catalog:",
|
||||
"@types/lodash-es": "catalog:",
|
||||
"@types/mime-types": "2.1.4",
|
||||
"@types/ms": "2.1.0",
|
||||
"@types/mime-types": "catalog:",
|
||||
"@types/ms": "catalog:",
|
||||
"@types/node": "catalog:",
|
||||
"@types/node-schedule": "2.1.7",
|
||||
"@types/nodemailer": "6.4.17",
|
||||
"@types/object-hash": "3.0.6",
|
||||
"@types/papaparse": "5.3.15",
|
||||
"@types/proxy-addr": "2.0.3",
|
||||
"@types/qs": "6.9.18",
|
||||
"@types/sanitize-html": "2.13.0",
|
||||
"@types/stream-json": "1.7.8",
|
||||
"@types/wellknown": "0.5.8",
|
||||
"@types/ws": "8.5.14",
|
||||
"@types/node-schedule": "catalog:",
|
||||
"@types/nodemailer": "catalog:",
|
||||
"@types/object-hash": "catalog:",
|
||||
"@types/papaparse": "catalog:",
|
||||
"@types/proxy-addr": "catalog:",
|
||||
"@types/qs": "catalog:",
|
||||
"@types/sanitize-html": "catalog:",
|
||||
"@types/stream-json": "catalog:",
|
||||
"@types/wellknown": "catalog:",
|
||||
"@types/ws": "catalog:",
|
||||
"@vitest/coverage-v8": "catalog:",
|
||||
"copyfiles": "2.4.1",
|
||||
"copyfiles": "catalog:",
|
||||
"form-data": "catalog:",
|
||||
"get-port": "7.1.0",
|
||||
"knex-mock-client": "3.0.2",
|
||||
"get-port": "catalog:",
|
||||
"knex-mock-client": "catalog:",
|
||||
"typescript": "catalog:",
|
||||
"vitest": "catalog:"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@keyv/redis": "3.0.1",
|
||||
"mysql2": "3.12.0",
|
||||
"nodemailer-mailgun-transport": "2.1.5",
|
||||
"oracledb": "6.8.0",
|
||||
"pg": "8.13.3",
|
||||
"sqlite3": "5.1.7",
|
||||
"tedious": "18.6.1"
|
||||
"@keyv/redis": "catalog:",
|
||||
"mysql2": "catalog:",
|
||||
"nodemailer-mailgun-transport": "catalog:",
|
||||
"oracledb": "catalog:",
|
||||
"pg": "catalog:",
|
||||
"sqlite3": "catalog:",
|
||||
"tedious": "catalog:"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=22"
|
||||
|
||||
@@ -24,7 +24,10 @@ export function scheduleSynchronizedJob(
|
||||
const clock = new SynchronizedClock(`${id}:${rule}`);
|
||||
|
||||
const job = schedule.scheduleJob(rule, async (fireDate) => {
|
||||
const nextTimestamp = job.nextInvocation().getTime();
|
||||
const nextInvocation = job.nextInvocation();
|
||||
if (!nextInvocation) return;
|
||||
|
||||
const nextTimestamp = nextInvocation.getTime();
|
||||
|
||||
const wasSet = await clock.set(nextTimestamp);
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ export const WebSocketSubscribeMessage = z.discriminatedUnion('type', [
|
||||
collection: z.string(),
|
||||
event: z.union([z.literal('create'), z.literal('update'), z.literal('delete')]).optional(),
|
||||
item: zodStringOrNumber.optional(),
|
||||
query: z.record(z.any()).optional(),
|
||||
query: z.record(z.string(), z.any()).optional(),
|
||||
}),
|
||||
WebSocketMessage.extend({
|
||||
type: z.literal('unsubscribe'),
|
||||
@@ -100,19 +100,19 @@ export const WebSocketEvent = z.discriminatedUnion('action', [
|
||||
z.object({
|
||||
action: z.literal('create'),
|
||||
collection: z.string(),
|
||||
payload: z.record(z.any()).optional(),
|
||||
payload: z.record(z.string(), z.any()).optional(),
|
||||
key: zodStringOrNumber,
|
||||
}),
|
||||
z.object({
|
||||
action: z.literal('update'),
|
||||
collection: z.string(),
|
||||
payload: z.record(z.any()).optional(),
|
||||
payload: z.record(z.string(), z.any()).optional(),
|
||||
keys: z.array(zodStringOrNumber),
|
||||
}),
|
||||
z.object({
|
||||
action: z.literal('delete'),
|
||||
collection: z.string(),
|
||||
payload: z.record(z.any()).optional(),
|
||||
payload: z.record(z.string(), z.any()).optional(),
|
||||
keys: z.array(zodStringOrNumber),
|
||||
}),
|
||||
]);
|
||||
|
||||
209
app/package.json
209
app/package.json
@@ -47,112 +47,113 @@
|
||||
"@directus/types": "workspace:*",
|
||||
"@directus/utils": "workspace:*",
|
||||
"@directus/validation": "workspace:*",
|
||||
"@editorjs/attaches": "1.3.0",
|
||||
"@editorjs/checklist": "1.6.0",
|
||||
"@editorjs/code": "2.9.0",
|
||||
"@editorjs/delimiter": "1.4.2",
|
||||
"@editorjs/editorjs": "2.29.1",
|
||||
"@editorjs/embed": "2.7.4",
|
||||
"@editorjs/header": "2.8.1",
|
||||
"@editorjs/image": "2.9.3",
|
||||
"@editorjs/inline-code": "1.5.1",
|
||||
"@editorjs/nested-list": "1.4.3",
|
||||
"@editorjs/paragraph": "2.11.5",
|
||||
"@editorjs/quote": "2.7.2",
|
||||
"@editorjs/raw": "2.5.0",
|
||||
"@editorjs/table": "2.3.0",
|
||||
"@editorjs/underline": "1.1.0",
|
||||
"@fortawesome/fontawesome-svg-core": "6.7.2",
|
||||
"@fortawesome/free-brands-svg-icons": "6.7.2",
|
||||
"@fullcalendar/core": "6.1.15",
|
||||
"@fullcalendar/daygrid": "6.1.15",
|
||||
"@fullcalendar/interaction": "6.1.15",
|
||||
"@fullcalendar/list": "6.1.15",
|
||||
"@fullcalendar/timegrid": "6.1.15",
|
||||
"@histoire/plugin-vue": "0.17.17",
|
||||
"@joeattardi/emoji-button": "4.6.4",
|
||||
"@json2csv/plainjs": "7.0.6",
|
||||
"@mapbox/mapbox-gl-draw": "1.5.0",
|
||||
"@mapbox/mapbox-gl-draw-static-mode": "1.0.1",
|
||||
"@mapbox/mapbox-gl-geocoder": "5.1.0",
|
||||
"@ngneat/falso": "7.3.0",
|
||||
"@pinia/testing": "1.0.0",
|
||||
"@popperjs/core": "2.11.8",
|
||||
"@rollup/plugin-yaml": "4.1.2",
|
||||
"@sindresorhus/slugify": "2.2.1",
|
||||
"@tinymce/tinymce-vue": "6.1.0",
|
||||
"@turf/meta": "7.2.0",
|
||||
"@types/base-64": "1.0.2",
|
||||
"@types/chroma-js": "3.1.1",
|
||||
"@types/codemirror": "5.60.15",
|
||||
"@types/diacritics": "1.3.3",
|
||||
"@types/diff": "7.0.1",
|
||||
"@types/file-saver": "2.0.7",
|
||||
"@types/geojson": "7946.0.16",
|
||||
"@types/lodash": "4.17.16",
|
||||
"@types/mapbox__mapbox-gl-draw": "1.4.8",
|
||||
"@types/mapbox__mapbox-gl-geocoder": "5.0.0",
|
||||
"@types/qrcode": "1.5.5",
|
||||
"@types/semver": "7.5.8",
|
||||
"@types/wellknown": "0.5.8",
|
||||
"@unhead/addons": "1.11.20",
|
||||
"@unhead/vue": "1.11.20",
|
||||
"@vitejs/plugin-vue": "5.2.1",
|
||||
"@editorjs/attaches": "catalog:",
|
||||
"@editorjs/checklist": "catalog:",
|
||||
"@editorjs/code": "catalog:",
|
||||
"@editorjs/delimiter": "catalog:",
|
||||
"@editorjs/editorjs": "catalog:",
|
||||
"@editorjs/embed": "catalog:",
|
||||
"@editorjs/header": "catalog:",
|
||||
"@editorjs/image": "catalog:",
|
||||
"@editorjs/inline-code": "catalog:",
|
||||
"@editorjs/nested-list": "catalog:",
|
||||
"@editorjs/paragraph": "catalog:",
|
||||
"@editorjs/quote": "catalog:",
|
||||
"@editorjs/raw": "catalog:",
|
||||
"@editorjs/table": "catalog:",
|
||||
"@editorjs/underline": "catalog:",
|
||||
"@fortawesome/fontawesome-svg-core": "catalog:",
|
||||
"@fortawesome/free-brands-svg-icons": "catalog:",
|
||||
"@fullcalendar/core": "catalog:",
|
||||
"@fullcalendar/daygrid": "catalog:",
|
||||
"@fullcalendar/interaction": "catalog:",
|
||||
"@fullcalendar/list": "catalog:",
|
||||
"@fullcalendar/timegrid": "catalog:",
|
||||
"@histoire/plugin-vue": "catalog:",
|
||||
"@joeattardi/emoji-button": "catalog:",
|
||||
"@json2csv/plainjs": "catalog:",
|
||||
"@mapbox/mapbox-gl-draw": "catalog:",
|
||||
"@mapbox/mapbox-gl-draw-static-mode": "catalog:",
|
||||
"@mapbox/mapbox-gl-geocoder": "catalog:",
|
||||
"@ngneat/falso": "catalog:",
|
||||
"@pinia/testing": "catalog:",
|
||||
"@popperjs/core": "catalog:",
|
||||
"@rollup/plugin-yaml": "catalog:",
|
||||
"@sindresorhus/slugify": "catalog:",
|
||||
"@tinymce/tinymce-vue": "catalog:",
|
||||
"@turf/meta": "catalog:",
|
||||
"@types/base-64": "catalog:",
|
||||
"@types/chroma-js": "catalog:",
|
||||
"@types/codemirror": "catalog:",
|
||||
"@types/diacritics": "catalog:",
|
||||
"@types/diff": "catalog:",
|
||||
"@types/file-saver": "catalog:",
|
||||
"@types/geojson": "catalog:",
|
||||
"@types/lodash": "catalog:",
|
||||
"@types/mapbox__mapbox-gl-draw": "catalog:",
|
||||
"@types/mapbox__mapbox-gl-geocoder": "catalog:",
|
||||
"@types/qrcode": "catalog:",
|
||||
"@types/semver": "catalog:",
|
||||
"@types/wellknown": "catalog:",
|
||||
"@unhead/addons": "catalog:",
|
||||
"@unhead/vue": "catalog:",
|
||||
"@vitejs/plugin-vue": "catalog:",
|
||||
"@vitest/coverage-v8": "catalog:",
|
||||
"@vue/test-utils": "2.4.6",
|
||||
"@vueuse/core": "12.7.0",
|
||||
"@vueuse/integrations": "12.7.0",
|
||||
"@vueuse/router": "12.7.0",
|
||||
"apexcharts": "4.5.0",
|
||||
"axios": "1.8.4",
|
||||
"base-64": "1.0.0",
|
||||
"caret-pos": "2.0.0",
|
||||
"chroma-js": "3.1.2",
|
||||
"codemirror": "5.65.18",
|
||||
"color": "5.0.0",
|
||||
"cropperjs": "1.6.2",
|
||||
"date-fns": "4.1.0",
|
||||
"diacritics": "1.3.0",
|
||||
"diff": "7.0.0",
|
||||
"dompurify": "3.2.4",
|
||||
"editorjs-toggle-block": "0.3.16",
|
||||
"escape-string-regexp": "5.0.0",
|
||||
"file-saver": "2.0.5",
|
||||
"flatpickr": "4.6.13",
|
||||
"geojson": "0.5.0",
|
||||
"happy-dom": "17.1.8",
|
||||
"histoire": "0.17.17",
|
||||
"html-entities": "2.5.2",
|
||||
"json-to-graphql-query": "2.3.0",
|
||||
"jsonlint-mod": "1.7.6",
|
||||
"lodash": "4.17.21",
|
||||
"mapbox-gl": "1.13.3",
|
||||
"maplibre-gl": "1.15.3",
|
||||
"marked": "15.0.7",
|
||||
"micromustache": "8.0.3",
|
||||
"mime": "4.0.6",
|
||||
"mitt": "3.0.1",
|
||||
"nanoid": "5.1.2",
|
||||
"ofetch": "1.4.1",
|
||||
"p-queue": "8.1.0",
|
||||
"pinia": "2.3.1",
|
||||
"pretty-ms": "9.2.0",
|
||||
"qrcode": "1.5.4",
|
||||
"sass-embedded": "1.85.1",
|
||||
"semver": "7.7.1",
|
||||
"string-width": "7.2.0",
|
||||
"tinymce": "6.8.5",
|
||||
"tus-js-client": "4.3.1",
|
||||
"@vue/test-utils": "catalog:",
|
||||
"@vueuse/core": "catalog:",
|
||||
"@vueuse/integrations": "catalog:",
|
||||
"@vueuse/router": "catalog:",
|
||||
"apexcharts": "catalog:",
|
||||
"axios": "catalog:",
|
||||
"base-64": "catalog:",
|
||||
"caret-pos": "catalog:",
|
||||
"chroma-js": "catalog:",
|
||||
"codemirror": "catalog:",
|
||||
"color": "catalog:",
|
||||
"cropperjs": "catalog:",
|
||||
"date-fns": "catalog:",
|
||||
"diacritics": "catalog:",
|
||||
"diff": "catalog:",
|
||||
"dompurify": "catalog:",
|
||||
"editorjs-toggle-block": "catalog:",
|
||||
"escape-string-regexp": "catalog:",
|
||||
"file-saver": "catalog:",
|
||||
"flatpickr": "catalog:",
|
||||
"focus-trap": "catalog:",
|
||||
"geojson": "catalog:",
|
||||
"happy-dom": "catalog:",
|
||||
"histoire": "catalog:",
|
||||
"html-entities": "catalog:",
|
||||
"json-to-graphql-query": "catalog:",
|
||||
"jsonlint-mod": "catalog:",
|
||||
"lodash": "catalog:",
|
||||
"mapbox-gl": "catalog:",
|
||||
"maplibre-gl": "catalog:",
|
||||
"marked": "catalog:",
|
||||
"micromustache": "catalog:",
|
||||
"mime": "catalog:",
|
||||
"mitt": "catalog:",
|
||||
"nanoid": "catalog:",
|
||||
"ofetch": "catalog:",
|
||||
"p-queue": "catalog:",
|
||||
"pinia": "catalog:",
|
||||
"pretty-ms": "catalog:",
|
||||
"qrcode": "catalog:",
|
||||
"sass-embedded": "catalog:",
|
||||
"semver": "catalog:",
|
||||
"string-width": "catalog:",
|
||||
"tinymce": "catalog:",
|
||||
"tus-js-client": "catalog:",
|
||||
"typescript": "catalog:",
|
||||
"vite": "5.4.19",
|
||||
"vite-plugin-vue-devtools": "7.7.2",
|
||||
"vite": "catalog:",
|
||||
"vite-plugin-vue-devtools": "catalog:",
|
||||
"vitest": "catalog:",
|
||||
"vue": "3.5.13",
|
||||
"vue-i18n": "11.1.2",
|
||||
"vue-router": "4.5.0",
|
||||
"vue-tsc": "2.2.8",
|
||||
"vue-virtual-scroller": "2.0.0-beta.8",
|
||||
"vuedraggable": "4.1.0",
|
||||
"wellknown": "0.5.0"
|
||||
"vue": "catalog:",
|
||||
"vue-i18n": "catalog:",
|
||||
"vue-router": "catalog:",
|
||||
"vue-tsc": "catalog:",
|
||||
"vue-virtual-scroller": "catalog:",
|
||||
"vuedraggable": "catalog:",
|
||||
"wellknown": "catalog:"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -125,7 +125,7 @@ function emitClick(event: MouseEvent) {
|
||||
letter-spacing: normal;
|
||||
text-transform: none;
|
||||
white-space: nowrap;
|
||||
word-wrap: normal;
|
||||
overflow-wrap: normal;
|
||||
direction: ltr;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
|
||||
@@ -38,6 +38,7 @@ withDefaults(defineProps<Props>(), {
|
||||
overflow: hidden;
|
||||
background-color: var(--v-skeleton-loader-background-color, var(--theme--form--field--input--background-subdued));
|
||||
|
||||
/* stylelint-disable-next-line */
|
||||
&::after {
|
||||
position: absolute;
|
||||
inset-block-start: 0;
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
<script setup lang="ts">
|
||||
import Color, { ColorInstance } from 'color';
|
||||
import { isHex } from '@/utils/is-hex';
|
||||
import { i18n } from '@/lang';
|
||||
import { isCssVar as isCssVarUtil } from '@/utils/is-css-var';
|
||||
import { isHex } from '@/utils/is-hex';
|
||||
import { cssVar } from '@directus/utils/browser';
|
||||
import Color, { ColorInstance } from 'color';
|
||||
import { ComponentPublicInstance, computed, ref, watch } from 'vue';
|
||||
import { useI18n } from 'vue-i18n';
|
||||
import { i18n } from '@/lang';
|
||||
|
||||
const { t } = useI18n();
|
||||
|
||||
@@ -355,8 +355,8 @@ function useColor() {
|
||||
? 'repeat(4, 1fr)'
|
||||
: 'repeat(6, 1fr)'
|
||||
: width.startsWith('half')
|
||||
? 'repeat(3, 1fr)'
|
||||
: 'repeat(5, 1fr)',
|
||||
? 'repeat(3, 1fr)'
|
||||
: 'repeat(5, 1fr)',
|
||||
}"
|
||||
:class="{ stacked: width.startsWith('half') }"
|
||||
>
|
||||
@@ -368,8 +368,8 @@ function useColor() {
|
||||
? '1 / span 4'
|
||||
: '1 / span 2'
|
||||
: width.startsWith('half')
|
||||
? '1 / span 3'
|
||||
: '1 / span 2',
|
||||
? '1 / span 3'
|
||||
: '1 / span 2',
|
||||
}"
|
||||
>
|
||||
<v-select v-model="colorType" :items="colorTypes" />
|
||||
@@ -536,7 +536,7 @@ function useColor() {
|
||||
|
||||
.color-data-inputs {
|
||||
display: grid;
|
||||
grid-gap: 0;
|
||||
gap: 0;
|
||||
inline-size: 100%;
|
||||
padding: 12px 10px;
|
||||
}
|
||||
@@ -592,7 +592,7 @@ function useColor() {
|
||||
|
||||
.color-data-alphas {
|
||||
display: grid;
|
||||
grid-gap: 12px;
|
||||
gap: 12px;
|
||||
align-items: baseline;
|
||||
inline-size: 100%;
|
||||
block-size: 45px;
|
||||
|
||||
@@ -294,7 +294,7 @@ function useIconsPerRow(
|
||||
|
||||
.icon-row {
|
||||
display: grid;
|
||||
grid-gap: var(--gap, 8px);
|
||||
gap: var(--gap, 8px);
|
||||
grid-template-columns: repeat(var(--icons-per-row, 1), var(--icon-size, 24px));
|
||||
justify-content: start;
|
||||
color: var(--theme--form--field--input--foreground-subdued);
|
||||
|
||||
@@ -127,7 +127,7 @@ function onBlurCustomInput(otherVal: OtherValue) {
|
||||
--columns: 1;
|
||||
|
||||
display: grid;
|
||||
grid-gap: 12px 32px;
|
||||
gap: 12px 32px;
|
||||
grid-template-columns: repeat(var(--columns), minmax(0, 1fr));
|
||||
}
|
||||
|
||||
|
||||
@@ -107,7 +107,7 @@ const customIcon = computed(() => {
|
||||
--columns: 1;
|
||||
|
||||
display: grid;
|
||||
grid-gap: 12px 32px;
|
||||
gap: 12px 32px;
|
||||
grid-template-columns: repeat(var(--columns), minmax(0, 1fr));
|
||||
}
|
||||
|
||||
|
||||
@@ -483,7 +483,7 @@ function useOnUpdate() {
|
||||
|
||||
.precision-scale {
|
||||
display: grid;
|
||||
grid-gap: 12px;
|
||||
gap: 12px;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
}
|
||||
|
||||
|
||||
@@ -448,7 +448,7 @@ const tFieldType = (type: string) => t(type === 'geometry' ? 'geometry.All' : ty
|
||||
.field-grid {
|
||||
position: relative;
|
||||
display: grid;
|
||||
grid-gap: 8px;
|
||||
gap: 8px;
|
||||
grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
|
||||
|
||||
& + & {
|
||||
|
||||
@@ -188,7 +188,7 @@ async function setNestedSort(updates?: Field[]) {
|
||||
}
|
||||
|
||||
.field-select:deep(.field-grid) {
|
||||
grid-gap: 0;
|
||||
gap: 0;
|
||||
}
|
||||
|
||||
.field-select:deep(.field-grid.group.full.nested) {
|
||||
|
||||
@@ -11,6 +11,7 @@ import { mount } from '@vue/test-utils';
|
||||
import { setActivePinia } from 'pinia';
|
||||
import { beforeEach, expect, test, vi } from 'vitest';
|
||||
import { createI18n } from 'vue-i18n';
|
||||
import { createHead } from '@unhead/vue';
|
||||
import ContinueAs from './components/continue-as.vue';
|
||||
import LdapForm from './components/login-form/ldap-form.vue';
|
||||
import LoginForm from './components/login-form/login-form.vue';
|
||||
@@ -23,7 +24,7 @@ const global: GlobalMountOptions = {
|
||||
components: { publicView, vSelect, vIcon, vImage },
|
||||
directives: { md: MarkdownDirective },
|
||||
stubs: { routerLink: true, publicView: false },
|
||||
plugins: [i18n],
|
||||
plugins: [i18n, createHead()],
|
||||
};
|
||||
|
||||
// silences locale message not found warnings
|
||||
|
||||
@@ -464,7 +464,7 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {
|
||||
font-family: inherit;
|
||||
line-height: inherit;
|
||||
white-space: pre;
|
||||
word-wrap: normal;
|
||||
overflow-wrap: normal;
|
||||
background: transparent;
|
||||
border-width: 0;
|
||||
|
||||
@@ -477,7 +477,7 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {
|
||||
.CodeMirror-wrap pre.CodeMirror-line,
|
||||
.CodeMirror-wrap pre.CodeMirror-line-like {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
overflow-wrap: break-word;
|
||||
word-break: normal;
|
||||
}
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
grid-template-columns: [start] minmax(0, 1fr) [half] minmax(0, 1fr) [full];
|
||||
gap: var(--theme--form--row-gap) var(--theme--form--column-gap);
|
||||
|
||||
/* stylelint-disable-next-line */
|
||||
&.with-fill {
|
||||
grid-template-columns:
|
||||
[start] minmax(0, var(--form-column-max-width)) [half] minmax(0, var(--form-column-max-width))
|
||||
|
||||
@@ -6,11 +6,11 @@ test.each([
|
||||
{ value: 'test', expected: '<p>test</p>\n' },
|
||||
{
|
||||
value: `[Directus](https://directus.io)`,
|
||||
expected: '<p><a href="https://directus.io" target="_self">Directus</a></p>\n',
|
||||
expected: '<p><a target="_self" href="https://directus.io">Directus</a></p>\n',
|
||||
},
|
||||
{
|
||||
value: `[Directus](https://directus.io)`,
|
||||
expected: '<p><a href="https://directus.io" target="_blank" rel="noopener noreferrer">Directus</a></p>\n',
|
||||
expected: '<p><a target="_blank" href="https://directus.io" rel="noopener noreferrer">Directus</a></p>\n',
|
||||
options: { target: '_blank' } as const,
|
||||
},
|
||||
{ value: `test<script>alert('alert')</script>`, expected: '<p>test</p>\n' },
|
||||
|
||||
@@ -85,7 +85,7 @@ const formattedTime = computed(() => {
|
||||
<template v-else>{{ t('uses_left', usesLeft) }}</template>
|
||||
</span>
|
||||
<v-icon v-if="share.password" small name="lock" />
|
||||
<span style="flex-grow: 1"></span>
|
||||
<span class="spacer"></span>
|
||||
<span v-if="status" class="share-status" :class="{ [status]: true }">
|
||||
{{ t(status) }}
|
||||
</span>
|
||||
@@ -101,6 +101,10 @@ const formattedTime = computed(() => {
|
||||
border-radius: var(--theme--border-radius);
|
||||
}
|
||||
|
||||
.spacer {
|
||||
flex-grow: 1;
|
||||
}
|
||||
|
||||
.item-date {
|
||||
color: var(--theme--foreground-subdued);
|
||||
font-size: 12px;
|
||||
|
||||
@@ -50,7 +50,7 @@ const items = computed(() => allItems.filter((item) => item.key !== section));
|
||||
padding: 0;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
clip-path: rect(0, 0, 0, 0);
|
||||
white-space: nowrap;
|
||||
border-width: 0;
|
||||
|
||||
@@ -59,7 +59,7 @@ const items = computed(() => allItems.filter((item) => item.key !== section));
|
||||
block-size: auto;
|
||||
margin: 0;
|
||||
overflow: visible;
|
||||
clip: auto;
|
||||
clip-path: auto;
|
||||
white-space: normal;
|
||||
|
||||
background-color: var(--theme--popover--menu--background);
|
||||
|
||||
@@ -108,7 +108,7 @@ export default typescriptEslint.config(
|
||||
files: ['**/*.vue'],
|
||||
rules: {
|
||||
// Same ordering of component tags everywhere
|
||||
'vue/component-tags-order': [
|
||||
'vue/block-order': [
|
||||
'error',
|
||||
{
|
||||
order: ['script', 'template', 'style'],
|
||||
|
||||
32
package.json
32
package.json
@@ -13,30 +13,30 @@
|
||||
"test:coverage": "pnpm --recursive --filter '!tests-blackbox' test:coverage"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@changesets/cli": "2.28.1",
|
||||
"@changesets/cli": "catalog:",
|
||||
"@directus/release-notes-generator": "workspace:*",
|
||||
"@eslint/js": "9.21.0",
|
||||
"eslint": "9.21.0",
|
||||
"eslint-config-prettier": "9.1.0",
|
||||
"eslint-plugin-vue": "9.32.0",
|
||||
"globals": "15.15.0",
|
||||
"postcss-html": "1.8.0",
|
||||
"prettier": "3.1.0",
|
||||
"rimraf": "6.0.1",
|
||||
"stylelint": "16.21.0",
|
||||
"stylelint-config-standard": "38.0.0",
|
||||
"stylelint-config-standard-scss": "15.0.1",
|
||||
"stylelint-config-standard-vue": "1.0.0",
|
||||
"stylelint-use-logical": "2.1.2",
|
||||
"@eslint/js": "catalog:",
|
||||
"eslint": "catalog:",
|
||||
"eslint-config-prettier": "catalog:",
|
||||
"eslint-plugin-vue": "catalog:",
|
||||
"globals": "catalog:",
|
||||
"postcss-html": "catalog:",
|
||||
"prettier": "catalog:",
|
||||
"rimraf": "catalog:",
|
||||
"stylelint": "catalog:",
|
||||
"stylelint-config-standard": "catalog:",
|
||||
"stylelint-config-standard-scss": "catalog:",
|
||||
"stylelint-config-standard-vue": "catalog:",
|
||||
"stylelint-use-logical": "catalog:",
|
||||
"typescript": "catalog:",
|
||||
"typescript-eslint": "8.25.0"
|
||||
"typescript-eslint": "catalog:"
|
||||
},
|
||||
"pnpm": {
|
||||
"overrides": {
|
||||
"tar-fs": "2.1.3"
|
||||
}
|
||||
},
|
||||
"packageManager": "pnpm@10.13.1",
|
||||
"packageManager": "pnpm@10.14.0",
|
||||
"engines": {
|
||||
"node": "22",
|
||||
"pnpm": ">=10 <11"
|
||||
|
||||
@@ -48,6 +48,6 @@
|
||||
"vue": "catalog:"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"vue": "^3.4"
|
||||
"vue": "catalog:"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,30 +35,30 @@
|
||||
"@directus/constants": "workspace:*",
|
||||
"@directus/types": "workspace:*",
|
||||
"@directus/utils": "workspace:*",
|
||||
"@types/express": "4.17.21",
|
||||
"fs-extra": "11.3.0",
|
||||
"@types/express": "catalog:",
|
||||
"fs-extra": "catalog:",
|
||||
"lodash-es": "catalog:",
|
||||
"zod": "3.24.2"
|
||||
"zod": "catalog:"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@directus/tsconfig": "catalog:",
|
||||
"@types/fs-extra": "11.0.4",
|
||||
"@types/fs-extra": "catalog:",
|
||||
"@types/lodash-es": "catalog:",
|
||||
"@types/node": "catalog:",
|
||||
"@vitest/coverage-v8": "catalog:",
|
||||
"knex": "3.1.0",
|
||||
"pino": "9.6.0",
|
||||
"knex": "catalog:",
|
||||
"pino": "catalog:",
|
||||
"tsup": "catalog:",
|
||||
"typescript": "catalog:",
|
||||
"vitest": "catalog:",
|
||||
"vue": "3.5.13",
|
||||
"vue-router": "4.5.0"
|
||||
"vue": "catalog:",
|
||||
"vue-router": "catalog:"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"knex": "3",
|
||||
"pino": "9",
|
||||
"vue": "^3.4",
|
||||
"vue-router": "4"
|
||||
"knex": "catalog:",
|
||||
"pino": "catalog:",
|
||||
"vue": "catalog:",
|
||||
"vue-router": "catalog:"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"knex": {
|
||||
|
||||
@@ -8,8 +8,8 @@ export const ExtensionManifest = z.object({
|
||||
type: z.union([z.literal('module'), z.literal('commonjs')]).optional(),
|
||||
description: z.string().optional(),
|
||||
icon: z.string().optional(),
|
||||
dependencies: z.record(z.string()).optional(),
|
||||
devDependencies: z.record(z.string()).optional(),
|
||||
dependencies: z.record(z.string(), z.string()).optional(),
|
||||
devDependencies: z.record(z.string(), z.string()).optional(),
|
||||
[EXTENSION_PKG_KEY]: ExtensionOptions,
|
||||
});
|
||||
|
||||
|
||||
@@ -29,9 +29,9 @@
|
||||
"dependencies": {
|
||||
"@directus/errors": "workspace:*",
|
||||
"@directus/utils": "workspace:*",
|
||||
"ioredis": "5.5.0",
|
||||
"lru-cache": "11.0.2",
|
||||
"rate-limiter-flexible": "5.0.5"
|
||||
"ioredis": "catalog:",
|
||||
"lru-cache": "catalog:",
|
||||
"rate-limiter-flexible": "catalog:"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@directus/tsconfig": "catalog:",
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@directus/tsconfig": "catalog:",
|
||||
"@types/express": "4.17.21",
|
||||
"@types/express": "catalog:",
|
||||
"@vitest/coverage-v8": "catalog:",
|
||||
"tsup": "catalog:",
|
||||
"typescript": "catalog:",
|
||||
|
||||
@@ -25,17 +25,17 @@
|
||||
"dev": "tsup src/index.ts --format=esm --dts --watch"
|
||||
},
|
||||
"dependencies": {
|
||||
"@vueuse/core": "12.7.0"
|
||||
"@vueuse/core": "catalog:"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@directus/tsconfig": "catalog:",
|
||||
"pinia": "2.3.1",
|
||||
"pinia": "catalog:",
|
||||
"tsup": "catalog:",
|
||||
"typescript": "catalog:",
|
||||
"vue": "3.5.13"
|
||||
"vue": "catalog:"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"pinia": "2",
|
||||
"vue": "^3.4"
|
||||
"pinia": "catalog:",
|
||||
"vue": "catalog:"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,27 +29,27 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@directus/utils": "workspace:*",
|
||||
"decamelize": "6.0.0",
|
||||
"flat": "6.0.1",
|
||||
"decamelize": "catalog:",
|
||||
"flat": "catalog:",
|
||||
"lodash-es": "catalog:"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@directus/tsconfig": "catalog:",
|
||||
"@directus/types": "workspace:*",
|
||||
"@types/lodash-es": "catalog:",
|
||||
"@unhead/vue": "1.11.20",
|
||||
"@vitejs/plugin-vue": "5.2.1",
|
||||
"pinia": "2.3.1",
|
||||
"rollup-plugin-node-externals": "8.0.0",
|
||||
"@unhead/vue": "catalog:",
|
||||
"@vitejs/plugin-vue": "catalog:",
|
||||
"pinia": "catalog:",
|
||||
"rollup-plugin-node-externals": "catalog:",
|
||||
"typescript": "catalog:",
|
||||
"vite": "5.4.19",
|
||||
"vite-plugin-dts": "4.5.1",
|
||||
"vitest": "3.2.4",
|
||||
"vue": "3.5.13"
|
||||
"vite": "catalog:",
|
||||
"vite-plugin-dts": "catalog:",
|
||||
"vitest": "catalog:",
|
||||
"vue": "catalog:"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@unhead/vue": "1",
|
||||
"pinia": "2",
|
||||
"vue": "^3.4"
|
||||
"@unhead/vue": "catalog:",
|
||||
"pinia": "catalog:",
|
||||
"vue": "catalog:"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,32 +27,32 @@
|
||||
"dependencies": {
|
||||
"@directus/constants": "workspace:*",
|
||||
"@directus/schema": "workspace:*",
|
||||
"@sinclair/typebox": "0.34.28",
|
||||
"@types/express": "4.17.21",
|
||||
"@types/geojson": "7946.0.16",
|
||||
"@types/nodemailer": "6.4.17",
|
||||
"@types/ws": "8.5.14"
|
||||
"@sinclair/typebox": "catalog:",
|
||||
"@types/express": "catalog:",
|
||||
"@types/geojson": "catalog:",
|
||||
"@types/nodemailer": "catalog:",
|
||||
"@types/ws": "catalog:"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@directus/tsconfig": "catalog:",
|
||||
"@types/deep-diff": "1.0.2",
|
||||
"knex": "3.1.0",
|
||||
"@types/deep-diff": "catalog:",
|
||||
"knex": "catalog:",
|
||||
"typescript": "catalog:",
|
||||
"vue": "3.5.13",
|
||||
"zod": "3.24.2"
|
||||
"vue": "catalog:",
|
||||
"zod": "catalog:"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"deep-diff": "1.0.2",
|
||||
"express": "4.21.2",
|
||||
"graphql": "16.10.0",
|
||||
"knex": "3",
|
||||
"nodemailer": "6.10.0",
|
||||
"openapi3-ts": "4.4.0",
|
||||
"pino": "9.6.0",
|
||||
"sharp": "0.33.5",
|
||||
"vue": "^3.4",
|
||||
"vue-router": "4.5.0",
|
||||
"ws": "8.18.1"
|
||||
"deep-diff": "catalog:",
|
||||
"express": "catalog:",
|
||||
"graphql": "catalog:",
|
||||
"knex": "catalog:",
|
||||
"nodemailer": "catalog:",
|
||||
"openapi3-ts": "catalog:",
|
||||
"pino": "catalog:",
|
||||
"sharp": "catalog:",
|
||||
"vue": "catalog:",
|
||||
"vue-router": "catalog:",
|
||||
"ws": "catalog:"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"deep-diff": {
|
||||
|
||||
@@ -35,31 +35,31 @@
|
||||
"dependencies": {
|
||||
"@directus/constants": "workspace:*",
|
||||
"@directus/system-data": "workspace:*",
|
||||
"date-fns": "4.1.0",
|
||||
"fs-extra": "11.3.0",
|
||||
"joi": "17.13.3",
|
||||
"js-yaml": "4.1.0",
|
||||
"date-fns": "catalog:",
|
||||
"fs-extra": "catalog:",
|
||||
"joi": "catalog:",
|
||||
"js-yaml": "catalog:",
|
||||
"lodash-es": "catalog:",
|
||||
"micromustache": "8.0.3"
|
||||
"micromustache": "catalog:"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@directus/tsconfig": "catalog:",
|
||||
"@directus/schema-builder": "workspace:*",
|
||||
"@directus/types": "workspace:*",
|
||||
"@types/fs-extra": "11.0.4",
|
||||
"@types/js-yaml": "4.0.9",
|
||||
"@types/fs-extra": "catalog:",
|
||||
"@types/js-yaml": "catalog:",
|
||||
"@types/lodash-es": "catalog:",
|
||||
"@types/node": "catalog:",
|
||||
"@types/tmp": "0.2.6",
|
||||
"@types/tmp": "catalog:",
|
||||
"@vitest/coverage-v8": "catalog:",
|
||||
"tmp": "0.2.3",
|
||||
"tmp": "catalog:",
|
||||
"tsup": "catalog:",
|
||||
"typescript": "catalog:",
|
||||
"vitest": "catalog:",
|
||||
"vue": "3.5.13"
|
||||
"vue": "catalog:"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"vue": "^3.4"
|
||||
"vue": "catalog:"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"vue": {
|
||||
|
||||
8390
pnpm-lock.yaml
generated
8390
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
@@ -7,78 +7,303 @@ packages:
|
||||
- tests/*
|
||||
|
||||
catalog:
|
||||
'@authenio/samlify-node-xmllint': 2.0.0
|
||||
'@aws-sdk/client-s3': 3.858.0
|
||||
'@aws-sdk/client-ses': 3.859.0
|
||||
'@aws-sdk/lib-storage': 3.858.0
|
||||
'@azure/storage-blob': 12.28.0
|
||||
'@changesets/cli': 2.29.5
|
||||
'@changesets/get-github-info': 0.6.0
|
||||
'@changesets/types': 6.1.0
|
||||
'@directus/schema-builder': workspace:*
|
||||
'@directus/tsconfig': 3.0.0
|
||||
'@directus/types': workspace:*
|
||||
'@editorjs/attaches': 1.3.0
|
||||
'@editorjs/checklist': 1.6.0
|
||||
'@editorjs/code': 2.9.3
|
||||
'@editorjs/delimiter': 1.4.2
|
||||
'@editorjs/editorjs': 2.30.8
|
||||
'@editorjs/embed': 2.7.6
|
||||
'@editorjs/header': 2.8.8
|
||||
'@editorjs/image': 2.10.3
|
||||
'@editorjs/inline-code': 1.5.2
|
||||
'@editorjs/nested-list': 1.4.3
|
||||
'@editorjs/paragraph': 2.11.7
|
||||
'@editorjs/quote': 2.7.6
|
||||
'@editorjs/raw': 2.5.1
|
||||
'@editorjs/table': 2.4.5
|
||||
'@editorjs/underline': 1.2.1
|
||||
'@eslint/js': 9.32.0
|
||||
'@fortawesome/fontawesome-svg-core': 6.7.2
|
||||
'@fortawesome/free-brands-svg-icons': 6.7.2
|
||||
'@fullcalendar/core': 6.1.18
|
||||
'@fullcalendar/daygrid': 6.1.18
|
||||
'@fullcalendar/interaction': 6.1.18
|
||||
'@fullcalendar/list': 6.1.18
|
||||
'@fullcalendar/timegrid': 6.1.18
|
||||
'@godaddy/terminus': 4.12.1
|
||||
'@google-cloud/storage': 7.16.0
|
||||
'@histoire/plugin-vue': 0.17.17
|
||||
'@joeattardi/emoji-button': 4.6.4
|
||||
'@json2csv/plainjs': 7.0.6
|
||||
'@keyv/redis': 3.0.1
|
||||
'@mapbox/mapbox-gl-draw': 1.5.0
|
||||
'@mapbox/mapbox-gl-draw-static-mode': 1.0.1
|
||||
'@mapbox/mapbox-gl-geocoder': 5.1.0
|
||||
'@ngneat/falso': 8.0.2
|
||||
'@npm/types': 2.1.0
|
||||
'@pinia/testing': 1.0.2
|
||||
'@pnpm/logger': 1001.0.0
|
||||
'@pnpm/workspace.find-packages': 1000.0.31
|
||||
'@pnpm/workspace.pkgs-graph': 1000.0.18
|
||||
'@popperjs/core': 2.11.8
|
||||
'@rollup/plugin-alias': 5.1.1
|
||||
'@rollup/plugin-commonjs': 28.0.6
|
||||
'@rollup/plugin-json': 6.1.0
|
||||
'@rollup/plugin-node-resolve': 16.0.1
|
||||
'@rollup/plugin-replace': 6.0.2
|
||||
'@rollup/plugin-terser': 0.4.4
|
||||
'@rollup/plugin-virtual': 3.0.2
|
||||
'@rollup/plugin-yaml': 4.1.2
|
||||
'@shopify/semaphore': 3.1.0
|
||||
'@sinclair/typebox': 0.34.38
|
||||
'@sindresorhus/slugify': 2.2.1
|
||||
'@smithy/node-http-handler': 4.1.0
|
||||
'@supabase/storage-js': 2.10.4
|
||||
'@tus/utils': 0.6.0
|
||||
'@tinymce/tinymce-vue': 6.3.0
|
||||
'@turf/meta': 7.2.0
|
||||
'@tus/server': 1.10.2
|
||||
'@tus/utils': 0.5.1
|
||||
'@types/async': 3.2.24
|
||||
'@types/base-64': 1.0.2
|
||||
'@types/busboy': 1.5.4
|
||||
'@types/bytes': 3.1.5
|
||||
'@types/chroma-js': 3.1.1
|
||||
'@types/codemirror': 5.60.16
|
||||
'@types/content-disposition': 0.5.9
|
||||
'@types/cookie-parser': 1.4.9
|
||||
'@types/cors': 2.8.19
|
||||
'@types/deep-diff': 1.0.5
|
||||
'@types/destroy': 1.0.3
|
||||
'@types/diacritics': 1.3.3
|
||||
'@types/diff': 7.0.1
|
||||
'@types/encodeurl': 1.0.3
|
||||
'@types/express': 4.17.21
|
||||
'@types/express-serve-static-core': 4.19.6
|
||||
'@types/file-saver': 2.0.7
|
||||
'@types/fs-extra': 11.0.4
|
||||
'@types/geojson': 7946.0.16
|
||||
'@types/glob-to-regexp': 0.4.4
|
||||
'@types/inquirer': 9.0.8
|
||||
'@types/js-yaml': 4.0.9
|
||||
'@types/json2csv': 5.0.7
|
||||
'@types/jsonwebtoken': 9.0.10
|
||||
'@types/ldapjs': 2.2.5
|
||||
'@types/lodash': 4.17.20
|
||||
'@types/lodash-es': 4.17.12
|
||||
'@types/mapbox__mapbox-gl-draw': 1.4.9
|
||||
'@types/mapbox__mapbox-gl-geocoder': 5.0.0
|
||||
'@types/mime-types': 3.0.1
|
||||
'@types/ms': 2.1.0
|
||||
'@types/node': 22.13.14
|
||||
'@types/node-schedule': 2.1.8
|
||||
'@types/nodemailer': 6.4.17
|
||||
'@types/object-hash': 3.0.6
|
||||
'@types/papaparse': 5.3.16
|
||||
'@types/proxy-addr': 2.0.3
|
||||
'@types/qrcode': 1.5.5
|
||||
'@types/qs': 6.14.0
|
||||
'@types/sanitize-html': 2.16.0
|
||||
'@types/semver': 7.7.0
|
||||
'@types/stream-json': 1.7.8
|
||||
'@types/tmp': 0.2.6
|
||||
'@types/wellknown': 0.5.8
|
||||
'@types/ws': 8.18.1
|
||||
'@unhead/addons': 1.11.20
|
||||
'@unhead/vue': 1.11.20
|
||||
'@vitejs/plugin-vue': 6.0.1
|
||||
'@vitest/coverage-v8': 3.2.4
|
||||
'@vue/test-utils': 2.4.6
|
||||
'@vueuse/core': 13.6.0
|
||||
'@vueuse/integrations': 13.6.0
|
||||
'@vueuse/router': 13.6.0
|
||||
apexcharts: 4.5.0
|
||||
argon2: 0.43.1
|
||||
async: 3.2.6
|
||||
async-mutex: 0.5.0
|
||||
axios: 1.11.0
|
||||
axios-cache-interceptor: 1.8.0
|
||||
base-64: 1.0.0
|
||||
boxen: 8.0.1
|
||||
busboy: 1.6.0
|
||||
bytes: 3.1.2
|
||||
camelcase: 8.0.0
|
||||
caret-pos: 2.0.0
|
||||
chalk: 5.4.1
|
||||
chokidar: 4.0.3
|
||||
chroma-js: 3.1.2
|
||||
codemirror: 5.65.18
|
||||
color: 5.0.0
|
||||
commander: 14.0.0
|
||||
content-disposition: 0.5.4
|
||||
cookie: 1.0.2
|
||||
cookie-parser: 1.4.7
|
||||
copyfiles: 2.4.1
|
||||
cors: 2.8.5
|
||||
cron-parser: 4.9.0
|
||||
cropperjs: 1.6.2
|
||||
date-fns: 4.1.0
|
||||
decamelize: 6.0.0
|
||||
deep-diff: 1.0.2
|
||||
destroy: 1.2.0
|
||||
diacritics: 1.3.0
|
||||
diff: 7.0.0
|
||||
dompurify: 3.2.6
|
||||
dotenv: 17.2.1
|
||||
editorjs-toggle-block: 0.3.16
|
||||
encodeurl: 2.0.0
|
||||
esbuild: 0.25.8
|
||||
esbuild-plugin-replace: 1.4.0
|
||||
esbuild-yaml: 3.0.3
|
||||
escape-string-regexp: 5.0.0
|
||||
eslint: 9.32.0
|
||||
eslint-config-prettier: 10.1.8
|
||||
eslint-plugin-vue: 10.4.0
|
||||
eventemitter2: 6.4.9
|
||||
execa: 9.6.0
|
||||
exif-reader: 2.0.2
|
||||
express: 4.21.2
|
||||
file-saver: 2.0.5
|
||||
find-cache-directory: 6.0.0
|
||||
flat: 6.0.1
|
||||
flatpickr: 4.6.13
|
||||
focus-trap: 7.6.5
|
||||
form-data: 4.0.4
|
||||
fs-extra: 11.3.0
|
||||
geojson: 0.5.0
|
||||
get-port: 7.1.0
|
||||
glob-to-regexp: 0.4.1
|
||||
globals: 16.3.0
|
||||
graphql: 16.11.0
|
||||
graphql-compose: 9.1.0
|
||||
graphql-ws: 6.0.6
|
||||
happy-dom: 18.0.1
|
||||
helmet: 8.1.0
|
||||
histoire: 0.17.17
|
||||
html-entities: 2.6.0
|
||||
icc: 3.0.0
|
||||
inquirer: 12.9.0
|
||||
ioredis: 5.7.0
|
||||
ip-matching: 2.1.2
|
||||
isolated-vm: 5.0.3
|
||||
joi: 17.13.3
|
||||
js-yaml: 4.1.0
|
||||
js2xmlparser: 5.0.0
|
||||
json-to-graphql-query: 2.3.0
|
||||
json2csv: 5.0.7
|
||||
jsonlint-mod: 1.7.6
|
||||
jsonwebtoken: 9.0.2
|
||||
keyv: 5.4.0
|
||||
knex: 3.1.0
|
||||
knex-mock-client: 3.0.2
|
||||
ky: 1.8.2
|
||||
ldapjs: 2.3.3
|
||||
liquidjs: 10.21.1
|
||||
lodash: 4.17.21
|
||||
lodash-es: 4.17.21
|
||||
log-symbols: 7.0.1
|
||||
lru-cache: 11.1.0
|
||||
mapbox-gl: 1.13.3
|
||||
maplibre-gl: 1.15.3
|
||||
marked: 16.1.1
|
||||
micromustache: 8.0.3
|
||||
mime: 4.0.7
|
||||
mime-types: 3.0.1
|
||||
minimatch: 10.0.3
|
||||
mitt: 3.0.1
|
||||
mnemonist: 0.40.3
|
||||
ms: 2.1.3
|
||||
mysql2: 3.14.3
|
||||
nanoid: 5.1.5
|
||||
node-machine-id: 1.1.12
|
||||
node-schedule: 2.1.1
|
||||
nodemailer: 7.0.5
|
||||
nodemailer-mailgun-transport: 2.1.5
|
||||
npm-watch: 0.13.0
|
||||
object-hash: 3.0.0
|
||||
ofetch: 1.4.1
|
||||
openapi3-ts: 4.5.0
|
||||
openid-client: 5.7.1
|
||||
ora: 8.2.0
|
||||
oracledb: 6.9.0
|
||||
otplib: 12.0.1
|
||||
p-limit: 6.2.0
|
||||
p-queue: 8.1.0
|
||||
papaparse: 5.5.3
|
||||
pg: 8.16.3
|
||||
pinia: 2.3.1
|
||||
pino: 9.7.0
|
||||
pino-http: 10.5.0
|
||||
pino-http-print: 3.1.0
|
||||
pino-pretty: 13.1.1
|
||||
pm2: 6.0.8
|
||||
postcss-html: 1.8.0
|
||||
prettier: 3.6.2
|
||||
pretty-ms: 9.2.0
|
||||
prom-client: 15.1.3
|
||||
proxy-addr: 2.0.7
|
||||
qrcode: 1.5.4
|
||||
qs: 6.14.0
|
||||
rate-limiter-flexible: 7.2.0
|
||||
rimraf: 6.0.1
|
||||
rolldown: 1.0.0-beta.30
|
||||
rollup: 4.46.2
|
||||
rollup-plugin-esbuild: 6.2.1
|
||||
rollup-plugin-node-externals: 8.0.1
|
||||
rollup-plugin-styler: 2.0.0
|
||||
samlify: 2.10.1
|
||||
sanitize-html: 2.17.0
|
||||
sass-embedded: 1.89.2
|
||||
semver: 7.7.2
|
||||
sharp: 0.34.3
|
||||
snappy: 7.3.0
|
||||
sqlite3: 5.1.7
|
||||
stream-json: 1.9.1
|
||||
string-width: 7.2.0
|
||||
strip-ansi: 7.1.0
|
||||
stylelint: 16.23.0
|
||||
stylelint-config-standard: 39.0.0
|
||||
stylelint-config-standard-scss: 15.0.1
|
||||
stylelint-config-standard-vue: 1.0.0
|
||||
stylelint-use-logical: 2.1.2
|
||||
swagger-cli: 4.0.4
|
||||
swagger-ui-watcher: 2.1.14
|
||||
tar: 7.4.3
|
||||
tedious: 18.6.1
|
||||
tinymce: 6.8.5
|
||||
tmp: 0.2.3
|
||||
tsup: 8.5.0
|
||||
tsx: 4.20.3
|
||||
tus-js-client: 4.3.1
|
||||
typescript: 5.8.3
|
||||
typescript-eslint: 8.38.0
|
||||
undici: 7.13.0
|
||||
update-check: 1.5.4
|
||||
vite: 7.0.6
|
||||
uuid: 11.1.0
|
||||
vite: 5.4.19
|
||||
vite-plugin-dts: 4.5.4
|
||||
vite-plugin-vue-devtools: 7.7.2
|
||||
vitest: 3.2.4
|
||||
vue: 3.5.18
|
||||
vue-i18n: 11.1.11
|
||||
vue-router: 4.5.1
|
||||
vue-tsc: 3.0.5
|
||||
vue-virtual-scroller: 2.0.0-beta.8
|
||||
vuedraggable: 4.1.0
|
||||
wellknown: 0.5.0
|
||||
ws: 8.18.3
|
||||
zod: 4.0.14
|
||||
zod-validation-error: 4.0.1
|
||||
|
||||
catalogMode: strict
|
||||
|
||||
|
||||
Reference in New Issue
Block a user