@directus/api 35.0.0 → 35.0.1

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.
Files changed (22) hide show
  1. package/dist/extensions/manager.js +31 -3
  2. package/dist/node_modules/.pnpm/{vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.0.10_jiti@2.6.1_jsdom@2_4abc0aa80426c2cc5a9175f21e1d4ebb → vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.8.9_jiti@2.6.1_jsdom@20_c24d183060b6f93f55300b66d0779768}/node_modules/vitest/dist/chunks/_commonjsHelpers.BFTU3MAI.js +1 -1
  3. package/dist/node_modules/.pnpm/{vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.0.10_jiti@2.6.1_jsdom@2_4abc0aa80426c2cc5a9175f21e1d4ebb → vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.8.9_jiti@2.6.1_jsdom@20_c24d183060b6f93f55300b66d0779768}/node_modules/vitest/dist/chunks/benchmark.CYdenmiT.js +1 -1
  4. package/dist/node_modules/.pnpm/{vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.0.10_jiti@2.6.1_jsdom@2_4abc0aa80426c2cc5a9175f21e1d4ebb → vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.8.9_jiti@2.6.1_jsdom@20_c24d183060b6f93f55300b66d0779768}/node_modules/vitest/dist/chunks/date.Bq6ZW5rf.js +1 -1
  5. package/dist/node_modules/.pnpm/{vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.0.10_jiti@2.6.1_jsdom@2_4abc0aa80426c2cc5a9175f21e1d4ebb → vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.8.9_jiti@2.6.1_jsdom@20_c24d183060b6f93f55300b66d0779768}/node_modules/vitest/dist/chunks/index.CdQS2e2Q.js +1 -1
  6. package/dist/node_modules/.pnpm/{vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.0.10_jiti@2.6.1_jsdom@2_4abc0aa80426c2cc5a9175f21e1d4ebb → vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.8.9_jiti@2.6.1_jsdom@20_c24d183060b6f93f55300b66d0779768}/node_modules/vitest/dist/chunks/utils.XdZDrNZV.js +1 -1
  7. package/dist/node_modules/.pnpm/{vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.0.10_jiti@2.6.1_jsdom@2_4abc0aa80426c2cc5a9175f21e1d4ebb → vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.8.9_jiti@2.6.1_jsdom@20_c24d183060b6f93f55300b66d0779768}/node_modules/vitest/dist/chunks/vi.bdSIJ99Y.js +1 -1
  8. package/dist/node_modules/.pnpm/{vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.0.10_jiti@2.6.1_jsdom@2_4abc0aa80426c2cc5a9175f21e1d4ebb → vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.8.9_jiti@2.6.1_jsdom@20_c24d183060b6f93f55300b66d0779768}/node_modules/vitest/dist/index.js +1 -1
  9. package/dist/services/files.js +10 -5
  10. package/dist/test-utils/cache.js +2 -2
  11. package/dist/test-utils/controllers.js +2 -2
  12. package/dist/test-utils/database.js +2 -2
  13. package/dist/test-utils/emitter.js +2 -2
  14. package/dist/test-utils/env.js +2 -2
  15. package/dist/test-utils/knex.js +2 -2
  16. package/dist/test-utils/schema.js +2 -2
  17. package/dist/test-utils/services/fields-service.js +2 -2
  18. package/dist/test-utils/services/files-service.js +2 -2
  19. package/dist/test-utils/services/folders-service.js +2 -2
  20. package/dist/test-utils/services/items-service.js +2 -2
  21. package/dist/test-utils/storage.js +2 -2
  22. package/package.json +23 -23
@@ -331,15 +331,43 @@ var ExtensionManager = class {
331
331
  };
332
332
  }
333
333
  /**
334
+ * Check if a file path matches a watched extension's dist entrypoint
335
+ * by looking up the folder name in the existing extension maps
336
+ */
337
+ isWatchedExtensionPath(filePath) {
338
+ const extensionDir = path.resolve(getExtensionsPath());
339
+ const folderName = path.relative(extensionDir, filePath).split(path.sep).shift();
340
+ if (!folderName) return false;
341
+ const extension = this.localExtensions.get(folderName);
342
+ if (!extension) return false;
343
+ const resolvedPath = path.resolve(filePath);
344
+ if (isTypeIn(extension, HYBRID_EXTENSION_TYPES) || extension.type === "bundle") {
345
+ return path.resolve(extension.path, extension.entrypoint.app) === resolvedPath || path.resolve(extension.path, extension.entrypoint.api) === resolvedPath;
346
+ }
347
+ return path.resolve(extension.path, extension.entrypoint) === resolvedPath;
348
+ }
349
+ /**
334
350
  * Start the chokidar watcher for extensions on the local filesystem
335
351
  */
336
352
  initializeWatcher() {
337
353
  const logger = useLogger();
338
354
  logger.info("Watching extensions for changes...");
339
- const extensionDirUrl = pathToRelativeUrl(getExtensionsPath());
340
- this.watcher = chokidar.watch([path.resolve("package.json"), path.posix.join(extensionDirUrl, "*", "package.json")], {
355
+ const extensionDirPath = pathToRelativeUrl(getExtensionsPath());
356
+ const resolvedExtDir = path.resolve(extensionDirPath);
357
+ this.watcher = chokidar.watch([path.resolve("package.json"), extensionDirPath], {
341
358
  ignoreInitial: true,
342
- ignored: `${extensionDirUrl}/**/node_modules/**`,
359
+ depth: 1,
360
+ ignored: (val, stats) => {
361
+ if (val.includes("node_modules")) return true;
362
+ if (!stats || stats.isDirectory()) return false;
363
+ if (val.endsWith("package.json")) {
364
+ const resolvedVal = path.resolve(val);
365
+ if (!resolvedVal.startsWith(resolvedExtDir + path.sep)) return false;
366
+ return path.dirname(resolvedVal) === resolvedExtDir;
367
+ }
368
+ if (this.isWatchedExtensionPath(val)) return false;
369
+ return true;
370
+ },
343
371
  followSymlinks: os.platform() === "darwin" ? false : true
344
372
  });
345
373
  this.watcher.on("add", debounce(() => this.reload(), 500)).on("change", debounce(() => this.reload(), 650)).on("unlink", debounce(() => this.reload(), 2e3));
@@ -1,4 +1,4 @@
1
- //#region ../node_modules/.pnpm/vitest@3.2.4_@types+node@22.13.14_@vitest+ui@3.2.4_happy-dom@20.0.10_jiti@2.6.1_jsdom@2_4abc0aa80426c2cc5a9175f21e1d4ebb/node_modules/vitest/dist/chunks/_commonjsHelpers.BFTU3MAI.js
1
+ //#region ../node_modules/.pnpm/vitest@3.2.4_@types+node@22.13.14_@vitest+ui@3.2.4_happy-dom@20.8.9_jiti@2.6.1_jsdom@20_c24d183060b6f93f55300b66d0779768/node_modules/vitest/dist/chunks/_commonjsHelpers.BFTU3MAI.js
2
2
  var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
3
3
  function getDefaultExportFromCjs(x) {
4
4
  return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
@@ -5,7 +5,7 @@ import "../../../../../@vitest_runner@3.2.4/node_modules/@vitest/runner/dist/ind
5
5
  import "../../../../../@vitest_runner@3.2.4/node_modules/@vitest/runner/dist/utils.js";
6
6
  import { getWorkerState } from "./utils.XdZDrNZV.js";
7
7
 
8
- //#region ../node_modules/.pnpm/vitest@3.2.4_@types+node@22.13.14_@vitest+ui@3.2.4_happy-dom@20.0.10_jiti@2.6.1_jsdom@2_4abc0aa80426c2cc5a9175f21e1d4ebb/node_modules/vitest/dist/chunks/benchmark.CYdenmiT.js
8
+ //#region ../node_modules/.pnpm/vitest@3.2.4_@types+node@22.13.14_@vitest+ui@3.2.4_happy-dom@20.8.9_jiti@2.6.1_jsdom@20_c24d183060b6f93f55300b66d0779768/node_modules/vitest/dist/chunks/benchmark.CYdenmiT.js
9
9
  const benchFns = /* @__PURE__ */ new WeakMap();
10
10
  const benchOptsMap = /* @__PURE__ */ new WeakMap();
11
11
  function getBenchOptions(key) {
@@ -1,4 +1,4 @@
1
- //#region ../node_modules/.pnpm/vitest@3.2.4_@types+node@22.13.14_@vitest+ui@3.2.4_happy-dom@20.0.10_jiti@2.6.1_jsdom@2_4abc0aa80426c2cc5a9175f21e1d4ebb/node_modules/vitest/dist/chunks/date.Bq6ZW5rf.js
1
+ //#region ../node_modules/.pnpm/vitest@3.2.4_@types+node@22.13.14_@vitest+ui@3.2.4_happy-dom@20.8.9_jiti@2.6.1_jsdom@20_c24d183060b6f93f55300b66d0779768/node_modules/vitest/dist/chunks/date.Bq6ZW5rf.js
2
2
  const RealDate = Date;
3
3
  let now = null;
4
4
  var MockDate = class MockDate extends RealDate {
@@ -6,7 +6,7 @@ import { createExpect, globalExpect, inject, vi, vitest } from "./vi.bdSIJ99Y.js
6
6
  import { bench } from "./benchmark.CYdenmiT.js";
7
7
  import { require_dist } from "../../../../../expect-type@1.2.2/node_modules/expect-type/dist/index.js";
8
8
 
9
- //#region ../node_modules/.pnpm/vitest@3.2.4_@types+node@22.13.14_@vitest+ui@3.2.4_happy-dom@20.0.10_jiti@2.6.1_jsdom@2_4abc0aa80426c2cc5a9175f21e1d4ebb/node_modules/vitest/dist/chunks/index.CdQS2e2Q.js
9
+ //#region ../node_modules/.pnpm/vitest@3.2.4_@types+node@22.13.14_@vitest+ui@3.2.4_happy-dom@20.8.9_jiti@2.6.1_jsdom@20_c24d183060b6f93f55300b66d0779768/node_modules/vitest/dist/chunks/index.CdQS2e2Q.js
10
10
  var import_dist = /* @__PURE__ */ __toESM(require_dist(), 1);
11
11
  const assertType = function assertType$1() {};
12
12
  var VitestIndex = /* @__PURE__ */ Object.freeze({
@@ -1,6 +1,6 @@
1
1
  import { getSafeTimers } from "../../../../../@vitest_utils@3.2.4/node_modules/@vitest/utils/dist/index.js";
2
2
 
3
- //#region ../node_modules/.pnpm/vitest@3.2.4_@types+node@22.13.14_@vitest+ui@3.2.4_happy-dom@20.0.10_jiti@2.6.1_jsdom@2_4abc0aa80426c2cc5a9175f21e1d4ebb/node_modules/vitest/dist/chunks/utils.XdZDrNZV.js
3
+ //#region ../node_modules/.pnpm/vitest@3.2.4_@types+node@22.13.14_@vitest+ui@3.2.4_happy-dom@20.8.9_jiti@2.6.1_jsdom@20_c24d183060b6f93f55300b66d0779768/node_modules/vitest/dist/chunks/utils.XdZDrNZV.js
4
4
  const NAME_WORKER_STATE = "__vitest_worker__";
5
5
  function getWorkerState() {
6
6
  const workerState = globalThis[NAME_WORKER_STATE];
@@ -13,7 +13,7 @@ import { commonjsGlobal, getDefaultExportFromCjs } from "./_commonjsHelpers.BFTU
13
13
  import { SnapshotClient, addSerializer, stripSnapshotIndentation } from "../../../../../@vitest_snapshot@3.2.4/node_modules/@vitest/snapshot/dist/index.js";
14
14
  import { RealDate, mockDate, resetDate } from "./date.Bq6ZW5rf.js";
15
15
 
16
- //#region ../node_modules/.pnpm/vitest@3.2.4_@types+node@22.13.14_@vitest+ui@3.2.4_happy-dom@20.0.10_jiti@2.6.1_jsdom@2_4abc0aa80426c2cc5a9175f21e1d4ebb/node_modules/vitest/dist/chunks/vi.bdSIJ99Y.js
16
+ //#region ../node_modules/.pnpm/vitest@3.2.4_@types+node@22.13.14_@vitest+ui@3.2.4_happy-dom@20.8.9_jiti@2.6.1_jsdom@20_c24d183060b6f93f55300b66d0779768/node_modules/vitest/dist/chunks/vi.bdSIJ99Y.js
17
17
  const unsupported = [
18
18
  "matchSnapshot",
19
19
  "toMatchSnapshot",
@@ -17,7 +17,7 @@ import { bench } from "./chunks/benchmark.CYdenmiT.js";
17
17
  import { require_dist } from "../../../../expect-type@1.2.2/node_modules/expect-type/dist/index.js";
18
18
  import { assertType } from "./chunks/index.CdQS2e2Q.js";
19
19
 
20
- //#region ../node_modules/.pnpm/vitest@3.2.4_@types+node@22.13.14_@vitest+ui@3.2.4_happy-dom@20.0.10_jiti@2.6.1_jsdom@2_4abc0aa80426c2cc5a9175f21e1d4ebb/node_modules/vitest/dist/index.js
20
+ //#region ../node_modules/.pnpm/vitest@3.2.4_@types+node@22.13.14_@vitest+ui@3.2.4_happy-dom@20.8.9_jiti@2.6.1_jsdom@20_c24d183060b6f93f55300b66d0779768/node_modules/vitest/dist/index.js
21
21
  var import_dist = /* @__PURE__ */ __toESM(require_dist(), 1);
22
22
 
23
23
  //#endregion
@@ -39,10 +39,15 @@ var FilesService = class FilesService extends ItemsService {
39
39
  * Check whether a filename is unique.
40
40
  *
41
41
  * @param filename - The filename
42
+ * @param excludeId - The id of the existing file to exclude from the check
42
43
  * @throws ForbiddenError if a match is found
43
44
  */
44
- async checkUniqueFilename(filename) {
45
- const existingFile = await this.knex.select("filename_disk").from("directus_files").where({ filename_disk: filename }).first();
45
+ async checkUniqueFilename(filename, excludeId) {
46
+ const query = this.knex.select("filename_disk").from("directus_files").where({ filename_disk: filename });
47
+ if (excludeId) {
48
+ query.whereNot("id", excludeId);
49
+ }
50
+ const existingFile = await query.first();
46
51
  if (existingFile) {
47
52
  throw new ForbiddenError();
48
53
  }
@@ -227,12 +232,12 @@ var FilesService = class FilesService extends ItemsService {
227
232
  throw new InvalidPayloadError({ reason: `"type" is required` });
228
233
  }
229
234
  if (data.filename_disk) {
235
+ data.filename_disk = this.generateFilenamePath(data.filename_disk);
230
236
  try {
231
237
  await this.checkUniqueFilename(data.filename_disk);
232
238
  } catch (err) {
233
239
  opts.preMutationError = err;
234
240
  }
235
- data.filename_disk = this.generateFilenamePath(data.filename_disk);
236
241
  }
237
242
  const key = await super.createOne(data, opts);
238
243
  return key;
@@ -242,12 +247,12 @@ var FilesService = class FilesService extends ItemsService {
242
247
  */
243
248
  async updateMany(keys, data, opts = {}) {
244
249
  if (keys.length === 1 && data.filename_disk) {
250
+ data.filename_disk = this.generateFilenamePath(data.filename_disk);
245
251
  try {
246
- await this.checkUniqueFilename(data.filename_disk);
252
+ await this.checkUniqueFilename(data.filename_disk, keys[0]);
247
253
  } catch (err) {
248
254
  opts.preMutationError = err;
249
255
  }
250
- data.filename_disk = this.generateFilenamePath(data.filename_disk);
251
256
  const sudoFilesItemsService = new FilesService({
252
257
  knex: this.knex,
253
258
  schema: this.schema
@@ -1,5 +1,5 @@
1
- import { vi } from "../node_modules/.pnpm/vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.0.10_jiti@2.6.1_jsdom@2_4abc0aa80426c2cc5a9175f21e1d4ebb/node_modules/vitest/dist/chunks/vi.bdSIJ99Y.js";
2
- import "../node_modules/.pnpm/vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.0.10_jiti@2.6.1_jsdom@2_4abc0aa80426c2cc5a9175f21e1d4ebb/node_modules/vitest/dist/index.js";
1
+ import { vi } from "../node_modules/.pnpm/vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.8.9_jiti@2.6.1_jsdom@20_c24d183060b6f93f55300b66d0779768/node_modules/vitest/dist/chunks/vi.bdSIJ99Y.js";
2
+ import "../node_modules/.pnpm/vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.8.9_jiti@2.6.1_jsdom@20_c24d183060b6f93f55300b66d0779768/node_modules/vitest/dist/index.js";
3
3
 
4
4
  //#region src/test-utils/cache.ts
5
5
  /**
@@ -1,5 +1,5 @@
1
- import { vi } from "../node_modules/.pnpm/vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.0.10_jiti@2.6.1_jsdom@2_4abc0aa80426c2cc5a9175f21e1d4ebb/node_modules/vitest/dist/chunks/vi.bdSIJ99Y.js";
2
- import "../node_modules/.pnpm/vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.0.10_jiti@2.6.1_jsdom@2_4abc0aa80426c2cc5a9175f21e1d4ebb/node_modules/vitest/dist/index.js";
1
+ import { vi } from "../node_modules/.pnpm/vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.8.9_jiti@2.6.1_jsdom@20_c24d183060b6f93f55300b66d0779768/node_modules/vitest/dist/chunks/vi.bdSIJ99Y.js";
2
+ import "../node_modules/.pnpm/vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.8.9_jiti@2.6.1_jsdom@20_c24d183060b6f93f55300b66d0779768/node_modules/vitest/dist/index.js";
3
3
 
4
4
  //#region src/test-utils/controllers.ts
5
5
  /**
@@ -1,5 +1,5 @@
1
- import { vi } from "../node_modules/.pnpm/vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.0.10_jiti@2.6.1_jsdom@2_4abc0aa80426c2cc5a9175f21e1d4ebb/node_modules/vitest/dist/chunks/vi.bdSIJ99Y.js";
2
- import "../node_modules/.pnpm/vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.0.10_jiti@2.6.1_jsdom@2_4abc0aa80426c2cc5a9175f21e1d4ebb/node_modules/vitest/dist/index.js";
1
+ import { vi } from "../node_modules/.pnpm/vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.8.9_jiti@2.6.1_jsdom@20_c24d183060b6f93f55300b66d0779768/node_modules/vitest/dist/chunks/vi.bdSIJ99Y.js";
2
+ import "../node_modules/.pnpm/vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.8.9_jiti@2.6.1_jsdom@20_c24d183060b6f93f55300b66d0779768/node_modules/vitest/dist/index.js";
3
3
  import { createMockKnex } from "./knex.js";
4
4
 
5
5
  //#region src/test-utils/database.ts
@@ -1,5 +1,5 @@
1
- import { vi } from "../node_modules/.pnpm/vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.0.10_jiti@2.6.1_jsdom@2_4abc0aa80426c2cc5a9175f21e1d4ebb/node_modules/vitest/dist/chunks/vi.bdSIJ99Y.js";
2
- import "../node_modules/.pnpm/vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.0.10_jiti@2.6.1_jsdom@2_4abc0aa80426c2cc5a9175f21e1d4ebb/node_modules/vitest/dist/index.js";
1
+ import { vi } from "../node_modules/.pnpm/vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.8.9_jiti@2.6.1_jsdom@20_c24d183060b6f93f55300b66d0779768/node_modules/vitest/dist/chunks/vi.bdSIJ99Y.js";
2
+ import "../node_modules/.pnpm/vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.8.9_jiti@2.6.1_jsdom@20_c24d183060b6f93f55300b66d0779768/node_modules/vitest/dist/index.js";
3
3
 
4
4
  //#region src/test-utils/emitter.ts
5
5
  /**
@@ -1,5 +1,5 @@
1
- import { vi } from "../node_modules/.pnpm/vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.0.10_jiti@2.6.1_jsdom@2_4abc0aa80426c2cc5a9175f21e1d4ebb/node_modules/vitest/dist/chunks/vi.bdSIJ99Y.js";
2
- import "../node_modules/.pnpm/vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.0.10_jiti@2.6.1_jsdom@2_4abc0aa80426c2cc5a9175f21e1d4ebb/node_modules/vitest/dist/index.js";
1
+ import { vi } from "../node_modules/.pnpm/vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.8.9_jiti@2.6.1_jsdom@20_c24d183060b6f93f55300b66d0779768/node_modules/vitest/dist/chunks/vi.bdSIJ99Y.js";
2
+ import "../node_modules/.pnpm/vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.8.9_jiti@2.6.1_jsdom@20_c24d183060b6f93f55300b66d0779768/node_modules/vitest/dist/index.js";
3
3
 
4
4
  //#region src/test-utils/env.ts
5
5
  /**
@@ -1,6 +1,6 @@
1
1
  import { __toESM } from "../_virtual/rolldown_runtime.js";
2
- import { vi } from "../node_modules/.pnpm/vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.0.10_jiti@2.6.1_jsdom@2_4abc0aa80426c2cc5a9175f21e1d4ebb/node_modules/vitest/dist/chunks/vi.bdSIJ99Y.js";
3
- import "../node_modules/.pnpm/vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.0.10_jiti@2.6.1_jsdom@2_4abc0aa80426c2cc5a9175f21e1d4ebb/node_modules/vitest/dist/index.js";
2
+ import { vi } from "../node_modules/.pnpm/vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.8.9_jiti@2.6.1_jsdom@20_c24d183060b6f93f55300b66d0779768/node_modules/vitest/dist/chunks/vi.bdSIJ99Y.js";
3
+ import "../node_modules/.pnpm/vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.8.9_jiti@2.6.1_jsdom@20_c24d183060b6f93f55300b66d0779768/node_modules/vitest/dist/index.js";
4
4
  import { require_dist } from "../node_modules/.pnpm/knex-mock-client@3.0.2_knex@3.1.0_mysql2@3.15.3_pg@8.16.3_sqlite3@5.1.7_tedious@18.6.1_/node_modules/knex-mock-client/dist/index.js";
5
5
  import knex from "knex";
6
6
  import { systemCollectionNames } from "@directus/system-data";
@@ -1,5 +1,5 @@
1
- import { vi } from "../node_modules/.pnpm/vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.0.10_jiti@2.6.1_jsdom@2_4abc0aa80426c2cc5a9175f21e1d4ebb/node_modules/vitest/dist/chunks/vi.bdSIJ99Y.js";
2
- import "../node_modules/.pnpm/vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.0.10_jiti@2.6.1_jsdom@2_4abc0aa80426c2cc5a9175f21e1d4ebb/node_modules/vitest/dist/index.js";
1
+ import { vi } from "../node_modules/.pnpm/vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.8.9_jiti@2.6.1_jsdom@20_c24d183060b6f93f55300b66d0779768/node_modules/vitest/dist/chunks/vi.bdSIJ99Y.js";
2
+ import "../node_modules/.pnpm/vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.8.9_jiti@2.6.1_jsdom@20_c24d183060b6f93f55300b66d0779768/node_modules/vitest/dist/index.js";
3
3
 
4
4
  //#region src/test-utils/schema.ts
5
5
  /**
@@ -1,5 +1,5 @@
1
- import { vi } from "../../node_modules/.pnpm/vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.0.10_jiti@2.6.1_jsdom@2_4abc0aa80426c2cc5a9175f21e1d4ebb/node_modules/vitest/dist/chunks/vi.bdSIJ99Y.js";
2
- import "../../node_modules/.pnpm/vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.0.10_jiti@2.6.1_jsdom@2_4abc0aa80426c2cc5a9175f21e1d4ebb/node_modules/vitest/dist/index.js";
1
+ import { vi } from "../../node_modules/.pnpm/vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.8.9_jiti@2.6.1_jsdom@20_c24d183060b6f93f55300b66d0779768/node_modules/vitest/dist/chunks/vi.bdSIJ99Y.js";
2
+ import "../../node_modules/.pnpm/vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.8.9_jiti@2.6.1_jsdom@20_c24d183060b6f93f55300b66d0779768/node_modules/vitest/dist/index.js";
3
3
  import { mockItemsService } from "./items-service.js";
4
4
 
5
5
  //#region src/test-utils/services/fields-service.ts
@@ -1,5 +1,5 @@
1
- import { vi } from "../../node_modules/.pnpm/vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.0.10_jiti@2.6.1_jsdom@2_4abc0aa80426c2cc5a9175f21e1d4ebb/node_modules/vitest/dist/chunks/vi.bdSIJ99Y.js";
2
- import "../../node_modules/.pnpm/vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.0.10_jiti@2.6.1_jsdom@2_4abc0aa80426c2cc5a9175f21e1d4ebb/node_modules/vitest/dist/index.js";
1
+ import { vi } from "../../node_modules/.pnpm/vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.8.9_jiti@2.6.1_jsdom@20_c24d183060b6f93f55300b66d0779768/node_modules/vitest/dist/chunks/vi.bdSIJ99Y.js";
2
+ import "../../node_modules/.pnpm/vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.8.9_jiti@2.6.1_jsdom@20_c24d183060b6f93f55300b66d0779768/node_modules/vitest/dist/index.js";
3
3
  import { mockItemsService } from "./items-service.js";
4
4
 
5
5
  //#region src/test-utils/services/files-service.ts
@@ -1,5 +1,5 @@
1
- import { vi } from "../../node_modules/.pnpm/vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.0.10_jiti@2.6.1_jsdom@2_4abc0aa80426c2cc5a9175f21e1d4ebb/node_modules/vitest/dist/chunks/vi.bdSIJ99Y.js";
2
- import "../../node_modules/.pnpm/vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.0.10_jiti@2.6.1_jsdom@2_4abc0aa80426c2cc5a9175f21e1d4ebb/node_modules/vitest/dist/index.js";
1
+ import { vi } from "../../node_modules/.pnpm/vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.8.9_jiti@2.6.1_jsdom@20_c24d183060b6f93f55300b66d0779768/node_modules/vitest/dist/chunks/vi.bdSIJ99Y.js";
2
+ import "../../node_modules/.pnpm/vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.8.9_jiti@2.6.1_jsdom@20_c24d183060b6f93f55300b66d0779768/node_modules/vitest/dist/index.js";
3
3
  import { mockItemsService } from "./items-service.js";
4
4
 
5
5
  //#region src/test-utils/services/folders-service.ts
@@ -1,5 +1,5 @@
1
- import { vi } from "../../node_modules/.pnpm/vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.0.10_jiti@2.6.1_jsdom@2_4abc0aa80426c2cc5a9175f21e1d4ebb/node_modules/vitest/dist/chunks/vi.bdSIJ99Y.js";
2
- import "../../node_modules/.pnpm/vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.0.10_jiti@2.6.1_jsdom@2_4abc0aa80426c2cc5a9175f21e1d4ebb/node_modules/vitest/dist/index.js";
1
+ import { vi } from "../../node_modules/.pnpm/vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.8.9_jiti@2.6.1_jsdom@20_c24d183060b6f93f55300b66d0779768/node_modules/vitest/dist/chunks/vi.bdSIJ99Y.js";
2
+ import "../../node_modules/.pnpm/vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.8.9_jiti@2.6.1_jsdom@20_c24d183060b6f93f55300b66d0779768/node_modules/vitest/dist/index.js";
3
3
 
4
4
  //#region src/test-utils/services/items-service.ts
5
5
  /**
@@ -1,5 +1,5 @@
1
- import { vi } from "../node_modules/.pnpm/vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.0.10_jiti@2.6.1_jsdom@2_4abc0aa80426c2cc5a9175f21e1d4ebb/node_modules/vitest/dist/chunks/vi.bdSIJ99Y.js";
2
- import "../node_modules/.pnpm/vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.0.10_jiti@2.6.1_jsdom@2_4abc0aa80426c2cc5a9175f21e1d4ebb/node_modules/vitest/dist/index.js";
1
+ import { vi } from "../node_modules/.pnpm/vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.8.9_jiti@2.6.1_jsdom@20_c24d183060b6f93f55300b66d0779768/node_modules/vitest/dist/chunks/vi.bdSIJ99Y.js";
2
+ import "../node_modules/.pnpm/vitest@3.2.4_@types_node@22.13.14_@vitest_ui@3.2.4_happy-dom@20.8.9_jiti@2.6.1_jsdom@20_c24d183060b6f93f55300b66d0779768/node_modules/vitest/dist/index.js";
3
3
  import { PassThrough } from "node:stream";
4
4
 
5
5
  //#region src/test-utils/storage.ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@directus/api",
3
- "version": "35.0.0",
3
+ "version": "35.0.1",
4
4
  "description": "Directus is a real-time API and App dashboard for managing SQL database content",
5
5
  "keywords": [
6
6
  "directus",
@@ -86,7 +86,7 @@
86
86
  "bytes": "3.1.2",
87
87
  "camelcase": "8.0.0",
88
88
  "chalk": "5.6.2",
89
- "chokidar": "4.0.3",
89
+ "chokidar": "5.0.0",
90
90
  "commander": "14.0.2",
91
91
  "content-disposition": "0.5.4",
92
92
  "cookie": "1.0.2",
@@ -126,7 +126,7 @@
126
126
  "marked": "16.4.1",
127
127
  "micromustache": "8.0.3",
128
128
  "mime-types": "3.0.1",
129
- "minimatch": "10.2.3",
129
+ "minimatch": "10.2.4",
130
130
  "mnemonist": "0.40.3",
131
131
  "ms": "2.1.3",
132
132
  "nanoid": "5.1.6",
@@ -151,7 +151,7 @@
151
151
  "rate-limiter-flexible": "7.2.0",
152
152
  "rolldown": "1.0.0-beta.31",
153
153
  "rollup": "4.59.0",
154
- "samlify": "2.10.2",
154
+ "samlify": "2.11.0",
155
155
  "sanitize-filename": "1.6.3",
156
156
  "sanitize-html": "2.17.0",
157
157
  "sharp": "0.34.5",
@@ -166,30 +166,30 @@
166
166
  "zod": "4.1.12",
167
167
  "zod-validation-error": "4.0.2",
168
168
  "@directus/ai": "1.3.1",
169
- "@directus/app": "15.6.0",
170
169
  "@directus/constants": "14.3.0",
171
- "@directus/env": "5.7.0",
172
- "@directus/extensions": "3.0.22",
173
- "@directus/extensions-sdk": "17.1.0",
174
- "@directus/extensions-registry": "3.0.22",
170
+ "@directus/app": "15.7.0",
171
+ "@directus/env": "5.7.1",
172
+ "@directus/extensions": "3.0.23",
175
173
  "@directus/errors": "2.3.0",
174
+ "@directus/extensions-registry": "3.0.23",
176
175
  "@directus/format-title": "12.1.2",
177
- "@directus/memory": "3.1.5",
178
- "@directus/schema-builder": "0.0.17",
179
- "@directus/pressure": "3.0.20",
180
- "@directus/schema": "13.0.6",
176
+ "@directus/memory": "3.1.6",
177
+ "@directus/extensions-sdk": "17.1.1",
178
+ "@directus/pressure": "3.0.21",
179
+ "@directus/schema": "13.0.7",
180
+ "@directus/schema-builder": "0.0.18",
181
181
  "@directus/specs": "13.0.0",
182
182
  "@directus/storage": "12.0.4",
183
- "@directus/storage-driver-azure": "12.0.20",
184
- "@directus/storage-driver-cloudinary": "12.0.20",
185
- "@directus/storage-driver-gcs": "12.0.20",
183
+ "@directus/storage-driver-azure": "12.0.21",
184
+ "@directus/storage-driver-cloudinary": "12.0.21",
185
+ "@directus/storage-driver-gcs": "12.0.21",
186
+ "@directus/storage-driver-s3": "12.1.7",
187
+ "@directus/storage-driver-supabase": "3.0.21",
188
+ "@directus/utils": "13.4.0",
186
189
  "@directus/storage-driver-local": "12.0.4",
187
- "@directus/storage-driver-supabase": "3.0.20",
188
190
  "@directus/system-data": "4.4.0",
189
- "@directus/utils": "13.3.2",
190
- "directus": "11.17.0",
191
- "@directus/storage-driver-s3": "12.1.6",
192
- "@directus/validation": "2.0.20"
191
+ "directus": "11.17.1",
192
+ "@directus/validation": "2.0.21"
193
193
  },
194
194
  "devDependencies": {
195
195
  "@directus/tsconfig": "4.0.0",
@@ -231,8 +231,8 @@
231
231
  "knex-mock-client": "3.0.2",
232
232
  "typescript": "5.9.3",
233
233
  "vitest": "3.2.4",
234
- "@directus/schema-builder": "0.0.17",
235
- "@directus/types": "15.0.0"
234
+ "@directus/schema-builder": "0.0.18",
235
+ "@directus/types": "15.0.1"
236
236
  },
237
237
  "optionalDependencies": {
238
238
  "@keyv/redis": "3.0.1",