Skip to report

Astro.cookies connects rendering and five adapters

Trace Astro.cookies from a new cookies module into rendering, the dev server and the app, and the five deployment adapters that forward its Set-Cookie headers.

withastro/astro #4876 · PR by matthewp · Merged

withastro/astro 9103ac57..43df66a9

base and head as given

  • Cookie handling is a new server-rendering capability.
  • Server rendering now depends on cookie handling.
  • Five deployment adapters now forward cookie headers.
  • The cookie package entered the server-rendering path.
files changed
32
in a component
19
lines in components
397
components
13
public routes changed
0
schema statements
0
new dependencies
2
excluded by role
13
Based on 12 of 19 eligible changed files
Files changed in 13 components (6 shown). Dependencies shown: 4 new, 9 unchanged
unchanged · 9new · 41 component added

4 new dependencies between components — Core Render → Cookie Handling · Astro Types → Cookie Handling · Core App → Cookie Handling · Astro Server Plugin → Cookie Handling

What else could behave differently

32 components · 95 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
Cookie Handlingpackages/astro/src/core/cookies/Added 1 of 3 changed symbols reaching itpackages/astro/src/core/cookies/cookies.ts:53-19822 direct
Trace path

Shortest component path from the changed symbol:

  1. Cookie Handling

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

Astro Typespackages/astro/src/@types/Added 1 of 7 changed symbols reaching itpackages/astro/src/core/cookies/cookies.ts:53-19811 direct
Trace path

Shortest component path from the changed symbol:

  1. Cookie Handling
  2. Astro Types

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

packages/astro/src/core/Added 1 of 10 changed symbols reaching itpackages/astro/src/core/cookies/cookies.ts:53-1984none direct · 3 at two steps · 1 at three steps
Trace path

Shortest component path from the changed symbol:

  1. Cookie Handling
  2. Astro Types
  3. packages/astro/src/core/

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

Held back 2

ComponentFilesReached byResolution
packages/astro/src/vite-style-transform/1none direct · 1 at four stepsprecise
packages/astro/src/core/add/1none direct · 1 at three stepsprecise

Ranked lower 27

ComponentFilesReached by
packages/astro/src/vite-plugin-astro/2none direct · 2 at two steps
packages/astro/src/core/render/93 direct · 5 at two steps · 1 at three steps
packages/astro/src/vite-plugin-scripts/2none direct · 2 at two steps
packages/astro/src/integrations/1none direct · 1 at two steps
packages/astro/src/vite-plugin-utils/1none direct · 1 at two steps
packages/astro/src/runtime/server/1813 direct · 5 at two steps
packages/astro/src/jsx-runtime/1none direct · 1 at two steps
packages/astro/src/core/app/42 direct · 1 at two steps · 1 at three steps
packages/astro/src/core/routing/7none direct · 6 at two steps · 1 at three steps
packages/astro/src/core/config/4none direct · 3 at two steps · 1 at three steps
packages/astro/src/vite-plugin-astro-server/11 direct
packages/astro/src/events/3none direct · 1 at two steps · 2 at three steps
packages/astro/src/jsx/2none direct · 2 at two steps
packages/astro/src/vite-plugin-astro-postprocess/1none direct · 1 at two steps
packages/astro/src/vite-plugin-config-alias/1none direct · 1 at two steps
packages/astro/src/vite-plugin-env/1none direct · 1 at two steps
packages/astro/src/vite-plugin-integrations-container/1none direct · 1 at two steps
packages/astro/src/vite-plugin-jsx/1none direct · 1 at two steps
packages/astro/src/vite-plugin-markdown-legacy/1none direct · 1 at two steps
packages/astro/src/vite-plugin-markdown/1none direct · 1 at two steps
packages/astro/src/core/build/141 direct · 9 at two steps · 3 at three steps · 1 at four steps
packages/astro/src/core/endpoint/22 direct
packages/astro/src/core/compile/2none direct · 1 at two steps · 1 at three steps
packages/astro/src/cli/3none direct · 1 at two steps · 1 at three steps · 1 at four steps
packages/astro/src/core/dev/1none direct · 1 at two steps
packages/astro/src/core/preview/1none direct · 1 at two steps
packages/integrations/vercel/src/serverless/11 direct

Statements 3

AstroCookies was added and reached 2 files in cookie handling. 2
packages/astro/src/core/cookies/cookies.ts:53-198
AstroCookies was added and reached 1 file in Astro types. 1
packages/astro/src/core/cookies/cookies.ts:53-198
AstroCookies was added and reached 4 files in core. 31
packages/astro/src/core/cookies/cookies.ts:53-198

1 reached file belong to no component — tests, docs and config.

Routes, schema, dependencies

WhatObjectWhere
+ dependency@types/cookie@^0.5.1declared, and used by no file in any component
+ dependencycookie@^0.5.0packages/astro/src/core/cookies/cookies.ts:2
2 statements, with the lines behind them
@types/cookie was declared, and used by no file in any component.
cookie version ^0.5.0 was added as a dependency.
packages/astro/src/core/cookies/cookies.ts:2

Inspect components, files and symbols

Component

Cookie HandlingAdded
packages/astro/src/core/cookies/

3 files · 237 lines

dependency, 5 dependents

The cookie-handling surface added AstroCookies, attachToResponse, and getSetCookiesFromResponse.
Astro TypesModified
packages/astro/src/@types/

1 file · 7 lines

25 dependents

Core RenderModified
packages/astro/src/core/render/

2 files · 24 lines

6 dependents

Server RuntimeModified
packages/astro/src/runtime/server/

1 file · 13 lines

5 dependents

Core AppModified
packages/astro/src/core/app/

1 file · 5 lines

4 dependents

Astro Server PluginModified
packages/astro/src/vite-plugin-astro-server/

1 file · 6 lines

1 dependent

Endpoint HandlingModified
packages/astro/src/core/endpoint/

1 file · 18 lines

3 dependents

ranked lower · 0.07

Cloudflare IntegrationModified
packages/integrations/cloudflare/src/

2 files · 20 lines

ranked lower · 0.06

Netlify IntegrationModified
packages/integrations/netlify/src/

2 files · 18 lines

ranked lower · 0.06

Deno IntegrationModified
packages/integrations/deno/src/

1 file · 17 lines

ranked lower · 0.06

Node IntegrationModified
packages/integrations/node/src/

1 file · 12 lines

ranked lower · 0.06

Vercel ServerlessModified
packages/integrations/vercel/src/serverless/

2 files · 12 lines

ranked lower · 0.05

Vercel EdgeModified
packages/integrations/vercel/src/edge/

1 file · 8 lines

ranked lower · 0.05

1 Vercel edge file had 8 lines added or removed.

File

Cookie Handlingpackages/astro/src/core/cookies/
packages/astro/src/core/cookies/cookies.ts

+202 −0

Cookie Handlingpackages/astro/src/core/cookies/
packages/astro/src/core/cookies/response.ts

+26 −0

Cookie Handlingpackages/astro/src/core/cookies/
packages/astro/src/core/cookies/index.ts

+9 −0

Astro Typespackages/astro/src/@types/
packages/astro/src/@types/astro.ts

+7 −0

Core Renderpackages/astro/src/core/render/
packages/astro/src/core/render/result.ts

+13 −0

Core Renderpackages/astro/src/core/render/
packages/astro/src/core/render/core.ts

+10 −1

Server Runtimepackages/astro/src/runtime/server/
packages/astro/src/runtime/server/endpoint.ts

+2 −11

Core Apppackages/astro/src/core/app/
packages/astro/src/core/app/index.ts

+5 −0

Astro Server Pluginpackages/astro/src/vite-plugin-astro-server/
packages/astro/src/vite-plugin-astro-server/index.ts

+6 −0

Endpoint Handlingpackages/astro/src/core/endpoint/
packages/astro/src/core/endpoint/index.ts

+15 −3

Cloudflare Integrationpackages/integrations/cloudflare/src/
packages/integrations/cloudflare/src/server.advanced.ts

+9 −1

Cloudflare Integrationpackages/integrations/cloudflare/src/
packages/integrations/cloudflare/src/server.directory.ts

+9 −1

Netlify Integrationpackages/integrations/netlify/src/
packages/integrations/netlify/src/netlify-functions.ts

+10 −0

Netlify Integrationpackages/integrations/netlify/src/
packages/integrations/netlify/src/netlify-edge-functions.ts

+7 −1

Deno Integrationpackages/integrations/deno/src/
packages/integrations/deno/src/server.ts

+15 −2

Node Integrationpackages/integrations/node/src/
packages/integrations/node/src/server.ts

+10 −2

Vercel Serverlesspackages/integrations/vercel/src/serverless/
packages/integrations/vercel/src/serverless/request-transform.ts

+9 −1

Vercel Serverlesspackages/integrations/vercel/src/serverless/
packages/integrations/vercel/src/serverless/entrypoint.ts

+1 −1

Function

imports what changeddownstream of it, one mark per step

AstroCookies()packages/astro/src/core/cookies/cookies.ts

reaches 20 components

AstroCookies was added and reached 2 files in the Astro Vite plugin. 2
packages/astro/src/core/cookies/cookies.ts:53-198
AstroCookies was added and reached 2 files in the scripts Vite plugin. 2
packages/astro/src/core/cookies/cookies.ts:53-198
AstroCookies was added and reached 1 file in integrations. 1
packages/astro/src/core/cookies/cookies.ts:53-198
AstroCookies was added and reached 1 file in the Vite utilities plugin. 1
packages/astro/src/core/cookies/cookies.ts:53-198
AstroCookies was added and reached 7 files in core routing. 61
packages/astro/src/core/cookies/cookies.ts:53-198
AstroCookies was added and reached 4 files in core configuration. 31
packages/astro/src/core/cookies/cookies.ts:53-198
AstroCookies was added and reached 3 files in events. 12
packages/astro/src/core/cookies/cookies.ts:53-198
AstroCookies was added and reached 1 file in the Astro postprocess plugin. 1
packages/astro/src/core/cookies/cookies.ts:53-198
AstroCookies was added and reached 1 file in the config alias plugin. 1
packages/astro/src/core/cookies/cookies.ts:53-198
AstroCookies was added and reached 1 file in the environment plugin. 1
packages/astro/src/core/cookies/cookies.ts:53-198
AstroCookies was added and reached 1 file in the integrations container plugin. 1
packages/astro/src/core/cookies/cookies.ts:53-198
AstroCookies was added and reached 1 file in the JSX plugin. 1
packages/astro/src/core/cookies/cookies.ts:53-198
AstroCookies was added and reached 1 file in the legacy Markdown plugin. 1
packages/astro/src/core/cookies/cookies.ts:53-198
AstroCookies was added and reached 1 file in the Markdown plugin. 1
packages/astro/src/core/cookies/cookies.ts:53-198
AstroCookies was added and reached 2 files in core compile. 11
packages/astro/src/core/cookies/cookies.ts:53-198
AstroCookies was added and reached 3 files in the CLI. 111
packages/astro/src/core/cookies/cookies.ts:53-198
AstroCookies was added and reached 1 file in core development. 1
packages/astro/src/core/cookies/cookies.ts:53-198
AstroCookies was added and reached 1 file in core preview. 1
packages/astro/src/core/cookies/cookies.ts:53-198
AstroCookies was added and reached 1 file in the style transform. 1
packages/astro/src/core/cookies/cookies.ts:53-198
AstroCookies was added and reached 1 file in core add. 1
packages/astro/src/core/cookies/cookies.ts:53-198

Diff

Cookie Handlingpackages/astro/src/core/cookies/
packages/astro/src/core/cookies/cookies.ts

1–202

Cookie Handlingpackages/astro/src/core/cookies/
packages/astro/src/core/cookies/response.ts

1–26

Cookie Handlingpackages/astro/src/core/cookies/
packages/astro/src/core/cookies/index.ts

1–9

Astro Typespackages/astro/src/@types/
packages/astro/src/@types/astro.ts

17–17, 120–123, 1091–1091 and 1 more span

Core Renderpackages/astro/src/core/render/
packages/astro/src/core/render/result.ts

14–14, 143–145, 153–153 and 1 more span

Core Renderpackages/astro/src/core/render/
packages/astro/src/core/render/core.ts

13–13, 168–176

Server Runtimepackages/astro/src/runtime/server/
packages/astro/src/runtime/server/endpoint.ts

21–22, 59–63

Core Apppackages/astro/src/core/app/
packages/astro/src/core/app/index.ts

24–24, 120–123

Astro Server Pluginpackages/astro/src/vite-plugin-astro-server/
packages/astro/src/vite-plugin-astro-server/index.ts

9–9, 66–70

Endpoint Handlingpackages/astro/src/core/endpoint/
packages/astro/src/core/endpoint/index.ts

1–1, 3–5, 33–40 and 2 more spans

Cloudflare Integrationpackages/integrations/cloudflare/src/
packages/integrations/cloudflare/src/server.advanced.ts

29–37

Cloudflare Integrationpackages/integrations/cloudflare/src/
packages/integrations/cloudflare/src/server.directory.ts

31–39

Netlify Integrationpackages/integrations/netlify/src/
packages/integrations/netlify/src/netlify-functions.ts

123–132

Netlify Integrationpackages/integrations/netlify/src/
packages/integrations/netlify/src/netlify-edge-functions.ts

20–26

Deno Integrationpackages/integrations/deno/src/
packages/integrations/deno/src/server.ts

29–35, 47–54

Node Integrationpackages/integrations/node/src/
packages/integrations/node/src/server.ts

21–21, 42–42, 44–51

Vercel Serverlesspackages/integrations/vercel/src/serverless/
packages/integrations/vercel/src/serverless/request-transform.ts

2–2, 81–81, 89–95

Vercel Serverlesspackages/integrations/vercel/src/serverless/
packages/integrations/vercel/src/serverless/entrypoint.ts

31–31

Analysis scope

2697 → 13
  1. 2,697
    files at head
  2. 88
    components
  3. 13
    changed by this change
  4. 6
    shown above of 13

Where the new files landed

3 new files
New fileBelongs toUsed byCallsServes
packages/astro/src/core/cookies/3 new filesimports 1 package this change added
Cookie Handlingnew territory
Astro TypesCore AppEndpoint HandlingCore RenderAstro Server Plugin
nothing outside its own component

11 added files carry no component — 10 test, 1 docs.

13components changed
24reached, not changed
1components added/removed
5dependencies added between components
0dependencies removed between components
0files moved to another path

32 files changed, 48 claims stated. 32 components reached in total.

naming: “model

narrative: “model

analyzer 0.2.0, config v1.9.0-phase8

Every line above is derived from 9103ac57..43df66a9 and nothing else.