1import { definePlugin } from "@oxlint/plugins";
2
3import namespaceNodeImports from "./rules/namespace-node-imports.ts";
4import noGlobalProcessRuntime from "./rules/no-global-process-runtime.ts";
5import noHermesUnsupportedApis from "./rules/no-hermes-unsupported-apis.ts";
6import noInlineSchemaCompile from "./rules/no-inline-schema-compile.ts";
7import noManualEffectRuntimeInTests from "./rules/no-manual-effect-runtime-in-tests.ts";
8import noMobileUniwindThemeEscapeHatches from "./rules/no-mobile-uniwind-theme-escape-hatches.ts";
9import noNativeTitleTooltip from "./rules/no-native-title-tooltip.ts";
10import noOutsetStateIndicators from "./rules/no-outset-state-indicators.ts";
11import noRawMcpRegistration from "./rules/no-raw-mcp-registration.ts";
12import noRawResizeObserver from "./rules/no-raw-resize-observer.ts";
13import noTestInLoop from "./rules/no-test-in-loop.ts";
14import noRpcPermissionBypass from "./rules/no-rpc-permission-bypass.ts";
15import noUnscopedHas from "./rules/no-unscoped-has.ts";
16import preferCatchTags from "./rules/prefer-catch-tags.ts";
17import requireCenteredScrollGutter from "./rules/require-centered-scroll-gutter.ts";
18import requireSuppressionReason from "./rules/require-suppression-reason.ts";
19
20export default definePlugin({
21 meta: {
22 name: "t3code",
23 },
24 rules: {
25 "namespace-node-imports": namespaceNodeImports,
26 "no-global-process-runtime": noGlobalProcessRuntime,
27 "no-hermes-unsupported-apis": noHermesUnsupportedApis,
28 "no-inline-schema-compile": noInlineSchemaCompile,
29 "no-manual-effect-runtime-in-tests": noManualEffectRuntimeInTests,
30 "no-mobile-uniwind-theme-escape-hatches": noMobileUniwindThemeEscapeHatches,
31 "no-native-title-tooltip": noNativeTitleTooltip,
32 "no-outset-state-indicators": noOutsetStateIndicators,
33 "no-raw-mcp-registration": noRawMcpRegistration,
34 "no-raw-resize-observer": noRawResizeObserver,
35 "no-test-in-loop": noTestInLoop,
36 "no-rpc-permission-bypass": noRpcPermissionBypass,
37 "no-unscoped-has": noUnscopedHas,
38 "prefer-catch-tags": preferCatchTags,
39 "require-centered-scroll-gutter": requireCenteredScrollGutter,
40 "require-suppression-reason": requireSuppressionReason,
41 },
42});