@webpresso/app-config
v0.5.2
Published
Shared vitest, tsconfig, stryker, workers-test, and oxlint policy plugins for webpresso consumers. Binary-free — pure test/config tooling.
Downloads
608
Readme
@webpresso/app-config
Shared consumer-facing config presets and low-level primitive re-exports for webpresso consumers.
@webpresso/app-config is the package consumers install. It owns the stable
config surface (/vitest/*, /tsconfig/*, /stryker, /workers-test) and now
also re-exports the shared low-level primitives sourced from
@webpresso/app-core.
Consumers should import these APIs from
@webpresso/app-config, not from@webpresso/app-coreand never from@webpresso/agent-kit.
Consumer primitive subpaths
| Subpath | Purpose |
| --------------------------------- | ------------------------------------------------------------------------------------- |
| @webpresso/app-config/repo-root | Strict repo-root discovery (findRepoRoot, resolveFromRepoRoot, walkToRepoRoot). |
| @webpresso/app-config/process | Process-tree signalling and graceful-then-forceful termination. |
| @webpresso/app-config/e2e | Open-port resolution, HTTP health polling, fail-closed secret-env resolution. |
| @webpresso/app-config/deploy | Semantic release-version assertion and release-metadata validation. |
| @webpresso/app-config/dev | Workspace-local binary/command resolution and child-process env construction. |
Existing config/test surface
@webpresso/app-config continues to publish:
@webpresso/app-config/tsconfig/*@webpresso/app-config/vitest/*@webpresso/app-config/stryker@webpresso/app-config/workers-test@webpresso/app-config/oxlint/*(policy plugins)
The Vitest surface includes stable group ordering, explicit staged-worker selection, and root-aware Node project construction. Consumers keep ownership of package-specific worker defaults, include patterns, aliases, and setup files.
Oxlint policy plugins (consumer SSOT)
Monorepo and other consumer repos load shared policy plugins from
@webpresso/app-config/oxlint/* — not from @webpresso/agent-kit.
| Subpath | Purpose |
| -------------------------------------------------- | ----------------------------------------- |
| @webpresso/app-config/oxlint/code-safety | as-any / swallowed-error audit |
| @webpresso/app-config/oxlint/foundation-purity | foundation tier purity |
| @webpresso/app-config/oxlint/graphql-conventions | GraphQL app conventions |
| @webpresso/app-config/oxlint/import-hygiene | relative-parent, SEA schema/ui ban |
| @webpresso/app-config/oxlint/monorepo-paths | hardcoded repo-root / cross-package paths |
| @webpresso/app-config/oxlint/query-patterns | TanStack Query patterns |
| @webpresso/app-config/oxlint/testing-quality | weak assertion / mock hygiene |
| @webpresso/app-config/oxlint/tier-boundaries | package-tier import direction |
| @webpresso/app-config/oxlint/path-roles | shared path classifiers (no AST) |
Example jsPlugins (package names resolve through Node exports; oxlint uses
createRequire so each subpath needs default/require conditions):
{
"jsPlugins": [
"@webpresso/app-config/oxlint/import-hygiene",
"@webpresso/app-config/oxlint/tier-boundaries"
]
}agent-kit re-exports the same modules for its inject-relative oxlintrc.json
used by wp lint on consumers that do not ship a local .oxlintrc.
Relationship to other packages
@webpresso/app-config— consumer-installed package surface@webpresso/app-core— internal shared leaf that backs the primitive re-exports@webpresso/agent-kit— internalwpengine / CLI and broader public subpath host
