Skip to content

test: add solid-start snapshot #3062

Draft
Huliiiiii wants to merge 1 commit intoorval-labs:masterfrom
Huliiiiii:solid-example
Draft

test: add solid-start snapshot #3062
Huliiiiii wants to merge 1 commit intoorval-labs:masterfrom
Huliiiiii:solid-example

Conversation

@Huliiiiii
Copy link
Copy Markdown
Contributor

@Huliiiiii Huliiiiii commented Mar 4, 2026

Closes #3015

Summary by CodeRabbit

  • New Features

    • Added a reusable MSW-based mocking suite for Petstore endpoints and a generated Solid Start API client for Pets.
    • Added generated TypeScript models/types for Petstore payloads.
  • Tests

    • Introduced snapshot-based API generation tests and a Vitest configuration targeting those snapshots.
  • Chores

    • Added npm scripts for snapshot testing and cleanup plus devDependencies to support testing workflows.

Copilot AI review requested due to automatic review settings March 4, 2026 18:39
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 4, 2026

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 8394e8bf-e364-4f8e-8b6b-c0a3ded1ef73

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Adds generated Solid Start API clients, TypeScript models, MSW mock handlers (with faker-based response builders), and snapshot test infrastructure for the Swagger Petstore across multiple sample and tests directories.

Changes

Cohort / File(s) Summary
Solid Start generated endpoints & mocks
samples/solid-start/basic/__snapshots__/endpoints/petstore.ts, samples/solid-start/basic/__snapshots__/endpoints/petstore.msw.ts, tests/__snapshots__/solid-start/.../endpoints.ts, tests/__snapshots__/solid-start/.../endpoints.msw.ts, tests/__snapshots__/solid-start/.../pets/*.ts
Adds generated Solid Start clients (queries/actions) for Petstore endpoints and corresponding MSW handler factories plus aggregator functions (e.g., getSwaggerPetstoreMock()); supports override responses (static or function) and realistic faker data.
Model types & barrels
samples/solid-start/basic/__snapshots__/model/*, tests/__snapshots__/solid-start/**/model/*
Adds many generated TypeScript model files (CreatePetsBody, Pet, Pets, ListPetsParams, Error, Dog/Cat variants, enums/consts, etc.) and index barrel files re-exporting them.
MSW & mock-data helpers
tests/__snapshots__/solid-start/**/pets/pets.msw.ts, tests/__snapshots__/solid-start/**/health/*.msw.ts, samples/solid-start/basic/__snapshots__/endpoints/petstore.msw.ts
Introduces extensive mock-data builders (per-breed variants) and MSW RequestHandler factories for list/create/show/delete/health/show-with-owner endpoints, with default statuses (200/201/204) and override semantics.
Sample test infra & CI scripts
samples/solid-start/basic/api-generation.spec.ts, samples/solid-start/basic/vitest.snapshots.ts, samples/solid-start/basic/package.json, tests/package.json, tests/api-generation.spec.ts
Adds snapshot test spec and Vitest config for solid-start samples, new NPM scripts (test:snapshots, update, clean, nuke) and devDependencies entries to run/generate snapshots.
Snapshotted mutator clients
tests/__snapshots__/solid-start/mutator/...
Adds additional generated mutator-style clients and matching mock suites covering more endpoints and aggregated mock exports. Focused on snapshot-test artifacts.

Sequence Diagram(s)

sequenceDiagram
  participant Client as Client (Solid app / test)
  participant Swagger as SwaggerPetstore client
  participant MSW as MSW handler
  participant Faker as Faker (mock data)

  Client->>Swagger: call listPets() / showPetById() / createPets()
  Swagger->>MSW: HTTP request (fetch)
  MSW->>MSW: resolve override? (static or function)
  alt override is function
    MSW->>MSW: invoke override(info)
  else no override
    MSW->>Faker: generate mock response
    Faker-->>MSW: mock body
  end
  MSW-->>Swagger: HttpResponse (200/201/204) with body
  Swagger-->>Client: parsed response (typed)
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Possibly related PRs

Suggested labels

solid

Suggested reviewers

  • melloware

Poem

"🐰 I hopped through code with whiskers bright,
Mocked tiny pups in faker-light;
Endpoints stitched and tests take flight,
A rabbit cheers — mocks all in sight! ✨"

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@samples/solid-start/basic/__snapshots__/endpoints/petstore.ts`:
- Around line 23-26: The examples for SwaggerPetstore.showPetById.keyFor pass
two arguments but the showPetById query only accepts a single petId; update the
documentation examples to call SwaggerPetstore.showPetById.keyFor with only the
petId (e.g., "pet-123") and remove the extra numeric argument so the usage
matches the showPetById signature and the other revalidate examples.
- Around line 55-58: The showPetById query inserts petId raw into the URL
(customInstance call), which can break routing for reserved characters; encode
the petId before interpolation (e.g., use encodeURIComponent on the petId
argument passed into showPetById) so the URL becomes `/pets/${encodedPetId}` and
ensure the variable used in the customInstance({ url: ... }) call is the encoded
value to safely handle untrusted input.

In `@samples/solid-start/basic/api-generation.spec.ts`:
- Around line 5-11: The tests use import.meta.dirname in
describeApiGenerationSnapshots which requires Node >=21.2.0; either update the
Node engine in samples/solid-start/basic/package.json to ">=21.2.0" so
import.meta.dirname is allowed, or change the test code to compute the directory
in a Node-18-compatible way (replace import.meta.dirname usage in the
describeApiGenerationSnapshots call by deriving a path from import.meta.url via
fileURLToPath and path.dirname before passing to
describeApiGenerationSnapshots).

In `@samples/solid-start/basic/vitest.snapshots.ts`:
- Line 2: The import uses JSON import attributes ("import pkg from
'./package.json' with { type: 'json' };") which require Node >=18.20.0 and
conflicts with the declared engine "node: >=18"; either remove the import
attribute or raise the engine floor. To fix: replace the import with a
compatibility-safe form (e.g. "import pkg from './package.json';" or use a
dynamic require/JSON parse) so the symbol pkg is loaded without "with { type:
'json' }", or alternatively update the package.json engines field to "node:
>=18.20.0" if you intend to require import attributes. Ensure the change targets
the import statement that defines pkg.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: f4d29616-7ccf-49ff-ada0-0387abda432a

📥 Commits

Reviewing files that changed from the base of the PR and between 5a425ba and 84d4fc9.

📒 Files selected for processing (13)
  • samples/solid-start/basic/__snapshots__/endpoints/petstore.msw.ts
  • samples/solid-start/basic/__snapshots__/endpoints/petstore.ts
  • samples/solid-start/basic/__snapshots__/model/createPetsBody.ts
  • samples/solid-start/basic/__snapshots__/model/error.ts
  • samples/solid-start/basic/__snapshots__/model/index.ts
  • samples/solid-start/basic/__snapshots__/model/listPetsParams.ts
  • samples/solid-start/basic/__snapshots__/model/pet.ts
  • samples/solid-start/basic/__snapshots__/model/pets.ts
  • samples/solid-start/basic/api-generation.spec.ts
  • samples/solid-start/basic/package.json
  • samples/solid-start/basic/vitest.snapshots.ts
  • tests/api-generation.spec.ts
  • tests/package.json

Comment on lines +5 to +11
await describeApiGenerationSnapshots({
dirs: [
path.resolve(import.meta.dirname, 'src', 'api', 'endpoints'),
path.resolve(import.meta.dirname, 'src', 'api', 'model'),
],
snapshotsDir: path.resolve(import.meta.dirname, '__snapshots__'),
rootDir: path.resolve(import.meta.dirname, '..', '..', '..'),
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# 1) Check Node engine constraints across package manifests
echo "=== Node Engine Constraints ==="
fd '^package\.json$' -HI | xargs -r grep -A2 -B2 '"engines"'

# 2) Check TS module/target configuration
echo "=== TypeScript Configuration ==="
fd '^tsconfig.*\.json$' -HI | xargs -r cat

# 3) See existing repository usage of this API
echo "=== Existing import.meta.dirname Usage ==="
rg -n "import\.meta\.dirname" -g "*.ts" -g "*.mts" -g "*.js" -g "*.mjs"

Repository: orval-labs/orval

Length of output: 49618


Update Node version constraint to match import.meta.dirname requirement.

Lines 7–11 use import.meta.dirname, which requires Node.js 21.2.0+, but samples/solid-start/basic/package.json declares node: ">=18". Either update the engine constraint to ">=21.2.0" or use an alternative that works on Node 18 (e.g., import.meta.url with fileURLToPath).

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@samples/solid-start/basic/api-generation.spec.ts` around lines 5 - 11, The
tests use import.meta.dirname in describeApiGenerationSnapshots which requires
Node >=21.2.0; either update the Node engine in
samples/solid-start/basic/package.json to ">=21.2.0" so import.meta.dirname is
allowed, or change the test code to compute the directory in a
Node-18-compatible way (replace import.meta.dirname usage in the
describeApiGenerationSnapshots call by deriving a path from import.meta.url via
fileURLToPath and path.dirname before passing to
describeApiGenerationSnapshots).

@@ -0,0 +1,10 @@
import { defineConfig } from 'vitest/config';
import pkg from './package.json' with { type: 'json' };
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🌐 Web query:

Node.js ESM import attributes with type json support which version stable release

💡 Result:

Stable support (unflagged) for import ... with { type: 'json' }: Node.js v23.1.0 — in Node 23.1.0, import attributes are “no longer experimental” and JSON modules are “no longer experimental” (now Stability: 2 – Stable). [1][2]

Before that, with { type: 'json' } existed but was experimental (e.g., Node v18.20.0 / v20.10.0 / v21.0.0 added experimental import attributes). [2]


🏁 Script executed:

# Check the actual package.json in the sample to verify declared Node engine
cat samples/solid-start/basic/package.json

Repository: orval-labs/orval

Length of output: 1109


with { type: 'json' } is incompatible with declared Node engine range.

Line 2 uses import attributes syntax that is only available from Node 18.20.0+, while this sample declares node: ">=18". That range includes Node 18.0–18.19, which do not support this syntax and will fail at parse time. Either avoid JSON import attributes here or raise the engine floor to >=18.20.0. Reference: https://nodejs.org/api/esm.html#import-attributes

Proposed compatibility-safe fix (avoid JSON import attributes)
 import { defineConfig } from 'vitest/config';
-import pkg from './package.json' with { type: 'json' };
+import { readFileSync } from 'node:fs';
+
+const pkg = JSON.parse(
+  readFileSync(new URL('./package.json', import.meta.url), 'utf8'),
+) as { name: string };
 
 export default defineConfig({
   test: {
     name: { label: pkg.name },
     include: ['api-generation.spec.ts'],
     silent: 'passed-only',
   },
 });
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
import pkg from './package.json' with { type: 'json' };
import { defineConfig } from 'vitest/config';
import { readFileSync } from 'node:fs';
const pkg = JSON.parse(
readFileSync(new URL('./package.json', import.meta.url), 'utf8'),
) as { name: string };
export default defineConfig({
test: {
name: { label: pkg.name },
include: ['api-generation.spec.ts'],
silent: 'passed-only',
},
});
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@samples/solid-start/basic/vitest.snapshots.ts` at line 2, The import uses
JSON import attributes ("import pkg from './package.json' with { type: 'json'
};") which require Node >=18.20.0 and conflicts with the declared engine "node:
>=18"; either remove the import attribute or raise the engine floor. To fix:
replace the import with a compatibility-safe form (e.g. "import pkg from
'./package.json';" or use a dynamic require/JSON parse) so the symbol pkg is
loaded without "with { type: 'json' }", or alternatively update the package.json
engines field to "node: >=18.20.0" if you intend to require import attributes.
Ensure the change targets the import statement that defines pkg.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds Solid Start to the snapshot testing surface so @orval/solid-start changes aren’t “in the dark”, addressing #3015 by wiring generation + snapshot assertions and introducing a Solid Start sample snapshot set.

Changes:

  • Add a generate:solid-start script in orval-tests and include solid-start in the snapshot test matrix.
  • Add a Solid Start sample snapshot test setup (vitest.snapshots.ts, api-generation.spec.ts) and supporting scripts.
  • Commit initial Solid Start sample snapshot outputs (model + endpoints + msw).

Reviewed changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
tests/package.json Adds generate:solid-start to the tests package generation scripts.
tests/api-generation.spec.ts Adds generated('solid-start') to the snapshot directory list.
samples/solid-start/basic/vitest.snapshots.ts Adds Vitest snapshot config for the Solid Start sample.
samples/solid-start/basic/package.json Adds snapshot test scripts and cleanup scripts; adds vitest/rimraf dev deps.
samples/solid-start/basic/api-generation.spec.ts Adds snapshot test entrypoint for generated Solid Start API outputs.
samples/solid-start/basic/snapshots/model/*.ts Adds initial model snapshots for Solid Start sample.
samples/solid-start/basic/snapshots/endpoints/*.ts Adds initial endpoint + MSW handler snapshots for Solid Start sample.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 9

♻️ Duplicate comments (1)
samples/solid-start/basic/vitest.snapshots.ts (1)

2-2: ⚠️ Potential issue | 🟠 Major

JSON import attributes may break within the declared Node 18 range.

This repeats the earlier unresolved concern: if this sample still allows node: ">=18", Line 2 can fail on Node 18.0–18.19. Either raise the engine floor (e.g., >=18.20.0) or load package.json without import attributes.

Compatibility-safe fix (no import attributes)
 import { defineConfig } from 'vitest/config';
-import pkg from './package.json' with { type: 'json' };
+import { readFileSync } from 'node:fs';
+
+const pkg = JSON.parse(
+  readFileSync(new URL('./package.json', import.meta.url), 'utf8'),
+) as { name: string };
#!/bin/bash
# Verify whether engine range still includes Node 18 versions without stable JSON import attributes.
cat samples/solid-start/basic/package.json | jq '.engines.node'
rg -n -C2 "with\\s*\\{\\s*type:\\s*'json'\\s*\\}" samples/solid-start/basic/vitest.snapshots.ts
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@samples/solid-start/basic/vitest.snapshots.ts` at line 2, The import line
"import pkg from './package.json' with { type: 'json' };" can fail on Node
18.0–18.19; fix by removing the import attribute and loading package.json in a
Node-18-compatible way (either raise the engines.node floor in package.json to
">=18.20.0" by editing the engines.node field, or replace the import that uses
"with { type: 'json' }" in vitest.snapshots.ts with a compatibility-safe loader
such as reading and JSON.parse(fs.readFileSync('./package.json','utf-8')) or a
dynamic import/require approach that does not use JSON import attributes).
Ensure you update the specific import statement in vitest.snapshots.ts or update
the package.json "engines.node" key accordingly.
🧹 Nitpick comments (1)
tests/__snapshots__/solid-start/mutator/model/listPetsParams.ts (1)

14-18: Minor JSDoc formatting inconsistency in generated output.

The multi-line JSDoc comment for the sort field has inconsistent formatting - continuation lines are missing the * prefix. Since this is auto-generated code, this is an upstream generator concern rather than something to fix manually here. The snapshot still serves its purpose for testing.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@tests/__snapshots__/solid-start/mutator/model/listPetsParams.ts` around lines
14 - 18, The snapshot's JSDoc for the sort field is missing leading "*" on
continuation lines (the multi-line comment for the sort property is incorrectly
formatted); update the generator that produces this snapshot so that JSDoc
blocks for properties like "sort" emit properly formatted lines with the "*"
prefix on every continuation line (ensure the code path that renders property
comments in the generator handles multi-line wrapping and prepends " * " to each
wrapped line).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@tests/__snapshots__/solid-start/named-parameters/endpoints.ts`:
- Around line 119-123: Multiple DELETE endpoint handlers in the test snapshots
call response.json() and cast to Promise<void>, which will throw on empty
bodies; locate the DELETE response handling blocks (the if (!response.ok) {
throw ... } followed by return response.json() as Promise<void>;) in the listed
files (named-parameters/endpoints.ts, split/endpoints.ts, petstore/endpoints.ts,
tags/pets.ts, petstore-tags-split/pets/pets.ts) and replace the final statement
with a plain return; so the handler returns void instead of attempting to parse
JSON from an empty response.

In `@tests/__snapshots__/solid-start/petstore-tags-split/health/health.msw.ts`:
- Around line 31-35: The MSW handler currently builds textBody from resolvedBody
and returns it via HttpResponse.text(), which mismatches the client that calls
response.json(); update the code generator template so handlers use
HttpResponse.json(...) instead of HttpResponse.text(...): take resolvedBody (or
resolvedBody ?? null) and pass it directly to HttpResponse.json with appropriate
status (e.g., HttpResponse.json(resolvedBody ?? null, { status: 200 })) so the
mock emits a proper JSON response; update any generated handlers that reference
resolvedBody, textBody, and HttpResponse.text to use HttpResponse.json to keep
the contract consistent with response.json().

In `@tests/__snapshots__/solid-start/petstore-tags-split/pets/pets.ts`:
- Line 73: The URLs are interpolating raw petId into path strings (const url =
`/pets/${petId}`) which allows reserved characters to break routing; update each
occurrence that builds a path with petId (the const url assignments at the three
spots) to encode the ID using encodeURIComponent before interpolation (e.g.,
replace `/pets/${petId}` with `/pets/${encodeURIComponent(petId)}`) and ensure
any related request construction uses the encoded value consistently.
- Around line 29-32: The cache invalidation examples call
Pets.showPetById.keyFor with an extra second argument; update these examples to
call keyFor with only the petId (e.g., remove the trailing ", 1") so they match
the showPetById signature, and likewise ensure the array invalidation example
uses Pets.showPetById.keyFor("pet-123") alongside Pets.listPets.key.
- Line 95: The generated delete handler deletePetById currently calls
response.json() even though its return type is Promise<void>; change the
implementation to avoid parsing JSON for empty responses: check the Response
(returned by fetch/handler) for no-content (e.g., response.status === 204 or
response.headers.get('content-length') === '0' or
response.headers.get('content-type') is missing) and simply return void/resolve;
otherwise only parse body when present (e.g., call response.json() or
response.text() conditionally). Update the code in pets.ts replacing the
unconditional response.json() call with this conditional logic so deletePetById
returns void for empty-body responses.

In `@tests/__snapshots__/solid-start/petstore/endpoints.ts`:
- Around line 109-134: deletePetById and healthCheck incorrectly call
response.json() for responses that are either empty (204) or plain text; update
deletePetById (the action handler named 'deletePetById') to check
response.status (or response.headers.get('Content-Length')) and return void
immediately for 204/empty responses instead of calling response.json(), and
update healthCheck (the query handler named 'healthCheck') to parse the response
with response.text() (or conditionally use text when Content-Type is text/*) and
return that string; keep the existing error handling for non-ok responses.

In `@tests/__snapshots__/solid-start/tags/health.ts`:
- Around line 23-30: The documentation examples reference non-existent queries
(Health.listPets and Health.showPetById); update them to use the actual exported
symbol Health.healthCheck: replace usages like Health.listPets.key and
Health.showPetById.keyFor(...) with Health.healthCheck.key (and, if
demonstrating multiple invalidations, use revalidate([Health.healthCheck.key])
), and remove any keyFor(...) examples since Health.healthCheck does not provide
that helper.
- Line 44: The test's healthCheck call is using response.json() but the mock
sends a plain text HttpResponse.text(...), causing a parse error; update the
code so the parsing matches the mock by either changing the mock at the location
that returns HttpResponse.text(...) to return a JSON response (e.g.,
HttpResponse.json or equivalent) or change healthCheck to use response.text()
instead of response.json(); locate the healthCheck usage that calls
response.json() and the mock that returns HttpResponse.text(...) and make their
formats consistent (prefer changing the mock to return JSON if healthCheck
expects structured data).

In `@tests/__snapshots__/solid-start/tags/pets.ts`:
- Around line 98-108: The deletePetById action incorrectly calls response.json()
for a 204 No Content response; update the deletePetById implementation to check
response.status (or response.ok) and if it's 204 (or has no content) return void
(resolve) instead of calling response.json(), otherwise parse JSON for non-204
success responses or throw on !response.ok; modify the action wrapper handling
in deletePetById to avoid invoking response.json() when response.status === 204.

---

Duplicate comments:
In `@samples/solid-start/basic/vitest.snapshots.ts`:
- Line 2: The import line "import pkg from './package.json' with { type: 'json'
};" can fail on Node 18.0–18.19; fix by removing the import attribute and
loading package.json in a Node-18-compatible way (either raise the engines.node
floor in package.json to ">=18.20.0" by editing the engines.node field, or
replace the import that uses "with { type: 'json' }" in vitest.snapshots.ts with
a compatibility-safe loader such as reading and
JSON.parse(fs.readFileSync('./package.json','utf-8')) or a dynamic
import/require approach that does not use JSON import attributes). Ensure you
update the specific import statement in vitest.snapshots.ts or update the
package.json "engines.node" key accordingly.

---

Nitpick comments:
In `@tests/__snapshots__/solid-start/mutator/model/listPetsParams.ts`:
- Around line 14-18: The snapshot's JSDoc for the sort field is missing leading
"*" on continuation lines (the multi-line comment for the sort property is
incorrectly formatted); update the generator that produces this snapshot so that
JSDoc blocks for properties like "sort" emit properly formatted lines with the
"*" prefix on every continuation line (ensure the code path that renders
property comments in the generator handles multi-line wrapping and prepends " *
" to each wrapped line).

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: d77a4c63-75e2-49b3-8675-b838c7d264fb

📥 Commits

Reviewing files that changed from the base of the PR and between 84d4fc9 and bd859ed.

📒 Files selected for processing (150)
  • samples/solid-start/basic/__snapshots__/endpoints/petstore.msw.ts
  • samples/solid-start/basic/__snapshots__/endpoints/petstore.ts
  • samples/solid-start/basic/__snapshots__/model/createPetsBody.ts
  • samples/solid-start/basic/__snapshots__/model/error.ts
  • samples/solid-start/basic/__snapshots__/model/index.ts
  • samples/solid-start/basic/__snapshots__/model/listPetsParams.ts
  • samples/solid-start/basic/__snapshots__/model/pet.ts
  • samples/solid-start/basic/__snapshots__/model/pets.ts
  • samples/solid-start/basic/api-generation.spec.ts
  • samples/solid-start/basic/package.json
  • samples/solid-start/basic/vitest.snapshots.ts
  • tests/__snapshots__/solid-start/mutator/endpoints.ts
  • tests/__snapshots__/solid-start/mutator/model/cat.ts
  • tests/__snapshots__/solid-start/mutator/model/catType.ts
  • tests/__snapshots__/solid-start/mutator/model/createPetsBody.ts
  • tests/__snapshots__/solid-start/mutator/model/createPetsParams.ts
  • tests/__snapshots__/solid-start/mutator/model/createPetsSort.ts
  • tests/__snapshots__/solid-start/mutator/model/dachshund.ts
  • tests/__snapshots__/solid-start/mutator/model/dachshundBreed.ts
  • tests/__snapshots__/solid-start/mutator/model/dog.ts
  • tests/__snapshots__/solid-start/mutator/model/dogType.ts
  • tests/__snapshots__/solid-start/mutator/model/error.ts
  • tests/__snapshots__/solid-start/mutator/model/index.ts
  • tests/__snapshots__/solid-start/mutator/model/labradoodle.ts
  • tests/__snapshots__/solid-start/mutator/model/labradoodleBreed.ts
  • tests/__snapshots__/solid-start/mutator/model/listPetsParams.ts
  • tests/__snapshots__/solid-start/mutator/model/listPetsSort.ts
  • tests/__snapshots__/solid-start/mutator/model/pet.ts
  • tests/__snapshots__/solid-start/mutator/model/petCallingCode.ts
  • tests/__snapshots__/solid-start/mutator/model/petCountry.ts
  • tests/__snapshots__/solid-start/mutator/model/petWithTag.ts
  • tests/__snapshots__/solid-start/mutator/model/pets.ts
  • tests/__snapshots__/solid-start/named-parameters/endpoints.ts
  • tests/__snapshots__/solid-start/named-parameters/model/cat.ts
  • tests/__snapshots__/solid-start/named-parameters/model/catType.ts
  • tests/__snapshots__/solid-start/named-parameters/model/createPetsBody.ts
  • tests/__snapshots__/solid-start/named-parameters/model/createPetsParams.ts
  • tests/__snapshots__/solid-start/named-parameters/model/createPetsPathParameters.ts
  • tests/__snapshots__/solid-start/named-parameters/model/createPetsSort.ts
  • tests/__snapshots__/solid-start/named-parameters/model/dachshund.ts
  • tests/__snapshots__/solid-start/named-parameters/model/dachshundBreed.ts
  • tests/__snapshots__/solid-start/named-parameters/model/deletePetByIdPathParameters.ts
  • tests/__snapshots__/solid-start/named-parameters/model/dog.ts
  • tests/__snapshots__/solid-start/named-parameters/model/dogType.ts
  • tests/__snapshots__/solid-start/named-parameters/model/error.ts
  • tests/__snapshots__/solid-start/named-parameters/model/healthCheckPathParameters.ts
  • tests/__snapshots__/solid-start/named-parameters/model/index.ts
  • tests/__snapshots__/solid-start/named-parameters/model/labradoodle.ts
  • tests/__snapshots__/solid-start/named-parameters/model/labradoodleBreed.ts
  • tests/__snapshots__/solid-start/named-parameters/model/listPetsParams.ts
  • tests/__snapshots__/solid-start/named-parameters/model/listPetsPathParameters.ts
  • tests/__snapshots__/solid-start/named-parameters/model/listPetsSort.ts
  • tests/__snapshots__/solid-start/named-parameters/model/pet.ts
  • tests/__snapshots__/solid-start/named-parameters/model/petCallingCode.ts
  • tests/__snapshots__/solid-start/named-parameters/model/petCountry.ts
  • tests/__snapshots__/solid-start/named-parameters/model/petWithTag.ts
  • tests/__snapshots__/solid-start/named-parameters/model/pets.ts
  • tests/__snapshots__/solid-start/named-parameters/model/showPetByIdPathParameters.ts
  • tests/__snapshots__/solid-start/named-parameters/model/showPetWithOwnerPathParameters.ts
  • tests/__snapshots__/solid-start/petstore-tags-split/health/health.msw.ts
  • tests/__snapshots__/solid-start/petstore-tags-split/health/health.ts
  • tests/__snapshots__/solid-start/petstore-tags-split/model/cat.ts
  • tests/__snapshots__/solid-start/petstore-tags-split/model/catType.ts
  • tests/__snapshots__/solid-start/petstore-tags-split/model/createPetsBody.ts
  • tests/__snapshots__/solid-start/petstore-tags-split/model/createPetsParams.ts
  • tests/__snapshots__/solid-start/petstore-tags-split/model/createPetsSort.ts
  • tests/__snapshots__/solid-start/petstore-tags-split/model/dachshund.ts
  • tests/__snapshots__/solid-start/petstore-tags-split/model/dachshundBreed.ts
  • tests/__snapshots__/solid-start/petstore-tags-split/model/dog.ts
  • tests/__snapshots__/solid-start/petstore-tags-split/model/dogType.ts
  • tests/__snapshots__/solid-start/petstore-tags-split/model/error.ts
  • tests/__snapshots__/solid-start/petstore-tags-split/model/index.ts
  • tests/__snapshots__/solid-start/petstore-tags-split/model/labradoodle.ts
  • tests/__snapshots__/solid-start/petstore-tags-split/model/labradoodleBreed.ts
  • tests/__snapshots__/solid-start/petstore-tags-split/model/listPetsParams.ts
  • tests/__snapshots__/solid-start/petstore-tags-split/model/listPetsSort.ts
  • tests/__snapshots__/solid-start/petstore-tags-split/model/pet.ts
  • tests/__snapshots__/solid-start/petstore-tags-split/model/petCallingCode.ts
  • tests/__snapshots__/solid-start/petstore-tags-split/model/petCountry.ts
  • tests/__snapshots__/solid-start/petstore-tags-split/model/petWithTag.ts
  • tests/__snapshots__/solid-start/petstore-tags-split/model/pets.ts
  • tests/__snapshots__/solid-start/petstore-tags-split/pets/pets.msw.ts
  • tests/__snapshots__/solid-start/petstore-tags-split/pets/pets.ts
  • tests/__snapshots__/solid-start/petstore/endpoints.ts
  • tests/__snapshots__/solid-start/petstore/model/cat.ts
  • tests/__snapshots__/solid-start/petstore/model/catType.ts
  • tests/__snapshots__/solid-start/petstore/model/createPetsBody.ts
  • tests/__snapshots__/solid-start/petstore/model/createPetsParams.ts
  • tests/__snapshots__/solid-start/petstore/model/createPetsSort.ts
  • tests/__snapshots__/solid-start/petstore/model/dachshund.ts
  • tests/__snapshots__/solid-start/petstore/model/dachshundBreed.ts
  • tests/__snapshots__/solid-start/petstore/model/dog.ts
  • tests/__snapshots__/solid-start/petstore/model/dogType.ts
  • tests/__snapshots__/solid-start/petstore/model/error.ts
  • tests/__snapshots__/solid-start/petstore/model/index.ts
  • tests/__snapshots__/solid-start/petstore/model/labradoodle.ts
  • tests/__snapshots__/solid-start/petstore/model/labradoodleBreed.ts
  • tests/__snapshots__/solid-start/petstore/model/listPetsParams.ts
  • tests/__snapshots__/solid-start/petstore/model/listPetsSort.ts
  • tests/__snapshots__/solid-start/petstore/model/pet.ts
  • tests/__snapshots__/solid-start/petstore/model/petCallingCode.ts
  • tests/__snapshots__/solid-start/petstore/model/petCountry.ts
  • tests/__snapshots__/solid-start/petstore/model/petWithTag.ts
  • tests/__snapshots__/solid-start/petstore/model/pets.ts
  • tests/__snapshots__/solid-start/split/endpoints.msw.ts
  • tests/__snapshots__/solid-start/split/endpoints.ts
  • tests/__snapshots__/solid-start/split/model/cat.ts
  • tests/__snapshots__/solid-start/split/model/catType.ts
  • tests/__snapshots__/solid-start/split/model/createPetsBody.ts
  • tests/__snapshots__/solid-start/split/model/createPetsParams.ts
  • tests/__snapshots__/solid-start/split/model/createPetsSort.ts
  • tests/__snapshots__/solid-start/split/model/dachshund.ts
  • tests/__snapshots__/solid-start/split/model/dachshundBreed.ts
  • tests/__snapshots__/solid-start/split/model/dog.ts
  • tests/__snapshots__/solid-start/split/model/dogType.ts
  • tests/__snapshots__/solid-start/split/model/error.ts
  • tests/__snapshots__/solid-start/split/model/index.ts
  • tests/__snapshots__/solid-start/split/model/labradoodle.ts
  • tests/__snapshots__/solid-start/split/model/labradoodleBreed.ts
  • tests/__snapshots__/solid-start/split/model/listPetsParams.ts
  • tests/__snapshots__/solid-start/split/model/listPetsSort.ts
  • tests/__snapshots__/solid-start/split/model/pet.ts
  • tests/__snapshots__/solid-start/split/model/petCallingCode.ts
  • tests/__snapshots__/solid-start/split/model/petCountry.ts
  • tests/__snapshots__/solid-start/split/model/petWithTag.ts
  • tests/__snapshots__/solid-start/split/model/pets.ts
  • tests/__snapshots__/solid-start/tags/health.ts
  • tests/__snapshots__/solid-start/tags/model/cat.ts
  • tests/__snapshots__/solid-start/tags/model/catType.ts
  • tests/__snapshots__/solid-start/tags/model/createPetsBody.ts
  • tests/__snapshots__/solid-start/tags/model/createPetsParams.ts
  • tests/__snapshots__/solid-start/tags/model/createPetsSort.ts
  • tests/__snapshots__/solid-start/tags/model/dachshund.ts
  • tests/__snapshots__/solid-start/tags/model/dachshundBreed.ts
  • tests/__snapshots__/solid-start/tags/model/dog.ts
  • tests/__snapshots__/solid-start/tags/model/dogType.ts
  • tests/__snapshots__/solid-start/tags/model/error.ts
  • tests/__snapshots__/solid-start/tags/model/index.ts
  • tests/__snapshots__/solid-start/tags/model/labradoodle.ts
  • tests/__snapshots__/solid-start/tags/model/labradoodleBreed.ts
  • tests/__snapshots__/solid-start/tags/model/listPetsParams.ts
  • tests/__snapshots__/solid-start/tags/model/listPetsSort.ts
  • tests/__snapshots__/solid-start/tags/model/pet.ts
  • tests/__snapshots__/solid-start/tags/model/petCallingCode.ts
  • tests/__snapshots__/solid-start/tags/model/petCountry.ts
  • tests/__snapshots__/solid-start/tags/model/petWithTag.ts
  • tests/__snapshots__/solid-start/tags/model/pets.ts
  • tests/__snapshots__/solid-start/tags/pets.ts
  • tests/api-generation.spec.ts
  • tests/package.json
✅ Files skipped from review due to trivial changes (7)
  • tests/snapshots/solid-start/mutator/model/cat.ts
  • tests/snapshots/solid-start/petstore/model/labradoodleBreed.ts
  • tests/snapshots/solid-start/mutator/model/petCountry.ts
  • tests/snapshots/solid-start/petstore/model/createPetsSort.ts
  • tests/snapshots/solid-start/petstore-tags-split/model/listPetsParams.ts
  • tests/snapshots/solid-start/petstore-tags-split/model/listPetsSort.ts
  • tests/snapshots/solid-start/petstore/model/catType.ts
🚧 Files skipped from review as they are similar to previous changes (8)
  • samples/solid-start/basic/snapshots/model/listPetsParams.ts
  • samples/solid-start/basic/snapshots/model/index.ts
  • samples/solid-start/basic/package.json
  • samples/solid-start/basic/snapshots/model/pet.ts
  • samples/solid-start/basic/api-generation.spec.ts
  • samples/solid-start/basic/snapshots/model/createPetsBody.ts
  • tests/package.json
  • samples/solid-start/basic/snapshots/model/error.ts

@melloware melloware marked this pull request as draft March 4, 2026 23:02
@Huliiiiii Huliiiiii force-pushed the solid-example branch 3 times, most recently from 22c944b to aafb048 Compare March 9, 2026 05:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

@orval/solid-start is missing generated output

2 participants