mirror of
https://github.com/callstack/agent-device.git
synced 2026-09-14 20:06:34 +08:00
da93191201
* refactor: move Limrun provider behind package facade * fix: preserve Limrun public provider types * fix: tighten Limrun provider facade boundaries * test: harden Limrun compatibility coverage * fix: narrow Limrun public type exports * fix: narrow Limrun provider exports
139 lines
5.9 KiB
JSON
139 lines
5.9 KiB
JSON
{
|
|
"$schema": "https://raw.githubusercontent.com/fallow-rs/fallow/main/schema.json",
|
|
"entry": [
|
|
"tsdown.config.ts",
|
|
"vitest.mutation.config.ts",
|
|
"src/sdk/index.ts",
|
|
"src/sdk/io.ts",
|
|
"src/sdk/artifacts.ts",
|
|
"src/sdk/metro.ts",
|
|
"src/sdk/remote-config.ts",
|
|
"src/sdk/install-source.ts",
|
|
"src/sdk/android-adb.ts",
|
|
"src/sdk/contracts.ts",
|
|
"src/sdk/selectors.ts",
|
|
"src/sdk/finders.ts",
|
|
"src/bin.ts",
|
|
"src/client/companion-tunnel.ts",
|
|
"src/daemon.ts",
|
|
"src/utils/png-worker.ts",
|
|
"scripts/patch-xcuitest-runner-icon.ts",
|
|
"scripts/runner-request-count/run.ts",
|
|
"scripts/lib/contention-retry-run.ts",
|
|
"scripts/vitest-runner-timeout-setup.ts",
|
|
"test/contention-retry-fixtures/vitest.fixture.config.ts",
|
|
"test/contention-retry-fixtures/timeout-provenance.fixture.ts",
|
|
"src/utils/update-check-entry.ts",
|
|
"examples/sdk/client-session.ts",
|
|
"examples/sdk/metro-runtime.ts",
|
|
"examples/sdk/contracts-result.ts",
|
|
"examples/sdk/batch-orchestration.ts",
|
|
"test/scripts/metro-prepare-packaged-smoke.mjs",
|
|
"test/integration/*.test.ts",
|
|
"website/docs/404.mdx",
|
|
"website/rspress.config.ts"
|
|
],
|
|
"ignorePatterns": [
|
|
"packages/**",
|
|
"examples/test-app/**",
|
|
"scripts/perf/**",
|
|
"scripts/layering/**",
|
|
"scripts/maestro-conformance/**",
|
|
"apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests.xctestplan",
|
|
"scripts/write-xcuitest-cache-metadata.mjs",
|
|
"scripts/help-conformance-sample-outputs.d.mts"
|
|
],
|
|
"ignoreDependencies": [
|
|
"@theme",
|
|
// @agent-device/maestro owns the source import, while the published root
|
|
// build externalizes yaml and retains runtime imports in packed chunks.
|
|
"yaml",
|
|
// @agent-device/provider-limrun owns the source import, while the published
|
|
// root build externalizes @limrun/api and retains runtime imports in packed chunks.
|
|
"@limrun/api"
|
|
],
|
|
"ignoreExports": [
|
|
{
|
|
"comment": "Daemon route handlers are reached only through the dynamic `import()` table in request-handler-chain.ts, which --production analysis cannot follow to a consumer.",
|
|
"file": "src/daemon/handlers/{lease,session,snapshot,react-native,record-trace,find,interaction}.ts",
|
|
"exports": [
|
|
"handleLeaseCommands",
|
|
"handleSessionCommands",
|
|
"handleSnapshotCommands",
|
|
"handleReactNativeCommands",
|
|
"handleRecordTraceCommands",
|
|
"handleFindCommands",
|
|
"handleInteractionCommands"
|
|
]
|
|
},
|
|
{
|
|
"comment": "Published package surface (see package.json#exports); consumed by SDK users, not internally.",
|
|
"file": "src/sdk/*.ts",
|
|
"exports": ["*"]
|
|
},
|
|
{
|
|
"comment": "Tool config default exports, loaded by the tool rather than imported.",
|
|
"file": "{tsdown.config.ts,vitest.mutation.config.ts,website/rspress.config.ts}",
|
|
"exports": ["default"]
|
|
},
|
|
{
|
|
"comment": "Type-level `AssertTrue<...>` registry-totality guards. Exported only so `noUnusedLocals` keeps them alive; a consumer would defeat the point.",
|
|
"file": "{src/core/command-descriptor/registry.ts,src/core/interactors/register-builtins.ts,src/core/platform-descriptor/registry.ts,src/daemon/request-platform-providers.ts}",
|
|
"exports": [
|
|
"CommandOwnerFileClaimsAreComplete",
|
|
"BuiltinPluginsCoverAllPlatforms",
|
|
"PlatformDescriptorsAreTotal",
|
|
"GatedKeysAreResolverKeys"
|
|
]
|
|
},
|
|
{
|
|
"comment": "Contention retry lane (#1419): the reporter default is loaded by Vitest from a `--reporter=<path>` string, and SUBPROCESS_STUB_TESTS is consumed by vitest.config.ts \u2014 a tool config outside --production analysis.",
|
|
"file": "scripts/lib/{contention-retry.ts,contention-retry-reporter.ts}",
|
|
"exports": ["default", "SUBPROCESS_STUB_TESTS"]
|
|
},
|
|
{
|
|
"comment": "Contention retry gate fixtures (#1419): the config default is loaded by the child `vitest run --config` the gate test spawns.",
|
|
"file": "test/contention-retry-fixtures/vitest.fixture.config.ts",
|
|
"exports": ["default"]
|
|
},
|
|
{
|
|
"comment": "Mutation-lane seam: readTestScope is consumed by vitest.mutation.config.ts, a tool config outside --production analysis.",
|
|
"file": "scripts/mutation/test-scope.ts",
|
|
"exports": ["readTestScope"]
|
|
},
|
|
{
|
|
"comment": "Mutation-lane completeness gate: ownedTestFiles enumerates the whole derived ownership map, which only the assertion in ownership.test.ts consumes — a production consumer would defeat the point.",
|
|
"file": "scripts/mutation/ownership.ts",
|
|
"exports": ["ownedTestFiles"]
|
|
},
|
|
{
|
|
"comment": "Help-benchmark conformance seams: helpTopicIds feeds the topic-coverage gate and PRIVATE_AX_RECOVERY_SAMPLE feeds the bench sample producers; both consumers are test-tree files outside --production analysis.",
|
|
"file": "{src/cli/parser/cli-help.ts,scripts/help-conformance-sample-outputs.mjs}",
|
|
"exports": ["helpTopicIds", "PRIVATE_AX_RECOVERY_SAMPLE"]
|
|
},
|
|
{
|
|
"comment": "#1458: getSessionCommandKind's former production consumer (the session.ts if-chain) was replaced by SESSION_COMMAND_HANDLER_IMPLS, which encodes command-kind groupings directly via shared handler references instead of a kind lookup. The accessor and its SessionCommandKind classification remain covered by daemon-command-registry.test.ts, a test-tree file outside --production analysis.",
|
|
"file": "src/daemon/daemon-command-registry.ts",
|
|
"exports": ["getSessionCommandKind"]
|
|
}
|
|
],
|
|
"usedClassMembers": ["name", "listActiveLeases", "delete", "values", "elapsedMs", "isExpired"],
|
|
"rules": {
|
|
"unused-types": "error",
|
|
"duplicate-exports": "off"
|
|
},
|
|
"production": {
|
|
"dupes": true
|
|
},
|
|
"publicPackages": ["agent-device"],
|
|
"audit": {
|
|
"deadCodeBaseline": "fallow-baselines/dead-code.json",
|
|
"healthBaseline": "fallow-baselines/health.json"
|
|
},
|
|
"includeEntryExports": true,
|
|
"ignoreExportsUsedInFile": {
|
|
"type": true,
|
|
"interface": true
|
|
}
|
|
}
|