Skip to content

chore: improve oxc#2572

Draft
vadyvas wants to merge 5 commits intomainfrom
chore/improve-oxc
Draft

chore: improve oxc#2572
vadyvas wants to merge 5 commits intomainfrom
chore/improve-oxc

Conversation

@vadyvas
Copy link
Contributor

@vadyvas vadyvas commented Feb 17, 2026

What/Why/How?

  • add npm run format to lint-staged
  • add experimentalSortImports to oxfmt (import order)
  • improve oxlint rules for import
  • add linting for **/__tests__/**

Reference

Testing

Screenshots (optional)

Check yourself

  • Code changed? - Tested with Redoc/Realm/Reunite (internal)
  • All new/updated code is covered by tests
  • New package installed? - Tested in different environments (browser/node)
  • Documentation update considered

Security

  • The security impact of the change has been considered
  • Code follows company security practices and guidelines

@changeset-bot
Copy link

changeset-bot bot commented Feb 17, 2026

⚠️ No Changeset found

Latest commit: 42cf569

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@vadyvas vadyvas changed the title Chore/improve oxc chore/improve oxc Feb 17, 2026
@github-actions
Copy link
Contributor

github-actions bot commented Feb 17, 2026

Coverage Report

Status Category Percentage Covered / Total
🔵 Lines 79.51% (🎯 79%) 6356 / 7993
🔵 Statements 78.95% (🎯 78%) 6567 / 8317
🔵 Functions 83.45% (🎯 83%) 1306 / 1565
🔵 Branches 71.07% (🎯 71%) 4322 / 6081
File Coverage
File Stmts Branches Functions Lines Uncovered Lines
Changed Files
packages/cli/src/types.ts 100% 100% 100% 100%
packages/cli/src/wrapper.ts 78.37% 44.11% 100% 77.77% 41, 59, 63, 81-88
packages/cli/src/auth/device-flow.ts 37.03% 33.33% 42.85% 37.03% 25-59, 111-161, 178
packages/cli/src/auth/oauth-client.ts 57.69% 37.5% 70% 57.69% 68-91, 100-113, 134-140
packages/cli/src/commands/auth.ts 0% 0% 0% 0% 15-48
packages/cli/src/commands/bundle.ts 87.8% 76.66% 100% 87.8% 121-125, 132-136, 154
packages/cli/src/commands/eject.ts 0% 0% 0% 0% 15-41
packages/cli/src/commands/generate-arazzo.ts 100% 100% 100% 100%
packages/cli/src/commands/join.ts 69.1% 59.17% 71.42% 70.09% 139, 147-156, 178, 220, 234, 249, 273, 278, 289-293, 298-299, 305, 344, 350, 359-363, 427-428, 435, 446-449, 461, 473-484, 503, 554-557, 559-572, 616-646, 660, 661, 671-682, 690-739, 761-773, 780, 782-784, 786, 788-792
packages/cli/src/commands/lint.ts 76% 50% 50% 76% 79-81, 134-163
packages/cli/src/commands/stats.ts 0% 0% 0% 0% 21-136
packages/cli/src/commands/translations.ts 0% 100% 0% 0% 13-31
packages/cli/src/commands/build-docs/index.ts 94.11% 50% 100% 94.11% 57
packages/cli/src/commands/build-docs/utils.ts 55.17% 32.25% 83.33% 57.14% 27-48, 110
packages/cli/src/commands/preview-project/index.ts 0% 0% 0% 0% 11-71
packages/cli/src/commands/respect/connection-client.ts 53.57% 53.84% 50% 53.57% 64-100
packages/cli/src/commands/respect/display-files-summary-table.ts 0% 0% 0% 0% 19-97
packages/cli/src/commands/respect/index.ts 48.93% 37.5% 75% 46.66% 57, 62-63, 82-87, 97, 101, 105, 110-112, 126-136, 141-150, 155-158
packages/cli/src/commands/respect/json-logs.ts 0% 0% 0% 0% 23-124
packages/cli/src/commands/respect/har-logs/with-har.ts 4.47% 0% 0% 4.61% 30-235
packages/cli/src/commands/scorecard-classic/index.ts 0% 0% 0% 0% 21-129
packages/cli/src/commands/scorecard-classic/auth/login-handler.ts 100% 88.88% 100% 100%
packages/cli/src/commands/scorecard-classic/remote/fetch-scorecard.ts 80.3% 75.92% 100% 80.3% 58-61, 71-74, 128-129, 161, 168-171
packages/cli/src/commands/scorecard-classic/validation/plugin-evaluator.ts 83.33% 73.68% 100% 82.75% 16, 58-61
packages/cli/src/commands/scorecard-classic/validation/validate-scorecard.ts 97.22% 88.88% 100% 97.05% 38-40
packages/cli/src/commands/split/index.ts 65.8% 45.79% 85.18% 69.17% 110, 117, 122, 125, 127-129, 134, 137-154, 173, 175-195, 206-230, 286, 302, 309, 318, 384-388
packages/cli/src/reunite/api/api-client.ts 69.09% 50.84% 81.25% 68.8% 52-62, 96, 147, 186, 204, 207, 210, 213, 216, 227, 249-317, 396-400
packages/cli/src/reunite/commands/push-status.ts 92.85% 78.26% 100% 92.85% 136-140, 211, 287, 308-310
packages/cli/src/reunite/commands/push.ts 89.83% 72.22% 100% 89.47% 52-54, 116-131, 134-141, 159, 188
packages/cli/src/reunite/commands/utils.ts 100% 84.61% 100% 100%
packages/cli/src/utils/fetch-with-timeout.ts 100% 100% 100% 100%
packages/cli/src/utils/miscellaneous.ts 61.21% 55.46% 78.04% 60.49% 60, 125, 182-232, 258-259, 269-270, 285, 289, 292, 298, 302-305, 313-346, 357, 382, 391, 399-437, 527, 536
packages/cli/src/utils/network-check.ts 0% 0% 0% 0% 5-10
packages/cli/src/utils/otel.ts 0% 0% 0% 0% 15-77
packages/cli/src/utils/read-env-variables.ts 100% 100% 100% 100%
packages/cli/src/utils/spinner.ts 95.23% 75% 100% 95.23% 26
packages/cli/src/utils/telemetry.ts 76.1% 69.23% 84.61% 76.57% 42-118, 172, 208, 221-222, 266, 297, 302
packages/cli/src/utils/update-version-notifier.ts 0% 0% 0% 0% 14-116
packages/core/src/detect-spec.ts 97.56% 96.77% 100% 97.56% 37
packages/core/src/lint-entity.ts 96.55% 80% 100% 96.49% 175, 179-181
packages/core/src/lint.ts 91.66% 84.21% 100% 91.42% 106-117, 140
packages/core/src/logger.ts 95% 80% 100% 95% 49
packages/core/src/oas-types.ts 100% 100% 100% 100%
packages/core/src/ref-utils.ts 90% 97.72% 94.73% 91.89% 10, 54, 78-79
packages/core/src/resolve.ts 96.38% 95.83% 100% 96.27% 88, 280, 429-430, 442-443
packages/core/src/visitors.ts 92.94% 90.12% 90% 92.5% 555, 592, 595, 616, 648, 662
packages/core/src/walk.ts 99.31% 97.7% 100% 99.28% 149-152
packages/core/src/bundle/bundle-document.ts 84.21% 90.9% 66.66% 88.88% 73, 92-103
packages/core/src/bundle/bundle-oas.ts 78.94% 75% 100% 78.94% 35, 52-55
packages/core/src/bundle/bundle-visitor.ts 68.59% 63.84% 100% 68.59% 24, 28-36, 43-51, 58, 67, 75, 80-101, 166-178, 195-196, 209-210, 247
packages/core/src/bundle/bundle.ts 94.73% 86.66% 100% 94.73% 89
packages/core/src/config/builtIn.ts 100% 100% 100% 100%
packages/core/src/config/bundle-extends.ts 90.9% 83.33% 100% 90.9% 33
packages/core/src/config/config-resolvers.ts 76.1% 60.89% 93.33% 76.92% 65, 68, 88-91, 141, 182, 248, 259, 268, 281, 291, 294-298, 303-312, 335-337, 347, 350, 353, 356, 359, 372-374, 378, 384, 387, 390-393, 396-399, 402-405, 419-421, 428, 431, 434, 437, 440, 443, 468-470, 475-481
packages/core/src/config/config.ts 63.53% 65.67% 76.92% 63.97% 170-194, 220, 224, 228-246, 278, 296-316, 395-425
packages/core/src/config/group-assertion-rules.ts 88.88% 83.33% 100% 88% 12, 29, 57
packages/core/src/config/load.ts 90% 68.75% 100% 92.3% 51, 73, 97, 140
packages/core/src/config/rules.ts 100% 100% 100% 100%
packages/core/src/config/utils.ts 97.33% 81.81% 100% 98.64% 33, 81-83
packages/core/src/config/visitors.ts 100% 100% 100% 100%
packages/core/src/decorators/common/info-description-override.ts 14.28% 0% 0% 14.28% 6-22
packages/core/src/decorators/common/media-type-examples-override.ts 90.32% 83.33% 100% 90.32% 14, 20, 57
packages/core/src/decorators/common/operation-description-override.ts 8.33% 0% 0% 9.09% 8-27
packages/core/src/decorators/common/remove-x-internal.ts 100% 100% 100% 100%
packages/core/src/decorators/common/tag-description-override.ts 11.11% 0% 0% 11.11% 9-25
packages/core/src/decorators/common/filters/filter-helper.ts 97.61% 94.28% 100% 97.43% 69
packages/core/src/decorators/common/filters/filter-in.ts 100% 100% 100% 100%
packages/core/src/decorators/common/filters/filter-out.ts 100% 100% 100% 100%
packages/core/src/decorators/oas2/index.ts 100% 100% 100% 100%
packages/core/src/decorators/oas2/remove-unused-components.ts 86.11% 82.6% 72.72% 88.23% 45, 60, 96-106
packages/core/src/decorators/oas3/index.ts 100% 100% 100% 100%
packages/core/src/decorators/oas3/remove-unused-components.ts 97.61% 88.88% 100% 100% 89
packages/core/src/format/codeframes.ts 94.78% 91.13% 100% 96.84% 132, 168, 195, 204, 206, 210
packages/core/src/format/format.ts 50.8% 41.5% 58.06% 50.56% 25, 67-68, 113, 117-143, 161, 165, 173-191, 200-305, 310, 323-329, 354-360, 367, 412-425, 439-440, 467
packages/core/src/js-yaml/index.ts 100% 100% 100% 100%
packages/core/src/rules/ajv.ts 93.87% 91.66% 88.88% 97.77% 54, 133
packages/core/src/rules/utils.ts 91.17% 88.88% 100% 90.32% 47, 71, 80-83, 93, 105-108, 189
packages/core/src/rules/arazzo/index.ts 100% 100% 100% 100%
packages/core/src/rules/arazzo/outputs-defined.ts 100% 94.73% 100% 100%
packages/core/src/rules/async2/index.ts 100% 100% 100% 100%
packages/core/src/rules/async3/index.ts 100% 100% 100% 100%
packages/core/src/rules/async3/no-channel-trailing-slash.ts 100% 100% 100% 100%
packages/core/src/rules/catalog-entity/entity-key-valid.ts 100% 100% 100% 100%
packages/core/src/rules/common/info-contact.ts 100% 100% 100% 100%
packages/core/src/rules/common/info-license-strict.ts 100% 100% 100% 100%
packages/core/src/rules/common/info-license.ts 100% 100% 100% 100%
packages/core/src/rules/common/no-ambiguous-paths.ts 100% 100% 100% 100%
packages/core/src/rules/common/no-duplicated-tag-names.ts 100% 100% 100% 100%
packages/core/src/rules/common/no-enum-type-mismatch.ts 95.23% 94.44% 100% 100% 15
packages/core/src/rules/common/no-http-verbs-in-paths.ts 93.33% 80% 100% 100% 14
packages/core/src/rules/common/no-identical-paths.ts 100% 100% 100% 100%
packages/core/src/rules/common/no-invalid-parameter-examples.ts 100% 100% 100% 100%
packages/core/src/rules/common/no-invalid-schema-examples.ts 100% 100% 100% 100%
packages/core/src/rules/common/no-required-schema-properties-undefined.ts 94.73% 95.34% 88.88% 97.22% 54, 66
packages/core/src/rules/common/no-unresolved-refs.ts 66.66% 75% 75% 69.23% 31-35
packages/core/src/rules/common/operation-2xx-response.ts 100% 83.33% 100% 100%
packages/core/src/rules/common/operation-4xx-response.ts 100% 66.66% 100% 100%
packages/core/src/rules/common/operation-description.ts 66.66% 100% 50% 66.66% 10
packages/core/src/rules/common/operation-operationId-unique.ts 100% 100% 100% 100%
packages/core/src/rules/common/operation-operationId-url-safe.ts 100% 100% 100% 100%
packages/core/src/rules/common/operation-operationId.ts 100% 100% 100% 100%
packages/core/src/rules/common/operation-parameters-unique.ts 100% 100% 100% 100%
packages/core/src/rules/common/operation-singular-tag.ts 100% 100% 100% 100%
packages/core/src/rules/common/operation-summary.ts 66.66% 100% 50% 66.66% 10
packages/core/src/rules/common/operation-tag-defined.ts 90% 83.33% 100% 87.5% 24-27
packages/core/src/rules/common/parameter-description.ts 33.33% 0% 50% 33.33% 9-18
packages/core/src/rules/common/path-http-verbs-order.ts 92.85% 85.71% 100% 91.66% 11
packages/core/src/rules/common/path-params-defined.ts 96.42% 93.33% 92.3% 98.14% 104, 117
packages/core/src/rules/common/path-segment-plural.ts 21.42% 0% 50% 23.07% 12-26
packages/core/src/rules/common/required-string-property-missing-min-length.ts 18.18% 0% 25% 18.18% 13-36
packages/core/src/rules/common/response-contains-header.ts 100% 100% 100% 100%
packages/core/src/rules/common/scalar-property-missing-example.ts 78.94% 86.95% 75% 83.33% 40, 46, 54
packages/core/src/rules/common/security-defined.ts 96.42% 93.33% 100% 96.29% 71
packages/core/src/rules/common/spec-strict-refs.ts 100% 100% 100% 100%
packages/core/src/rules/common/struct.ts 97.22% 91.78% 100% 97.01% 77-81, 174-178
packages/core/src/rules/common/tag-description.ts 100% 100% 100% 100%
packages/core/src/rules/common/tags-alphabetical.ts 100% 100% 100% 100%
packages/core/src/rules/common/assertions/asserts.ts 78.66% 77.44% 84% 85.93% 71, 94, 113, 157-194, 232, 325
packages/core/src/rules/common/assertions/index.ts 90.9% 50% 100% 90% 57
packages/core/src/rules/common/assertions/utils.ts 84% 64.7% 69.23% 88.29% 51, 55, 59, 84-86, 90-92, 143, 164-166, 173, 185-193, 252, 272-273, 289
packages/core/src/rules/oas2/index.ts 100% 100% 100% 100%
packages/core/src/rules/oas2/request-mime-type.ts 25% 100% 0% 25% 6-12
packages/core/src/rules/oas2/response-contains-property.ts 90.9% 80% 100% 100% 18
packages/core/src/rules/oas2/response-mime-type.ts 25% 100% 0% 25% 6-12
packages/core/src/rules/oas3/array-parameter-serialization.ts 100% 93.75% 100% 100%
packages/core/src/rules/oas3/component-name-unique.ts 96.96% 72.97% 100% 98.46% 55, 78
packages/core/src/rules/oas3/index.ts 100% 100% 100% 100%
packages/core/src/rules/oas3/no-invalid-media-type-examples.ts 95.23% 87.5% 100% 100% 39
packages/core/src/rules/oas3/no-unused-components.ts 95% 70% 100% 100% 29
packages/core/src/rules/oas3/operation-4xx-problem-details-rfc7807.ts 100% 100% 100% 100%
packages/core/src/rules/oas3/request-mime-type.ts 40% 100% 20% 40% 10-25
packages/core/src/rules/oas3/response-contains-property.ts 100% 100% 100% 100%
packages/core/src/rules/oas3/response-mime-type.ts 40% 100% 20% 40% 10-25
packages/core/src/rules/oas3/spec-components-invalid-map-name.ts 64.28% 100% 54.54% 64.28% 45-65
packages/core/src/rules/oas3/spec-no-invalid-tag-parents.ts 100% 87.5% 100% 100%
packages/core/src/rules/oas3/spec-querystring-parameters.ts 100% 83.33% 100% 100%
packages/core/src/rules/openrpc/index.ts 100% 100% 100% 100%
packages/core/src/rules/openrpc/no-unused-components.ts 65% 70% 50% 68.42% 29, 58-83
packages/core/src/rules/other/stats.ts 4.76% 0% 0% 4.76% 6-72
packages/core/src/rules/overlay1/index.ts 100% 100% 100% 100%
packages/core/src/rules/respect/no-criteria-xpath.ts 100% 100% 100% 100%
packages/core/src/rules/respect/no-x-security-both-scheme-and-scheme-name.ts 100% 100% 100% 100%
packages/core/src/rules/respect/respect-supported-versions.ts 100% 100% 100% 100%
packages/core/src/rules/respect/x-security-scheme-required-values.ts 85.71% 78.57% 100% 85.71% 23, 37-40
packages/core/src/types/asyncapi2.ts 95.78% 50% 85.71% 95.78% 59-79, 678-680, 686, 694-696, 702
packages/core/src/types/asyncapi3.ts 52.63% 15% 25% 52.63% 183-189, 256-264, 487-515
packages/core/src/types/entity.ts 92.85% 75% 100% 92.3% 39
packages/core/src/types/json-schema-adapter.ts 85.41% 81.81% 100% 84.61% 22, 40, 44, 48, 52-54, 76, 80, 98, 106-108, 112-114, 159, 163, 167, 171-173
packages/core/src/types/oas3.ts 75.36% 31.81% 66.66% 75.36% 616, 623, 758-761, 821-845
packages/core/src/types/redocly-yaml.ts 92.3% 82.85% 100% 91.93% 366-373, 375, 520-525, 528-533, 536-541
packages/core/src/utils/does-yaml-file-exist.ts 100% 100% 100% 100%
packages/core/src/utils/read-file-from-url.ts 90.9% 66.66% 100% 90.9% 20
packages/core/src/utils/scorecards.ts 88.63% 83.33% 90% 90.69% 40, 79, 87, 98, 121-127
packages/core/src/utils/yaml-fs-helper.ts 50% 75% 50% 50% 10-11, 23-27
packages/respect-core/src/generate.ts 0% 100% 0% 0% 16
packages/respect-core/src/run.ts 0% 0% 0% 0% 37-100
packages/respect-core/src/modules/arazzo-description-generator/generate-arazzo-description.ts 100% 85.71% 100% 100%
packages/respect-core/src/modules/arazzo-description-generator/generate-example-value.ts 100% 83.33% 100% 100%
packages/respect-core/src/modules/arazzo-description-generator/generate-test-data-from-json-schema.ts 100% 100% 100% 100%
packages/respect-core/src/modules/arazzo-description-generator/generate-workflows-from-description.ts 100% 78.57% 100% 100%
packages/respect-core/src/modules/checks/severity.ts 100% 100% 100% 100%
packages/respect-core/src/modules/context-parser/get-security-parameters.ts 100% 100% 100% 100%
packages/respect-core/src/modules/context-parser/get-value-from-context.ts 85.98% 78.31% 95.45% 88.88% 25, 38, 68, 101, 116, 152, 157, 179, 183-189, 231, 241
packages/respect-core/src/modules/context-parser/handle-request-body-replacements.ts 100% 75% 100% 100%
packages/respect-core/src/modules/context-parser/parse-parameters.ts 100% 100% 100% 100%
packages/respect-core/src/modules/context-parser/parse-request-body.ts 100% 91.11% 100% 100%
packages/respect-core/src/modules/context-parser/resolve-reusable-component.ts 100% 100% 100% 100%
packages/respect-core/src/modules/context-parser/resolve-reusable-object-reference.ts 100% 100% 100% 100%
packages/respect-core/src/modules/description-parser/get-operation-by-path.ts 95.45% 81.81% 100% 95.45% 29
packages/respect-core/src/modules/description-parser/get-operation-from-description.ts 90% 87.5% 100% 90% 44
packages/respect-core/src/modules/description-parser/get-request-data-from-openapi.ts 60.86% 60% 66.66% 60.86% 36, 57, 70-80, 86-89
packages/respect-core/src/modules/flow-runner/call-api-and-analyze-results.ts 59.45% 37.5% 66.66% 59.45% 36-67, 105-108
packages/respect-core/src/modules/flow-runner/get-server-url.ts 97.36% 92.85% 100% 97.29% 69
packages/respect-core/src/modules/flow-runner/get-test-description-from-file.ts 100% 76.47% 100% 100%
packages/respect-core/src/modules/flow-runner/prepare-request.ts 90.41% 81.25% 100% 90.14% 81, 132, 194-199, 203-205, 264
packages/respect-core/src/modules/flow-runner/resolve-security-scheme.ts 90.9% 85.71% 100% 90.9% 22
packages/respect-core/src/modules/flow-runner/resolve-x-security-parameters.ts 95% 75% 100% 95% 43
packages/respect-core/src/modules/flow-runner/run-step.ts 91.93% 83.03% 100% 91.66% 145-151, 175-181, 347-355, 359, 384, 387, 411
packages/respect-core/src/modules/flow-runner/runner.ts 88.04% 82% 92.85% 88.76% 134-140, 155, 175-185, 196, 222-224, 261, 357
packages/respect-core/src/modules/flow-runner/context/create-test-context.ts 100% 82.05% 100% 100%
packages/respect-core/src/modules/flow-runner/context/set-public-workflows.ts 100% 76.92% 100% 100%
packages/respect-core/src/modules/flow-runner/schema/schema-checker.ts 97.5% 80.55% 100% 97.5% 154
packages/respect-core/src/modules/flow-runner/success-criteria/check-success-criteria.ts 100% 100% 100% 100%
packages/respect-core/src/modules/flow-runner/success-criteria/validate-success-criteria.ts 100% 100% 100% 100%
packages/respect-core/src/modules/logger-output/display-checks.ts 75.47% 57.97% 71.42% 75% 90-98, 100, 102, 104, 112, 150-153
packages/respect-core/src/modules/logger-output/display-errors.ts 0% 0% 0% 0% 9-68
packages/respect-core/src/modules/logger-output/display-summary.ts 0% 0% 0% 0% 20-69
packages/respect-core/src/modules/logger-output/helpers.ts 100% 83.33% 100% 100%
packages/respect-core/src/modules/logger-output/mask-secrets.ts 92.3% 90.19% 100% 92% 81, 86-89
packages/respect-core/src/modules/runtime-expressions/evaluate.ts 89.15% 87.5% 100% 89.02% 21, 26-41, 133-136
packages/respect-core/src/utils/ajv-errors.ts 100% 83.33% 100% 100%
packages/respect-core/src/utils/api-fetcher.ts 54.79% 45.37% 73.33% 54.48% 88-94, 124, 150-162, 171-172, 184-187, 192-195, 200, 203-224, 237-250, 258, 305-311, 318-396, 404, 412, 433, 448, 455, 458, 462
Generated in workflow #8655 for commit 42cf569 by the Vitest Coverage Report Action

@github-actions
Copy link
Contributor

github-actions bot commented Feb 17, 2026

CLI Version Mean Time ± Std Dev (s) Relative Performance (Lower is Faster)
cli-latest 3.601s ± 0.037s ▓ 1.01x
cli-next 3.558s ± 0.028s ▓ 1.00x (Fastest)

@vadyvas vadyvas changed the title chore/improve oxc chore: improve oxc Feb 17, 2026
@@ -1,4 +1,5 @@
import { ProxyAgent } from 'undici';

Copy link
Collaborator

Choose a reason for hiding this comment

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

I don't think we need spaces between imports.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Can we simply order them?

Copy link
Collaborator

Choose a reason for hiding this comment

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

Or maybe let it be...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants