Opensource IDE For Exploring and Testing API's (lightweight alternative to Postman/Insomnia)
This report presents the forensic synthetic code analysis of usebruno/bruno, a JavaScript project with 45,597 GitHub stars. SynthScan v2.0 examined 390,568 lines of code across 2559 source files, recording 244 pattern matches distributed across 11 syntactic categories. The overall adjusted score of 2.4 places this repository in the Likely human-written band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 244 distinct pattern matches across 11 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | …p/src/providers/ReduxStore/slices/collections/index.js | 1539 | item.draft.request.body.formUrlEncoded.push({ | CODE |
| CRITICAL | …p/src/providers/ReduxStore/slices/collections/index.js | 1636 | item.draft.request.body.multipartForm.push({ | CODE |
| CRITICAL | …p/src/providers/ReduxStore/slices/collections/index.js | 1739 | const shouldSelectNewFile = !item.draft.request.body.file.some((p) => p.selected); | CODE |
| CRITICAL | …p/src/providers/ReduxStore/slices/collections/index.js | 1741 | item.draft.request.body.file.push({ | CODE |
| CRITICAL | …p/src/providers/ReduxStore/slices/collections/index.js | 1774 | item.draft.request.body.file = item.draft.request.body.file.map((p) => { | CODE |
| CRITICAL | …p/src/providers/ReduxStore/slices/collections/index.js | 2108 | item.draft.request.vars.req.push({ | CODE |
| CRITICAL | …p/src/providers/ReduxStore/slices/collections/index.js | 2118 | item.draft.request.vars.res.push({ | CODE |
| CRITICAL | …p/src/providers/ReduxStore/slices/collections/index.js | 2179 | item.draft.request.vars.req = item.draft.request.vars.req.filter((v) => v.uid !== action.payload.varUid); | CODE |
| CRITICAL | …p/src/providers/ReduxStore/slices/collections/index.js | 2183 | item.draft.request.vars.res = item.draft.request.vars.res.filter((v) => v.uid !== action.payload.varUid); | CODE |
| CRITICAL | …kages/bruno-app/src/utils/codemirror/linkAware.spec.js | 192 | const keydownHandler = global.window.addEventListener.mock.calls.find((call) => call[0] === 'keydown')[1]; | CODE |
| CRITICAL | …kages/bruno-app/src/utils/codemirror/linkAware.spec.js | 204 | const keyupHandler = global.window.addEventListener.mock.calls.find((call) => call[0] === 'keyup')[1]; | CODE |
| CRITICAL | …ckages/bruno-cli/tests/utils/persist-variables.spec.js | 320 | expect(collection.root.request.vars.req.map((v) => v.name).sort()).toEqual(['k1', 'k2']); | CODE |
| CRITICAL | …ckages/bruno-cli/tests/utils/persist-variables.spec.js | 491 | const countVar = collection.root.request.vars.req.find((v) => v.name === 'count'); | CODE |
| CRITICAL | …ckages/bruno-cli/tests/utils/persist-variables.spec.js | 492 | const flagVar = collection.root.request.vars.req.find((v) => v.name === 'flag'); | CODE |
| CRITICAL⚡ | …postman-translations/transpiler-tests/response.test.js | 705 | const code = 'pm.response.to.not.have.jsonBody();'; | CODE |
| CRITICAL⚡ | …postman-translations/transpiler-tests/response.test.js | 711 | const code = 'pm.response.to.not.have.jsonBody("error");'; | CODE |
| CRITICAL⚡ | …postman-translations/transpiler-tests/response.test.js | 717 | const code = 'pm.response.to.not.have.jsonBody("status", "error");'; | CODE |
| CRITICAL⚡ | …postman-translations/transpiler-tests/response.test.js | 723 | const code = 'pm.response.to.not.have.jsonBody({ error: true });'; | CODE |
| CRITICAL⚡ | …postman-translations/transpiler-tests/response.test.js | 774 | const code = 'pm.response.to.not.have.jsonSchema(schema);'; | CODE |
| CRITICAL⚡ | …postman-translations/transpiler-tests/response.test.js | 780 | const code = 'pm.response.not.to.have.jsonSchema(schema);'; | CODE |
| CRITICAL⚡ | …postman-translations/transpiler-tests/response.test.js | 786 | const code = 'pm.response.to.have.not.jsonSchema(schema);'; | CODE |
| CRITICAL⚡ | …postman-translations/transpiler-tests/response.test.js | 792 | const code = 'pm.response.to.not.have.jsonSchema(schema, options);'; | CODE |
| CRITICAL⚡ | …postman-translations/transpiler-tests/response.test.js | 800 | pm.response.to.not.have.jsonSchema(schema); | CODE |
| CRITICAL⚡ | …postman-translations/transpiler-tests/response.test.js | 822 | const code = 'pm.response.not.to.have.jsonBody();'; | CODE |
| CRITICAL⚡ | …postman-translations/transpiler-tests/response.test.js | 828 | const code = 'pm.response.not.to.have.jsonBody("error");'; | CODE |
| CRITICAL⚡ | …postman-translations/transpiler-tests/response.test.js | 834 | const code = 'pm.response.not.to.have.jsonBody("status", "error");'; | CODE |
| CRITICAL⚡ | …postman-translations/transpiler-tests/response.test.js | 842 | const code = 'pm.response.to.have.not.jsonBody();'; | CODE |
| CRITICAL⚡ | …postman-translations/transpiler-tests/response.test.js | 848 | const code = 'pm.response.to.have.not.jsonBody("error");'; | CODE |
| CRITICAL⚡ | …postman-translations/transpiler-tests/response.test.js | 854 | const code = 'pm.response.to.have.not.jsonBody("status", "error");'; | CODE |
| CRITICAL⚡ | …postman-translations/transpiler-tests/response.test.js | 1135 | const code = 'pm.response.to.not.have.status(404);'; | CODE |
| CRITICAL⚡ | …postman-translations/transpiler-tests/response.test.js | 1141 | const code = 'pm.response.to.not.have.header("X-Error");'; | CODE |
| CRITICAL⚡ | …postman-translations/transpiler-tests/response.test.js | 1147 | const code = 'pm.response.to.not.have.header("Content-Type", "text/plain");'; | CODE |
| CRITICAL⚡ | …postman-translations/transpiler-tests/response.test.js | 1153 | const code = 'pm.response.to.not.have.body("error");'; | CODE |
| CRITICAL⚡ | …postman-translations/transpiler-tests/response.test.js | 1161 | const code = 'pm.response.to.have.not.status(404);'; | CODE |
| CRITICAL⚡ | …postman-translations/transpiler-tests/response.test.js | 1167 | const code = 'pm.response.to.have.not.header("X-Error");'; | CODE |
| CRITICAL⚡ | …postman-translations/transpiler-tests/response.test.js | 1173 | const code = 'pm.response.to.have.not.body("error");'; | CODE |
| CRITICAL⚡ | …postman-translations/transpiler-tests/response.test.js | 1181 | pm.response.to.not.have.status(500); | CODE |
| CRITICAL⚡ | …postman-translations/transpiler-tests/response.test.js | 1182 | pm.response.to.not.have.header("X-Error"); | CODE |
| CRITICAL⚡ | …postman-translations/transpiler-tests/response.test.js | 1183 | pm.response.to.not.have.body("error"); | CODE |
| CRITICAL | …no-converters/src/utils/postman-to-bruno-translator.js | 424 | // pm.response.to.not.have.jsonBody(...) -> expect(res.getBody()).to.not.have.jsonBody(...) | COMMENT |
| CRITICAL | …no-converters/src/utils/postman-to-bruno-translator.js | 455 | // pm.response.to.not.have.jsonSchema(schema, options?) -> expect(res.getBody()).to.not.have.jsonSchema(schema, option | COMMENT |
| CRITICAL | …no-converters/src/utils/postman-to-bruno-translator.js | 472 | // pm.response.not.to.have.jsonSchema(schema, options?) -> expect(res.getBody()).not.to.have.jsonSchema(schema, option | COMMENT |
| CRITICAL | …no-converters/src/utils/postman-to-bruno-translator.js | 489 | // pm.response.to.have.not.jsonSchema(schema, options?) -> expect(res.getBody()).to.have.not.jsonSchema(schema, option | COMMENT |
| CRITICAL | …no-converters/src/utils/postman-to-bruno-translator.js | 506 | // pm.response.not.to.have.jsonBody(...) -> expect(res.getBody()).not.to.have.jsonBody(...) | COMMENT |
| CRITICAL | …no-converters/src/utils/postman-to-bruno-translator.js | 520 | // pm.response.to.have.not.jsonBody(...) -> expect(res.getBody()).to.have.not.jsonBody(...) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/snapshots/basic.spec.ts | 61 | // ─── Tab Persistence ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/snapshots/basic.spec.ts | 217 | // ─── Workspace State ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/snapshots/basic.spec.ts | 429 | // ─── Collection State ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/snapshots/basic.spec.ts | 467 | // ─── Multi-Workspace Tab Isolation ────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/snapshots/basic.spec.ts | 637 | // ─── DevTools State ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/snapshots/basic.spec.ts | 678 | // ─── Edge Cases ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/snapshots/basic.spec.ts | 716 | // ─── Snapshot File Structure ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/bruno-tests/src/auth/oauth1/index.js | 5 | // ─── Known Test Credentials ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/bruno-tests/src/auth/oauth1/index.js | 68 | // ─── RFC 5849 Helpers ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/bruno-tests/src/auth/oauth1/index.js | 275 | // ─── OAuth 1.0 Signature Verification Middleware ──────────────────────────────── | COMMENT |
| MEDIUM | packages/bruno-tests/src/auth/oauth1/index.js | 354 | // ─── Routes ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/bruno-js/tests/cookie-list.spec.js | 21 | // ── Inheritance ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/bruno-js/tests/cookie-list.spec.js | 59 | // ── Read methods with no URL ─────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/bruno-js/tests/cookie-list.spec.js | 85 | // ── Write methods (cookie jar delegation) ────────────────────────────── | COMMENT |
| MEDIUM | packages/bruno-js/tests/cookie-list.spec.js | 254 | // ── jar() ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/bruno-js/tests/readonly-property-list.spec.js | 4 | // ── Static Mode ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/bruno-js/tests/readonly-property-list.spec.js | 151 | // ── Dynamic Mode ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/bruno-js/tests/readonly-property-list.spec.js | 173 | // ── No Mutation Methods ────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/bruno-js/tests/readonly-property-list.spec.js | 187 | // ── Edge Cases ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/bruno-js/tests/readonly-property-list.spec.js | 210 | // ── Static Methods ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/bruno-js/tests/header-list.spec.js | 19 | // ── Inheritance ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/bruno-js/tests/header-list.spec.js | 32 | // ── Blocked inherited methods ───────────────────────────────────────── | COMMENT |
| MEDIUM | packages/bruno-js/tests/header-list.spec.js | 47 | // ── Read methods ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/bruno-js/tests/header-list.spec.js | 106 | // ── Search methods ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/bruno-js/tests/header-list.spec.js | 153 | // ── Iteration methods ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/bruno-js/tests/header-list.spec.js | 185 | // ── Transform methods ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/bruno-js/tests/header-list.spec.js | 260 | // ── Dynamic reads reflect external mutations ────────────────────────── | COMMENT |
| MEDIUM | packages/bruno-js/tests/header-list.spec.js | 287 | // ── Write methods ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/bruno-js/tests/header-list.spec.js | 577 | // ── req.headers is the raw headers object ───────────────────────────── | COMMENT |
| MEDIUM | packages/bruno-js/tests/header-list.spec.js | 595 | // ── Disabled headers ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/bruno-js/tests/header-list.spec.js | 680 | // ── Case-insensitive key lookups ──────────────────────────────────── | COMMENT |
| MEDIUM | packages/bruno-js/tests/header-list.spec.js | 731 | // ── Context parameter ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/bruno-js/tests/header-list.spec.js | 789 | // ── set() return values ──────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/bruno-js/tests/header-list.spec.js | 810 | // ── assimilate() prune semantics ────────────────────────────────────── | COMMENT |
| MEDIUM | packages/bruno-js/tests/header-list.spec.js | 838 | // ── Edge cases ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/bruno-js/tests/header-list.spec.js | 885 | // ── Inheritance ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/bruno-js/tests/header-list.spec.js | 899 | // ── Read methods ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/bruno-js/tests/header-list.spec.js | 940 | // ── Search methods ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/bruno-js/tests/header-list.spec.js | 968 | // ── Iteration methods ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/bruno-js/tests/header-list.spec.js | 994 | // ── Transform methods ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/bruno-js/tests/header-list.spec.js | 1013 | // ── res.headers is the raw headers object ───────────────────────────── | COMMENT |
| MEDIUM | packages/bruno-js/tests/header-list.spec.js | 1029 | // ── Edge cases ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/bruno-js/tests/property-list.spec.js | 5 | // ── Inheritance ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/bruno-js/tests/property-list.spec.js | 18 | // ── Static Mode Mutations ───────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/bruno-js/tests/property-list.spec.js | 203 | // ── Dynamic Mode ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/bruno-js/src/header-list.js | 127 | // ── Case-insensitive key helpers ────────────────────────────────────── | COMMENT |
| MEDIUM | packages/bruno-js/src/header-list.js | 153 | // ── Blocked inherited methods ───────────────────────────────────────── | COMMENT |
| MEDIUM | packages/bruno-js/src/header-list.js | 158 | // ── Read method overrides (case-insensitive) ────────────────────────── | COMMENT |
| MEDIUM | packages/bruno-js/src/header-list.js | 214 | // ── Iteration overrides (optional context binding) ───────────────── | COMMENT |
| MEDIUM | packages/bruno-js/src/header-list.js | 244 | // ── Write methods (direct request config manipulation) ──────────────── | COMMENT |
| MEDIUM | packages/bruno-js/src/header-list.js | 423 | // ── Transform overrides ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/bruno-js/src/cookie-list.js | 104 | // ── Write methods (cookie jar delegation) ───────────────────────────── | COMMENT |
| MEDIUM | packages/bruno-js/src/cookie-list.js | 200 | // ── Cookie-specific method ──────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/bruno-js/src/readonly-property-list.js | 19 | // ── Private fields (not accessible by subclasses) ──────────────────── | COMMENT |
| MEDIUM | packages/bruno-js/src/readonly-property-list.js | 53 | // ── Retrieval ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/bruno-js/src/readonly-property-list.js | 121 | // ── Search ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/bruno-js/src/readonly-property-list.js | 156 | // ── Iteration ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/bruno-js/src/readonly-property-list.js | 185 | // ── Transformation ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/bruno-js/src/property-list.js | 26 | // ── Mutation methods ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/bruno-js/src/property-list.js | 166 | // ── Internal helpers ────────────────────────────────────────────────── | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …s/multiline-variables/write-multiline-variable.spec.ts | 44 | "name": "John Doe", | CODE |
| LOW | …s/multiline-variables/write-multiline-variable.spec.ts | 73 | = '{\n "user": {\n "name": "John Doe",\n "email": "john@example.com",\n "preferences": {\n "theme": | CODE |
| LOW | …utils/tests/collections/examples-export-import.spec.js | 199 | body: '{"data": {"user": {"name": "John Doe"}}}' | CODE |
| LOW | …utils/tests/collections/examples-export-import.spec.js | 213 | expect(graphqlRequest.examples[0].response.body).toBe('{"data": {"user": {"name": "John Doe"}}}'); | CODE |
| LOW | packages/bruno-app/src/utils/url/index.spec.js | 520 | const params = [{ name: 'id', type: 'path', enabled: true, value: 'John Doe' }]; | CODE |
| LOW | packages/bruno-app/src/utils/url/index.spec.js | 581 | const params = [{ name: 'id', type: 'path', enabled: true, value: 'John Doe' }]; | CODE |
| LOW | packages/bruno-app/src/utils/curl/parse-curl.spec.js | 740 | curl --json '{"name": "John Doe", "email": "john@example.com"}' \ | CODE |
| LOW | packages/bruno-app/src/utils/curl/parse-curl.spec.js | 749 | data: '{"name": "John Doe", "email": "john@example.com"}', | CODE |
| LOW⚡ | …ges/bruno-app/src/utils/common/format-response.spec.js | 69 | description: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labor | CODE |
| LOW⚡ | …ges/bruno-app/src/utils/common/format-response.spec.js | 69 | description: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labor | CODE |
| LOW⚡ | …ges/bruno-app/src/utils/common/format-response.spec.js | 76 | expect(result).toBe('{"test":"value","description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed d | CODE |
| LOW⚡ | …ges/bruno-app/src/utils/common/format-response.spec.js | 76 | expect(result).toBe('{"test":"value","description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed d | CODE |
| LOW⚡ | …ges/bruno-app/src/utils/common/format-response.spec.js | 93 | const xmlData = '<root><item>value</item><description>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed | CODE |
| LOW⚡ | …ges/bruno-app/src/utils/common/format-response.spec.js | 93 | const xmlData = '<root><item>value</item><description>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed | CODE |
| LOW⚡ | …ges/bruno-app/src/utils/common/format-response.spec.js | 98 | expect(result).toContain('Lorem ipsum'); | CODE |
| LOW⚡ | …ges/bruno-app/src/utils/common/format-response.spec.js | 115 | description: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labor | CODE |
| LOW⚡ | …ges/bruno-app/src/utils/common/format-response.spec.js | 115 | description: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labor | CODE |
| LOW⚡ | …ges/bruno-app/src/utils/common/format-response.spec.js | 122 | expect(result).toContain('Lorem ipsum'); | CODE |
| LOW | …ges/bruno-app/src/components/SingleLineEditor/index.js | 204 | this.editor.setOption('placeholder', this.props.placeholder); | CODE |
| LOW | packages/bruno-app/src/themes/schema/oss.js | 211 | required: ['bg', 'border', 'focusBorder', 'placeholder'], | CODE |
| LOW | packages/bruno-app/src/themes/schema/oss.js | 729 | required: ['bg', 'border', 'placeholder', 'gutter', 'variable', 'tokens', 'searchLineHighlightCurrent', 'searchMat | CODE |
| LOW | packages/bruno-lang/v2/tests/bruToJson.spec.js | 256 | "name": "John Doe", | CODE |
| LOW | packages/bruno-lang/v2/tests/bruToJson.spec.js | 268 | { name: 'config', value: { name: 'John Doe', age: 30 }, enabled: true, local: false, annotations: [{ name: 'obje | STRING |
| LOW | packages/bruno-lang/v2/tests/bruToJson.spec.js | 301 | "name": "John Doe", | CODE |
| LOW | packages/bruno-lang/v2/tests/bruToJson.spec.js | 304 | "signature": "John Doe" | CODE |
| LOW | packages/bruno-lang/v2/tests/bruToJson.spec.js | 317 | value: { name: 'John Doe', age: 30, email: 'john.doe@example.com', signature: 'John Doe' }, | STRING |
| LOW | packages/bruno-lang/v2/tests/annotations.spec.js | 257 | @description('user@example.com') | CODE |
| LOW | packages/bruno-lang/v2/tests/annotations.spec.js | 262 | expect(output.headers[0].annotations).toEqual([{ name: 'description', value: 'user@example.com' }]); | CODE |
| LOW | …kages/bruno-tests/src/auth/oauth2/clientCredentials.js | 61 | return res.json({ resource: { name: 'foo', email: 'foo@bar.com' } }); | CODE |
| LOW | …kages/bruno-tests/src/auth/oauth2/authorizationCode.js | 162 | return res.json({ resource: { name: 'foo', email: 'foo@bar.com' } }); | CODE |
| LOW | …ges/bruno-tests/src/auth/oauth2/passwordCredentials.js | 40 | return res.json({ resource: { name: 'foo', email: 'foo@bar.com' } }); | CODE |
| LOW⚡ | packages/bruno-tests/src/graphql/index.js | 89 | name: 'John Doe', | CODE |
| LOW⚡ | packages/bruno-tests/src/graphql/index.js | 95 | { id: '1', name: 'John Doe', email: 'john@example.com', age: 30, posts: [] }, | CODE |
| LOW⚡ | packages/bruno-tests/src/graphql/index.js | 102 | author: { id: '1', name: 'John Doe', email: 'john@example.com', age: 30, posts: [] }, | CODE |
| LOW | packages/bruno-tests/src/graphql/index.js | 118 | name: input.name || 'John Doe', | CODE |
| LOW | packages/bruno-tests/src/graphql/index.js | 128 | author: { id: input.authorId, name: 'John Doe', email: 'john@example.com', age: 30, posts: [] }, | CODE |
| LOW | …kages/bruno-common/src/generate-code/har/index.spec.ts | 49 | params: [{ name: 'name', value: 'John Doe', type: 'query', enabled: true }], | CODE |
| LOW | …kages/bruno-common/src/generate-code/har/index.spec.ts | 61 | params: [{ name: 'name', value: 'John Doe', type: 'query', enabled: true }], | CODE |
| LOW | …kages/bruno-common/src/generate-code/har/index.spec.ts | 829 | { name: 'literal space', input: 'John Doe', expectedSegment: 'John%20Doe' }, | CODE |
| LOW | …kages/bruno-common/src/generate-code/har/index.spec.ts | 884 | { name: 'literal space', input: 'John Doe' }, | CODE |
| LOW | …kages/bruno-common/src/generate-code/har/index.spec.ts | 936 | params: [{ name: 'name', value: 'John Doe' }, { name: 'age', value: '25' }], | CODE |
| LOW | …kages/bruno-common/src/generate-code/har/index.spec.ts | 1216 | { name: 'name', value: 'John Doe', type: 'query', enabled: true }, | CODE |
| LOW | …kages/bruno-common/src/generate-code/har/index.spec.ts | 1231 | params: [{ name: 'name', value: 'John Doe', type: 'query', enabled: true }], | CODE |
| LOW | …s/tests/postman/bruno-to-postman-with-examples.spec.js | 60 | { id: 1, name: 'John Doe', email: 'john@example.com' }, | CODE |
| LOW | …s/tests/postman/bruno-to-postman-with-examples.spec.js | 207 | { id: 1, name: 'John Doe', email: 'john@example.com' }, | CODE |
| LOW | …s/tests/postman/bruno-to-postman-with-examples.spec.js | 454 | content: JSON.stringify({ id: 1, name: 'John Doe' }) | CODE |
| LOW | …converters/tests/openapi/openapi-with-examples.spec.js | 33 | { id: 1, name: 'John Doe', email: 'john@example.com' }, | CODE |
| LOW | …converters/tests/openapi/openapi-with-examples.spec.js | 65 | name: 'John Doe', | CODE |
| LOW | …converters/tests/openapi/openapi-with-examples.spec.js | 329 | name: 'John Doe' | CODE |
| LOW | …converters/tests/openapi/openapi-with-examples.spec.js | 346 | name: 'John Doe' | CODE |
| LOW | …converters/tests/openapi/openapi-with-examples.spec.js | 366 | name: 'John Doe', | CODE |
| LOW | …converters/tests/openapi/openapi-with-examples.spec.js | 371 | name: 'John Doe' | CODE |
| LOW | …converters/tests/openapi/openapi-with-examples.spec.js | 404 | name: 'John Doe' | CODE |
| LOW | …converters/tests/openapi/openapi-with-examples.spec.js | 446 | name: 'John Doe', | CODE |
| LOW | …converters/tests/openapi/openapi-with-examples.spec.js | 484 | name: 'John Doe' | CODE |
| LOW | …converters/tests/openapi/openapi-with-examples.spec.js | 515 | name: 'John Doe', | CODE |
| LOW | …converters/tests/openapi/openapi-with-examples.spec.js | 522 | name: 'John Doe', | CODE |
| LOW | …converters/tests/openapi/openapi-with-examples.spec.js | 550 | example: 'John Doe' | CODE |
| LOW | …converters/tests/openapi/openapi-with-examples.spec.js | 668 | name: 'John Doe' | CODE |
| LOW | …converters/tests/openapi/openapi-with-examples.spec.js | 704 | name: 'John Doe', | CODE |
| 4 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/variable-datatypes/parsed-from-fixture.spec.ts | 684 | // Step 1: change req_str's dataType in the UI (puts the request in draft state). | COMMENT |
| LOW⚡ | tests/variable-datatypes/parsed-from-fixture.spec.ts | 690 | // Step 2: save — the number dataType round-trips to disk in the fixture's format. | COMMENT |
| LOW⚡ | tests/variable-datatypes/parsed-from-fixture.spec.ts | 699 | // Step 3: execute. The runner reads the saved fixture, sees req_str is now a | COMMENT |
| LOW⚡ | tests/onboarding/welcome-modal.spec.ts | 80 | // Step 1: Welcome | COMMENT |
| LOW⚡ | tests/onboarding/welcome-modal.spec.ts | 84 | // Step 2: Theme selection | COMMENT |
| LOW⚡ | tests/onboarding/welcome-modal.spec.ts | 88 | // Step 3: Collection location | COMMENT |
| LOW⚡ | tests/onboarding/welcome-modal.spec.ts | 92 | // Step 4: Actions | COMMENT |
| LOW⚡ | …utils/tests/collections/examples-export-import.spec.js | 552 | // Step 1: Export transformation | COMMENT |
| LOW⚡ | …utils/tests/collections/examples-export-import.spec.js | 555 | // Step 2: Simulate export process (remove UIDs and transform types) | COMMENT |
| LOW⚡ | …utils/tests/collections/examples-export-import.spec.js | 560 | // Step 3: Simulate import process (transform types) | COMMENT |
| LOW | packages/bruno-electron/src/utils/git.js | 999 | // Step 1: Write all conflicted files' final state to disk | COMMENT |
| LOW⚡ | packages/bruno-electron/src/utils/git.js | 1012 | // Step 2: Stage the conflicted files | COMMENT |
| LOW⚡ | packages/bruno-electron/src/utils/git.js | 1017 | // Step 3: Write commit message to .git/MERGE_MSG | COMMENT |
| LOW⚡ | packages/bruno-electron/src/utils/git.js | 1021 | // Step 4: Call git merge --continue | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/variable-datatypes/parsed-from-fixture.spec.ts | 684 | // Step 1: change req_str's dataType in the UI (puts the request in draft state). | COMMENT |
| LOW⚡ | tests/variable-datatypes/parsed-from-fixture.spec.ts | 690 | // Step 2: save — the number dataType round-trips to disk in the fixture's format. | COMMENT |
| LOW⚡ | tests/variable-datatypes/parsed-from-fixture.spec.ts | 699 | // Step 3: execute. The runner reads the saved fixture, sees req_str is now a | COMMENT |
| LOW⚡ | tests/onboarding/welcome-modal.spec.ts | 80 | // Step 1: Welcome | COMMENT |
| LOW⚡ | tests/onboarding/welcome-modal.spec.ts | 84 | // Step 2: Theme selection | COMMENT |
| LOW⚡ | tests/onboarding/welcome-modal.spec.ts | 88 | // Step 3: Collection location | COMMENT |
| LOW⚡ | tests/onboarding/welcome-modal.spec.ts | 92 | // Step 4: Actions | COMMENT |
| LOW⚡ | …utils/tests/collections/examples-export-import.spec.js | 552 | // Step 1: Export transformation | COMMENT |
| LOW⚡ | …utils/tests/collections/examples-export-import.spec.js | 555 | // Step 2: Simulate export process (remove UIDs and transform types) | COMMENT |
| LOW⚡ | …utils/tests/collections/examples-export-import.spec.js | 560 | // Step 3: Simulate import process (transform types) | COMMENT |
| LOW | packages/bruno-electron/src/utils/git.js | 999 | // Step 1: Write all conflicted files' final state to disk | COMMENT |
| LOW⚡ | packages/bruno-electron/src/utils/git.js | 1012 | // Step 2: Stage the conflicted files | COMMENT |
| LOW⚡ | packages/bruno-electron/src/utils/git.js | 1017 | // Step 3: Write commit message to .git/MERGE_MSG | COMMENT |
| LOW⚡ | packages/bruno-electron/src/utils/git.js | 1021 | // Step 4: Call git merge --continue | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/proxy/system-pac/system-pac-proxy.spec.ts | 25 | function gnomeProxySchemaAvailable(): boolean { | CODE |
| LOW | tests/utils/page/mounting.ts | 255 | async function extractItemsFromContainer( | CODE |
| LOW | tests/onboarding/sample-collection.spec.ts | 12 | async function dismissWelcomeModalIfVisible(page: any) { | CODE |
| LOW | packages/bruno-requests/src/auth/digestauth-helper.js | 24 | function containsAuthorizationHeader(originalRequest) { | CODE |
| LOW | packages/bruno-requests/src/utils/agent-cache.ts | 207 | function getTimelineHttpAgentClass(BaseAgentClass: any): HttpAgentClass { | CODE |
| LOW | packages/bruno-requests/src/utils/agent-cache.ts | 230 | function getOrCreateAgentInternal<TOptions extends HttpAgentOptions>( | CODE |
| LOW | packages/bruno-requests/src/utils/agent-cache.ts | 311 | function getOrCreateHttpsAgent({ | CODE |
| LOW | packages/bruno-requests/src/utils/agent-cache.ts | 345 | function getOrCreateHttpAgent({ | CODE |
| LOW | …/slices/workspaces/getTabToFocusForCurrentWorkspace.js | 10 | export function getWorkspaceCollectionUids(state, workspace) { | CODE |
| LOW | …/slices/workspaces/getTabToFocusForCurrentWorkspace.js | 36 | export function getTabToFocusForCurrentWorkspace(state) { | CODE |
| LOW | packages/bruno-app/src/utils/codemirror/linkAware.js | 8 | function extendUrlWithBalancedParentheses(url, line, endIndex) { | CODE |
| LOW | …uno-app/src/components/RequestTabs/RequestTab/index.js | 719 | async function handleCloseTabsToTheRight() { | CODE |
| LOW | …src/hooks/usePersistedState/PersistedScopeProvider.tsx | 11 | export function ScopedPersistenceProvider({ scope, children }: { scope: string; children: ReactNode }) { | CODE |
| LOW | …kages/bruno-electron/src/utils/transformBrunoConfig.js | 5 | function transformBrunoConfigBeforeSave(brunoConfig) { | CODE |
| LOW | …kages/bruno-electron/src/utils/transformBrunoConfig.js | 45 | async function transformBrunoConfigAfterRead(brunoConfig, collectionPathname) { | CODE |
| LOW | packages/bruno-electron/src/utils/git.js | 623 | async function getChangedFilesInCollectionGit(_gitRootPath, _collectionPath) { | CODE |
| LOW | packages/bruno-electron/src/utils/parse.js | 10 | async function parseLargeRequestWithRedaction(bruContent, format = DEFAULT_COLLECTION_FORMAT) { | CODE |
| LOW | packages/bruno-js/src/sandbox/node-vm/console.js | 82 | function wrapConsoleWithSerializers(originalConsole) { | CODE |
| LOW | packages/bruno-converters/src/utils/ast-utils.js | 20 | export function getMemberExpressionString(node) { | CODE |
| LOW | packages/bruno-converters/src/utils/ast-utils.js | 65 | export function buildMemberExpressionFromString(str) { | CODE |
| LOW | …no-converters/src/utils/bruno-to-postman-translator.js | 497 | function processAllTransformations(ast) { | CODE |
| LOW | …no-converters/src/utils/bruno-to-postman-translator.js | 534 | function transformCookieJarMethods(ast) { | CODE |
| LOW | …no-converters/src/utils/postman-to-bruno-translator.js | 841 | function resolveVariableReferences(ast, symbolTable) { | CODE |
| LOW | …no-converters/src/utils/postman-to-bruno-translator.js | 919 | function removeResolvedDeclarations(ast, symbolTable) { | CODE |
| LOW | …no-converters/src/utils/postman-to-bruno-translator.js | 1023 | function processCookieJarVariables(ast) { | CODE |
| LOW | …no-converters/src/utils/postman-to-bruno-translator.js | 1075 | function handleTestsBracketNotation(ast) { | CODE |
| LOW | …no-converters/src/workers/postman-translator-worker.js | 96 | function calculateScriptComplexity([uid, entry]) { | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/codeeditor-state/fold-persistence.spec.ts | 521 | // times — each undo must remove the most-recent sentinel, in reverse order. | COMMENT |
| LOW | tests/utils/page/actions.ts | 121 | await inlineCreator.waitFor({ state: 'visible', timeout: 5000 }); | COMMENT |
| LOW | tests/request/generate-code/url-encoding-on.spec.ts | 341 | // and asserts the complete substituted URL appears in the snippet. | COMMENT |
| LOW | scripts/dev-hot-reload.js | 1 | #!/usr/bin/env node | COMMENT |
| LOW | …ges/bruno-app/src/components/Devtools/Console/index.js | 561 | // case 'debug': | COMMENT |
| LOW | packages/bruno-electron/src/utils/filesystem.js | 101 | } catch (err) { | COMMENT |
| LOW | packages/bruno-electron/src/utils/workspace-config.js | 41 | // if (fs.existsSync(workspaceFilePath)) { | COMMENT |
| LOW | …runo-electron/src/ipc/network/apply-collection-vars.js | 1 | const { uuid } = require('../../utils/common'); | COMMENT |
| LOW | packages/bruno-cli/docker/smoke-test.sh | 61 | # This test validates that bru can execute a collection end-to-end | COMMENT |
| LOW | …kages/bruno-common/src/generate-code/har/index.spec.ts | 861 | expect(har.url).toBe(`https://example.com/users/${expectedSegment}`); | COMMENT |
| LOW | packages/bruno-common/src/generate-code/har/index.ts | 581 | // those callers that don't want them resolved can pre-hash before calling | COMMENT |
| LOW | packages/bruno-common/src/utils/url/index.ts | 141 | // double-encoded. By decoding-then-encoding we collapse both cases (raw input | COMMENT |
| LOW | packages/bruno-common/src/utils/url/index.ts | 161 | // loss in the snippet, or asymmetric ON/OFF behavior). Since Bruno is an | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …tman-translations/transpiler-tests/environment.test.js | 123 | // Additional robust tests for environment variables | COMMENT |
| MEDIUM | …ranslations/transpiler-tests/testing-framework.test.js | 128 | // Additional robust tests for testing framework | COMMENT |
| MEDIUM | …nslations/transpiler-tests/legacy-tests-syntax.test.js | 104 | // Additional robust tests for legacy tests[] syntax | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | packages/bruno-app/src/hooks/useOnClickOutside/index.js | 27 | // It's worth noting that because passed in handler is a new ... | COMMENT |
| MEDIUM | packages/bruno-tests/src/auth/cookie.js | 22 | // For demonstration purposes, let's assume the user is authenticated. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | scripts/build-electron.sh | 9 | # Create a new web directory | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/dev-hot-reload.js | 9 | # Usage: | COMMENT |