Skip to content

oj v0.2.11

Choose a tag to compare

@github-actions github-actions released this 28 Sep 07:08
· 267 commits to main since this release
11b6d8f

Changed

  • Apps whose documents are rendered by a plugin's worker environments (the Cloudflare dev shape) no longer leave the first request to pay the whole cold module graph: at boot oj dispatches every route module's transform through the environments' own warmupRequest (fire-and-forget, Vite's warmup shape, client environment included) while one real render through the serving path chases the warm transforms and fills the runner's module cache, the same self-issued request Vite's server.open uses to start the import crawl. The route list honors tsr.config.json's routesDirectory and joins the app's own server.warmup globs. First request after boot serves warm.

Fixed

  • Plugins reading config.cacheDir in configResolved get Vite's contract: always an absolute path (the default node_modules/.vite beside the nearest package.json, or a user value resolved from root). A config hook that re-enables experimental.bundledDev (or sets isBundled from a configEnvironment hook) is re-coerced before configResolved, so bundled-dev-gated plugin setup never runs against oj's unbundled serving.
  • oj dev/oj build no longer print rolldown-vite's configLoader: 'native' migration warning as a wall (one line per incompatibility in the vite.config graph, 200+ on big monorepos, repeated by every one-shot child). Vite gates the compat scan on VITE_CONFIG_NATIVE_IGNORE_WARNING; oj now sets it once at the spawn root, so every engine and child inherits the suppression, a user-set value always wins, and an explicitly empty value re-enables the warning.