website
Repo for oxc.rs
File Explorer
Download Latest Version (.zip)- ci.yml
- release.yml
- security.yml
- void-deploy.yml
- renovate.json
- pre-commit
- en.ts
- index.ts
- rss.ts
- shared.ts
- utils.ts
- frameworks.ts
- index.ts
- oxfmt.ts
- oxlint.ts
- types.ts
- rules.json
- ruleHowToUse.ts
- fixEmoji.ts
- Alert.vue
- AppBlogList.vue
- AppBlogPostHeader.vue
- CompatibilityMatrix.vue
- RuleHeader.vue
- RuleReferences.vue
- RulesTable.vue
- team.ts
- FeatureFormatter.vue
- FeatureLinter.vue
- FeatureMinifier.vue
- FeatureParser.vue
- FeatureResolver.vue
- FeatureToolbar.vue
- FeatureTransformer.vue
- Hero.vue
- Layout.vue
- sponsors.ts
- env.d.ts
- index.ts
- styles.css
- sidebar.blog.json
- _headers
- logo-without-border.svg
- og.jpg
- oxc-dark.svg
- oxc-light.svg
- sponsors.svg
- generate-sponsors.js
- 2023-12-12-announcing-oxlint.md
- 2024-05-04-import-plugin-alpha.md
- 2024-09-29-transformer-alpha.md
- 2024-10-18-oxlint-v0.10-release.md
- 2025-03-13-minifier-alpha.md
- 2025-03-15-oxlint-beta.md
- 2025-06-10-oxlint-stable.md
- 2025-08-17-oxlint-type-aware.md
- 2025-10-09-oxlint-js-plugins.md
- 2025-12-01-oxfmt-alpha.md
- 2025-12-08-type-aware-alpha.md
- 2026-02-24-oxfmt-beta.md
- 2026-03-11-oxlint-js-plugins-alpha.md
- 2026-07-22-type-aware-linting-stable.md
- 2026-08-18-react-compiler-support.md
- index.md
- adding-rules.md
- ast.md
- debugging.md
- development.md
- formatter.md
- introduction.md
- language_server.md
- linter.md
- minifier.md
- parser.md
- profiling.md
- resolver.md
- rules.md
- security.md
- transformer.md
- vscode.md
- ci.md
- cli.md
- config-file-reference.md
- config.md
- editors.md
- embedded-formatting.md
- generated-cli.md
- generated-config.md
- ignore-comments.md
- ignore-files.md
- language-support.md
- migrate-from-prettier.md
- quickstart.md
- sorting.md
- unsupported-features.md
- accessor-pairs.md
- array-callback-return.md
- arrow-body-style.md
- block-scoped-var.md
- capitalized-comments.md
- class-methods-use-this.md
- complexity.md
- constructor-super.md
- curly.md
- default-case-last.md
- default-case.md
- default-param-last.md
- eqeqeq.md
- for-direction.md
- func-name-matching.md
- func-names.md
- func-style.md
- getter-return.md
- grouped-accessor-pairs.md
- guard-for-in.md
- id-denylist.md
- id-length.md
- id-match.md
- init-declarations.md
- logical-assignment-operators.md
- max-classes-per-file.md
- max-depth.md
- max-lines-per-function.md
- max-lines.md
- max-nested-callbacks.md
- max-params.md
- max-statements.md
- new-cap.md
- no-alert.md
- no-array-constructor.md
- no-async-promise-executor.md
- no-await-in-loop.md
- no-bitwise.md
- no-caller.md
- no-case-declarations.md
- no-class-assign.md
- no-compare-neg-zero.md
- no-cond-assign.md
- no-console.md
- no-const-assign.md
- no-constant-binary-expression.md
- no-constant-condition.md
- no-constructor-return.md
- no-continue.md
- no-control-regex.md
- no-debugger.md
- no-delete-var.md
- no-div-regex.md
- no-dupe-class-members.md
- no-dupe-else-if.md
- no-dupe-keys.md
- no-duplicate-case.md
- no-duplicate-imports.md
- no-else-return.md
- no-empty-character-class.md
- no-empty-function.md
- no-empty-pattern.md
- no-empty-static-block.md
- no-empty.md
- no-eq-null.md
- no-eval.md
- no-ex-assign.md
- no-extend-native.md
- no-extra-bind.md
- no-extra-boolean-cast.md
- no-extra-label.md
- no-fallthrough.md
- no-func-assign.md
- no-global-assign.md
- no-implicit-coercion.md
- no-implicit-globals.md
- no-implied-eval.md
- no-import-assign.md
- no-inline-comments.md
- no-inner-declarations.md
- no-invalid-regexp.md
- no-irregular-whitespace.md
- no-iterator.md
- no-label-var.md
- no-labels.md
- no-lone-blocks.md
- no-lonely-if.md
- no-loop-func.md
- no-loss-of-precision.md
- no-magic-numbers.md
- no-misleading-character-class.md
- no-multi-assign.md
- no-multi-str.md
- no-negated-condition.md
- no-nested-ternary.md
- no-new-func.md
- no-new-native-nonconstructor.md
- no-new-wrappers.md
- no-new.md
- no-nonoctal-decimal-escape.md
- no-obj-calls.md
- no-object-constructor.md
- no-param-reassign.md
- no-plusplus.md
- no-promise-executor-return.md
- no-proto.md
- no-prototype-builtins.md
- no-redeclare.md
- no-regex-spaces.md
- no-restricted-exports.md
- no-restricted-globals.md
- no-restricted-imports.md
- no-restricted-properties.md
- no-return-assign.md
- no-script-url.md
- no-self-assign.md
- no-self-compare.md
- no-sequences.md
- no-setter-return.md
- no-shadow-restricted-names.md
- no-shadow.md
- no-sparse-arrays.md
- no-template-curly-in-string.md
- no-ternary.md
- no-this-before-super.md
- no-throw-literal.md
- no-unassigned-vars.md
- no-undef.md
- no-undefined.md
- no-underscore-dangle.md
- no-unexpected-multiline.md
- no-unmodified-loop-condition.md
- no-unneeded-ternary.md
- no-unreachable-loop.md
- no-unreachable.md
- no-unsafe-finally.md
- no-unsafe-negation.md
- no-unsafe-optional-chaining.md
- no-unused-expressions.md
- no-unused-labels.md
- no-unused-private-class-members.md
- no-unused-vars.md
- no-use-before-define.md
- no-useless-assignment.md
- no-useless-backreference.md
- no-useless-call.md
- no-useless-catch.md
- no-useless-computed-key.md
- no-useless-concat.md
- no-useless-constructor.md
- no-useless-escape.md
- no-useless-rename.md
- no-useless-return.md
- no-var.md
- no-void.md
- no-warning-comments.md
- no-with.md
- object-shorthand.md
- one-var.md
- operator-assignment.md
- prefer-arrow-callback.md
- prefer-const.md
- prefer-destructuring.md
- prefer-exponentiation-operator.md
- prefer-named-capture-group.md
- prefer-numeric-literals.md
- prefer-object-has-own.md
- prefer-object-spread.md
- prefer-promise-reject-errors.md
- prefer-regex-literals.md
- prefer-rest-params.md
- prefer-spread.md
- prefer-template.md
- preserve-caught-error.md
- radix.md
- require-await.md
- require-unicode-regexp.md
- require-yield.md
- sort-imports.md
- sort-keys.md
- sort-vars.md
- symbol-description.md
- unicode-bom.md
- use-isnan.md
- valid-typeof.md
- vars-on-top.md
- yoda.md
- consistent-type-specifier-style.md
- default.md
- export.md
- exports-last.md
- extensions.md
- first.md
- group-exports.md
- max-dependencies.md
- named.md
- namespace.md
- newline-after-import.md
- no-absolute-path.md
- no-amd.md
- no-anonymous-default-export.md
- no-commonjs.md
- no-cycle.md
- no-default-export.md
- no-duplicates.md
- no-dynamic-require.md
- no-empty-named-blocks.md
- no-mutable-exports.md
- no-named-as-default-member.md
- no-named-as-default.md
- no-named-default.md
- no-named-export.md
- no-namespace.md
- no-nodejs-modules.md
- no-relative-parent-imports.md
- no-self-import.md
- no-unassigned-import.md
- no-webpack-loader-syntax.md
- prefer-default-export.md
- unambiguous.md
- consistent-test-it.md
- expect-expect.md
- max-expects.md
- max-nested-describe.md
- no-alias-methods.md
- no-commented-out-tests.md
- no-conditional-expect.md
- no-conditional-in-test.md
- no-confusing-set-timeout.md
- no-deprecated-functions.md
- no-disabled-tests.md
- no-done-callback.md
- no-duplicate-hooks.md
- no-export.md
- no-focused-tests.md
- no-hooks.md
- no-identical-title.md
- no-interpolation-in-snapshots.md
- no-jasmine-globals.md
- no-large-snapshots.md
- no-mocks-import.md
- no-restricted-jest-methods.md
- no-restricted-matchers.md
- no-standalone-expect.md
- no-test-prefixes.md
- no-test-return-statement.md
- no-unneeded-async-expect-function.md
- no-untyped-mock-factory.md
- padding-around-after-all-blocks.md
- padding-around-test-blocks.md
- prefer-called-with.md
- prefer-comparison-matcher.md
- prefer-each.md
- prefer-ending-with-an-expect.md
- prefer-equality-matcher.md
- prefer-expect-assertions.md
- prefer-expect-resolves.md
- prefer-hooks-in-order.md
- prefer-hooks-on-top.md
- prefer-importing-jest-globals.md
- prefer-jest-mocked.md
- prefer-lowercase-title.md
- prefer-mock-promise-shorthand.md
- prefer-mock-return-shorthand.md
- prefer-snapshot-hint.md
- prefer-spy-on.md
- prefer-strict-equal.md
- prefer-to-be.md
- prefer-to-contain.md
- prefer-to-have-been-called-times.md
- prefer-to-have-been-called.md
- prefer-to-have-length.md
- prefer-todo.md
- require-hook.md
- require-to-throw-message.md
- require-top-level-describe.md
- valid-describe-callback.md
- valid-expect-in-promise.md
- valid-expect.md
- valid-title.md
- check-access.md
- check-property-names.md
- check-tag-names.md
- empty-tags.md
- implements-on-classes.md
- no-blank-blocks.md
- no-defaults.md
- require-param-description.md
- require-param-name.md
- require-param-type.md
- require-param.md
- require-property-description.md
- require-property-name.md
- require-property-type.md
- require-property.md
- require-returns-description.md
- require-returns-type.md
- require-returns.md
- require-throws-description.md
- require-throws-type.md
- require-yields-description.md
- require-yields-type.md
- require-yields.md
- alt-text.md
- anchor-ambiguous-text.md
- anchor-has-content.md
- anchor-is-valid.md
- aria-activedescendant-has-tabindex.md
- aria-props.md
- aria-proptypes.md
- aria-role.md
- aria-unsupported-elements.md
- autocomplete-valid.md
- click-events-have-key-events.md
- control-has-associated-label.md
- heading-has-content.md
- html-has-lang.md
- iframe-has-title.md
- img-redundant-alt.md
- interactive-supports-focus.md
- label-has-associated-control.md
- lang.md
- media-has-caption.md
- mouse-events-have-key-events.md
- no-access-key.md
- no-aria-hidden-on-focusable.md
- no-autofocus.md
- no-distracting-elements.md
- no-interactive-element-to-noninteractive-role.md
- no-noninteractive-element-interactions.md
- no-noninteractive-element-to-interactive-role.md
- no-noninteractive-tabindex.md
- no-redundant-roles.md
- no-static-element-interactions.md
- prefer-tag-over-role.md
- role-has-required-aria-props.md
- role-supports-aria-props.md
- scope.md
- tabindex-no-positive.md
- google-font-display.md
- google-font-preconnect.md
- inline-script-id.md
- next-script-for-ga.md
- no-assign-module-variable.md
- no-async-client-component.md
- no-before-interactive-script-outside-document.md
- no-css-tags.md
- no-document-import-in-page.md
- no-duplicate-head.md
- no-head-element.md
- no-head-import-in-document.md
- no-html-link-for-pages.md
- no-img-element.md
- no-page-custom-font.md
- no-script-component-in-head.md
- no-styled-jsx-in-document.md
- no-sync-scripts.md
- no-title-in-document-head.md
- no-typos.md
- no-unwanted-polyfillio.md
- callback-return.md
- exports-style.md
- global-require.md
- handle-callback-err.md
- no-exports-assign.md
- no-mixed-requires.md
- no-new-require.md
- no-path-concat.md
- no-process-env.md
- no-sync.md
- no-top-level-await.md
- approx-constant.md
- bad-array-method-on-arguments.md
- bad-bitwise-operator.md
- bad-char-at-comparison.md
- bad-comparison-sequence.md
- bad-match-all-arg.md
- bad-min-max-func.md
- bad-object-literal-comparison.md
- bad-replace-all-arg.md
- branches-sharing-code.md
- const-comparisons.md
- double-comparisons.md
- erasing-op.md
- misrefactored-assign-op.md
- missing-throw.md
- no-accumulating-spread.md
- no-async-await.md
- no-async-endpoint-handlers.md
- no-barrel-file.md
- no-const-enum.md
- no-map-spread.md
- no-optional-chaining.md
- no-rest-spread-properties.md
- no-this-in-exported-function.md
- number-arg-out-of-range.md
- only-used-in-recursion.md
- uninvoked-array-callback.md
- always-return.md
- avoid-new.md
- catch-or-return.md
- no-callback-in-promise.md
- no-multiple-resolved.md
- no-nesting.md
- no-new-statics.md
- no-promise-in-callback.md
- no-return-in-finally.md
- no-return-wrap.md
- param-names.md
- prefer-await-to-callbacks.md
- prefer-await-to-then.md
- prefer-catch.md
- spec-only.md
- valid-params.md
- button-has-type.md
- capitalized-calls.md
- checked-requires-onchange-or-readonly.md
- display-name.md
- error-boundaries.md
- exhaustive-deps.md
- exhaustive-effect-dependencies.md
- forbid-component-props.md
- forbid-dom-props.md
- forbid-elements.md
- forward-ref-uses-ref.md
- function-component-definition.md
- globals.md
- hook-use-state.md
- hooks.md
- iframe-missing-sandbox.md
- immutability.md
- incompatible-library.md
- invariant.md
- jsx-boolean-value.md
- jsx-curly-brace-presence.md
- jsx-filename-extension.md
- jsx-fragments.md
- jsx-handler-names.md
- jsx-key.md
- jsx-max-depth.md
- jsx-no-comment-textnodes.md
- jsx-no-constructed-context-values.md
- jsx-no-duplicate-props.md
- jsx-no-literals.md
- jsx-no-script-url.md
- jsx-no-target-blank.md
- jsx-no-undef.md
- jsx-no-useless-fragment.md
- jsx-pascal-case.md
- jsx-props-no-spread-multi.md
- jsx-props-no-spreading.md
- memo-dependencies.md
- no-array-index-key.md
- no-children-prop.md
- no-clone-element.md
- no-danger-with-children.md
- no-danger.md
- no-deriving-state-in-effects.md
- no-did-mount-set-state.md
- no-did-update-set-state.md
- no-direct-mutation-state.md
- no-find-dom-node.md
- no-is-mounted.md
- no-multi-comp.md
- no-namespace.md
- no-object-type-as-default-prop.md
- no-react-children.md
- no-redundant-should-component-update.md
- no-render-return-value.md
- no-set-state.md
- no-string-refs.md
- no-this-in-sfc.md
- no-unescaped-entities.md
- no-unknown-property.md
- no-unsafe.md
- no-unstable-nested-components.md
- no-will-update-set-state.md
- only-export-components.md
- prefer-es6-class.md
- prefer-function-component.md
- preserve-manual-memoization.md
- purity.md
- react-in-jsx-scope.md
- refs.md
- require-render-return.md
- rule-suppression.md
- rules-of-hooks.md
- self-closing-comp.md
- set-state-in-effect.md
- set-state-in-render.md
- state-in-constructor.md
- static-components.md
- style-prop-object.md
- syntax.md
- todo.md
- unsupported-syntax.md
- use-memo.md
- void-dom-elements-no-children.md
- void-use-memo.md
- jsx-no-jsx-as-prop.md
- jsx-no-new-array-as-prop.md
- jsx-no-new-function-as-prop.md
- jsx-no-new-object-as-prop.md
- adjacent-overload-signatures.md
- array-type.md
- await-thenable.md
- ban-ts-comment.md
- ban-tslint-comment.md
- ban-types.md
- class-literal-property-style.md
- consistent-generic-constructors.md
- consistent-indexed-object-style.md
- consistent-return.md
- consistent-type-assertions.md
- consistent-type-definitions.md
- consistent-type-exports.md
- consistent-type-imports.md
- dot-notation.md
- explicit-function-return-type.md
- explicit-member-accessibility.md
- explicit-module-boundary-types.md
- method-signature-style.md
- no-array-delete.md
- no-base-to-string.md
- no-confusing-non-null-assertion.md
- no-confusing-void-expression.md
- no-deprecated.md
- no-duplicate-enum-values.md
- no-duplicate-type-constituents.md
- no-dynamic-delete.md
- no-empty-interface.md
- no-empty-object-type.md
- no-explicit-any.md
- no-extra-non-null-assertion.md
- no-extraneous-class.md
- no-floating-promises.md
- no-for-in-array.md
- no-implied-eval.md
- no-import-type-side-effects.md
- no-inferrable-types.md
- no-invalid-void-type.md
- no-meaningless-void-operator.md
- no-misused-new.md
- no-misused-promises.md
- no-misused-spread.md
- no-mixed-enums.md
- no-namespace.md
- no-non-null-asserted-nullish-coalescing.md
- no-non-null-asserted-optional-chain.md
- no-non-null-assertion.md
- no-redundant-type-constituents.md
- no-require-imports.md
- no-restricted-types.md
- no-this-alias.md
- no-unnecessary-boolean-literal-compare.md
- no-unnecessary-condition.md
- no-unnecessary-parameter-property-assignment.md
- no-unnecessary-qualifier.md
- no-unnecessary-template-expression.md
- no-unnecessary-type-arguments.md
- no-unnecessary-type-assertion.md
- no-unnecessary-type-constraint.md
- no-unnecessary-type-conversion.md
- no-unnecessary-type-parameters.md
- no-unsafe-argument.md
- no-unsafe-assignment.md
- no-unsafe-call.md
- no-unsafe-declaration-merging.md
- no-unsafe-enum-comparison.md
- no-unsafe-function-type.md
- no-unsafe-member-access.md
- no-unsafe-return.md
- no-unsafe-type-assertion.md
- no-unsafe-unary-minus.md
- no-useless-default-assignment.md
- no-useless-empty-export.md
- no-var-requires.md
- no-wrapper-object-types.md
- non-nullable-type-assertion-style.md
- only-throw-error.md
- parameter-properties.md
- prefer-as-const.md
- prefer-enum-initializers.md
- prefer-find.md
- prefer-for-of.md
- prefer-function-type.md
- prefer-includes.md
- prefer-literal-enum-member.md
- prefer-namespace-keyword.md
- prefer-nullish-coalescing.md
- prefer-optional-chain.md
- prefer-promise-reject-errors.md
- prefer-readonly-parameter-types.md
- prefer-readonly.md
- prefer-reduce-type-parameter.md
- prefer-regexp-exec.md
- prefer-return-this-type.md
- prefer-string-starts-ends-with.md
- prefer-ts-expect-error.md
- promise-function-async.md
- related-getter-setter-pairs.md
- require-array-sort-compare.md
- require-await.md
- restrict-plus-operands.md
- restrict-template-expressions.md
- return-await.md
- strict-boolean-expressions.md
- strict-void-return.md
- switch-exhaustiveness-check.md
- triple-slash-reference.md
- unbound-method.md
- unified-signatures.md
- use-unknown-in-catch-callback-variable.md
- catch-error-name.md
- consistent-assert.md
- consistent-date-clone.md
- consistent-empty-array-spread.md
- consistent-existence-index-check.md
- consistent-function-scoping.md
- consistent-template-literal-escape.md
- custom-error-definition.md
- empty-brace-spaces.md
- error-message.md
- escape-case.md
- explicit-length-check.md
- explicit-timer-delay.md
- filename-case.md
- import-style.md
- max-nested-calls.md
- new-for-builtins.md
- no-abusive-eslint-disable.md
- no-accessor-recursion.md
- no-anonymous-default-export.md
- no-array-callback-reference.md
- no-array-fill-with-reference-type.md
- no-array-for-each.md
- no-array-method-this-argument.md
- no-array-reduce.md
- no-array-reverse.md
- no-array-sort.md
- no-await-expression-member.md
- no-await-in-promise-methods.md
- no-confusing-array-with.md
- no-console-spaces.md
- no-document-cookie.md
- no-empty-file.md
- no-hex-escape.md
- no-immediate-mutation.md
- no-instanceof-array.md
- no-instanceof-builtins.md
- no-invalid-fetch-options.md
- no-invalid-remove-event-listener.md
- no-length-as-slice-end.md
- no-lonely-if.md
- no-magic-array-flat-depth.md
- no-negated-condition.md
- no-negation-in-equality-check.md
- no-nested-ternary.md
- no-new-array.md
- no-new-buffer.md
- no-null.md
- no-object-as-default-parameter.md
- no-process-exit.md
- no-single-promise-in-promise-methods.md
- no-static-only-class.md
- no-thenable.md
- no-this-assignment.md
- no-typeof-undefined.md
- no-unnecessary-array-flat-depth.md
- no-unnecessary-array-splice-count.md
- no-unnecessary-await.md
- no-unnecessary-slice-end.md
- no-unreadable-array-destructuring.md
- no-unreadable-iife.md
- no-useless-collection-argument.md
- no-useless-error-capture-stack-trace.md
- no-useless-fallback-in-spread.md
- no-useless-iterator-to-array.md
- no-useless-length-check.md
- no-useless-promise-resolve-reject.md
- no-useless-spread.md
- no-useless-switch-case.md
- no-useless-undefined.md
- no-zero-fractions.md
- number-literal-case.md
- numeric-separators-style.md
- prefer-add-event-listener.md
- prefer-array-find.md
- prefer-array-flat-map.md
- prefer-array-flat.md
- prefer-array-index-of.md
- prefer-array-some.md
- prefer-at.md
- prefer-bigint-literals.md
- prefer-blob-reading-methods.md
- prefer-class-fields.md
- prefer-classlist-toggle.md
- prefer-code-point.md
- prefer-date-now.md
- prefer-default-parameters.md
- prefer-dom-node-append.md
- prefer-dom-node-dataset.md
- prefer-dom-node-remove.md
- prefer-dom-node-text-content.md
- prefer-event-target.md
- prefer-export-from.md
- prefer-global-this.md
- prefer-import-meta-properties.md
- prefer-includes.md
- prefer-keyboard-event-key.md
- prefer-logical-operator-over-ternary.md
- prefer-math-min-max.md
- prefer-math-trunc.md
- prefer-modern-dom-apis.md
- prefer-modern-math-apis.md
- prefer-module.md
- prefer-native-coercion-functions.md
- prefer-negative-index.md
- prefer-node-protocol.md
- prefer-number-coercion.md
- prefer-number-properties.md
- prefer-object-from-entries.md
- prefer-optional-catch-binding.md
- prefer-prototype-methods.md
- prefer-query-selector.md
- prefer-reflect-apply.md
- prefer-regexp-test.md
- prefer-response-static-json.md
- prefer-set-has.md
- prefer-set-size.md
- prefer-single-call.md
- prefer-spread.md
- prefer-string-raw.md
- prefer-string-replace-all.md
- prefer-string-slice.md
- prefer-string-starts-ends-with.md
- prefer-string-trim-start-end.md
- prefer-structured-clone.md
- prefer-ternary.md
- prefer-top-level-await.md
- prefer-type-error.md
- relative-url-style.md
- require-array-join-separator.md
- require-module-attributes.md
- require-module-specifiers.md
- require-number-to-fixed-digits-argument.md
- require-post-message-target-origin.md
- switch-case-braces.md
- switch-case-break-position.md
- text-encoding-identifier-case.md
- throw-new-error.md
- consistent-each-for.md
- consistent-test-filename.md
- consistent-test-it.md
- consistent-vitest-vi.md
- expect-expect.md
- hoisted-apis-on-top.md
- max-expects.md
- max-nested-describe.md
- no-alias-methods.md
- no-commented-out-tests.md
- no-conditional-expect.md
- no-conditional-in-test.md
- no-conditional-tests.md
- no-disabled-tests.md
- no-duplicate-hooks.md
- no-focused-tests.md
- no-hooks.md
- no-identical-title.md
- no-import-node-test.md
- no-importing-vitest-globals.md
- no-interpolation-in-snapshots.md
- no-large-snapshots.md
- no-mocks-import.md
- no-restricted-matchers.md
- no-restricted-vi-methods.md
- no-standalone-expect.md
- no-test-prefixes.md
- no-test-return-statement.md
- no-unneeded-async-expect-function.md
- padding-around-after-all-blocks.md
- padding-around-test-blocks.md
- prefer-called-exactly-once-with.md
- prefer-called-once.md
- prefer-called-times.md
- prefer-called-with.md
- prefer-comparison-matcher.md
- prefer-describe-function-title.md
- prefer-each.md
- prefer-equality-matcher.md
- prefer-expect-assertions.md
- prefer-expect-resolves.md
- prefer-expect-type-of.md
- prefer-hooks-in-order.md
- prefer-hooks-on-top.md
- prefer-import-in-mock.md
- prefer-importing-vitest-globals.md
- prefer-lowercase-title.md
- prefer-mock-promise-shorthand.md
- prefer-mock-return-shorthand.md
- prefer-snapshot-hint.md
- prefer-spy-on.md
- prefer-strict-boolean-matchers.md
- prefer-strict-equal.md
- prefer-to-be-falsy.md
- prefer-to-be-object.md
- prefer-to-be-truthy.md
- prefer-to-be.md
- prefer-to-contain.md
- prefer-to-have-been-called-times.md
- prefer-to-have-length.md
- prefer-todo.md
- require-awaited-expect-poll.md
- require-hook.md
- require-local-test-context-for-concurrent-snapshots.md
- require-mock-type-parameters.md
- require-test-timeout.md
- require-to-throw-message.md
- require-top-level-describe.md
- valid-describe-callback.md
- valid-expect-in-promise.md
- valid-expect.md
- valid-title.md
- warn-todo.md
- component-definition-name-casing.md
- define-emits-declaration.md
- define-props-declaration.md
- define-props-destructuring.md
- max-props.md
- next-tick-style.md
- no-arrow-functions-in-watch.md
- no-async-in-computed-properties.md
- no-computed-properties-in-data.md
- no-deprecated-data-object-declaration.md
- no-deprecated-delete-set.md
- no-deprecated-destroyed-lifecycle.md
- no-deprecated-events-api.md
- no-deprecated-model-definition.md
- no-deprecated-props-default-this.md
- no-deprecated-vue-config-keycodes.md
- no-dupe-keys.md
- no-export-in-script-setup.md
- no-expose-after-await.md
- no-import-compiler-macros.md
- no-lifecycle-after-await.md
- no-multiple-slot-args.md
- no-required-prop-with-default.md
- no-reserved-component-names.md
- no-reserved-keys.md
- no-reserved-props.md
- no-shared-component-data.md
- no-side-effects-in-computed-properties.md
- no-this-in-before-route-enter.md
- no-watch-after-await.md
- prefer-import-from-vue.md
- prop-name-casing.md
- require-default-export.md
- require-default-prop.md
- require-direct-export.md
- require-prop-type-constructor.md
- require-prop-types.md
- require-render-return.md
- require-slots-as-functions.md
- require-typed-ref.md
- return-in-computed-property.md
- return-in-emits-validator.md
- valid-define-emits.md
- valid-define-options.md
- valid-define-props.md
- valid-next-tick.md
- version.data.js
- automatic-fixes.md
- ci.md
- cli.md
- config-file-reference.md
- config.md
- editors.md
- generated-cli.md
- generated-config.md
- generated-lsp-config.md
- ignore-comments.md
- ignore-files.md
- js-plugins.md
- lsp-config-reference.md
- migrate-from-eslint.md
- multi-file-analysis.md
- nested-config.md
- output-formats.md
- plugins.md
- quickstart.md
- rules.md
- type-aware.md
- versioning.md
- writing-js-plugins.md
- dead-code-elimination.md
- faq.md
- mangling.md
- syntax-normalization.md
- whitespace-stripping.md
- global-variable-replacement.md
- isolated-declarations.md
- jsx.md
- lowering.md
- plugins.md
- react-compiler.md
- typescript.md
- coding-agents.md
- formatter.md
- linter.md
- minifier.md
- oxc-node.md
- parser.md
- resolver.md
- rule-count.data.js
- transformer.md
- benchmarks.md
- introduction.md
- media.md
- projects.md
- troubleshooting.md
- what-is-oxc.md
- ast-tools.md
- linter.md
- parser.md
- test.md
- grammar.md
- spec.md
- ast.md
- errors.md
- intro.md
- lexer.md
- parser.md
- semantic_analysis.md
- performance.md
- references.md
- terminology.md
- compatibility.md
- endorsements.md
- index.md
- sponsor.md
- team.md
- main.js
- index.html
- package.json
- main.js
- index.html
- package.json
- index.js
- package.json
- main.js
- index.html
- package.json
- css.d.ts
- markdown-it-task-lists.d.ts
- .editorconfig
- .gitignore
- .node-version
- .typos.toml
- AGENTS.md
- CLAUDE.md
- knip.json
- package.json
- pnpm-lock.yaml
- pnpm-workspace.yaml
- README.md
- tsconfig.json
- vite.config.ts
- void.json
# Installation Guide
1. Get the code
git clone https://github.com/oxc-project/website
Downloads the entire project code from GitHub to your computer.
cd website
Moves into the project folder you just downloaded.
2. Node.js
Easy RecommendedPrerequisites
npm install
Downloads and installs the libraries listed in package.json.
npm start
Starts the development/run server.
After running the command, open the address shown in the terminal (usually something like http://localhost:3000) in your browser.
// repository documentation
Was this content helpful?
(0 ratings)
