Files
callstack__agent-device/.fallowrc.json
T
Michał Pierzchała cd0cd16a9e build: migrate the library build from rslib to tsdown (Rolldown) (#1087)
* build: migrate the library build from rslib to tsdown (Rolldown)

Replace the Rspack-based rslib build with tsdown, the Rolldown-based
library bundler from the Vite toolchain family, so bundling, testing
(Vitest/Vite), linting (oxlint), and formatting (oxfmt) all run on the
same OXC/Rolldown stack.

Outcome vs the rslib baseline (size-report):
- build time: ~53s -> ~2s
- JS raw +16.2 kB (+1.1%), JS gzip +2.7 kB (+0.6%) - the residual gap
  is OXC vs SWC minifier tightness, not chunking
- npm tarball -3.0 kB
- CLI --version startup ~3 ms faster; --help within the +/-5 ms
  measurement noise of interleaved A/B runs

Chunk-merging experiments (single shared group, entries-aware groups,
small-module groups) all regressed either total size or --help startup
(a merged shared chunk adds +140 ms), so the default Rolldown split
graph is kept. Custom codeSplitting groups also currently trip a
rolldown-plugin-dts bug that re-emits type-only imports as runtime
imports.

Declarations still bundle per entry via tsgo; dist layout, entry names,
and the internal/ worker/daemon entry resolution contract are unchanged.
@microsoft/api-extractor was only consumed by rslib dts bundling and is
removed together with @rslib/core.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FqeW8sA2ZnvnftdvpCqFMS

* ci: only cache the pnpm store when setup installs dependencies

The layering-guard job uses setup-node-pnpm with install-deps: false, so
it never creates a pnpm store. setup-node's post-job cache save then
fails with a path validation error whenever the lockfile hash misses the
cache - which any lockfile-changing PR does. Gate the cache on
install-deps so no-install jobs skip pnpm store caching entirely.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FqeW8sA2ZnvnftdvpCqFMS

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-07-04 15:58:05 +02:00

106 lines
3.0 KiB
JSON

{
"$schema": "https://raw.githubusercontent.com/fallow-rs/fallow/main/schema.json",
"entry": [
"tsdown.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",
"src/utils/update-check-entry.ts",
"test/scripts/metro-prepare-packaged-smoke.mjs",
"test/integration/*.test.ts",
"website/docs/404.mdx",
"website/rspress.config.ts"
],
"ignorePatterns": [
"examples/test-app/**",
"scripts/perf/**",
"scripts/layering/**",
"apple-runner/AgentDeviceRunner/AgentDeviceRunnerUITests.xctestplan",
"scripts/write-xcuitest-cache-metadata.mjs"
],
"ignoreDependencies": ["@theme"],
"ignoreExports": [
{
"file": "src/__tests__/test-utils/index.ts",
"exports": ["*"]
},
{
"file": "src/__tests__/test-utils/device-fixtures.ts",
"exports": ["LINUX_DEVICE", "ANDROID_TV_DEVICE", "TVOS_SIMULATOR"]
},
{
"file": "src/__tests__/test-utils/mocked-binaries.ts",
"exports": ["withMockedXcrun"]
},
{
"file": "src/daemon/app-log.ts",
"exports": ["readRecentAndroidLogcatForPackage"]
},
{
"file": "src/platforms/android/app-lifecycle.ts",
"exports": [
"parseAndroidForegroundApp",
"parseAndroidLaunchablePackages",
"parseAndroidUserInstalledPackages",
"installAndroidInstallablePath"
]
},
{
"file": "src/platforms/android/index.ts",
"exports": ["installAndroidInstallablePath"]
},
{
"file": "src/platforms/apple/core/apps.ts",
"exports": ["listSimulatorApps", "uninstallIosApp"]
},
{
"file": "src/platforms/apple/core/runner/runner-contract.ts",
"exports": ["resolveRunnerEarlyExitHint"]
},
{
"file": "src/platforms/apple/core/runner/runner-session.ts",
"exports": ["stopAllIosRunnerSessions"]
},
{
"file": "src/platforms/apple/core/runner/runner-xctestrun.ts",
"exports": [
"resolveRunnerBuildDestination",
"resolveRunnerAppBundleId",
"resolveRunnerSigningBuildSettings",
"resolveRunnerBundleBuildSettings",
"assertSafeDerivedCleanup"
]
},
{
"file": "src/cloud-webdriver.ts",
"exports": ["CLOUD_WEBDRIVER_PROVIDERS"]
}
],
"usedClassMembers": ["name", "listActiveLeases", "delete", "values", "elapsedMs", "isExpired"],
"rules": {
"unused-types": "off",
"duplicate-exports": "off"
},
"production": {
"dupes": true
},
"publicPackages": ["agent-device"],
"audit": {
"deadCodeBaseline": "fallow-baselines/dead-code.json",
"healthBaseline": "fallow-baselines/health.json"
}
}