diff --git a/.fallowrc.json b/.fallowrc.json new file mode 100644 index 0000000..94e66ef --- /dev/null +++ b/.fallowrc.json @@ -0,0 +1,28 @@ +{ + "$schema": "https://raw.githubusercontent.com/fallow-rs/fallow/main/schema.json", + "ignorePatterns": [ + "**/node_modules/**", + "**/dist/**", + "**/.next/**", + "**/.turbo/**", + "**/storybook-static/**", + "**/__snapshots__/**", + "**/turbo/generators/templates/**", + "**/*.generated.ts", + "**/*.d.ts" + ], + "ignoreDependencies": [], + "ignoreExportsUsedInFile": true, + "rules": { + "unused-files": "warn", + "unused-exports": "warn", + "unused-types": "off", + "circular-dependencies": "error", + "duplicate-code": "warn" + }, + "health": { + "maxCyclomatic": 25, + "maxCognitive": 20, + "maxCrap": 35 + } +} diff --git a/package.json b/package.json index dcd747b..a738a00 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "@playwright/test": "^1.49.0", "@turbo/gen": "^2.4.0", "@types/node": "^22.0.0", + "fallow": "^2.73.0", "husky": "^9.0.0", "lint-staged": "^16.0.0", "prettier": "^3.5.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d8acfa0..9865eed 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -19,6 +19,9 @@ importers: "@types/node": specifier: ^22.0.0 version: 22.19.17 + fallow: + specifier: ^2.73.0 + version: 2.73.0 husky: specifier: ^9.0.0 version: 9.1.7 @@ -2289,6 +2292,70 @@ packages: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + "@fallow-cli/darwin-arm64@2.73.0": + resolution: + { + integrity: sha512-4mo+35ufU3H5HpyYi/UT12EvRJA7ibglIaWTDqjc6TkZoz7fXYKh9PT+KcBBZyMbFC1kvAxJsfJP1J4zKXr5xQ==, + } + cpu: [arm64] + os: [darwin] + + "@fallow-cli/darwin-x64@2.73.0": + resolution: + { + integrity: sha512-bgob14wLLRXTXI+/XMT7OhVIZV1aBw0lvlXJwl/+t8MOUftlG68VoZVRkpzDypWc/dPxsa5J72kUv/5b1F/jXg==, + } + cpu: [x64] + os: [darwin] + + "@fallow-cli/linux-arm64-gnu@2.73.0": + resolution: + { + integrity: sha512-7q058FGiv92VCMikoaNkcJOlhuUeYbu/dvzAyjwBYCt2FBadPdkafz29IRZN2McfLXmCdizV6531TPh2H8Z/XA==, + } + cpu: [arm64] + os: [linux] + + "@fallow-cli/linux-arm64-musl@2.73.0": + resolution: + { + integrity: sha512-rykM9ClOZ7cSUvox0Qesq3Vh4XTdHdgVDqgEo+njs1vJsj9IMINZhENsR7/9PKIEbH5rH/3BsOQ6wwkXwi7Z/w==, + } + cpu: [arm64] + os: [linux] + + "@fallow-cli/linux-x64-gnu@2.73.0": + resolution: + { + integrity: sha512-BOk8LUgb97giUB5gUbH2PDV68EV/KlIKmNe+UyYeb8qsQkuIbwnYIxYQ1SmvagcCJdjkzGnJI4JXswvDB96MJg==, + } + cpu: [x64] + os: [linux] + + "@fallow-cli/linux-x64-musl@2.73.0": + resolution: + { + integrity: sha512-zaHIF7rdNGj7gRJ49EG64nmuco1N074Na1DiOBn/bWg1YZxGlQlJL5d0cq1Kb+EoQ0sTwa+Ya4g4/mQ0Wdb+nA==, + } + cpu: [x64] + os: [linux] + + "@fallow-cli/win32-arm64-msvc@2.73.0": + resolution: + { + integrity: sha512-IlWjJiSPY8j0n7jUEMNaEEdygwI4F2gzulAQmIcTlemZgdzAQCDuI3i8ylePcCc2+1YfD5IwdoQIS+WRkUulBw==, + } + cpu: [arm64] + os: [win32] + + "@fallow-cli/win32-x64-msvc@2.73.0": + resolution: + { + integrity: sha512-pceEJAFpqmlp4gL+ANyhnNLFGtaHCydEaJCUFZ3TL885RWP2nvOIe4TbbdIGRJwAnw0aa6jtM8QKK0DNCSQlxQ==, + } + cpu: [x64] + os: [win32] + "@fastify/otel@0.18.0": resolution: { @@ -8048,6 +8115,14 @@ packages: } engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + fallow@2.73.0: + resolution: + { + integrity: sha512-4qyUIGWhPvmeOnS6tNwB+WyVB92ImVWYEF6wiJT6Khn53SxIBi0+IxTsUT2NVjFR6mL4xRwL2vvpUe/OzvMYcw==, + } + engines: { node: ">=16" } + hasBin: true + fast-check@3.23.2: resolution: { @@ -13574,6 +13649,30 @@ snapshots: react: 19.2.4 react-dom: 19.2.4(react@19.2.4) + "@fallow-cli/darwin-arm64@2.73.0": + optional: true + + "@fallow-cli/darwin-x64@2.73.0": + optional: true + + "@fallow-cli/linux-arm64-gnu@2.73.0": + optional: true + + "@fallow-cli/linux-arm64-musl@2.73.0": + optional: true + + "@fallow-cli/linux-x64-gnu@2.73.0": + optional: true + + "@fallow-cli/linux-x64-musl@2.73.0": + optional: true + + "@fallow-cli/win32-arm64-msvc@2.73.0": + optional: true + + "@fallow-cli/win32-x64-msvc@2.73.0": + optional: true + "@fastify/otel@0.18.0(@opentelemetry/api@1.9.1)": dependencies: "@opentelemetry/api": 1.9.1 @@ -17879,6 +17978,19 @@ snapshots: jest-message-util: 29.7.0 jest-util: 29.7.0 + fallow@2.73.0: + dependencies: + detect-libc: 2.1.2 + optionalDependencies: + "@fallow-cli/darwin-arm64": 2.73.0 + "@fallow-cli/darwin-x64": 2.73.0 + "@fallow-cli/linux-arm64-gnu": 2.73.0 + "@fallow-cli/linux-arm64-musl": 2.73.0 + "@fallow-cli/linux-x64-gnu": 2.73.0 + "@fallow-cli/linux-x64-musl": 2.73.0 + "@fallow-cli/win32-arm64-msvc": 2.73.0 + "@fallow-cli/win32-x64-msvc": 2.73.0 + fast-check@3.23.2: dependencies: pure-rand: 6.1.0