From fb6d6f5b697e253dff1f6434f705ea86692992aa Mon Sep 17 00:00:00 2001 From: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com> Date: Wed, 4 Jun 2025 23:57:10 -0500 Subject: [PATCH] [Dev] Add non type imports depcruiser check (#5901) * Forbid non type imports in type and enum files * Allow orphans in src/@types --- .dependency-cruiser.cjs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.dependency-cruiser.cjs b/.dependency-cruiser.cjs index b7de80a70de..40a9785aeaf 100644 --- a/.dependency-cruiser.cjs +++ b/.dependency-cruiser.cjs @@ -1,6 +1,17 @@ /** @type {import('dependency-cruiser').IConfiguration} */ module.exports = { forbidden: [ + { + name: "only-type-imports", + severity: "error", + comment: "Files in enums and @types may only use type imports.", + from: { + path: ["(^|/)src/@types", "(^|/)src/enums"], + }, + to: { + dependencyTypesNot: ["type-only"], + }, + }, { name: "no-circular-at-runtime", severity: "warn", @@ -31,6 +42,8 @@ module.exports = { "[.]d[.]ts$", // TypeScript declaration files "(^|/)tsconfig[.]json$", // TypeScript config "(^|/)(?:babel|webpack)[.]config[.](?:js|cjs|mjs|ts|cts|mts|json)$", // other configs + // anything in src/@types + "(^|/)src/@types/", ], }, to: {},