53 lines
1.4 KiB
JavaScript
53 lines
1.4 KiB
JavaScript
/** @type {import("dependency-cruiser").IConfiguration} */
|
|
module.exports = {
|
|
forbidden: [
|
|
{
|
|
name: "domain-is-framework-neutral",
|
|
severity: "error",
|
|
from: { path: "^src/domain" },
|
|
to: {
|
|
path: "^(src/(application|presentation|adapters|bootstrap)|react|react-dom|@tanstack)",
|
|
},
|
|
},
|
|
{
|
|
name: "application-does-not-know-concrete-runtime",
|
|
severity: "error",
|
|
from: { path: "^src/application" },
|
|
to: {
|
|
path: "^(src/(presentation|adapters|bootstrap)|react|react-dom|@tanstack)",
|
|
},
|
|
},
|
|
{
|
|
name: "presentation-does-not-know-adapters",
|
|
severity: "error",
|
|
from: { path: "^src/presentation" },
|
|
to: { path: "^(src/(adapters|bootstrap)|@tanstack)" },
|
|
},
|
|
{
|
|
name: "adapters-do-not-know-presentation",
|
|
severity: "error",
|
|
from: { path: "^src/adapters" },
|
|
to: { path: "^src/(presentation|bootstrap)" },
|
|
},
|
|
{
|
|
name: "no-circular-dependencies",
|
|
severity: "error",
|
|
from: {},
|
|
to: { circular: true },
|
|
},
|
|
],
|
|
options: {
|
|
doNotFollow: { path: "node_modules" },
|
|
exclude: {
|
|
path: "^(dist|artifacts|tests/fixtures)",
|
|
},
|
|
enhancedResolveOptions: {
|
|
exportsFields: ["exports"],
|
|
conditionNames: ["import", "require", "node", "default"],
|
|
},
|
|
tsConfig: {
|
|
fileName: "tsconfig.app.json",
|
|
},
|
|
},
|
|
};
|