Scalar is an open-source API platform: 🌐 Modern REST API Client 📖 Beautiful API References ✨ 1st-Class OpenAPI/Swagger Support
This report summarizes scanner evidence for scalar/scalar, a TypeScript project with 16,354 GitHub stars. SynthScan examined 1,043,900 lines of code across 7438 source files, recording 879 pattern matches distributed across 19 syntactic categories. The legacy adjusted pattern signal is 1.5 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 460 finding(s).
Are imports declared and package/API names verified? 347 finding(s).
Are wrappers, guards, and repeated structures necessary? 245 finding(s).
Which changes need focused human review? 879 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 879 distinct pattern matches across 19 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | documentation/learn/openapi/api-mocking.md | 89 | **Dynamic.** The mock generates fresh values from the schema on each request, often with a fake-data library. You get va | CODE |
| LOW⚡ | documentation/guides/app/dynamic-variables.md | 280 | ### Lorem ipsum | COMMENT |
| LOW⚡ | documentation/guides/app/dynamic-variables.md | 284 | | `{{$randomLoremWord}}` | A random word of lorem ipsum text | | CODE |
| LOW⚡ | documentation/guides/app/dynamic-variables.md | 285 | | `{{$randomLoremWords}}` | Some random words of lorem ipsum text | | CODE |
| LOW⚡ | documentation/guides/app/dynamic-variables.md | 286 | | `{{$randomLoremSentence}}` | A random sentence of lorem ipsum text | | CODE |
| LOW⚡ | documentation/guides/app/dynamic-variables.md | 287 | | `{{$randomLoremSentences}}` | A random 2 to 6 sentences of lorem ipsum text | | CODE |
| LOW⚡ | documentation/guides/app/dynamic-variables.md | 288 | | `{{$randomLoremParagraph}}` | A random paragraph of lorem ipsum text | | CODE |
| LOW⚡ | documentation/guides/app/dynamic-variables.md | 289 | | `{{$randomLoremParagraphs}}` | 3 random paragraphs of lorem ipsum text | | CODE |
| LOW⚡ | documentation/guides/app/dynamic-variables.md | 290 | | `{{$randomLoremText}}` | A random amount of lorem ipsum text | | CODE |
| LOW⚡ | documentation/guides/app/dynamic-variables.md | 291 | | `{{$randomLoremSlug}}` | A random lorem ipsum URL slug | | CODE |
| LOW⚡ | documentation/guides/app/dynamic-variables.md | 292 | | `{{$randomLoremLines}}` | 1 to 5 random lines of lorem ipsum | | CODE |
| LOW | documentation/guides/mock-server/data-seeding.md | 64 | author: 'Jane Doe' | CODE |
| LOW | …/src/features/collection/components/LabelInput.test.ts | 16 | expect(input.attributes('placeholder')).toBe('Untitled Document') | CODE |
| LOW | …nd-palette/components/CommandPaletteImportCurl.test.ts | 62 | expect(input.props('placeholder')).toContain('Curl example key') | CODE |
| LOW | …ommand-palette/components/CommandPaletteImport.test.ts | 76 | expect(input.props('placeholder')).toBe('OpenAPI/Swagger/Postman URL or cURL') | CODE |
| LOW | …ommand-palette/helpers/get-operation-from-curl.test.ts | 261 | name: 'John Doe', | CODE |
| LOW | …mport-listener/helpers/get-url-query-parameter.test.ts | 78 | expect(nameResult).toBe('John Doe') | CODE |
| LOW | …mport-listener/helpers/get-url-query-parameter.test.ts | 141 | expect(result).toBe('John Doe') | CODE |
| LOW | integrations/docker/example/docs/users-api.json | 170 | "example": "John Doe" | CODE |
| LOW | integrations/docker/example/docs/users-api.json | 198 | "example": "John Doe" | CODE |
| LOW | integrations/docker/example/docs/internal/admin-api.yml | 278 | example: 'John Doe' | CODE |
| LOW | …t/aspire/playground/Scalar.Aspire.UserService/index.js | 98 | { id: 1, name: 'John Doe', email: 'john@example.com', createdAt: '2025-01-01T00:00:00Z' }, | CODE |
| LOW⚡ | …ocusaurus/playground/blog/2019-05-29-long-blog-post.md | 14 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum | CODE |
| LOW⚡ | …ocusaurus/playground/blog/2019-05-29-long-blog-post.md | 14 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum | CODE |
| LOW⚡ | …ocusaurus/playground/blog/2019-05-29-long-blog-post.md | 16 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum | CODE |
| LOW⚡ | …ocusaurus/playground/blog/2019-05-29-long-blog-post.md | 16 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum | CODE |
| LOW⚡ | …ocusaurus/playground/blog/2019-05-29-long-blog-post.md | 18 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum | CODE |
| LOW⚡ | …ocusaurus/playground/blog/2019-05-29-long-blog-post.md | 18 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum | CODE |
| LOW⚡ | …ocusaurus/playground/blog/2019-05-29-long-blog-post.md | 20 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum | CODE |
| LOW⚡ | …ocusaurus/playground/blog/2019-05-29-long-blog-post.md | 20 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum | CODE |
| LOW⚡ | …ocusaurus/playground/blog/2019-05-29-long-blog-post.md | 22 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum | CODE |
| LOW⚡ | …ocusaurus/playground/blog/2019-05-29-long-blog-post.md | 22 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum | CODE |
| LOW⚡ | …ocusaurus/playground/blog/2019-05-29-long-blog-post.md | 24 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum | CODE |
| LOW⚡ | …ocusaurus/playground/blog/2019-05-29-long-blog-post.md | 24 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum | CODE |
| LOW⚡ | …ocusaurus/playground/blog/2019-05-29-long-blog-post.md | 26 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum | CODE |
| LOW⚡ | …ocusaurus/playground/blog/2019-05-29-long-blog-post.md | 26 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum | CODE |
| LOW⚡ | …ocusaurus/playground/blog/2019-05-29-long-blog-post.md | 28 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum | CODE |
| LOW⚡ | …ocusaurus/playground/blog/2019-05-29-long-blog-post.md | 28 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum | CODE |
| LOW⚡ | …ocusaurus/playground/blog/2019-05-29-long-blog-post.md | 30 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum | CODE |
| LOW⚡ | …ocusaurus/playground/blog/2019-05-29-long-blog-post.md | 30 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum | CODE |
| LOW⚡ | …ocusaurus/playground/blog/2019-05-29-long-blog-post.md | 32 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum | CODE |
| LOW⚡ | …ocusaurus/playground/blog/2019-05-29-long-blog-post.md | 32 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum | CODE |
| LOW⚡ | …ocusaurus/playground/blog/2019-05-29-long-blog-post.md | 34 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum | CODE |
| LOW⚡ | …ocusaurus/playground/blog/2019-05-29-long-blog-post.md | 34 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum | CODE |
| LOW⚡ | …ocusaurus/playground/blog/2019-05-29-long-blog-post.md | 36 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum | CODE |
| LOW⚡ | …ocusaurus/playground/blog/2019-05-29-long-blog-post.md | 36 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum | CODE |
| LOW⚡ | …ocusaurus/playground/blog/2019-05-29-long-blog-post.md | 38 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum | CODE |
| LOW⚡ | …ocusaurus/playground/blog/2019-05-29-long-blog-post.md | 38 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum | CODE |
| LOW⚡ | …ocusaurus/playground/blog/2019-05-29-long-blog-post.md | 40 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum | CODE |
| LOW⚡ | …ocusaurus/playground/blog/2019-05-29-long-blog-post.md | 40 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum | CODE |
| LOW⚡ | …ocusaurus/playground/blog/2019-05-29-long-blog-post.md | 42 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum | CODE |
| LOW⚡ | …ocusaurus/playground/blog/2019-05-29-long-blog-post.md | 42 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum | CODE |
| LOW⚡ | …ocusaurus/playground/blog/2019-05-29-long-blog-post.md | 44 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum | CODE |
| LOW⚡ | …ocusaurus/playground/blog/2019-05-29-long-blog-post.md | 44 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum | CODE |
| LOW | …cusaurus/playground/blog/2019-05-28-first-blog-post.md | 12 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum | CODE |
| LOW | …cusaurus/playground/blog/2019-05-28-first-blog-post.md | 12 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum | CODE |
| LOW | …blocks/src/code-example/components/CodeExample.test.ts | 1348 | value: { event: 'user.created', userId: '123', data: { name: 'John Doe' } }, | CODE |
| LOW | …blocks/src/code-example/components/CodeExample.test.ts | 1373 | expect(copiedContent).toContain('John Doe') | CODE |
| LOW | …-example/helpers/operation-to-har/process-body.test.ts | 291 | name: { type: 'string', example: 'John Doe' }, | CODE |
| LOW | …-example/helpers/operation-to-har/process-body.test.ts | 304 | name: 'John Doe', | CODE |
| 184 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | documentation/assets/sdk-demo.js | 95 | print(assignment.id, assignment.policy.name)`, | CODE |
| HIGH | …es/snippetz/src/plugins/python/python3/python3.test.ts | 281 | print(response.read().decode()) | CODE |
| HIGH | …es/snippetz/src/plugins/python/python3/python3.test.ts | 330 | print(response.read().decode()) | CODE |
| HIGH | …es/snippetz/src/plugins/python/python3/python3.test.ts | 379 | print(response.read().decode()) | CODE |
| HIGH | packages/snippetz/src/plugins/dart/http/http.test.ts | 12 | print(response.body); | CODE |
| HIGH | packages/snippetz/src/plugins/dart/http/http.test.ts | 25 | print(response.body); | CODE |
| HIGH | packages/snippetz/src/plugins/dart/http/http.test.ts | 39 | print(response.body); | CODE |
| HIGH | packages/snippetz/src/plugins/dart/http/http.test.ts | 62 | print(response.body); | CODE |
| HIGH | packages/snippetz/src/plugins/dart/http/http.test.ts | 76 | print(response.body); | CODE |
| HIGH | packages/snippetz/src/plugins/dart/http/http.test.ts | 108 | print(response.body); | CODE |
| HIGH | packages/snippetz/src/plugins/dart/http/http.test.ts | 131 | print(response.body); | CODE |
| HIGH | packages/snippetz/src/plugins/dart/http/http.test.ts | 158 | print(response.body); | CODE |
| HIGH | packages/snippetz/src/plugins/dart/http/http.test.ts | 172 | print(response.body); | CODE |
| HIGH | packages/snippetz/src/plugins/dart/http/http.test.ts | 197 | print(response.body); | CODE |
| HIGH | packages/snippetz/src/plugins/dart/http/http.test.ts | 210 | print(response.body); | CODE |
| HIGH | packages/snippetz/src/plugins/dart/http/http.test.ts | 231 | print(response.body); | CODE |
| HIGH | packages/snippetz/src/plugins/dart/http/http.test.ts | 252 | print(response.body); | CODE |
| HIGH | packages/snippetz/src/plugins/dart/http/http.test.ts | 277 | print(response.body); | CODE |
| HIGH | packages/snippetz/src/plugins/dart/http/http.test.ts | 295 | print(response.body); | CODE |
| HIGH | packages/snippetz/src/plugins/dart/http/http.test.ts | 325 | print(response.body); | CODE |
| HIGH | packages/snippetz/src/plugins/dart/http/http.test.ts | 350 | print(response.body); | CODE |
| HIGH | packages/snippetz/src/plugins/dart/http/http.test.ts | 370 | print(response.body); | CODE |
| HIGH | packages/snippetz/src/plugins/dart/http/http.test.ts | 393 | print(response.body); | CODE |
| HIGH | packages/snippetz/src/plugins/dart/http/http.test.ts | 406 | print(response.body); | CODE |
| HIGH | packages/snippetz/src/plugins/dart/http/http.test.ts | 429 | print(response.body); | CODE |
| HIGH | packages/snippetz/src/plugins/dart/http/http.test.ts | 442 | print(response.body); | CODE |
| HIGH | packages/snippetz/src/plugins/dart/http/http.test.ts | 455 | print(response.body); | CODE |
| HIGH | packages/snippetz/src/plugins/dart/http/http.test.ts | 476 | print(response.body); | CODE |
| HIGH | packages/snippetz/src/plugins/dart/http/http.test.ts | 490 | print(response.body); | CODE |
| HIGH | packages/snippetz/src/plugins/dart/http/http.test.ts | 515 | print(response.body); | CODE |
| HIGH | packages/snippetz/src/plugins/dart/http/http.test.ts | 550 | print(response.body); | CODE |
| HIGH | packages/snippetz/src/plugins/dart/http/http.test.ts | 573 | print(response.body); | CODE |
| HIGH | packages/snippetz/src/plugins/dart/http/http.test.ts | 609 | print(response.body); | CODE |
| HIGH | packages/snippetz/src/plugins/dart/http/http.test.ts | 664 | print(response.body); | CODE |
| HIGH | …tz/src/plugins/swift/nsurlsession/nsurlsession.test.ts | 257 | print(String(data: data, encoding: .utf8) ?? "")`) | CODE |
| HIGH | …tz/src/plugins/swift/nsurlsession/nsurlsession.test.ts | 364 | print(String(data: data, encoding: .utf8) ?? "")`) | CODE |
| HIGH | …tz/src/plugins/swift/nsurlsession/nsurlsession.test.ts | 412 | print(String(data: data, encoding: .utf8) ?? "")`) | CODE |
| HIGH | packages/code-highlight/playground/main.ts | 331 | print(response.json())` | CODE |
| HIGH | packages/code-highlight/playground/main.ts | 366 | print(planets[i].greet()) | CODE |
| HIGH | packages/code-highlight/playground/main.ts | 370 | print(vec)` | CODE |
| HIGH | packages/highlight/test/samples.ts | 47 | return False | CODE |
| HIGH | packages/highlight/test/samples.ts | 49 | return True | CODE |
| HIGH | packages/highlight/test/samples.ts | 62 | print(f"rejected {key!r} at {time.time():.3f}", file=sys.stderr) | CODE |
| HIGH | packages/highlight/test/samples.ts | 1013 | print(--[==[ a level 2 comment keeps ]=] literal ]==] line) | STRING |
| HIGH | packages/highlight/test/samples.ts | 1257 | print(f"luma={p.luma()} flags={flags:#x} scale={scale}") | STRING |
| HIGH | packages/highlight/test/samples.ts | 1263 | print("scaled", m.dot(m), sep=", ") | STRING |
| HIGH | packages/highlight/test/samples.ts | 1860 | print('\${byShelf.length.toString()} shelves, \${1.toString()} pass'); | STRING |
| HIGH | packages/highlight/test/samples.ts | 1861 | print(r'raw: $notInterpolated and \\n stay literal'); | STRING |
| HIGH | packages/highlight/test/samples.ts | 2110 | print(io, "Item($(item.sku), \"$(item.name)\", $(item.price_cents / 100))") | CODE |
| HIGH | packages/highlight/test/samples.ts | 2768 | print("GET \(url.absoluteString) -> \(status)") | CODE |
| HIGH | packages/highlight/src/langs/lua.test.ts | 150 | print(--[==[ a level 2 comment keeps ]=] literal ]==] line) | CODE |
| HIGH | packages/highlight/src/langs/dart.test.ts | 118 | print('\${byShelf.length.toString()} shelves, \${1.toString()} pass'); | STRING |
| HIGH | packages/highlight/src/langs/dart.test.ts | 119 | print(r'raw: $notInterpolated and \\n stay literal'); | STRING |
| HIGH | packages/highlight/src/langs/swift.test.ts | 97 | print("GET \(url.absoluteString) -> \(status)") | CODE |
| HIGH | packages/highlight/src/langs/languages.test.ts | 1450 | const code = `match value:\n case ${pattern}: return True\n` | CODE |
| HIGH | packages/highlight/src/langs/languages.test.ts | 1561 | expect(scopeOf(`match x:\n case ${pattern}: return True\n`, 'python', 'case')).toBe('keyword.control') | CODE |
| HIGH | packages/highlight/src/langs/mojo.test.ts | 133 | print(f"luma={p.luma()} flags={flags:#x} scale={scale}") | CODE |
| HIGH | packages/highlight/src/langs/mojo.test.ts | 139 | print("scaled", m.dot(m), sep=", ") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | packages/schemas/scripts/generate-types.ts | 34 | // ─── Constants ───────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/schemas/scripts/generate-types.ts | 60 | // ─── Generated file IO ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/schemas/scripts/generate-types.ts | 121 | // ─── Schema and typegen helpers ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/schemas/scripts/generate-types.ts | 166 | // ─── Folder helpers ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/schemas/scripts/generate-types.ts | 202 | // ─── Write tally ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/schemas/scripts/generate-types.ts | 226 | // ─── High-level generators ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/schemas/scripts/generate-types.ts | 281 | // ─── Biome formatter ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/schemas/scripts/generate-types.ts | 304 | // ─── Main ────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …src/components/ScalarVirtualText/ScalarVirtualText.vue | 91 | // ── Search ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …src/components/ScalarVirtualText/ScalarVirtualText.vue | 207 | // ── Scroll / resize ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …src/components/ScalarVirtualText/ScalarVirtualText.vue | 227 | // ── Line rendering with highlights ──────────────────────────────────── | COMMENT |
| MEDIUM | …cks/scalar-address-bar-block/components/AddressBar.vue | 103 | // ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …cks/scalar-address-bar-block/components/AddressBar.vue | 105 | // ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …cks/scalar-address-bar-block/components/AddressBar.vue | 121 | // ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …cks/scalar-address-bar-block/components/AddressBar.vue | 123 | // ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …cks/scalar-address-bar-block/components/AddressBar.vue | 171 | // ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …cks/scalar-address-bar-block/components/AddressBar.vue | 173 | // ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …cks/scalar-address-bar-block/components/AddressBar.vue | 207 | // ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …cks/scalar-address-bar-block/components/AddressBar.vue | 215 | // ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …cks/scalar-address-bar-block/components/AddressBar.vue | 238 | // ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …cks/scalar-address-bar-block/components/AddressBar.vue | 240 | // ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …cks/scalar-address-bar-block/components/AddressBar.vue | 270 | // ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …cks/scalar-address-bar-block/components/AddressBar.vue | 272 | // ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …cks/scalar-address-bar-block/components/AddressBar.vue | 422 | // ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …cks/scalar-address-bar-block/components/AddressBar.vue | 424 | // ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …cks/scalar-address-bar-block/components/AddressBar.vue | 440 | // ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …cks/scalar-address-bar-block/components/AddressBar.vue | 442 | // ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …eatures/modal/helpers/resolve-route-parameters.test.ts | 43 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …eatures/modal/helpers/resolve-route-parameters.test.ts | 45 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …eatures/modal/helpers/resolve-route-parameters.test.ts | 159 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …eatures/modal/helpers/resolve-route-parameters.test.ts | 161 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …eatures/modal/helpers/resolve-route-parameters.test.ts | 222 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …eatures/modal/helpers/resolve-route-parameters.test.ts | 224 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …eatures/modal/helpers/resolve-route-parameters.test.ts | 327 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …eatures/modal/helpers/resolve-route-parameters.test.ts | 329 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …eatures/modal/helpers/resolve-route-parameters.test.ts | 494 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …eatures/modal/helpers/resolve-route-parameters.test.ts | 496 | // ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …-client/src/v2/components/code-input/CodeInputLite.vue | 207 | // ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …-client/src/v2/components/code-input/CodeInputLite.vue | 209 | // ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …-client/src/v2/components/code-input/CodeInputLite.vue | 234 | // ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …-client/src/v2/components/code-input/CodeInputLite.vue | 236 | // ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …-client/src/v2/components/code-input/CodeInputLite.vue | 274 | // ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …-client/src/v2/components/code-input/CodeInputLite.vue | 276 | // ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …-client/src/v2/components/code-input/CodeInputLite.vue | 424 | // ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …-client/src/v2/components/code-input/CodeInputLite.vue | 426 | // ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …-client/src/v2/components/code-input/CodeInputLite.vue | 519 | // ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …-client/src/v2/components/code-input/CodeInputLite.vue | 521 | // ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …-client/src/v2/components/code-input/CodeInputLite.vue | 607 | // ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …-client/src/v2/components/code-input/CodeInputLite.vue | 609 | // ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …-client/src/v2/components/code-input/CodeInputLite.vue | 692 | // ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …-client/src/v2/components/code-input/CodeInputLite.vue | 694 | // ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …-client/src/v2/components/code-input/CodeInputLite.vue | 733 | // ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …-client/src/v2/components/code-input/CodeInputLite.vue | 735 | // ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …-client/src/v2/components/code-input/CodeInputLite.vue | 857 | // ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …-client/src/v2/components/code-input/CodeInputLite.vue | 859 | // ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/workspace-store/src/events/definitions/ui.ts | 100 | // ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/workspace-store/src/events/definitions/ui.ts | 102 | // ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/workspace-store/src/events/definitions/ui.ts | 114 | // ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/workspace-store/src/events/definitions/ui.ts | 116 | // ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | packages/workspace-store/src/events/definitions/ui.ts | 149 | // ──────────────────────────────────────────────────────────── | COMMENT |
| 7 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | documentation/assets/landing.js | 941 | eyeX: 0.3, | COMMENT |
| LOW | documentation/assets/landing.js | 961 | turn: 24, | COMMENT |
| LOW | tooling/scripts/delete-cloudflare-pages-preview.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | integrations/rust/src/config.rs | 1 | //! Type-safe configuration types for the Scalar API reference. | COMMENT |
| LOW | …ore/Extensions/ScalarEndpointRouteBuilderExtensions.cs | 21 | COMMENT | |
| LOW | …ore/Extensions/ScalarEndpointRouteBuilderExtensions.cs | 41 | /// <remarks> | COMMENT |
| LOW | …ore/Extensions/ScalarEndpointRouteBuilderExtensions.cs | 61 | /// <br /> | COMMENT |
| LOW | …ore/Extensions/ScalarEndpointRouteBuilderExtensions.cs | 81 | configureOptions?.Invoke(options, httpContext); | COMMENT |
| LOW | …ore/Extensions/ScalarEndpointRouteBuilderExtensions.cs | 101 | /// </summary> | COMMENT |
| LOW | …ore/Extensions/ScalarEndpointRouteBuilderExtensions.cs | 121 | /// <summary> | COMMENT |
| LOW | …ore/Extensions/ScalarEndpointRouteBuilderExtensions.cs | 141 | /// </summary> | COMMENT |
| LOW | …ore/Extensions/ScalarEndpointRouteBuilderExtensions.cs | 161 | /// </summary> | COMMENT |
| LOW | …Core/Extensions/EndpointConventionBuilderExtensions.cs | 21 | /// <summary> | COMMENT |
| LOW | …Core/Extensions/EndpointConventionBuilderExtensions.cs | 41 | COMMENT | |
| LOW | …calar.AspNetCore/Extensions/ScalarOptionsExtensions.cs | 41 | /// Configures the API key authentication options. | COMMENT |
| LOW | …calar.AspNetCore/Extensions/ScalarOptionsExtensions.cs | 61 | /// <param name="oauth2Options">The OAuth2 options to set.</param> | COMMENT |
| LOW | …calar.AspNetCore/Extensions/ScalarOptionsExtensions.cs | 81 | } | COMMENT |
| LOW | …calar.AspNetCore/Extensions/ScalarOptionsExtensions.cs | 161 | COMMENT | |
| LOW | …calar.AspNetCore/Extensions/ScalarOptionsExtensions.cs | 181 | /// </summary> | COMMENT |
| LOW | …calar.AspNetCore/Extensions/ScalarOptionsExtensions.cs | 221 | /// <summary> | COMMENT |
| LOW | …calar.AspNetCore/Extensions/ScalarOptionsExtensions.cs | 241 | /// <remarks>The provided content will be appended.</remarks> | COMMENT |
| LOW | …calar.AspNetCore/Extensions/ScalarOptionsExtensions.cs | 261 | return options; | COMMENT |
| LOW | …calar.AspNetCore/Extensions/ScalarOptionsExtensions.cs | 281 | /// </summary> | COMMENT |
| LOW | …calar.AspNetCore/Extensions/ScalarOptionsExtensions.cs | 301 | /// Configures Scalar to generate a fresh cryptographically random nonce on every request and emit it on each script | COMMENT |
| LOW | …ore/src/Scalar.AspNetCore/Attributes/BadgeAttribute.cs | 61 | /// <summary> | COMMENT |
| LOW | …rc/Scalar.AspNetCore/Attributes/DeprecatedAttribute.cs | 1 | namespace Scalar.AspNetCore.Attributes; | COMMENT |
| LOW | …ws-lambda/src/Scalar.Aws.Lambda/IScalarApiReference.cs | 1 | using Amazon.Lambda.APIGatewayEvents; | COMMENT |
| LOW | …bda/src/Scalar.Aws.Lambda/ScalarApiReferenceHandler.cs | 1 | using Amazon.Lambda.APIGatewayEvents; | COMMENT |
| LOW | …c/Scalar.Aws.Lambda/Options/ScalarOptions.AwsLambda.cs | 1 | namespace Scalar.Aws.Lambda; | COMMENT |
| LOW | …Lambda/Extensions/ScalarServiceCollectionExtensions.cs | 1 | using Microsoft.Extensions.DependencyInjection; | COMMENT |
| LOW | …otnet/shared/src/Scalar.Shared/Options/ScalarServer.cs | 1 | #if SCALAR_ASPIRE | COMMENT |
| LOW | …net/shared/src/Scalar.Shared/Options/ScalarDocument.cs | 1 | #if SCALAR_ASPIRE | COMMENT |
| LOW | …net/shared/src/Scalar.Shared/Options/ScalarDocument.cs | 21 | /// <param name="IsDefault">Indicates whether this document is the default document.</param> | COMMENT |
| LOW | …src/Scalar.Shared/Options/ScalarLocalizationOptions.cs | 1 | using System.Text.Json.Nodes; | COMMENT |
| LOW | …hared/src/Scalar.Shared/Options/ScalarOptions.Shell.cs | 41 | /// </summary> | COMMENT |
| LOW | …hared/src/Scalar.Shared/Options/ScalarOptions.Shell.cs | 61 | /// </example> | COMMENT |
| LOW | …hared/src/Scalar.Shared/Options/ScalarOptions.Shell.cs | 81 | public string? JavaScriptConfiguration { get; set; } | COMMENT |
| LOW | …t/shared/src/Scalar.Shared/Options/ScalarMcpOptions.cs | 1 | #if SCALAR_ASPIRE | COMMENT |
| LOW | …t/shared/src/Scalar.Shared/Options/ScalarMcpOptions.cs | 21 | /// <summary> | COMMENT |
| LOW | …shared/src/Scalar.Shared/Options/ScalarAgentOptions.cs | 1 | #if SCALAR_ASPIRE | COMMENT |
| LOW | …tnet/shared/src/Scalar.Shared/Options/ScalarOptions.cs | 21 | /// <summary> | COMMENT |
| LOW | …tnet/shared/src/Scalar.Shared/Options/ScalarOptions.cs | 41 | /// <summary> | COMMENT |
| LOW | …tnet/shared/src/Scalar.Shared/Options/ScalarOptions.cs | 61 | public string OpenApiRoutePattern { get; set; } = "/openapi/{documentName}.json"; | COMMENT |
| LOW | …tnet/shared/src/Scalar.Shared/Options/ScalarOptions.cs | 81 | /// <summary> | COMMENT |
| LOW | …tnet/shared/src/Scalar.Shared/Options/ScalarOptions.cs | 101 | COMMENT | |
| LOW | …tnet/shared/src/Scalar.Shared/Options/ScalarOptions.cs | 121 | public string? CustomCss { get; set; } | COMMENT |
| LOW | …tnet/shared/src/Scalar.Shared/Options/ScalarOptions.cs | 141 | /// </summary> | COMMENT |
| LOW | …tnet/shared/src/Scalar.Shared/Options/ScalarOptions.cs | 161 | /// </summary> | COMMENT |
| LOW | …tnet/shared/src/Scalar.Shared/Options/ScalarOptions.cs | 181 | /// </summary> | COMMENT |
| LOW | …tnet/shared/src/Scalar.Shared/Options/ScalarOptions.cs | 201 | /// <summary> | COMMENT |
| LOW | …tnet/shared/src/Scalar.Shared/Options/ScalarOptions.cs | 221 | /// <summary> | COMMENT |
| LOW | …tnet/shared/src/Scalar.Shared/Options/ScalarOptions.cs | 241 | public bool? HideClientButton { get; set; } | COMMENT |
| LOW | …tnet/shared/src/Scalar.Shared/Options/ScalarOptions.cs | 261 | public bool? PersistentAuthentication { get; set; } | COMMENT |
| LOW | …tnet/shared/src/Scalar.Shared/Options/ScalarOptions.cs | 281 | COMMENT | |
| LOW | …tnet/shared/src/Scalar.Shared/Options/ScalarOptions.cs | 301 | COMMENT | |
| LOW | …alar.Shared/Options/Authentication/HttpBasicOptions.cs | 1 | #if !SCALAR_ASPIRE && !SCALAR_SERVERLESS | COMMENT |
| LOW | …/Scalar.Shared/Options/Authentication/ApiKeyOptions.cs | 1 | #if SCALAR_ASPIRE | COMMENT |
| LOW | …lar.Shared/Options/Authentication/HttpBearerOptions.cs | 1 | #if !SCALAR_ASPIRE && !SCALAR_SERVERLESS | COMMENT |
| LOW | …/Options/Authentication/ScalarAuthenticationOptions.cs | 1 | using System.Text.Json.Serialization; | COMMENT |
| LOW | …/Options/Authentication/ScalarAuthenticationOptions.cs | 41 | /// enabling more flexible authentication configuration for OpenAPI operations. | COMMENT |
| 136 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | documentation/blog/2026-10-08-openapi-with-fastapi.md | 158 | def custom_generate_unique_id(route: APIRoute) -> str: | CODE |
| LOW | tooling/scripts/vite-lib-config.ts | 58 | export function createPreserveModulesOutput() { | CODE |
| LOW | tooling/scripts/vite-lib-config.ts | 73 | export function createExternalsFromPackageJson(packageJsonPath = './package.json') { | CODE |
| LOW | tooling/scripts/src/commands/generate-blog.ts | 211 | function parseExistingDescriptions(indexContent: string): Map<string, string> { | CODE |
| LOW | tooling/scripts/src/commands/generate-blog.ts | 263 | function extractFirstTextParagraph(lines: string[]): string { | CODE |
| LOW | tooling/scripts/src/commands/generate-blog.ts | 365 | function collectExistingPostChildren( | CODE |
| LOW | tooling/scripts/src/commands/packages/format.ts | 192 | async function formatDirectoryPackageFiles(folder: PackageType, root: string) { | CODE |
| LOW | …/electron/helpers/custom-fetch/to-web-response.test.ts | 15 | function createMockTransportResponse({ | CODE |
| LOW | projects/scalar-app/src/features/app/app-events.ts | 10 | export function initializeAppEventHandlers({ | CODE |
| LOW | integrations/fastapi/tests/test_imports.py | 9 | def test_scalar_fastapi_imports(): | CODE |
| LOW | integrations/fastapi/tests/test_imports.py | 94 | def test_theme_enum_completeness(): | CODE |
| LOW | integrations/fastapi/tests/test_imports.py | 113 | def test_theme_enum_uniqueness(): | CODE |
| LOW⚡ | integrations/fastapi/tests/test_scalar_fastapi.py | 611 | def test_route_is_hidden_from_schema_by_default(self): | CODE |
| LOW⚡ | integrations/fastapi/tests/test_scalar_fastapi.py | 621 | def test_returns_the_app_for_chaining(self): | CODE |
| LOW⚡ | integrations/fastapi/tests/test_scalar_fastapi.py | 630 | def test_string_values_are_accepted(self): | CODE |
| LOW | integrations/fastapi/tests/test_scalar_fastapi.py | 27 | def test_search_hot_key_enum_values(self): | CODE |
| LOW | integrations/fastapi/tests/test_scalar_fastapi.py | 52 | def test_theme_enum_all_values(self): | CODE |
| LOW | integrations/fastapi/tests/test_scalar_fastapi.py | 169 | def test_top_level_agent_disabled_in_config(self): | CODE |
| LOW | integrations/fastapi/tests/test_scalar_fastapi.py | 180 | def test_per_source_agent_in_config(self): | CODE |
| LOW | integrations/fastapi/tests/test_scalar_fastapi.py | 197 | def test_theme_parameter_all_values(self): | CODE |
| LOW | integrations/fastapi/tests/test_scalar_fastapi.py | 219 | def test_theme_with_other_parameters(self): | CODE |
| LOW | integrations/fastapi/tests/test_scalar_fastapi.py | 266 | def test_theme_in_configuration_object(self): | CODE |
| LOW | integrations/fastapi/tests/test_scalar_fastapi.py | 280 | def test_hidden_clients_dict_format(self): | CODE |
| LOW | integrations/fastapi/tests/test_scalar_fastapi.py | 316 | def test_authentication_parameter(self): | CODE |
| LOW | integrations/fastapi/tests/test_scalar_fastapi.py | 376 | def test_configuration_script(self): | CODE |
| LOW | integrations/fastapi/tests/test_scalar_fastapi.py | 391 | def test_developer_tools_visibility(self): | CODE |
| LOW | integrations/fastapi/tests/test_scalar_fastapi.py | 400 | def test_order_schema_properties_by_preserve(self): | CODE |
| LOW | integrations/fastapi/tests/test_scalar_fastapi.py | 440 | def test_fastapi_with_custom_config(self): | CODE |
| LOW | integrations/fastapi/tests/test_scalar_fastapi.py | 483 | def test_special_characters_in_title_are_escaped(self): | CODE |
| LOW | integrations/fastapi/tests/test_scalar_fastapi.py | 514 | def test_resource_urls_remain_single_attributes(self, parameter, tag, attribute, url): | CODE |
| LOW | integrations/fastapi/tests/test_scalar_fastapi.py | 536 | def test_content_with_closing_script_tag_cannot_break_out(self): | CODE |
| LOW | integrations/fastapi/tests/test_scalar_fastapi.py | 548 | def test_complex_json_in_configuration(self): | CODE |
| LOW | integrations/fastapi/tests/test_scalar_fastapi.py | 581 | def test_registers_route_and_serves_html(self): | CODE |
| LOW | integrations/fastapi/tests/test_scalar_fastapi.py | 596 | def test_custom_route_and_passthrough_kwargs(self): | CODE |
| LOW | integrations/fastapi/tests/test_scalar_fastapi.py | 647 | def test_default_string_values_are_omitted(self): | CODE |
| LOW | integrations/fastapi/tests/test_scalar_fastapi.py | 666 | def test_default_theme_string_still_injects_styles(self): | CODE |
| LOW | integrations/fastapi/tests/test_scalar_fastapi.py | 678 | def test_string_and_enum_produce_identical_output(self): | CODE |
| LOW | integrations/fastapi/tests/test_integration.py | 78 | def test_basic_endpoints_work(self, client): | CODE |
| LOW | integrations/fastapi/tests/test_integration.py | 92 | def test_scalar_endpoint_returns_html(self, client, app): | CODE |
| LOW | integrations/fastapi/tests/test_integration.py | 125 | def test_scalar_custom_endpoint(self, client, app): | CODE |
| LOW | integrations/fastapi/tests/test_integration.py | 154 | def test_scalar_theme_endpoint(self, client, app): | CODE |
| LOW | integrations/fastapi/tests/test_integration.py | 177 | def test_openapi_schema_endpoint(self, client): | CODE |
| LOW⚡ | integrations/fastapi/tests/test_integration.py | 201 | def test_scalar_uses_correct_openapi_url(self, client, app): | CODE |
| LOW⚡ | integrations/fastapi/tests/test_integration.py | 210 | def test_scalar_script_included(self, client): | CODE |
| LOW⚡ | integrations/fastapi/tests/test_integration.py | 218 | def test_scalar_configuration_script(self, client): | CODE |
| LOW | integrations/fastapi/tests/test_integration.py | 229 | def test_scalar_favicon_included(self, client): | CODE |
| LOW | integrations/fastapi/tests/test_integration.py | 244 | def test_multiple_scalar_endpoints(self, client): | CODE |
| LOW | integrations/fastapi/tests/test_integration.py | 283 | def test_layout_configuration(self, client): | CODE |
| LOW | integrations/fastapi/tests/test_integration.py | 313 | def test_sidebar_configuration(self, client): | CODE |
| LOW | integrations/fastapi/tests/test_integration.py | 326 | def test_dark_mode_configuration(self, client): | CODE |
| LOW | integrations/fastapi/tests/test_integration.py | 339 | def test_search_hotkey_configuration(self, client): | CODE |
| LOW | integrations/fastapi/tests/test_integration.py | 356 | def test_all_theme_values_work(self, client): | CODE |
| LOW | integrations/fastapi/tests/test_integration.py | 388 | def test_theme_with_complex_configuration(self, client): | CODE |
| LOW | integrations/django-ninja/tests/test_imports.py | 29 | def test_scalar_ninja_imports(): | CODE |
| LOW | integrations/django-ninja/tests/test_imports.py | 52 | def test_document_download_type_enum(): | CODE |
| LOW | integrations/django-ninja/tests/test_imports.py | 105 | def test_theme_enum_completeness(): | CODE |
| LOW | integrations/django-ninja/tests/test_imports.py | 137 | def test_theme_enum_uniqueness(): | CODE |
| LOW | integrations/django-ninja/tests/test_imports.py | 177 | def test_openapi_source_model(): | CODE |
| LOW⚡ | integrations/django-ninja/tests/test_integration.py | 76 | def test_scalar_viewer_instantiation(self, api): | CODE |
| LOW⚡ | integrations/django-ninja/tests/test_integration.py | 82 | def test_scalar_viewer_with_api(self, api, request_factory): | CODE |
| 112 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …025-04-06-how-we-extended-the-openapi-specification.md | 74 | client = mycompany_sdk.Client("YOUR_API_KEY") | CODE |
| HIGH⚡ | documentation/integrations/spring-boot.md | 281 | scalar.authentication.apiKey.your-api-key.name=X-API-Key | CODE |
| HIGH⚡ | documentation/integrations/spring-boot.md | 282 | scalar.authentication.apiKey.your-api-key.value=your-api-key-value | CODE |
| HIGH⚡ | documentation/integrations/spring-boot.md | 285 | scalar.authentication.preferredSecurityScheme=your-api-key | CODE |
| HIGH⚡ | documentation/integrations/spring-boot.md | 289 | # scalar.authentication.preferredSecuritySchemes[1]=your-api-key | COMMENT |
| HIGH | documentation/integrations/spring-boot.md | 313 | # scalar.authentication.preferredSecuritySchemes[1]=your-api-key | COMMENT |
| HIGH⚡ | documentation/integrations/spring-boot.md | 341 | # - your-api-key | COMMENT |
| HIGH⚡ | documentation/integrations/spring-boot.md | 345 | your-api-key: | CODE |
| HIGH⚡ | documentation/integrations/spring-boot.md | 347 | value: your-api-key-value | CODE |
| HIGH | …etCore.Playground/ApiKeyAuthenticationSchemeOptions.cs | 26 | if (apiKey != "your-api-key") | CODE |
| HIGH | …ore/playground/Scalar.AspNetCore.Playground/Program.cs | 30 | .AddApiKeyAuthentication(AuthConstants.ApiKeyScheme, scheme => scheme.Value = "your-api-key") | CODE |
| HIGH | …NetCore.Tests.Api/ApiKeyAuthenticationSchemeHandler.cs | 26 | if (apiKey != "your-api-key") | CODE |
| HIGH | …e/tests/Scalar.AspNetCore.Tests/ScalarEndpointTests.cs | 231 | client.DefaultRequestHeaders.Add("X-Api-Key", "your-api-key"); | STRING |
| HIGH | integrations/dotnet/aspnetcore/docs/authentication.md | 313 | apiKey.Value = "your-api-key"; | CODE |
| HIGH | integrations/dotnet/aspnetcore/docs/authentication.md | 334 | apiKey.Value = "your-api-key"; | CODE |
| HIGH | …hared.Tests/Extensions/ScalarOptionsExtensionsTests.cs | 356 | header.Value = "your-api-key"; | CODE |
| HIGH | …hared.Tests/Extensions/ScalarOptionsExtensionsTests.cs | 366 | apiKeyScheme.Value.Should().Be("your-api-key"); | CODE |
| HIGH | …ck-server/src/utils/log-authentication-instructions.ts | 69 | log(' Authorization: Bearer YOUR_TOKEN_HERE') | CODE |
| HIGH | …rver/src/utils/log-authentication-instructions.test.ts | 27 | expect(log).toHaveBeenCalledWith(' Authorization: Bearer YOUR_TOKEN_HERE') | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …entation/learn/mcp/generate-mcp-server-from-openapi.md | 55 | ### Step 1: pick the operation | COMMENT |
| LOW | …entation/learn/mcp/generate-mcp-server-from-openapi.md | 83 | ### Step 2: install the SDK | COMMENT |
| LOW | …entation/learn/mcp/generate-mcp-server-from-openapi.md | 93 | ### Step 3: write the server | COMMENT |
| LOW | …entation/learn/mcp/generate-mcp-server-from-openapi.md | 157 | ### Step 4: connect a client | COMMENT |
| LOW | …entation/learn/mcp/generate-mcp-server-from-openapi.md | 181 | ### Step 5: serve it over HTTP instead | COMMENT |
| LOW | documentation/learn/mcp/mcp-oauth.md | 69 | ### Step 1: the client calls the server and gets a 401 | COMMENT |
| LOW | documentation/learn/mcp/mcp-oauth.md | 81 | ### Step 2: the client reads the protected resource metadata | COMMENT |
| LOW⚡ | documentation/learn/mcp/mcp-oauth.md | 94 | ### Step 3: the client reads the authorization server metadata | COMMENT |
| LOW⚡ | documentation/learn/mcp/mcp-oauth.md | 100 | ### Step 4: the client gets a client ID | COMMENT |
| LOW⚡ | documentation/learn/mcp/mcp-oauth.md | 104 | ### Step 5: the user signs in | COMMENT |
| LOW | documentation/learn/mcp/mcp-oauth.md | 122 | ### Step 6: the redirect comes back and the client validates it | COMMENT |
| LOW | documentation/learn/mcp/mcp-oauth.md | 126 | ### Step 7: the client exchanges the code for a token | COMMENT |
| LOW | documentation/learn/mcp/mcp-oauth.md | 141 | ### Step 8: every MCP request carries the token | COMMENT |
| LOW | documentation/learn/mcp/build-mcp-server.md | 54 | ### Step 1: create the project | COMMENT |
| LOW | documentation/learn/mcp/build-mcp-server.md | 66 | ### Step 2: write the server | COMMENT |
| LOW | documentation/learn/mcp/build-mcp-server.md | 138 | ### Step 3: run it | COMMENT |
| LOW | documentation/learn/mcp/build-mcp-server.md | 150 | ### Step 1: create the project | COMMENT |
| LOW | documentation/learn/mcp/build-mcp-server.md | 160 | ### Step 2: write the server | COMMENT |
| LOW | documentation/learn/mcp/build-mcp-server.md | 214 | ### Step 3: run it | COMMENT |
| LOW | documentation/learn/sdk/generate-sdk-from-openapi.md | 39 | ## Step 1: Prepare the OpenAPI document | COMMENT |
| LOW | documentation/learn/sdk/generate-sdk-from-openapi.md | 159 | ## Step 2: Choose a generator | COMMENT |
| LOW | documentation/learn/sdk/generate-sdk-from-openapi.md | 183 | ## Step 3: Generate with an open-source CLI | COMMENT |
| LOW | documentation/learn/sdk/generate-sdk-from-openapi.md | 210 | ## Step 4: Generate with Scalar | COMMENT |
| LOW | documentation/learn/sdk/generate-sdk-from-openapi.md | 371 | ## Step 5: Publish to npm, PyPI, and Go modules | COMMENT |
| LOW | documentation/learn/sdk/generate-sdk-from-openapi.md | 405 | ## Step 6: Regenerate from CI | COMMENT |
| LOW | documentation/integrations/java.md | 22 | ### Step 1: Update Dependencies | COMMENT |
| LOW | documentation/integrations/java.md | 50 | ### Step 2: Configuration | COMMENT |
| LOW | documentation/integrations/java.md | 54 | ### Step 3: Custom Controllers (if applicable) | COMMENT |
| LOW | …entation/integrations/aspnetcore/legacy-integration.md | 10 | ## Step 1: Enable OpenAPI support in your project | COMMENT |
| LOW | …entation/integrations/aspnetcore/legacy-integration.md | 44 | ## Step 2: Create the directory structure | COMMENT |
| LOW | …entation/integrations/aspnetcore/legacy-integration.md | 55 | ## Step 3: Create the HTML file for Scalar | COMMENT |
| LOW | …entation/integrations/aspnetcore/legacy-integration.md | 76 | ## Step 4: Create the configuration file | COMMENT |
| LOW | …entation/integrations/aspnetcore/legacy-integration.md | 88 | ## Step 5: Accessing your API Reference | COMMENT |
| LOW⚡ | documentation/migration/stainless.md | 34 | ## Step 1: Export your OpenAPI document | COMMENT |
| LOW⚡ | documentation/migration/stainless.md | 40 | ## Step 2: Take your `stainless.yml` | COMMENT |
| LOW⚡ | documentation/migration/stainless.md | 44 | ## Step 3: Import into Scalar | COMMENT |
| LOW⚡ | documentation/migration/stainless.md | 50 | ## Step 4: Verify before you publish | COMMENT |
| LOW | documentation/migration/stainless.md | 62 | ## Step 5: Publish from your own repository | COMMENT |
| LOW | documentation/migration/zuplo.md | 139 | ### Step 1: Export OpenAPI from Zuplo | COMMENT |
| LOW | documentation/migration/zuplo.md | 153 | ### Step 2: Create a Scalar Account | COMMENT |
| LOW | documentation/migration/zuplo.md | 157 | ### Step 3: Upload OpenAPI Document | COMMENT |
| LOW | documentation/migration/zuplo.md | 168 | ### Step 4: Set Up Scalar Config | COMMENT |
| LOW | documentation/migration/zuplo.md | 199 | ### Step 5: Migrate Custom Styling | COMMENT |
| LOW | documentation/migration/stoplight.md | 56 | ## Step 1: Create a free Scalar account | COMMENT |
| LOW | documentation/migration/stoplight.md | 60 | ## Step 2: Introduce your OpenAPI to Scalar | COMMENT |
| LOW | documentation/migration/stoplight.md | 90 | ## Step 3: Scalar Config | COMMENT |
| LOW | documentation/migration/stoplight.md | 212 | ## Step 4: Review The New Documentation | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | documentation/guides/app/testing.md | 282 | pm.response.to.not.have.status(404) | CODE |
| CRITICAL | integrations/nuxt/src/module.ts | 53 | _nuxt.options.imports.transform.exclude.push(/scalar/) | CODE |
| CRITICAL | …scalar-address-bar-block/components/AddressBar.test.ts | 504 | expect(codeInput.vm.codeMirror.state.doc.toString()).toBe('') | CODE |
| CRITICAL | …scalar-address-bar-block/components/AddressBar.test.ts | 550 | expect(codeInput.vm.codeMirror.state.doc.toString()).toBe('/users') | CODE |
| CRITICAL | …scalar-address-bar-block/components/AddressBar.test.ts | 662 | expect(codeInput.vm.codeMirror.state.doc.toString()).toBe(pastedUrl) | CODE |
| CRITICAL | …scalar-address-bar-block/components/AddressBar.test.ts | 716 | expect(codeInput.vm.codeMirror.state.doc.toString()).toBe('') | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | documentation/alternatives/redoc.md | 25 | | Tool | License | Send requests from the docs | Auto-generated code samples | Layout | Best for | | CODE |
| HIGH | …ain/java/com/scalar/maven/core/enums/ScalarTarget.java | 3 | // This code was generated by the Scalar Java enum generator. | COMMENT |
| HIGH | …ain/java/com/scalar/maven/core/enums/ScalarClient.java | 3 | // This code was generated by the Scalar Java enum generator. | COMMENT |
| HIGH | …ared/src/Scalar.Shared/Enums/ScalarTarget.Generated.cs | 3 | // This code was generated by the Scalar .NET enum generator. | COMMENT |
| HIGH | …ared/src/Scalar.Shared/Enums/ScalarClient.Generated.cs | 3 | // This code was generated by the Scalar .NET enum generator. | COMMENT |
| HIGH | …/Scalar.Shared/Mapper/ScalarOptionsMapper.Generated.cs | 3 | // This code was generated by the Scalar .NET enum generator. | COMMENT |
| HIGH | packages/snippetz/scripts/generate-java-enums.ts | 267 | // This code was generated by the Scalar Java enum generator. | COMMENT |
| HIGH | packages/snippetz/scripts/generate-dotnet-enums.ts | 295 | // This code was generated by the Scalar .NET enum generator. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | documentation/asyncapi.md | 223 | ## Mocking an event-driven API | COMMENT |
| MEDIUM | documentation/learn/api-management/api-governance.md | 19 | - [AsyncAPI and event-driven APIs](#asyncapi-and-event-driven-apis) | CODE |
| MEDIUM | documentation/learn/api-management/api-governance.md | 248 | ## AsyncAPI and event-driven APIs | COMMENT |
| MEDIUM | documentation/learn/mcp/what-is-mcp.md | 41 | Anthropic [introduced MCP in November 2024](https://www.anthropic.com/news/model-context-protocol) as an open standard, | CODE |
| MEDIUM | documentation/learn/mcp/mcp-vs-function-calling.md | 233 | ## The context window problem | COMMENT |
| MEDIUM | documentation/changelog/sdk-generator/index.md | 733 | - C# SDKs now include repository scaffolding (`.editorconfig`, devcontainer, contribution guidelines). | CODE |
| MEDIUM | documentation/blog/2026-03-05-agent-scalar.md | 5 | # Your API? 0.2% of your context window | COMMENT |
| MEDIUM | …26-10-01-migrating-off-stainless-week-one-checklist.md | 135 | ## Day 5: Put guardrails on the API and tell your team | COMMENT |
| MEDIUM | documentation/compare/openapi-generator.md | 131 | **OpenAPI Generator customises by template.** Each generator is a set of Mustache templates. You extract them with `open | CODE |
| MEDIUM | projects/galaxy-scalar-com/CHANGELOG.md | 35 | - [#9628](https://github.com/scalar/scalar/pull/9628): Add the Scalar Galaxy AsyncAPI document as a source on galaxy.sca | CODE |
| MEDIUM | packages/mock-server/CHANGELOG.md | 276 | - [#9572](https://github.com/scalar/scalar/pull/9572): Add `createAsyncApiMockServer` to mock event-driven APIs from an | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | integrations/fastapi/run_tests.py | 25 | CODE | |
| LOW | integrations/fastapi/scalar_fastapi/__init__.py | 1 | CODE | |
| LOW | integrations/fastapi/scalar_fastapi/__init__.py | 1 | CODE | |
| LOW | integrations/fastapi/scalar_fastapi/__init__.py | 1 | CODE | |
| LOW | integrations/fastapi/scalar_fastapi/__init__.py | 1 | CODE | |
| LOW | integrations/fastapi/scalar_fastapi/__init__.py | 1 | CODE | |
| LOW | integrations/fastapi/scalar_fastapi/__init__.py | 1 | CODE | |
| LOW | integrations/fastapi/scalar_fastapi/__init__.py | 1 | CODE | |
| LOW | integrations/fastapi/scalar_fastapi/__init__.py | 1 | CODE | |
| LOW | integrations/fastapi/scalar_fastapi/scalar_fastapi.py | 1 | CODE | |
| LOW | integrations/fastapi/tests/test_imports.py | 66 | CODE | |
| LOW | integrations/django-ninja/run_tests.py | 32 | CODE | |
| LOW | integrations/django-ninja/scalar_ninja/__init__.py | 1 | CODE | |
| LOW | integrations/django-ninja/scalar_ninja/__init__.py | 1 | CODE | |
| LOW | integrations/django-ninja/scalar_ninja/__init__.py | 1 | CODE | |
| LOW | integrations/django-ninja/scalar_ninja/__init__.py | 1 | CODE | |
| LOW | integrations/django-ninja/scalar_ninja/__init__.py | 1 | CODE | |
| LOW | integrations/django-ninja/scalar_ninja/__init__.py | 1 | CODE | |
| LOW | integrations/django-ninja/scalar_ninja/__init__.py | 1 | CODE | |
| LOW | integrations/django-ninja/scalar_ninja/__init__.py | 1 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | integrations/django-ninja/tests/test_integration.py | 88 | # Create a mock request | COMMENT |
| MEDIUM | packages/highlight/test/samples.ts | 1950 | ### Create a customer | STRING |
| MEDIUM | packages/highlight/src/langs/http.test.ts | 58 | ### Create a customer | COMMENT |
| MEDIUM | packages/highlight/src/langs/http.test.ts | 220 | const between = '# Get the user\nGET /users/1 HTTP/1.1\n\n# Create a user\nPOST /users HTTP/1.1\n' | CODE |
| MEDIUM | packages/highlight/src/langs/http.test.ts | 222 | assertHas(between, 'http', '# Create a user', 'comment') | CODE |
| MEDIUM | …-markdown/src/create-openapi-markdown-renderer.test.ts | 747 | expect(operation.startsWith('# Create a message\n')).toBe(true) | CODE |
| MEDIUM | .github/workflows/publish-integrations.yml | 577 | # Create an account on Sonatype and add the credentials to the repository secrets. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | integrations/fastapi/tests/test_scalar_fastapi.py | 0 | test that the configuration script is properly generated | STRING |
| HIGH | integrations/fastapi/tests/test_integration.py | 0 | test that the configuration script is properly generated | STRING |
| HIGH | integrations/django-ninja/tests/test_integration.py | 0 | test that the configuration script is properly generated | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …ests/openapi3-examples/3.0/fail/invalidSchemaName.json | 20 | "description": "This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io] | CODE |
| MEDIUM | …or/tests/openapi3-examples/3.0/fail/invalidSchema.json | 20 | "description": "This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io] | CODE |
| MEDIUM | …/tests/openapi3-examples/3.0/fail/hasFlowNotFlows.json | 20 | "description": "This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io] | CODE |
| MEDIUM | …tests/openapi3-examples/3.0/fail/incorrectSecType.json | 20 | "description": "This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io] | CODE |
| MEDIUM | …ests/openapi3-examples/3.0/fail/openapi-vue/edit1.json | 4 | "description": "This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io] | CODE |
| MEDIUM | …ts/openapi3-examples/3.0/fail/openapi-vue/openapi.json | 4 | "description": "This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io] | CODE |
| MEDIUM | …penapi3-examples/3.0/pass/swagger2openapi/openapi.json | 20 | "description": "This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io] | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …/electron/helpers/custom-fetch/to-web-response.test.ts | 204 | // must be robust against it to avoid a TypeError from the Response constructor. | COMMENT |
| MEDIUM | …ckages/api-reference/public/examples/long-strings.yaml | 11 | ### Even Longer Heading Level Three That Definitely Needs Wrapping | COMMENT |
| MEDIUM | …ckages/api-reference/public/examples/long-strings.yaml | 194 | ### Even Longer Subheading That Definitely Needs Wrapping | COMMENT |
| MEDIUM | …ckages/api-reference/public/examples/long-strings.yaml | 210 | $ref: '#/components/headers/X-Really-Extremely-Long-Header-Name-That-Definitely-Needs-Wrapping' | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tooling/scripts/bash/pack.sh | 6 | # Check if directory | COMMENT |
| LOW | integrations/docker/scan-documents.sh | 17 | # Check if mount directory exists | COMMENT |
| LOW | integrations/docker/start.sh | 6 | # Check if configuration was generated | COMMENT |
| LOW | integrations/fastapi/run_tests.py | 23 | # Check if pytest is available | COMMENT |
| LOW | integrations/django-ninja/run_tests.py | 30 | # Check if pytest is available | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | packages/validation/src/validate.test.ts | 560 | // TODO: implement this | COMMENT |
| LOW | packages/validation/src/coerce.ts | 138 | // TODO: implement smarter scoring for records | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | integrations/fastapi/scalar_fastapi/__init__.py | 12 | __all__ = [ | CODE |
| LOW | integrations/django-ninja/scalar_ninja/__init__.py | 12 | __all__ = [ | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | integrations/fastapi/scalar_fastapi/scalar_fastapi.py | 222 | CODE |