knip.ts
Rama develop · réplica de lectura del repositorio original.
import type { KnipConfig } from 'knip';
const config: KnipConfig = {
workspaces: {
// ── Root ──────────────────────────────────────────────
'.': {
project: ['scripts/**/*.ts'],
},
// ── Apps ──────────────────────────────────────────────
'apps/api': {
project: ['src/**/*.ts'],
// Externalized by tsup and loaded from the runtime dependency tree.
ignoreDependencies: ['dompurify'],
},
'apps/bullmq': {
project: ['src/**/*.ts'],
},
'apps/controller': {
entry: [],
project: ['src/**/*.ts'],
// Loaded by the Daytona SDK through a bundler-evading dynamic require
// when uploading files; shipped as a runtime dep next to the bundled
// dist in .docker/app/Dockerfile.
ignoreDependencies: ['form-data'],
},
'apps/dev': {
project: ['src/**/*.ts'],
ignore: ['src/services/worker-release.ts'],
// tar is supplied by the host and used to inspect worker release archives.
ignoreBinaries: ['pm2', 'ngrok', 'tar'],
},
// Self-contained Mintlify docs site. It has no TypeScript project; the
// `mint` CLI is installed globally.
'apps/docs': {
entry: [],
project: [],
ignoreBinaries: ['mint'],
},
'apps/e2e': {
entry: ['src/run-direct-suite.ts', 'src/suites/**/*.ts'],
project: ['src/**/*.ts'],
},
'apps/preview-proxy': {
project: ['src/**/*.ts'],
},
'apps/web': {
entry: [
'src/app/**/{page,layout,loading,error,not-found,default,template,route,middleware}.{ts,tsx}',
'next.config.*',
'postcss.config.*',
'.storybook/**/*.{ts,tsx}',
'src/**/*.stories.{ts,tsx}',
],
project: ['src/**/*.{ts,tsx}'],
// Used to satisfy vulnerable peer resolution edges in Storybook/Sentry, not imported directly.
ignoreDependencies: ['webpack'],
},
'apps/worker': {
entry: ['scripts/**/*.ts'],
project: ['src/**/*.ts', 'scripts/**/*.ts'],
ignoreBinaries: [
'rg',
'mysqladmin',
'pg_isready',
'ps',
'python',
'fc-cache',
'dpkg-query',
],
},
// ── Packages ─────────────────────────────────────────
'packages/auth': {
project: ['src/**/*.ts'],
},
'packages/cloud-agents': {
project: ['src/**/*.ts'],
// The feature-demo skill bundles a standalone Remotion render project
// that runs from a sandbox work dir, not from this package's graph.
ignore: ['src/server/workflows/skills/standard/feature-demo/**'],
ignoreBinaries: [],
},
'packages/communication': {
project: ['src/**/*.ts'],
},
'packages/compute-providers': {
project: ['src/**/*.ts'],
},
'packages/config-eslint': {
project: ['**/*.js'],
},
'packages/config-typescript': {
ignoreDependencies: ['next'],
},
'packages/db': {
project: ['src/**/*.ts'],
drizzle: false,
},
'packages/env': {
project: ['src/**/*.ts'],
},
'packages/feature-flags': {
project: ['src/**/*.ts'],
},
'packages/github': {
project: ['src/**/*.ts'],
ignoreBinaries: ['gh'],
},
'packages/linear': {
project: ['src/**/*.ts'],
},
'packages/redis': {
project: ['src/**/*.ts'],
},
'packages/sdk': {
project: ['src/**/*.ts'],
},
'packages/slack': {
project: ['src/**/*.ts'],
},
'packages/telemetry': {
project: ['src/**/*.ts'],
},
'packages/types': {
project: ['src/**/*.ts'],
},
},
ignoreDependencies: [
// Imported via CSS (@import 'tailwindcss'), not traceable by knip.
'tailwindcss',
'tw-animate-css',
],
};
export default config;