|
1 | 1 | { |
2 | 2 | "$schema": "https://raw.githubusercontent.com/fallow-rs/fallow/main/schema.json", |
3 | 3 | "entry": [ |
4 | | - "fixtures/react-compat/rsbuild.config.mjs", |
5 | | - "storybook/stories/**/*.mdx" |
| 4 | + "apps/docs/blume.config.ts", |
| 5 | + "apps/docs/components.ts", |
| 6 | + "apps/docs/docs/**/*.mdx", |
| 7 | + "apps/docs/docs/**/meta.ts", |
| 8 | + "apps/docs/islands/ObserverDemo.tsx", |
| 9 | + "apps/storybook/stories/**/*.mdx", |
| 10 | + "packages/react-intersection-observer/fixtures/react-compat/rsbuild.config.mjs" |
6 | 11 | ], |
7 | 12 | "ignoreDependencies": [ |
8 | 13 | "@rsbuild/core", |
|
33 | 38 | "maxCognitive": 15, |
34 | 39 | "maxCrap": 30, |
35 | 40 | "maxUnitSize": 60, |
36 | | - "coverage": "coverage/coverage-final.json", |
| 41 | + "coverage": "packages/react-intersection-observer/coverage/coverage-final.json", |
37 | 42 | "thresholdOverrides": [ |
38 | 43 | { |
39 | | - "files": ["storybook/stories/elements.tsx"], |
| 44 | + "files": ["apps/storybook/stories/elements.tsx"], |
40 | 45 | "functions": ["EntryDetails", "ScrollWrapper"], |
41 | 46 | "maxCrap": 31, |
42 | 47 | "reason": "Interactive Storybook demos are intentionally excluded from unit coverage; retain the default structural complexity limits while allowing these two estimated CRAP scores." |
43 | 48 | }, |
44 | 49 | { |
45 | | - "files": ["storybook/stories/useInView.story.tsx"], |
| 50 | + "files": ["apps/storybook/stories/useInView.story.tsx"], |
46 | 51 | "functions": ["HooksRender"], |
47 | 52 | "maxCrap": 43, |
48 | 53 | "reason": "This interactive Storybook demo is intentionally excluded from unit coverage; retain the default structural complexity limits while allowing its estimated CRAP score." |
49 | 54 | }, |
50 | 55 | { |
51 | | - "files": ["storybook/stories/useOnInView.story.tsx"], |
| 56 | + "files": ["apps/storybook/stories/useOnInView.story.tsx"], |
52 | 57 | "functions": ["UseOnInViewRender"], |
53 | 58 | "maxCrap": 57, |
54 | 59 | "reason": "This interactive Storybook demo is intentionally excluded from unit coverage; retain the default structural complexity limits while allowing its measured CRAP score of 56." |
| 60 | + }, |
| 61 | + { |
| 62 | + "files": ["apps/docs/components/Logo.astro"], |
| 63 | + "functions": ["<template>"], |
| 64 | + "maxCrap": 157, |
| 65 | + "reason": "The documentation logo has template-only conditional rendering and no unit-test harness; retain the default complexity limits while allowing its estimated CRAP score of 156." |
| 66 | + }, |
| 67 | + { |
| 68 | + "files": ["apps/docs/islands/ObserverDemo.tsx"], |
| 69 | + "functions": ["LiveObserverDemo"], |
| 70 | + "maxCognitive": 23, |
| 71 | + "maxCrap": 421, |
| 72 | + "reason": "The interactive docs demo deliberately combines the selected threshold, observer result, and visible custom-root feed in one copyable example; it has no unit-test harness, so retain explicit complexity and CRAP ceilings for this single renderer." |
| 73 | + }, |
| 74 | + { |
| 75 | + "files": ["apps/docs/islands/ObserverDemo.tsx"], |
| 76 | + "functions": ["ThresholdButton"], |
| 77 | + "maxCrap": 57, |
| 78 | + "reason": "The threshold-button renderer is part of the interactive documentation example and has no unit-test harness; retain its estimated CRAP score without relaxing the file globally." |
| 79 | + }, |
| 80 | + { |
| 81 | + "files": ["apps/docs/islands/RecipeDemo.tsx"], |
| 82 | + "functions": ["LazyImageDemo"], |
| 83 | + "maxCrap": 91, |
| 84 | + "reason": "This interactive lazy-image recipe is exercised in the documentation site rather than a unit-test harness; retain its estimated CRAP score without relaxing the file globally." |
| 85 | + }, |
| 86 | + { |
| 87 | + "files": ["apps/docs/islands/RecipeDemo.tsx"], |
| 88 | + "functions": ["RevealDemo"], |
| 89 | + "maxCrap": 183, |
| 90 | + "reason": "This interactive reveal recipe is exercised in the documentation site rather than a unit-test harness; retain its estimated CRAP score without relaxing the file globally." |
| 91 | + }, |
| 92 | + { |
| 93 | + "files": ["apps/docs/islands/RecipeDemo.tsx"], |
| 94 | + "functions": ["InfiniteListDemo"], |
| 95 | + "maxCognitive": 20, |
| 96 | + "maxCrap": 111, |
| 97 | + "reason": "This interactive infinite-list recipe combines retry and loading state in one visible example and has no unit-test harness; retain its measured complexity without relaxing the file globally." |
| 98 | + }, |
| 99 | + { |
| 100 | + "files": ["apps/docs/islands/RecipeDemo.tsx"], |
| 101 | + "functions": ["RecipeDemo", "DemoStatus"], |
| 102 | + "maxCrap": 31, |
| 103 | + "reason": "These small recipe-dispatch and status renderers are exercised in the documentation site rather than a unit-test harness; retain their estimated CRAP scores without relaxing the file globally." |
55 | 104 | } |
56 | 105 | ], |
57 | 106 | "suggestInlineSuppression": false |
|
0 commit comments