Skip to report

Nitro gains an experimental Vite plugin

Follow Nitro’s experimental Vite plugin, which creates Nitro and service environments inside Vite, and the shared worker interface the development server now uses.

nitrojs/nitro #3440 · PR by pi0 · Merged

nitrojs/nitro c468de27..ad5d4722

base and head as given

  • Nitro now provides a Vite plugin.
  • The plugin adds a dedicated Nitro environment to Vite builds.
  • Development servers now share a public worker interface.
  • The playground now demonstrates Vite-hosted Nitro services.
  • Vite entered Nitro’s build and development path as an external dependency.
files changed
50
in a component
45
lines in components
2,172
components
15
public routes changed
0
schema statements
0
new dependencies
12
excluded by role
5
Based on 12 of 45 eligible changed files

Vite-hosted Nitro services

Added
Before
Vite integration did not exist
After
Vite hosts configured Nitro services

Vite projects can register Nitro-backed SSR and API services, including Vue and React examples. The plugin creates Nitro and service environments, routes requests to configured services, and builds client assets into Nitro’s public output.

In favour

  • In favour: Shares Vite’s build pipeline with Nitro services
  • In favour: Routes service requests through one generated dispatcher

The model found nothing to weigh against this.

Development worker coordination

Modified
Before
Worker types lived with dev server
After
Worker types are shared publicly

Development servers now use shared worker lifecycle, request, upgrade, and messaging contracts. They forward traffic to ready workers, relay messages, and record worker addresses in build information.

In favour

  • In favour: Centralizes worker lifecycle and messaging contracts

Against

  • Against: Creates a two-way dependency between shared types and development code
Files changed in 15 components (6 shown). Dependencies shown: 2 new, 5 unchanged
unchanged · 5new · 21 component added

2 new dependencies between components — Playground → Source · Type Definitions → Development Server

What else could behave differently

46 components · 170 files

These components import changed code, directly or through other files. A traced dependency is a place to review, not a confirmed runtime failure.

Reached 3

ComponentSymbolCited atFilesReached by
Type Definitionssrc/types/Added 1 of 10 changed symbols reaching itsrc/dev/worker.ts:18-22104 direct · 4 at two steps · 1 at three steps · 1 at four steps
Trace path

Shortest component path from the changed symbol:

  1. Development Server
  2. Type Definitions

Later steps follow file imports; they do not prove this symbol is called.

Development Serversrc/dev/Added 1 of 15 changed symbols reaching itsrc/dev/proxy.ts:56-8932 direct · 1 at two steps
Trace path

Shortest component path from the changed symbol:

  1. Development Server

Later steps follow file imports; they do not prove this symbol is called.

Sourcesrc/Added 1 of 29 changed symbols reaching itsrc/build/vite/plugin.ts:19-18362 direct · 4 at two steps
Trace path

Shortest component path from the changed symbol:

  1. Vite Build
  2. Source

Later steps follow file imports; they do not prove this symbol is called.

Held back 22

ComponentFilesReached byResolution
src/presets/_utils/1none direct · 1 at three stepsprecise
src/presets/3none direct · 1 at three steps · 2 at four stepsprecise
src/presets/aws-lambda/3none direct · 3 at four stepsprecise
src/presets/node/4none direct · 1 at three steps · 3 at four stepsprecise
src/presets/deno/3none direct · 1 at three steps · 2 at four stepsprecise
src/presets/_nitro/6none direct · 6 at four stepsprecise
src/presets/bun/2none direct · 2 at four stepsprecise
src/presets/stormkit/2none direct · 2 at four stepsprecise
src/presets/winterjs/2none direct · 2 at four stepsprecise
src/presets/firebase/1none direct · 1 at four stepsprecise
src/presets/_static/1none direct · 1 at four stepsprecise
src/presets/alwaysdata/1none direct · 1 at four stepsprecise
src/presets/cleavr/1none direct · 1 at four stepsprecise
src/presets/digitalocean/1none direct · 1 at four stepsprecise
src/presets/edgio/1none direct · 1 at four stepsprecise
src/presets/flightcontrol/1none direct · 1 at four stepsprecise
src/presets/genezio/1none direct · 1 at four stepsprecise
src/presets/heroku/1none direct · 1 at four stepsprecise
src/presets/koyeb/1none direct · 1 at four stepsprecise
src/presets/platform.sh/1none direct · 1 at four stepsprecise
src/presets/render.com/1none direct · 1 at four stepsprecise
src/presets/zerops/1none direct · 1 at four stepsprecise

Ranked lower 21

ComponentFilesReached by
src/runtime/22none direct · 1 at two steps · 16 at three steps · 5 at four steps
scripts/21 direct · 1 at three steps
playground/11 direct
src/utils/4none direct · 4 at two steps
src/build/7none direct · 7 at two steps
src/prerender/2none direct · 1 at two steps · 1 at three steps
src/config/1715 direct · 2 at two steps
src/cli/51 direct · 4 at two steps
src/build/plugins/12none direct · 8 at two steps · 4 at three steps
src/build/vite/65 direct · 1 at two steps
playground/services/vue/22 direct
playground/services/react/11 direct
src/presets/cloudflare/6none direct · 2 at two steps · 4 at four steps
src/build/rolldown/4none direct · 4 at two steps
src/build/rollup/4none direct · 4 at two steps
src/presets/netlify/4none direct · 2 at two steps · 2 at four steps
src/presets/aws-amplify/3none direct · 1 at two steps · 1 at three steps · 1 at four steps
src/presets/azure/3none direct · 2 at two steps · 1 at four steps
src/presets/vercel/3none direct · 2 at two steps · 1 at four steps
src/presets/iis/2none direct · 2 at two steps
src/presets/zeabur/2none direct · 1 at two steps · 1 at four steps

Statements 4

Added DevWorkerData reached 10 files in Type Definitions. 4411
src/dev/worker.ts:18-22
Added fetchAddress reached 3 files in Development Server. 21
src/dev/proxy.ts:56-89
Added nitro reached 6 files in Source. 24
src/build/vite/plugin.ts:19-183
The distSubpaths signature change reached 2 files in Scripts. 11
build.config.ts:10

25 reached files belong to no component — tests, docs and config.

Routes, schema, dependencies

WhatObjectWhere
+ dependency@types/express@^5.0.3declared, and used by no file in any component
+ dependency@vitejs/plugin-react@^4.6.0playground/vite.config.mjs:5
+ dependency@vitejs/plugin-vue@^6.0.0playground/vite.config.mjs:4
+ dependencyexpress@^5.1.0declared, and used by no file in any component
+ dependencyfetch-to-node@^2.1.0playground/services/node.ts:2
+ dependencyfetchdts@^0.1.5declared, and used by no file in any component
+ dependencyhono@^4.8.4playground/services/hono.ts:1
+ dependencynitro@*src/cli/commands/build.ts:4
+ dependencyreact-dom@^19.1.0playground/services/react/client.tsx:2
+ dependencyreact-refresh@^0.17.0declared, and used by no file in any component
+ dependencyvite@^7.0.2src/build/vite/dev.ts:14
+ dependencyvue@^3.5.17playground/services/vue/main.ts:3
12 statements, with the lines behind them
declared, and used by no file in any component.
@vitejs/plugin-react ^4.6.0 was added as a dependency.
playground/vite.config.mjs:5
@vitejs/plugin-vue ^6.0.0 was added as a dependency.
playground/vite.config.mjs:4
declared, and used by no file in any component.
fetch-to-node ^2.1.0 was added as a dependency.
playground/services/node.ts:2
declared, and used by no file in any component.
hono ^4.8.4 was added as a dependency.
playground/services/hono.ts:1
nitro * was added as a dependency.
src/cli/commands/build.ts:4
react-dom ^19.1.0 was added as a dependency.
playground/services/react/client.tsx:2
declared, and used by no file in any component.
vite ^7.0.2 was added as a dependency.
src/build/vite/dev.ts:14
vue ^3.5.17 was added as a dependency.
playground/services/vue/main.ts:3

Inspect components, files and symbols

Component

Type DefinitionsModified
src/types/

3 files · 67 lines

exports, dependency, 23 dependents

Type Definitions added 8 exports and removed DevServerOptions, NitroDevServer, and NitroWorker.

Development worker coordination, modified

Development ServerModified
src/dev/

3 files · 478 lines

exports, dependency, 4 dependents

Development Server added DevWorkerData, NitroDevServer, and fetchAddress exports, and removed DevWorker, WorkerAddress, and WorkerHooks.

Development worker coordination, modified

SourceModified
src/

1 file · 3 lines

dependency, 6 dependents

Source added NitroPluginConfig, ServiceConfig, and nitro exports.

Vite-hosted Nitro services, added

RuntimeModified
src/runtime/

3 files · 205 lines

dependency, 14 dependents

Vite-hosted Nitro services, added

PlaygroundModified
playground/

4 files · 68 lines

dependency

2 Playground files were dissolved, with 0 Git-tracked renames.

Vite-hosted Nitro services, added

Playground ServicesAdded
playground/services/

5 files · 142 lines

dependency

Playground Services added default and fetch exports.

Vite-hosted Nitro services, added

CLIModified
src/cli/

1 file · 7 lines

dependency

ranked lower · 1.13

Development worker coordination, modified

Vite BuildAdded
src/build/vite/

6 files · 798 lines

dependency, 2 dependents

ranked lower · 1.10

Vite Build added 17 exports: DevServer, FetchHandler, FetchableDevEnvironment, NitroPluginConfig, NitroPluginContext, ServiceConfig, TransportHooks, buildProduction, configureViteDevServer, createFetchableDevEnvironment, createNitroDevEnvironment, createNitroEnvironment, createServiceEnvironment, createServiceEnvironments, getViteRollupConfig, nitro, and prodEntry.

Vite-hosted Nitro services, added

Vue ServicesAdded
playground/services/vue/

5 files · 91 lines

dependency

ranked lower · 1.08

Vue Services added createApp and default exports.

Vite-hosted Nitro services, added

React ServicesAdded
playground/services/react/

3 files · 72 lines

dependency

ranked lower · 1.08

React Services added a default export.

Vite-hosted Nitro services, added

Nitro PresetModified
src/presets/_nitro/

1 file · 41 lines

dependency

ranked lower · 1.08

Development worker coordination, modified

Deno PresetModified
src/presets/deno/

1 file · 12 lines

dependency

ranked lower · 1.08

Development worker coordination, modified

Server RoutesRemoved
playground/server/routes/

1 file · 3 lines

exports

ranked lower · 1.08

Playground AssetsAdded
playground/assets/

7 files · 184 lines

1 dependent

ranked lower · 0.14

Public AssetsRemoved
playground/server/public/

1 file · 1 line

ranked lower · 0.08

Playground Assets changed 184 lines added or removed across 7 files.
Server Routes changed 3 lines added or removed in 1 file.
Public Assets changed 1 line added or removed in 1 file.
The default export left the Server Routes surface.
1 Server Routes file was dissolved, with 0 Git-tracked renames.
1 Public Assets file was dissolved, with 0 Git-tracked renames.

File

Sourcesrc/
src/vite.ts

+3 −0

Vite-hosted Nitro services, added

Runtimesrc/runtime/
src/runtime/internal/vite/worker.mjs

+189 −0

Vite-hosted Nitro services, added

Runtimesrc/runtime/
src/runtime/internal/vite/dispatcher.mjs

+12 −0

Vite-hosted Nitro services, added

Runtimesrc/runtime/
src/runtime/internal/config.ts

+3 −1

Vite-hosted Nitro services, added

Playgroundplayground/
playground/vite.config.mjs

+36 −0

Vite-hosted Nitro services, added

Playgroundplayground/
playground/package.json

+23 −0

Vite-hosted Nitro services, added

Playgroundplayground/
playground/nitro.config.ts

+0 −6

Vite-hosted Nitro services, added

Playgroundplayground/
playground/tsconfig.json

+0 −3

Vite-hosted Nitro services, added

Playground Servicesplayground/services/
playground/services/default.ts

+111 −0

Vite-hosted Nitro services, added

Playground Servicesplayground/services/
playground/services/node.ts

+14 −0

Vite-hosted Nitro services, added

Playground Servicesplayground/services/
playground/services/hono.ts

+7 −0

Vite-hosted Nitro services, added

Playground Servicesplayground/services/
playground/services/fetch.ts

+5 −0

Vite-hosted Nitro services, added

Playground Servicesplayground/services/
playground/services/h3.ts

+5 −0

Vite-hosted Nitro services, added

Vite Buildsrc/build/vite/
src/build/vite/plugin.ts

+183 −0

Vite-hosted Nitro services, added

Vite Buildsrc/build/vite/
src/build/vite/dev.ts

+179 −0

Vite-hosted Nitro services, added

Vite Buildsrc/build/vite/
src/build/vite/rollup.ts

+156 −0

Vite-hosted Nitro services, added

Vite Buildsrc/build/vite/
src/build/vite/prod.ts

+137 −0

Vite-hosted Nitro services, added

Vite Buildsrc/build/vite/
src/build/vite/env.ts

+91 −0

Vite-hosted Nitro services, added

Vite Buildsrc/build/vite/
src/build/vite/types.ts

+52 −0

Vite-hosted Nitro services, added

Vue Servicesplayground/services/vue/
playground/services/vue/server.ts

+48 −0

Vite-hosted Nitro services, added

Vue Servicesplayground/services/vue/
playground/services/vue/styles.css

+19 −0

Vite-hosted Nitro services, added

Vue Servicesplayground/services/vue/
playground/services/vue/App.vue

+10 −0

Vite-hosted Nitro services, added

Vue Servicesplayground/services/vue/
playground/services/vue/main.ts

+8 −0

Vite-hosted Nitro services, added

Vue Servicesplayground/services/vue/
playground/services/vue/client.ts

+6 −0

Vite-hosted Nitro services, added

React Servicesplayground/services/react/
playground/services/react/server.tsx

+46 −0

Vite-hosted Nitro services, added

React Servicesplayground/services/react/
playground/services/react/client.tsx

+14 −0

Vite-hosted Nitro services, added

React Servicesplayground/services/react/
playground/services/react/App.jsx

+12 −0

Vite-hosted Nitro services, added

Type Definitionssrc/types/
src/types/dev.ts

+32 −25

Development worker coordination, modified

Type Definitionssrc/types/
src/types/hooks.ts

+5 −1

Development worker coordination, modified

Type Definitionssrc/types/
src/types/config.ts

+2 −2

Development worker coordination, modified

Development Serversrc/dev/
src/dev/server.ts

+162 −106

Development worker coordination, modified

Development Serversrc/dev/
src/dev/worker.ts

+91 −59

Development worker coordination, modified

Development Serversrc/dev/
src/dev/proxy.ts

+59 −1

Development worker coordination, modified

CLIsrc/cli/
src/cli/commands/dev.ts

+4 −3

Development worker coordination, modified

Nitro Presetsrc/presets/_nitro/
src/presets/_nitro/runtime/nitro-dev.ts

+11 −30

Development worker coordination, modified

Deno Presetsrc/presets/deno/
src/presets/deno/runtime/deno-deploy.ts

+2 −10

Development worker coordination, modified

Function

imports what changeddownstream of it, one mark per step

createFetchableDevEnvironment()src/build/vite/dev.ts

reaches Vite Build

Added createFetchableDevEnvironment reached 6 files in Vite Build. 51
src/build/vite/dev.ts:36-44

Vite-hosted Nitro services, added

NitroDevServer()src/dev/server.ts

reaches CLI

Added NitroDevServer reached 5 files in CLI. 14
src/dev/server.ts:39-373

Development worker coordination, modified

DevWorkerData()src/dev/worker.ts

reaches 20 components

Added DevWorkerData reached 1 file in Preset Utils. 1
src/dev/worker.ts:18-22
Added DevWorkerData reached 3 files in Presets. 12
src/dev/worker.ts:18-22
Added DevWorkerData reached 3 files in AWS Lambda Preset. 3
src/dev/worker.ts:18-22
Added DevWorkerData reached 6 files in Nitro Preset. 6
src/dev/worker.ts:18-22
Added DevWorkerData reached 2 files in Bun Preset. 2
src/dev/worker.ts:18-22
Added DevWorkerData reached 2 files in Stormkit Preset. 2
src/dev/worker.ts:18-22
Added DevWorkerData reached 2 files in WinterJS Preset. 2
src/dev/worker.ts:18-22
Added DevWorkerData reached 1 file in Firebase Preset. 1
src/dev/worker.ts:18-22
Added DevWorkerData reached 1 file in Static Preset. 1
src/dev/worker.ts:18-22
Added DevWorkerData reached 1 file in Alwaysdata Preset. 1
src/dev/worker.ts:18-22
Added DevWorkerData reached 1 file in Cleavr Preset. 1
src/dev/worker.ts:18-22
Added DevWorkerData reached 1 file in DigitalOcean Preset. 1
src/dev/worker.ts:18-22
Added DevWorkerData reached 1 file in Edgio Preset. 1
src/dev/worker.ts:18-22
Added DevWorkerData reached 1 file in Flightcontrol Preset. 1
src/dev/worker.ts:18-22
Added DevWorkerData reached 1 file in Genezio Preset. 1
src/dev/worker.ts:18-22
Added DevWorkerData reached 1 file in Heroku Preset. 1
src/dev/worker.ts:18-22
Added DevWorkerData reached 1 file in Koyeb Preset. 1
src/dev/worker.ts:18-22
Added DevWorkerData reached 1 file in Platform.sh Preset. 1
src/dev/worker.ts:18-22
Added DevWorkerData reached 1 file in Render.com Preset. 1
src/dev/worker.ts:18-22
Added DevWorkerData reached 1 file in Zerops Preset. 1
src/dev/worker.ts:18-22

Development worker coordination, modified

NitroOptions()src/types/config.ts

reaches 14 components

The NitroOptions signature change reached 4 files in Utils. 4
src/types/config.ts:42-247
The NitroOptions signature change reached 7 files in Build. 7
src/types/config.ts:42-247
The NitroOptions signature change reached 2 files in Prerender. 11
src/types/config.ts:42-247
The NitroOptions signature change reached 17 files in Config. 152
src/types/config.ts:42-247
The NitroOptions signature change reached 12 files in Build Plugins. 84
src/types/config.ts:42-247
The NitroOptions signature change reached 6 files in Cloudflare Preset. 24
src/types/config.ts:42-247
The NitroOptions signature change reached 4 files in Rolldown Build. 4
src/types/config.ts:42-247
The NitroOptions signature change reached 4 files in Rollup Build. 4
src/types/config.ts:42-247
The NitroOptions signature change reached 4 files in Netlify Preset. 22
src/types/config.ts:42-247
The NitroOptions signature change reached 3 files in AWS Amplify Preset. 111
src/types/config.ts:42-247
The NitroOptions signature change reached 3 files in Azure Preset. 21
src/types/config.ts:42-247
The NitroOptions signature change reached 3 files in Vercel Preset. 21
src/types/config.ts:42-247
The NitroOptions signature change reached 2 files in IIS Preset. 2
src/types/config.ts:42-247
The NitroOptions signature change reached 2 files in Zeabur Preset. 11
src/types/config.ts:42-247

Development worker coordination, modified

DevServerOptions()src/types/dev.ts

reaches 3 components

Removed DevServerOptions reached 22 files in Runtime. 1165
src/types/dev.ts:8-12before
Removed DevServerOptions reached 4 files in Node Preset. 13
src/types/dev.ts:8-12before
Removed DevServerOptions reached 3 files in Deno Preset. 12
src/types/dev.ts:8-12before

Development worker coordination, modified

Diff

Sourcesrc/
src/vite.ts

1–3

Vite-hosted Nitro services, added

Runtimesrc/runtime/
src/runtime/internal/vite/worker.mjs

1–189

Vite-hosted Nitro services, added

Runtimesrc/runtime/
src/runtime/internal/vite/dispatcher.mjs

1–12

Vite-hosted Nitro services, added

Runtimesrc/runtime/
src/runtime/internal/config.ts

7–9

Vite-hosted Nitro services, added

Playgroundplayground/
playground/vite.config.mjs

1–36

Vite-hosted Nitro services, added

Playgroundplayground/
playground/package.json

1–23

Vite-hosted Nitro services, added

Playgroundplayground/
playground/nitro.config.ts

1–6

Vite-hosted Nitro services, added

Playgroundplayground/
playground/tsconfig.json

1–3

Vite-hosted Nitro services, added

Playground Servicesplayground/services/
playground/services/default.ts

1–111

Vite-hosted Nitro services, added

Playground Servicesplayground/services/
playground/services/node.ts

1–14

Vite-hosted Nitro services, added

Playground Servicesplayground/services/
playground/services/hono.ts

1–7

Vite-hosted Nitro services, added

Playground Servicesplayground/services/
playground/services/fetch.ts

1–5

Vite-hosted Nitro services, added

Playground Servicesplayground/services/
playground/services/h3.ts

1–5

Vite-hosted Nitro services, added

Vite Buildsrc/build/vite/
src/build/vite/plugin.ts

1–183

Vite-hosted Nitro services, added

Vite Buildsrc/build/vite/
src/build/vite/dev.ts

1–179

Vite-hosted Nitro services, added

Vite Buildsrc/build/vite/
src/build/vite/rollup.ts

1–156

Vite-hosted Nitro services, added

Vite Buildsrc/build/vite/
src/build/vite/prod.ts

1–137

Vite-hosted Nitro services, added

Vite Buildsrc/build/vite/
src/build/vite/env.ts

1–91

Vite-hosted Nitro services, added

Vite Buildsrc/build/vite/
src/build/vite/types.ts

1–52

Vite-hosted Nitro services, added

Vue Servicesplayground/services/vue/
playground/services/vue/server.ts

1–48

Vite-hosted Nitro services, added

Vue Servicesplayground/services/vue/
playground/services/vue/styles.css

1–19

Vite-hosted Nitro services, added

Vue Servicesplayground/services/vue/
playground/services/vue/App.vue

1–10

Vite-hosted Nitro services, added

Vue Servicesplayground/services/vue/
playground/services/vue/main.ts

1–8

Vite-hosted Nitro services, added

Vue Servicesplayground/services/vue/
playground/services/vue/client.ts

1–6

Vite-hosted Nitro services, added

React Servicesplayground/services/react/
playground/services/react/server.tsx

1–46

Vite-hosted Nitro services, added

React Servicesplayground/services/react/
playground/services/react/client.tsx

1–14

Vite-hosted Nitro services, added

React Servicesplayground/services/react/
playground/services/react/App.jsx

1–12

Vite-hosted Nitro services, added

Type Definitionssrc/types/
src/types/dev.ts

3–6, 4–17, 20–24 and 1 more span

Development worker coordination, modified

Type Definitionssrc/types/
src/types/hooks.ts

1–1, 14–17

Development worker coordination, modified

Type Definitionssrc/types/
src/types/config.ts

23–23, 157–157

Development worker coordination, modified

Development Serversrc/dev/
src/dev/server.ts

6–15, 21–21, 36–36 and 38 more spans

Development worker coordination, modified

Development Serversrc/dev/
src/dev/worker.ts

3–3, 4–10, 7–7 and 20 more spans

Development worker coordination, modified

Development Serversrc/dev/
src/dev/proxy.ts

1–1, 8–8, 55–111

Development worker coordination, modified

CLIsrc/cli/
src/cli/commands/dev.ts

1–1, 6–6, 9–9 and 1 more span

Development worker coordination, modified

Nitro Presetsrc/presets/_nitro/
src/presets/_nitro/runtime/nitro-dev.ts

2–2, 9–9, 13–13 and 5 more spans

Development worker coordination, modified

Deno Presetsrc/presets/deno/
src/presets/deno/runtime/deno-deploy.ts

2–2, 15–15, 23–32

Development worker coordination, modified

Analysis scope

559 → 15
  1. 559
    files at head
  2. 52
    components
  3. 15
    changed by this change
  4. 6
    shown above of 15

Where the new files landed

31 new files
New fileBelongs toUsed byCallsServes
src/vite.ts
Sourcebase frame
Vite Build
./vite
src/runtime/2 new filesnothing outside src/runtime/internal/vite/ imports any of it · imports 1 package this change added
Runtimebase frame
nothing in the existing applicationnothing outside its own component
playground/2 new filesimports 3 packages this change added
Playgroundbase frame
nothing in the existing application
Source
playground/services/5 new filesimports 2 packages this change added
Playground Servicesnew territory
nothing in the existing application
Playground Assets
src/build/vite/6 new filesimports 1 package this change added
Vite Buildnew territory
Source
lib/Sourcesrc/build/src/build/plugins/Development ServerType Definitions…and 1 more component
playground/services/vue/5 new filesimports 1 package this change added
Vue Servicesnew territory
nothing in the existing applicationnothing outside its own component

…and 2 components ranked lower, holding 10 new files.

15components changed
35reached, not changed
7components added/removed
13dependencies added between components
0dependencies removed between components
0files moved to another path

50 files changed, 84 claims stated. 46 components reached in total.

naming: “model

narrative: “model

analyzer 0.2.0, config v1.9.0-phase8

Every line above is derived from c468de27..ad5d4722 and nothing else.