Skip to content

Commit f07e82e

Browse files
authored
chore: add fallow quality gate (#449)
* chore: add fallow quality gate * fix: refresh pnpm lockfile
1 parent d1f5d91 commit f07e82e

49 files changed

Lines changed: 2159 additions & 194 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.fallowrc.json

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
{
2+
"$schema": "https://raw.githubusercontent.com/fallow-rs/fallow/main/schema.json",
3+
"entry": [
4+
"rslib.config.ts",
5+
"src/index.ts",
6+
"src/io.ts",
7+
"src/artifacts.ts",
8+
"src/metro.ts",
9+
"src/remote-config.ts",
10+
"src/install-source.ts",
11+
"src/android-apps.ts",
12+
"src/contracts.ts",
13+
"src/selectors.ts",
14+
"src/finders.ts",
15+
"src/bin.ts",
16+
"src/companion-tunnel.ts",
17+
"src/daemon.ts",
18+
"src/utils/update-check-entry.ts",
19+
"test/scripts/metro-prepare-packaged-smoke.mjs",
20+
"test/integration/*.test.ts",
21+
"website/docs/404.mdx",
22+
"website/rspress.config.ts"
23+
],
24+
"ignoreDependencies": ["@theme"],
25+
"ignoreExports": [
26+
{
27+
"file": "src/__tests__/test-utils/index.ts",
28+
"exports": ["*"]
29+
},
30+
{
31+
"file": "src/__tests__/test-utils/device-fixtures.ts",
32+
"exports": ["LINUX_DEVICE", "ANDROID_TV_DEVICE", "TVOS_SIMULATOR"]
33+
},
34+
{
35+
"file": "src/__tests__/test-utils/mocked-binaries.ts",
36+
"exports": ["withMockedXcrun"]
37+
},
38+
{
39+
"file": "src/daemon/app-log.ts",
40+
"exports": ["readRecentAndroidLogcatForPackage"]
41+
},
42+
{
43+
"file": "src/platforms/android/app-lifecycle.ts",
44+
"exports": [
45+
"parseAndroidForegroundApp",
46+
"parseAndroidLaunchablePackages",
47+
"parseAndroidUserInstalledPackages",
48+
"installAndroidInstallablePath"
49+
]
50+
},
51+
{
52+
"file": "src/platforms/android/index.ts",
53+
"exports": ["installAndroidInstallablePath"]
54+
},
55+
{
56+
"file": "src/platforms/ios/apps.ts",
57+
"exports": ["listSimulatorApps", "uninstallIosApp"]
58+
},
59+
{
60+
"file": "src/platforms/ios/index.ts",
61+
"exports": ["listSimulatorApps", "uninstallIosApp"]
62+
},
63+
{
64+
"file": "src/platforms/ios/runner-client.ts",
65+
"exports": [
66+
"buildRunnerConnectError",
67+
"buildRunnerEarlyExitError",
68+
"resolveSigningFailureHint"
69+
]
70+
}
71+
],
72+
"usedClassMembers": [
73+
"name",
74+
"listActiveLeases",
75+
"delete",
76+
"values",
77+
"elapsedMs",
78+
"isExpired"
79+
],
80+
"rules": {
81+
"unused-types": "off",
82+
"duplicate-exports": "off"
83+
},
84+
"publicPackages": ["agent-device"],
85+
"audit": {
86+
"deadCodeBaseline": "fallow-baselines/dead-code.json",
87+
"healthBaseline": "fallow-baselines/health.json",
88+
"dupesBaseline": "fallow-baselines/dupes.json"
89+
}
90+
}

.github/workflows/ci.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,24 @@ jobs:
4444
exit 1
4545
fi
4646
47+
fallow:
48+
name: Fallow Code Quality
49+
runs-on: ubuntu-latest
50+
timeout-minutes: 10
51+
steps:
52+
- name: Checkout
53+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
54+
with:
55+
fetch-depth: 0
56+
57+
- name: Setup toolchain
58+
uses: ./.github/actions/setup-node-pnpm
59+
60+
- name: Run Fallow audit
61+
env:
62+
FALLOW_BASE: ${{ github.event_name == 'pull_request' && github.event.pull_request.base.sha || github.event.before }}
63+
run: pnpm check:fallow --base "$FALLOW_BASE"
64+
4765
unit:
4866
name: Unit Tests
4967
runs-on: ubuntu-latest

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
node_modules/
22
.pnpm-store/
3+
.fallow/
34
dist/
45
.DS_Store
56
__pycache__/

fallow-baselines/dead-code.json

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{
2+
"unused_files": [],
3+
"unused_exports": [],
4+
"unused_types": [],
5+
"unused_dependencies": [],
6+
"unused_dev_dependencies": [],
7+
"circular_dependencies": [],
8+
"unused_optional_dependencies": [],
9+
"unused_enum_members": [],
10+
"unused_class_members": [],
11+
"unresolved_imports": [],
12+
"unlisted_dependencies": [],
13+
"duplicate_exports": [],
14+
"type_only_dependencies": [],
15+
"test_only_dependencies": [],
16+
"boundary_violations": [],
17+
"stale_suppressions": []
18+
}

fallow-baselines/dupes.json

Lines changed: 666 additions & 0 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)