From 9d453143a7b574b9375709996001f26b520ca6ef Mon Sep 17 00:00:00 2001 From: Ryan Albrecht Date: Mon, 20 Jul 2026 11:04:35 -0700 Subject: [PATCH 1/7] fix(eslint): Enable unicorn/filename-case eslint rule --- eslint.config.ts | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/eslint.config.ts b/eslint.config.ts index fcb072af95b8..028d9917bc64 100644 --- a/eslint.config.ts +++ b/eslint.config.ts @@ -833,14 +833,13 @@ export default typescript.config([ extends: [unicorn.configs.unopinionated], rules: { 'unicorn/custom-error-definition': 'error', - 'unicorn/no-instanceof-array': 'error', - 'unicorn/no-useless-undefined': ['error', {checkArguments: false}], - - 'unicorn/filename-case': ['off', {case: 'camelCase'}], // TODO(ryan953): Fix violations and enable this rule + 'unicorn/filename-case': ['error', {case: 'camelCase'}], 'unicorn/no-array-push-push': 'error', + 'unicorn/no-instanceof-array': 'error', 'unicorn/no-single-promise-in-promise-methods': 'warn', // TODO(ryan953): Fix violations and enable this rule 'unicorn/no-static-only-class': 'off', // TODO(ryan953): Fix violations and enable this rule 'unicorn/no-this-assignment': 'off', // TODO(ryan953): Fix violations and enable this rule + 'unicorn/no-useless-undefined': ['error', {checkArguments: false}], 'unicorn/no-zero-fractions': 'error', 'unicorn/prefer-array-flat': 'off', // TODO(ryan953): Fix violations and enable this rule 'unicorn/prefer-default-parameters': 'warn', // TODO(ryan953): Fix violations and enable this rule From ff04571e8befceee8423bb964ca9474cfed58276 Mon Sep 17 00:00:00 2001 From: Ryan Albrecht Date: Mon, 20 Jul 2026 11:25:48 -0700 Subject: [PATCH 2/7] fix violations --- eslint.config.ts | 10 ++++++++-- jest.config.ts | 2 +- knip.config.ts | 2 +- rspack.config.ts | 4 ++-- static/app/bootstrap/commonInitialization.tsx | 2 +- .../events/rrwebReplayer/baseRRWebReplayer.tsx | 1 + .../worker/{client-config.ts => clientConfig.ts} | 0 static/app/serviceWorker/worker/fetch.ts | 4 ++-- static/app/serviceWorker/worker/initializeSentry.ts | 2 +- static/app/serviceWorker/worker/worker.ts | 2 +- .../app/utils/{statics-setup.tsx => setupStatics.tsx} | 0 ...nsafe-warnings.ts => silenceReactUnsafeWarnings.ts} | 0 .../{new-setting.spec.tsx => newSettings.spec.tsx} | 2 +- .../detectors/{new-settings.tsx => newSettings.tsx} | 0 static/app/views/detectors/routes.tsx | 2 +- 15 files changed, 20 insertions(+), 13 deletions(-) rename static/app/serviceWorker/worker/{client-config.ts => clientConfig.ts} (100%) rename static/app/utils/{statics-setup.tsx => setupStatics.tsx} (100%) rename static/app/utils/{silence-react-unsafe-warnings.ts => silenceReactUnsafeWarnings.ts} (100%) rename static/app/views/detectors/{new-setting.spec.tsx => newSettings.spec.tsx} (99%) rename static/app/views/detectors/{new-settings.tsx => newSettings.tsx} (100%) diff --git a/eslint.config.ts b/eslint.config.ts index 028d9917bc64..bacc02c52e8a 100644 --- a/eslint.config.ts +++ b/eslint.config.ts @@ -9,7 +9,6 @@ * `npx eslint --inspect-config` */ -import e18e from '@e18e/eslint-plugin'; /** * Import Linting Strategy * @@ -25,6 +24,7 @@ import e18e from '@e18e/eslint-plugin'; * - Controls which internal modules can import from each other * - Examples: preventing sentry from importing getsentry, core isolation, test boundaries */ +import e18e from '@e18e/eslint-plugin'; import * as emotion from '@emotion/eslint-plugin'; import eslint from '@eslint/js'; import pluginQuery from '@tanstack/eslint-plugin-query'; @@ -833,7 +833,13 @@ export default typescript.config([ extends: [unicorn.configs.unopinionated], rules: { 'unicorn/custom-error-definition': 'error', - 'unicorn/filename-case': ['error', {case: 'camelCase'}], + 'unicorn/filename-case': [ + 'error', + { + case: 'camelCase', + ignore: ['/type-loader\\.', '/__mocks__/', '/ios-device-list\\.tsx$'], + }, + ], 'unicorn/no-array-push-push': 'error', 'unicorn/no-instanceof-array': 'error', 'unicorn/no-single-promise-in-promise-methods': 'warn', // TODO(ryan953): Fix violations and enable this rule diff --git a/jest.config.ts b/jest.config.ts index b4bdf901c84c..ec1ef063973c 100644 --- a/jest.config.ts +++ b/jest.config.ts @@ -290,7 +290,7 @@ const config: Config.InitialOptions = { }, passWithNoTests: JEST_TESTS !== undefined, setupFiles: [ - '/static/app/utils/silence-react-unsafe-warnings.ts', + '/static/app/utils/silenceReactUnsafeWarnings.ts', 'jest-canvas-mock', ], setupFilesAfterEnv: [ diff --git a/knip.config.ts b/knip.config.ts index d2cfe81ac463..08d50039dad6 100644 --- a/knip.config.ts +++ b/knip.config.ts @@ -6,7 +6,7 @@ const productionEntryPoints = [ // the main entry points - app, gsAdmin & gsApp 'static/app/index.tsx', // defined in rspack.config.ts pipelines - 'static/app/utils/statics-setup.tsx', + 'static/app/utils/setupStatics.tsx', 'static/app/serviceWorker/worker/worker.ts', // exports used by scripts 'static/app/components/seer/markdown/embeds/schemas.ts', diff --git a/rspack.config.ts b/rspack.config.ts index b35b437aa52c..ec3858542e44 100644 --- a/rspack.config.ts +++ b/rspack.config.ts @@ -272,10 +272,10 @@ const appConfig: Configuration = { * * The order here matters for `getsentry` */ - app: ['sentry/utils/statics-setup', 'sentry'], + app: ['sentry/utils/setupStatics', 'sentry'], // admin interface - gsAdmin: ['sentry/utils/statics-setup', path.join(staticPrefix, 'gsAdmin')], + gsAdmin: ['sentry/utils/setupStatics', path.join(staticPrefix, 'gsAdmin')], /** * Legacy CSS Webpack appConfig for Django-powered views. diff --git a/static/app/bootstrap/commonInitialization.tsx b/static/app/bootstrap/commonInitialization.tsx index 009595abd22d..96c5154a4c20 100644 --- a/static/app/bootstrap/commonInitialization.tsx +++ b/static/app/bootstrap/commonInitialization.tsx @@ -10,7 +10,7 @@ if (IS_ACCEPTANCE_TEST || NODE_ENV === 'test') { export function commonInitialization(config: Config) { if (NODE_ENV === 'development') { - import(/* webpackMode: "eager" */ 'sentry/utils/silence-react-unsafe-warnings'); + import(/* webpackMode: "eager" */ 'sentry/utils/silenceReactUnsafeWarnings'); } ConfigStore.loadInitialData(config); diff --git a/static/app/components/events/rrwebReplayer/baseRRWebReplayer.tsx b/static/app/components/events/rrwebReplayer/baseRRWebReplayer.tsx index be5e0a464b6d..16c0462d0d9c 100644 --- a/static/app/components/events/rrwebReplayer/baseRRWebReplayer.tsx +++ b/static/app/components/events/rrwebReplayer/baseRRWebReplayer.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {useCallback, useEffect, useRef} from 'react'; import styled from '@emotion/styled'; import RRWebPlayer from '@sentry-internal/rrweb-player'; diff --git a/static/app/serviceWorker/worker/client-config.ts b/static/app/serviceWorker/worker/clientConfig.ts similarity index 100% rename from static/app/serviceWorker/worker/client-config.ts rename to static/app/serviceWorker/worker/clientConfig.ts diff --git a/static/app/serviceWorker/worker/fetch.ts b/static/app/serviceWorker/worker/fetch.ts index 7b881cd6d7e1..39d65a1fe93c 100644 --- a/static/app/serviceWorker/worker/fetch.ts +++ b/static/app/serviceWorker/worker/fetch.ts @@ -1,6 +1,6 @@ import {controlsiloUrlPatterns} from 'sentry/data/controlsiloUrlPatterns'; -import {getClientConfigFromCache} from 'sentry/serviceWorker/worker/client-config'; -import {type ClientConfig} from 'sentry/serviceWorker/worker/client-config'; +import {getClientConfigFromCache} from 'sentry/serviceWorker/worker/clientConfig'; +import {type ClientConfig} from 'sentry/serviceWorker/worker/clientConfig'; import {getApiUrl} from 'sentry/utils/api/getApiUrl'; type ApiUrl = ReturnType; diff --git a/static/app/serviceWorker/worker/initializeSentry.ts b/static/app/serviceWorker/worker/initializeSentry.ts index 35f85838fcb2..d01abdf6b3ff 100644 --- a/static/app/serviceWorker/worker/initializeSentry.ts +++ b/static/app/serviceWorker/worker/initializeSentry.ts @@ -9,7 +9,7 @@ import { SPA_MODE_ALLOW_URLS, SPA_MODE_TRACE_PROPAGATION_TARGETS, } from 'sentry/constants/sdk'; -import type {ClientConfig} from 'sentry/serviceWorker/worker/client-config'; +import type {ClientConfig} from 'sentry/serviceWorker/worker/clientConfig'; let isInitialized = false; diff --git a/static/app/serviceWorker/worker/worker.ts b/static/app/serviceWorker/worker/worker.ts index 4154c65f5907..e3bf44f4a71e 100644 --- a/static/app/serviceWorker/worker/worker.ts +++ b/static/app/serviceWorker/worker/worker.ts @@ -1,7 +1,7 @@ import * as Sentry from '@sentry/browser'; import type {ResponseMessage} from 'sentry/serviceWorker/types'; -import {fetchClientConfig} from 'sentry/serviceWorker/worker/client-config'; +import {fetchClientConfig} from 'sentry/serviceWorker/worker/clientConfig'; import {DEBUG_LOGGING, log} from 'sentry/serviceWorker/worker/constants'; import {handleInboundEvent} from 'sentry/serviceWorker/worker/handleInboundEvent'; import {handleInboundRequest} from 'sentry/serviceWorker/worker/handleInboundRequest'; diff --git a/static/app/utils/statics-setup.tsx b/static/app/utils/setupStatics.tsx similarity index 100% rename from static/app/utils/statics-setup.tsx rename to static/app/utils/setupStatics.tsx diff --git a/static/app/utils/silence-react-unsafe-warnings.ts b/static/app/utils/silenceReactUnsafeWarnings.ts similarity index 100% rename from static/app/utils/silence-react-unsafe-warnings.ts rename to static/app/utils/silenceReactUnsafeWarnings.ts diff --git a/static/app/views/detectors/new-setting.spec.tsx b/static/app/views/detectors/newSettings.spec.tsx similarity index 99% rename from static/app/views/detectors/new-setting.spec.tsx rename to static/app/views/detectors/newSettings.spec.tsx index 9b772cff5303..3d381718176f 100644 --- a/static/app/views/detectors/new-setting.spec.tsx +++ b/static/app/views/detectors/newSettings.spec.tsx @@ -21,7 +21,7 @@ import {OrganizationStore} from 'sentry/stores/organizationStore'; import {ProjectsStore} from 'sentry/stores/projectsStore'; import {getDatasetConfig} from 'sentry/views/detectors/datasetConfig/getDatasetConfig'; import {DetectorDataset} from 'sentry/views/detectors/datasetConfig/types'; -import DetectorNewSettings from 'sentry/views/detectors/new-settings'; +import DetectorNewSettings from 'sentry/views/detectors/newSettings'; describe('DetectorEdit', () => { const organization = OrganizationFixture({ diff --git a/static/app/views/detectors/new-settings.tsx b/static/app/views/detectors/newSettings.tsx similarity index 100% rename from static/app/views/detectors/new-settings.tsx rename to static/app/views/detectors/newSettings.tsx diff --git a/static/app/views/detectors/routes.tsx b/static/app/views/detectors/routes.tsx index 6c9bdb09939c..1f63ef6e86e3 100644 --- a/static/app/views/detectors/routes.tsx +++ b/static/app/views/detectors/routes.tsx @@ -17,7 +17,7 @@ export const detectorRoutes: SentryRouteObject = { }, { path: 'settings/', - component: make(() => import('sentry/views/detectors/new-settings')), + component: make(() => import('sentry/views/detectors/newSettings')), }, ], }, From 73e854c90ad88d993ec5ffee868a051147cce12c Mon Sep 17 00:00:00 2001 From: "getsantry[bot]" <66042841+getsantry[bot]@users.noreply.github.com> Date: Mon, 20 Jul 2026 18:28:15 +0000 Subject: [PATCH 3/7] :hammer_and_wrench: apply pre-commit fixes --- static/app/views/detectors/newSettings.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static/app/views/detectors/newSettings.tsx b/static/app/views/detectors/newSettings.tsx index 9f9356c6fe74..34bbc4fc093f 100644 --- a/static/app/views/detectors/newSettings.tsx +++ b/static/app/views/detectors/newSettings.tsx @@ -12,7 +12,7 @@ import { isValidDetectorType, } from 'sentry/views/detectors/utils/detectorTypeConfig'; -export default function DetectorNewSettings() { +export function DetectorNewSettings() { const {fetching: isFetchingProjects} = useProjects(); const [detectorType] = useDetectorTypeQueryState(); useWorkflowEngineFeatureGate({redirect: true}); From 25fc2c54bc9c0095f2d936b6982ca317a08fef2d Mon Sep 17 00:00:00 2001 From: Ryan Albrecht Date: Mon, 20 Jul 2026 11:54:51 -0700 Subject: [PATCH 4/7] fix(eslint): Disable filename-case for existing violations Add /* eslint-disable unicorn/filename-case */ to files with non-camelCase names, rename kebab-case .mdx docs to camelCase, and ignore shebang scripts (which can't take an inline directive on line 1) in the rule config. --- config/build-chartcuterie.ts | 1 + eslint.config.ts | 12 +++++++++++- scripts/build-js-loader.ts | 1 + scripts/dev-ui-server.ts | 1 + static/app/__mocks__/react-date-range.tsx | 1 + static/app/__mocks__/react-lazyload.tsx | 1 + static/app/components/IssueStreamHeaderLabel.tsx | 1 + static/app/components/core/form/FormSearch.tsx | 1 + .../{number-formatting.mdx => numberFormatting.mdx} | 0 .../{render-to-html.mdx => renderToHtml.mdx} | 0 .../{content-and-voice.mdx => contentAndVoice.mdx} | 0 ...ng-and-elevation.mdx => layeringAndElevation.mdx} | 0 .../featureFlags/cta/featureFlagCTAContent.tsx | 1 + .../feedback/feedbackItem/replayInlineCTAPanel.tsx | 1 + .../feedbackButton/useFeedbackSDKIntegration.tsx | 1 + .../gameConsole/RequestSdkAccessButton.tsx | 1 + .../components/illustrations/NoProjectEmptyState.tsx | 1 + .../flamegraphOverlays/FlamegraphWarnings.spec.tsx | 1 + .../flamegraphOverlays/FlamegraphWarnings.tsx | 1 + .../profiling/flamegraph/flamegraphUIFrames.tsx | 1 + .../flamegraph/flamegraphUIFramesTooltip.tsx | 1 + static/app/components/quietZoneQRCode.tsx | 1 + .../tables/gridEditable/GridEditableEmptyData.tsx | 1 + .../tables/gridEditable/GridEditableError.tsx | 1 + .../tables/gridEditable/GridEditableLoading.tsx | 1 + static/app/constants/ios-device-list.tsx | 1 + static/app/stores/IssueListCacheStore.tsx | 1 + static/app/stories/type-loader.ts | 1 + .../useVirtualizedTree/VirtualizedTree.spec.tsx | 1 + .../hooks/useVirtualizedTree/VirtualizedTree.tsx | 1 + .../useVirtualizedTree/VirtualizedTreeNode.spec.tsx | 1 + .../hooks/useVirtualizedTree/VirtualizedTreeNode.tsx | 1 + .../utils/profiling/renderers/UIFramesRenderer.tsx | 1 + .../utils/profiling/renderers/UIFramesRenderer2D.tsx | 1 + .../renderers/flamegraphRendererWebGL.spec.tsx | 1 + .../profiling/renderers/flamegraphRendererWebGL.tsx | 1 + .../renderers/uiFramesRendererWebGL.spec.tsx | 1 + .../profiling/renderers/uiFramesRendererWebGL.tsx | 1 + .../replays/hydrateRRWebRecordingFrames.spec.tsx | 1 + .../utils/replays/hydrateRRWebRecordingFrames.tsx | 1 + static/app/utils/string/containsCRLF.ts | 1 + static/app/utils/string/isUUID.spec.tsx | 1 + static/app/utils/string/isUUID.tsx | 1 + static/app/utils/string/looksLikeAJSONArray.spec.tsx | 1 + static/app/utils/string/looksLikeAJSONArray.tsx | 1 + .../app/utils/string/looksLikeAJSONObject.spec.tsx | 1 + static/app/utils/string/looksLikeAJSONObject.tsx | 1 + static/app/utils/url/safeURL.spec.tsx | 1 + static/app/utils/url/safeURL.tsx | 1 + static/app/utils/url/stripURLOrigin.spec.tsx | 1 + static/app/utils/url/stripURLOrigin.tsx | 1 + static/app/utils/useRAF.tsx | 1 + .../app/views/alerts/rules/APIUsageWarningBanner.tsx | 1 + static/app/views/app/asyncSDKIntegrationProvider.tsx | 1 + .../dashboards/widgetCard/dashboardsMEPContext.tsx | 1 + .../dashboards/widgetCard/widgetLLMContext.spec.tsx | 1 + .../views/dashboards/widgetCard/widgetLLMContext.tsx | 1 + .../fixtures/sampleHTTPRequestTableData.ts | 1 + .../views/explore/logs/pinning/PinnedLogs.spec.tsx | 1 + static/app/views/explore/logs/pinning/PinnedLogs.tsx | 1 + .../explore/metrics/hooks/useHasMetricUnitsUI.tsx | 1 + .../views/explore/releases/list/releaseHealthCTA.tsx | 1 + .../views/explore/replays/detail/browserOSIcons.tsx | 1 + .../explore/replays/list/setupReplaysCTA.spec.tsx | 1 + .../app/views/insights/common/utils/hasEAPAlerts.tsx | 1 + .../app/views/insights/common/utils/useModuleURL.tsx | 1 + .../database/queries/useOutdatedSDKProjects.tsx | 1 + .../database/utils/formatMongoDBQuery.spec.tsx | 1 + .../insights/database/utils/formatMongoDBQuery.tsx | 1 + .../views/insights/pages/agents/hooks/useAITrace.tsx | 1 + .../insights/pages/agents/utils/formatLLMCosts.tsx | 1 + .../pages/mcp/hooks/useShowMCPOnboarding.tsx | 1 + .../pages/platform/shared/table/DurationCell.tsx | 1 + .../pages/platform/shared/table/ErrorRateCell.tsx | 1 + .../pages/platform/shared/table/NumberCell.tsx | 1 + .../pages/platform/shared/table/ThresholdCell.tsx | 1 + .../issueDetails/groupFeatureFlags/flagDrawerCTA.tsx | 1 + static/app/views/onboarding/useHasNewWelcomeUI.ts | 1 + .../details/span/eapSections/aiIOAlert.tsx | 1 + .../newTraceDetails/traceRow/traceEAPSpanRow.tsx | 1 + .../newTraceDetails/useIsEAPTraceEnabled.tsx | 1 + .../seerExplorer/contexts/registerLLMContext.tsx | 1 + .../SplitInstallationIdModal.tsx | 1 + .../integrationRequest/RequestIntegrationButton.tsx | 1 + .../integrationRequest/RequestIntegrationModal.tsx | 1 + .../views/settings/project/tempest/CredentialRow.tsx | 1 + .../settings/project/tempest/DevKitSettings.tsx | 1 + .../views/settings/project/tempest/EmptyState.tsx | 1 + .../settings/project/tempest/PlayStationSettings.tsx | 1 + .../project/tempest/allowListIPAddresses.tsx | 1 + .../eslintPluginScraps/src/ast/extractor/css-prop.ts | 1 + .../src/ast/extractor/style-prop.ts | 1 + .../src/ast/extractor/value-decomposer.ts | 1 + .../src/rules/no-core-import.spec.ts | 1 + .../eslintPluginScraps/src/rules/no-core-import.ts | 1 + .../src/rules/no-double-dollar-interpolation.spec.ts | 1 + .../src/rules/no-double-dollar-interpolation.ts | 1 + .../src/rules/no-token-import.spec.ts | 1 + .../eslintPluginScraps/src/rules/no-token-import.ts | 1 + .../src/rules/prefer-info-text.spec.ts | 1 + .../eslintPluginScraps/src/rules/prefer-info-text.ts | 1 + .../src/rules/prefer-stack-for-column-flex.spec.ts | 1 + .../src/rules/prefer-stack-for-column-flex.ts | 1 + .../src/rules/restrict-jsx-slot-children.spec.ts | 1 + .../src/rules/restrict-jsx-slot-children.ts | 1 + .../src/rules/use-semantic-token.spec.ts | 1 + .../src/rules/use-semantic-token.ts | 1 + .../no-calling-components-as-functions.spec.ts | 1 + .../no-calling-components-as-functions.ts | 1 + .../eslintPluginSentry/no-default-exports.spec.ts | 1 + .../eslint/eslintPluginSentry/no-default-exports.ts | 1 + .../eslintPluginSentry/no-digits-in-tn.spec.ts | 1 + static/eslint/eslintPluginSentry/no-digits-in-tn.ts | 1 + .../no-dynamic-translations.spec.ts | 1 + .../eslintPluginSentry/no-dynamic-translations.ts | 1 + .../eslintPluginSentry/no-flag-comments.spec.ts | 1 + static/eslint/eslintPluginSentry/no-flag-comments.ts | 1 + .../no-query-data-type-parameters.spec.ts | 1 + .../no-query-data-type-parameters.ts | 1 + .../eslintPluginSentry/no-raw-css-in-styled.spec.ts | 1 + .../eslintPluginSentry/no-raw-css-in-styled.ts | 1 + .../eslintPluginSentry/no-static-translations.ts | 1 + .../eslintPluginSentry/no-styled-shortcut.spec.ts | 1 + .../eslint/eslintPluginSentry/no-styled-shortcut.ts | 1 + .../no-unnecessary-type-annotation.spec.ts | 1 + .../no-unnecessary-type-annotation.ts | 1 + .../no-unnecessary-type-narrowing.spec.ts | 1 + .../no-unnecessary-type-narrowing.ts | 1 + .../no-unnecessary-use-callback.spec.ts | 1 + .../no-unnecessary-use-callback.ts | 1 + .../no-useless-css-interpolation-semicolon.spec.ts | 1 + .../no-useless-css-interpolation-semicolon.ts | 1 + static/gsAdmin/components/changeARRAction.spec.tsx | 1 + static/gsAdmin/components/changeARRAction.tsx | 1 + static/gsAdmin/views/privateAPIs.tsx | 1 + .../gsApp/__mocks__/@amplitude/analytics-browser.tsx | 1 + static/gsApp/components/addEventsCTA.tsx | 1 + static/gsApp/components/ai/AiSetupDataConsent.tsx | 1 + .../gsApp/components/crons/cronsBannerUpgradeCTA.tsx | 1 + .../gsApp/components/productUnavailableCTA.spec.tsx | 1 + static/gsApp/components/productUnavailableCTA.tsx | 1 + static/gsApp/components/replayOnboardingCTA.tsx | 1 + static/gsApp/hooks/useAM2ProfilingUpsellModal.tsx | 1 + static/gsApp/hooks/useAM2UpsellModal.tsx | 1 + .../overrides/firstPartyIntegrationAdditionalCTA.tsx | 1 + static/gsApp/utils/ISO3166codes.ts | 1 + tests/js/fixtures/sourceMapsDebugIDBundles.ts | 1 + .../js/fixtures/sourceMapsDebugIDBundlesArtifacts.ts | 1 + tests/js/sentry-test/sentry-jest-environment.d.ts | 1 + tests/js/sentry-test/snapshots/snapshot-framework.ts | 1 + .../sentry-test/snapshots/snapshot-image-metadata.ts | 1 + tests/js/sentry-test/snapshots/snapshot-setup.ts | 1 + 152 files changed, 158 insertions(+), 1 deletion(-) rename static/app/components/core/patterns/{number-formatting.mdx => numberFormatting.mdx} (100%) rename static/app/components/core/patterns/{render-to-html.mdx => renderToHtml.mdx} (100%) rename static/app/components/core/principles/content-and-voice/{content-and-voice.mdx => contentAndVoice.mdx} (100%) rename static/app/components/core/principles/layering-and-elevation/{layering-and-elevation.mdx => layeringAndElevation.mdx} (100%) diff --git a/config/build-chartcuterie.ts b/config/build-chartcuterie.ts index 95ba09d47b3e..032f7317110a 100644 --- a/config/build-chartcuterie.ts +++ b/config/build-chartcuterie.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ /* eslint-disable import/no-nodejs-modules, no-console */ import childProcess from 'node:child_process'; diff --git a/eslint.config.ts b/eslint.config.ts index bacc02c52e8a..d75d58538c96 100644 --- a/eslint.config.ts +++ b/eslint.config.ts @@ -837,7 +837,17 @@ export default typescript.config([ 'error', { case: 'camelCase', - ignore: ['/type-loader\\.', '/__mocks__/', '/ios-device-list\\.tsx$'], + ignore: [ + '/type-loader\\.', + '/__mocks__/', + '/ios-device-list\\.tsx$', + // Shebang scripts can't use an inline disable comment (it must sit + // on line 1, where the shebang is) and are invoked by their + // kebab-case names from package.json/CI, so ignore them here. + 'analyze-styled\\.ts$', + 'type-coverage\\.ts$', + 'type-coverage-diff\\.ts$', + ], }, ], 'unicorn/no-array-push-push': 'error', diff --git a/scripts/build-js-loader.ts b/scripts/build-js-loader.ts index 64a83e7df3e9..973fe2bae9b3 100644 --- a/scripts/build-js-loader.ts +++ b/scripts/build-js-loader.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ 'use strict'; import fs from 'node:fs'; diff --git a/scripts/dev-ui-server.ts b/scripts/dev-ui-server.ts index a4952c4f77fe..6681ce062804 100644 --- a/scripts/dev-ui-server.ts +++ b/scripts/dev-ui-server.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {spawn} from 'node:child_process'; import * as net from 'node:net'; diff --git a/static/app/__mocks__/react-date-range.tsx b/static/app/__mocks__/react-date-range.tsx index f85e407899a6..7e1bc3a72525 100644 --- a/static/app/__mocks__/react-date-range.tsx +++ b/static/app/__mocks__/react-date-range.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import type {CalendarProps, DateRangeProps, Range, RangeKeyDict} from 'react-date-range'; import moment from 'moment-timezone'; diff --git a/static/app/__mocks__/react-lazyload.tsx b/static/app/__mocks__/react-lazyload.tsx index a5be44b10d53..8d360585cc90 100644 --- a/static/app/__mocks__/react-lazyload.tsx +++ b/static/app/__mocks__/react-lazyload.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ /** * Auto-mock of the react-lazyload library for jest * diff --git a/static/app/components/IssueStreamHeaderLabel.tsx b/static/app/components/IssueStreamHeaderLabel.tsx index e7d60a492973..50825adcc997 100644 --- a/static/app/components/IssueStreamHeaderLabel.tsx +++ b/static/app/components/IssueStreamHeaderLabel.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {css} from '@emotion/react'; import styled from '@emotion/styled'; diff --git a/static/app/components/core/form/FormSearch.tsx b/static/app/components/core/form/FormSearch.tsx index baad2336d206..6772a511bae8 100644 --- a/static/app/components/core/form/FormSearch.tsx +++ b/static/app/components/core/form/FormSearch.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import type {ReactNode} from 'react'; interface FormSearchProps { diff --git a/static/app/components/core/patterns/number-formatting.mdx b/static/app/components/core/patterns/numberFormatting.mdx similarity index 100% rename from static/app/components/core/patterns/number-formatting.mdx rename to static/app/components/core/patterns/numberFormatting.mdx diff --git a/static/app/components/core/patterns/render-to-html.mdx b/static/app/components/core/patterns/renderToHtml.mdx similarity index 100% rename from static/app/components/core/patterns/render-to-html.mdx rename to static/app/components/core/patterns/renderToHtml.mdx diff --git a/static/app/components/core/principles/content-and-voice/content-and-voice.mdx b/static/app/components/core/principles/content-and-voice/contentAndVoice.mdx similarity index 100% rename from static/app/components/core/principles/content-and-voice/content-and-voice.mdx rename to static/app/components/core/principles/content-and-voice/contentAndVoice.mdx diff --git a/static/app/components/core/principles/layering-and-elevation/layering-and-elevation.mdx b/static/app/components/core/principles/layering-and-elevation/layeringAndElevation.mdx similarity index 100% rename from static/app/components/core/principles/layering-and-elevation/layering-and-elevation.mdx rename to static/app/components/core/principles/layering-and-elevation/layeringAndElevation.mdx diff --git a/static/app/components/events/featureFlags/cta/featureFlagCTAContent.tsx b/static/app/components/events/featureFlags/cta/featureFlagCTAContent.tsx index 43600a2397ad..81d5a7481ca1 100644 --- a/static/app/components/events/featureFlags/cta/featureFlagCTAContent.tsx +++ b/static/app/components/events/featureFlags/cta/featureFlagCTAContent.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {Fragment, useEffect} from 'react'; import styled from '@emotion/styled'; diff --git a/static/app/components/feedback/feedbackItem/replayInlineCTAPanel.tsx b/static/app/components/feedback/feedbackItem/replayInlineCTAPanel.tsx index 843341094c41..06969845b49d 100644 --- a/static/app/components/feedback/feedbackItem/replayInlineCTAPanel.tsx +++ b/static/app/components/feedback/feedbackItem/replayInlineCTAPanel.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import styled from '@emotion/styled'; import replaysInlineOnboarding from 'sentry-images/spot/replay-onboarding-backend.svg'; diff --git a/static/app/components/feedbackButton/useFeedbackSDKIntegration.tsx b/static/app/components/feedbackButton/useFeedbackSDKIntegration.tsx index e4414870d078..a55dfed15db9 100644 --- a/static/app/components/feedbackButton/useFeedbackSDKIntegration.tsx +++ b/static/app/components/feedbackButton/useFeedbackSDKIntegration.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {useMemo} from 'react'; import type * as Sentry from '@sentry/react'; diff --git a/static/app/components/gameConsole/RequestSdkAccessButton.tsx b/static/app/components/gameConsole/RequestSdkAccessButton.tsx index 4cdcf5bea046..99fab3f15d96 100644 --- a/static/app/components/gameConsole/RequestSdkAccessButton.tsx +++ b/static/app/components/gameConsole/RequestSdkAccessButton.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {Button, type ButtonProps} from '@sentry/scraps/button'; import {openPrivateGamingSdkAccessModal} from 'sentry/actionCreators/modal'; diff --git a/static/app/components/illustrations/NoProjectEmptyState.tsx b/static/app/components/illustrations/NoProjectEmptyState.tsx index a75ec600c0bd..8cb3a253107d 100644 --- a/static/app/components/illustrations/NoProjectEmptyState.tsx +++ b/static/app/components/illustrations/NoProjectEmptyState.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {css, keyframes} from '@emotion/react'; import styled from '@emotion/styled'; import type {Transition} from 'framer-motion'; diff --git a/static/app/components/profiling/flamegraph/flamegraphOverlays/FlamegraphWarnings.spec.tsx b/static/app/components/profiling/flamegraph/flamegraphOverlays/FlamegraphWarnings.spec.tsx index c568431e26e1..2b5664d494bd 100644 --- a/static/app/components/profiling/flamegraph/flamegraphOverlays/FlamegraphWarnings.spec.tsx +++ b/static/app/components/profiling/flamegraph/flamegraphOverlays/FlamegraphWarnings.spec.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {render, screen, userEvent} from 'sentry-test/reactTestingLibrary'; import {FlamegraphWarnings} from 'sentry/components/profiling/flamegraph/flamegraphOverlays/FlamegraphWarnings'; diff --git a/static/app/components/profiling/flamegraph/flamegraphOverlays/FlamegraphWarnings.tsx b/static/app/components/profiling/flamegraph/flamegraphOverlays/FlamegraphWarnings.tsx index dc8fa25e3062..af3524034f3f 100644 --- a/static/app/components/profiling/flamegraph/flamegraphOverlays/FlamegraphWarnings.tsx +++ b/static/app/components/profiling/flamegraph/flamegraphOverlays/FlamegraphWarnings.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import styled from '@emotion/styled'; import {Button} from '@sentry/scraps/button'; diff --git a/static/app/components/profiling/flamegraph/flamegraphUIFrames.tsx b/static/app/components/profiling/flamegraph/flamegraphUIFrames.tsx index 052ef084485b..192735f4a467 100644 --- a/static/app/components/profiling/flamegraph/flamegraphUIFrames.tsx +++ b/static/app/components/profiling/flamegraph/flamegraphUIFrames.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import type {CSSProperties} from 'react'; import {Fragment, useCallback, useEffect, useMemo, useState} from 'react'; import styled from '@emotion/styled'; diff --git a/static/app/components/profiling/flamegraph/flamegraphUIFramesTooltip.tsx b/static/app/components/profiling/flamegraph/flamegraphUIFramesTooltip.tsx index bd7c4d3f4dc6..d28346f907fa 100644 --- a/static/app/components/profiling/flamegraph/flamegraphUIFramesTooltip.tsx +++ b/static/app/components/profiling/flamegraph/flamegraphUIFramesTooltip.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {Fragment, useMemo} from 'react'; import type {vec2} from 'gl-matrix'; diff --git a/static/app/components/quietZoneQRCode.tsx b/static/app/components/quietZoneQRCode.tsx index f60d249336a8..49904cab3702 100644 --- a/static/app/components/quietZoneQRCode.tsx +++ b/static/app/components/quietZoneQRCode.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import type React from 'react'; import styled from '@emotion/styled'; import {QRCodeCanvas} from 'qrcode.react'; diff --git a/static/app/components/tables/gridEditable/GridEditableEmptyData.tsx b/static/app/components/tables/gridEditable/GridEditableEmptyData.tsx index 740715c5d1b4..4be0fcdb9313 100644 --- a/static/app/components/tables/gridEditable/GridEditableEmptyData.tsx +++ b/static/app/components/tables/gridEditable/GridEditableEmptyData.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {EmptyStateWarning} from 'sentry/components/emptyStateWarning'; import {t} from 'sentry/locale'; diff --git a/static/app/components/tables/gridEditable/GridEditableError.tsx b/static/app/components/tables/gridEditable/GridEditableError.tsx index 1bd47d041bc7..e9afd372e0c2 100644 --- a/static/app/components/tables/gridEditable/GridEditableError.tsx +++ b/static/app/components/tables/gridEditable/GridEditableError.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {IconWarning} from 'sentry/icons'; import {GridBodyCellStatus, GridRow} from './styles'; diff --git a/static/app/components/tables/gridEditable/GridEditableLoading.tsx b/static/app/components/tables/gridEditable/GridEditableLoading.tsx index c1d25cb48947..b39f5ed88857 100644 --- a/static/app/components/tables/gridEditable/GridEditableLoading.tsx +++ b/static/app/components/tables/gridEditable/GridEditableLoading.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {LoadingIndicator} from 'sentry/components/loadingIndicator'; import {GridBodyCellStatus, GridRow} from './styles'; diff --git a/static/app/constants/ios-device-list.tsx b/static/app/constants/ios-device-list.tsx index 012b9fe12b0f..46e2a5d7b39e 100644 --- a/static/app/constants/ios-device-list.tsx +++ b/static/app/constants/ios-device-list.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ // When updating this file, please also update // Relay: https://github.com/getsentry/relay/blob/a91f0c92860f88789ad6092ef5b1062aa3e34b80/relay-event-schema/src/protocol/device_class.rs // Python: https://github.com/getsentry/sentry/blob/c53745bb716899758d0f1caf5446d830e4ebbdb2/src/sentry/api/helpers/ios_models.py diff --git a/static/app/stores/IssueListCacheStore.tsx b/static/app/stores/IssueListCacheStore.tsx index 533e13497061..e847e3494bcd 100644 --- a/static/app/stores/IssueListCacheStore.tsx +++ b/static/app/stores/IssueListCacheStore.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import isEqual from 'lodash/isEqual'; import {createStore} from 'reflux'; diff --git a/static/app/stories/type-loader.ts b/static/app/stories/type-loader.ts index 63cccdafa0e3..9a6b404656d6 100644 --- a/static/app/stories/type-loader.ts +++ b/static/app/stories/type-loader.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import * as docgen from 'react-docgen-typescript'; import type {LoaderContext} from '@rspack/core'; import * as typescript from 'typescript'; diff --git a/static/app/utils/profiling/hooks/useVirtualizedTree/VirtualizedTree.spec.tsx b/static/app/utils/profiling/hooks/useVirtualizedTree/VirtualizedTree.spec.tsx index b1c739c30782..d42a3af50707 100644 --- a/static/app/utils/profiling/hooks/useVirtualizedTree/VirtualizedTree.spec.tsx +++ b/static/app/utils/profiling/hooks/useVirtualizedTree/VirtualizedTree.spec.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {VirtualizedTree} from 'sentry/utils/profiling/hooks/useVirtualizedTree/VirtualizedTree'; import type {VirtualizedTreeNode} from 'sentry/utils/profiling/hooks/useVirtualizedTree/VirtualizedTreeNode'; diff --git a/static/app/utils/profiling/hooks/useVirtualizedTree/VirtualizedTree.tsx b/static/app/utils/profiling/hooks/useVirtualizedTree/VirtualizedTree.tsx index 774329b8501c..0110f476f68a 100644 --- a/static/app/utils/profiling/hooks/useVirtualizedTree/VirtualizedTree.tsx +++ b/static/app/utils/profiling/hooks/useVirtualizedTree/VirtualizedTree.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import type {TreeLike} from 'sentry/utils/profiling/hooks/useVirtualizedTree/useVirtualizedTree'; import {VirtualizedTreeNode} from './VirtualizedTreeNode'; diff --git a/static/app/utils/profiling/hooks/useVirtualizedTree/VirtualizedTreeNode.spec.tsx b/static/app/utils/profiling/hooks/useVirtualizedTree/VirtualizedTreeNode.spec.tsx index 025507297d21..6df5ad1426a5 100644 --- a/static/app/utils/profiling/hooks/useVirtualizedTree/VirtualizedTreeNode.spec.tsx +++ b/static/app/utils/profiling/hooks/useVirtualizedTree/VirtualizedTreeNode.spec.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {VirtualizedTreeNode} from 'sentry/utils/profiling/hooks/useVirtualizedTree/VirtualizedTreeNode'; describe('VirtualizedTreeNode', () => { diff --git a/static/app/utils/profiling/hooks/useVirtualizedTree/VirtualizedTreeNode.tsx b/static/app/utils/profiling/hooks/useVirtualizedTree/VirtualizedTreeNode.tsx index 26b4fcef0ac3..e8b30eb0031e 100644 --- a/static/app/utils/profiling/hooks/useVirtualizedTree/VirtualizedTreeNode.tsx +++ b/static/app/utils/profiling/hooks/useVirtualizedTree/VirtualizedTreeNode.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ export class VirtualizedTreeNode { node: T; parent: VirtualizedTreeNode | null; diff --git a/static/app/utils/profiling/renderers/UIFramesRenderer.tsx b/static/app/utils/profiling/renderers/UIFramesRenderer.tsx index 3ff93af98d4a..0500824ba1b8 100644 --- a/static/app/utils/profiling/renderers/UIFramesRenderer.tsx +++ b/static/app/utils/profiling/renderers/UIFramesRenderer.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import type {mat3, vec2} from 'gl-matrix'; import type { diff --git a/static/app/utils/profiling/renderers/UIFramesRenderer2D.tsx b/static/app/utils/profiling/renderers/UIFramesRenderer2D.tsx index ecc23d93d6bc..630589e69261 100644 --- a/static/app/utils/profiling/renderers/UIFramesRenderer2D.tsx +++ b/static/app/utils/profiling/renderers/UIFramesRenderer2D.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import type {mat3} from 'gl-matrix'; import {colorComponentsToRGBA} from 'sentry/utils/profiling/colors/utils'; diff --git a/static/app/utils/profiling/renderers/flamegraphRendererWebGL.spec.tsx b/static/app/utils/profiling/renderers/flamegraphRendererWebGL.spec.tsx index 8a2ddfd57fd7..aa8b7d4a41f5 100644 --- a/static/app/utils/profiling/renderers/flamegraphRendererWebGL.spec.tsx +++ b/static/app/utils/profiling/renderers/flamegraphRendererWebGL.spec.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {vec2} from 'gl-matrix'; import {ThemeFixture} from 'sentry-fixture/theme'; diff --git a/static/app/utils/profiling/renderers/flamegraphRendererWebGL.tsx b/static/app/utils/profiling/renderers/flamegraphRendererWebGL.tsx index 2a55fbb3c4f5..01a60c18cff2 100644 --- a/static/app/utils/profiling/renderers/flamegraphRendererWebGL.tsx +++ b/static/app/utils/profiling/renderers/flamegraphRendererWebGL.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import * as Sentry from '@sentry/react'; import type {vec2} from 'gl-matrix'; import {mat3} from 'gl-matrix'; diff --git a/static/app/utils/profiling/renderers/uiFramesRendererWebGL.spec.tsx b/static/app/utils/profiling/renderers/uiFramesRendererWebGL.spec.tsx index 9fe4591a7672..e91563f92fc6 100644 --- a/static/app/utils/profiling/renderers/uiFramesRendererWebGL.spec.tsx +++ b/static/app/utils/profiling/renderers/uiFramesRendererWebGL.spec.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {vec2} from 'gl-matrix'; import {ThemeFixture} from 'sentry-fixture/theme'; diff --git a/static/app/utils/profiling/renderers/uiFramesRendererWebGL.tsx b/static/app/utils/profiling/renderers/uiFramesRendererWebGL.tsx index 54a76f9069a2..3c4a2b6f9fd8 100644 --- a/static/app/utils/profiling/renderers/uiFramesRendererWebGL.tsx +++ b/static/app/utils/profiling/renderers/uiFramesRendererWebGL.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import * as Sentry from '@sentry/react'; import {mat3} from 'gl-matrix'; diff --git a/static/app/utils/replays/hydrateRRWebRecordingFrames.spec.tsx b/static/app/utils/replays/hydrateRRWebRecordingFrames.spec.tsx index 4078c300ef8c..01fd80f3a5c3 100644 --- a/static/app/utils/replays/hydrateRRWebRecordingFrames.spec.tsx +++ b/static/app/utils/replays/hydrateRRWebRecordingFrames.spec.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {ReplayRecordFixture} from 'sentry-fixture/replayRecord'; import {recordingEndFrame} from 'sentry/utils/replays/hydrateRRWebRecordingFrames'; diff --git a/static/app/utils/replays/hydrateRRWebRecordingFrames.tsx b/static/app/utils/replays/hydrateRRWebRecordingFrames.tsx index e8f1aa772f39..713048ee6a00 100644 --- a/static/app/utils/replays/hydrateRRWebRecordingFrames.tsx +++ b/static/app/utils/replays/hydrateRRWebRecordingFrames.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import type {RecordingFrame} from 'sentry/utils/replays/types'; import {EventType} from 'sentry/utils/replays/types'; import type {HydratedReplayRecord} from 'sentry/views/explore/replays/types'; diff --git a/static/app/utils/string/containsCRLF.ts b/static/app/utils/string/containsCRLF.ts index 0a4e7a03a0dd..7093835de337 100644 --- a/static/app/utils/string/containsCRLF.ts +++ b/static/app/utils/string/containsCRLF.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ const CRLF_REGEXP = /[\r\n]/; export function containsCRLF(value: string) { diff --git a/static/app/utils/string/isUUID.spec.tsx b/static/app/utils/string/isUUID.spec.tsx index 6c5f2760b482..83cea047b3fa 100644 --- a/static/app/utils/string/isUUID.spec.tsx +++ b/static/app/utils/string/isUUID.spec.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {isUUID} from 'sentry/utils/string/isUUID'; describe('isUUID', () => { diff --git a/static/app/utils/string/isUUID.tsx b/static/app/utils/string/isUUID.tsx index acebd96810ab..65a7abb0e0b2 100644 --- a/static/app/utils/string/isUUID.tsx +++ b/static/app/utils/string/isUUID.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ export function isUUID(uuid: string): boolean { const uuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i; return uuidRegex.test(uuid); diff --git a/static/app/utils/string/looksLikeAJSONArray.spec.tsx b/static/app/utils/string/looksLikeAJSONArray.spec.tsx index aeb8eb0f297d..be6178a21917 100644 --- a/static/app/utils/string/looksLikeAJSONArray.spec.tsx +++ b/static/app/utils/string/looksLikeAJSONArray.spec.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {looksLikeAJSONArray} from './looksLikeAJSONArray'; describe('looksLikeAJSONArray', () => { diff --git a/static/app/utils/string/looksLikeAJSONArray.tsx b/static/app/utils/string/looksLikeAJSONArray.tsx index 1edc98a1a360..2190ca00b6d7 100644 --- a/static/app/utils/string/looksLikeAJSONArray.tsx +++ b/static/app/utils/string/looksLikeAJSONArray.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ /** * Check if a string value looks like it could be a JSON-encoded array. This is useful for situations where we used JSON strings to store array values because diff --git a/static/app/utils/string/looksLikeAJSONObject.spec.tsx b/static/app/utils/string/looksLikeAJSONObject.spec.tsx index b19f8ad5e4e8..63271582b932 100644 --- a/static/app/utils/string/looksLikeAJSONObject.spec.tsx +++ b/static/app/utils/string/looksLikeAJSONObject.spec.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {looksLikeAJSONObject} from './looksLikeAJSONObject'; describe('looksLikeAJSONObject', () => { diff --git a/static/app/utils/string/looksLikeAJSONObject.tsx b/static/app/utils/string/looksLikeAJSONObject.tsx index 733826eda080..8f74605eb844 100644 --- a/static/app/utils/string/looksLikeAJSONObject.tsx +++ b/static/app/utils/string/looksLikeAJSONObject.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ /** * Check if a string value looks like it could be a JSON-encoded object. This is useful for situations where we used JSON strings to store object values because diff --git a/static/app/utils/url/safeURL.spec.tsx b/static/app/utils/url/safeURL.spec.tsx index 9d81a3187e00..c8d4f3b40c47 100644 --- a/static/app/utils/url/safeURL.spec.tsx +++ b/static/app/utils/url/safeURL.spec.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {safeURL} from './safeURL'; describe('safeURL', () => { diff --git a/static/app/utils/url/safeURL.tsx b/static/app/utils/url/safeURL.tsx index 20c047f1ff80..10ba608765d1 100644 --- a/static/app/utils/url/safeURL.tsx +++ b/static/app/utils/url/safeURL.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ /** * Does not throw error on invalid input and returns the parsed URL object * if the input is a valid URL, otherwise returns undefined. diff --git a/static/app/utils/url/stripURLOrigin.spec.tsx b/static/app/utils/url/stripURLOrigin.spec.tsx index bf04b1b450ff..fc615890e410 100644 --- a/static/app/utils/url/stripURLOrigin.spec.tsx +++ b/static/app/utils/url/stripURLOrigin.spec.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {stripURLOrigin} from 'sentry/utils/url/stripURLOrigin'; describe('stripURLOrigin', () => { diff --git a/static/app/utils/url/stripURLOrigin.tsx b/static/app/utils/url/stripURLOrigin.tsx index 2a9c71e036fd..4f7d20e5230a 100644 --- a/static/app/utils/url/stripURLOrigin.tsx +++ b/static/app/utils/url/stripURLOrigin.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {safeURL} from 'sentry/utils/url/safeURL'; /** diff --git a/static/app/utils/useRAF.tsx b/static/app/utils/useRAF.tsx index 40254237cbbd..424f8b64de9c 100644 --- a/static/app/utils/useRAF.tsx +++ b/static/app/utils/useRAF.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {useEffect} from 'react'; export function useRAF(callback: () => unknown, opts?: {enabled: boolean}) { diff --git a/static/app/views/alerts/rules/APIUsageWarningBanner.tsx b/static/app/views/alerts/rules/APIUsageWarningBanner.tsx index 00fcf429cbe7..96bc29a652da 100644 --- a/static/app/views/alerts/rules/APIUsageWarningBanner.tsx +++ b/static/app/views/alerts/rules/APIUsageWarningBanner.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {Alert} from '@sentry/scraps/alert'; import {ExternalLink} from '@sentry/scraps/link'; diff --git a/static/app/views/app/asyncSDKIntegrationProvider.tsx b/static/app/views/app/asyncSDKIntegrationProvider.tsx index 7485eed8a577..c598f248b3a5 100644 --- a/static/app/views/app/asyncSDKIntegrationProvider.tsx +++ b/static/app/views/app/asyncSDKIntegrationProvider.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {createContext, useContext, useState} from 'react'; import type {addIntegration} from '@sentry/react'; diff --git a/static/app/views/dashboards/widgetCard/dashboardsMEPContext.tsx b/static/app/views/dashboards/widgetCard/dashboardsMEPContext.tsx index 305080f42a49..947345c2b76e 100644 --- a/static/app/views/dashboards/widgetCard/dashboardsMEPContext.tsx +++ b/static/app/views/dashboards/widgetCard/dashboardsMEPContext.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import type {ReactNode} from 'react'; import {createContext, useContext, useState} from 'react'; diff --git a/static/app/views/dashboards/widgetCard/widgetLLMContext.spec.tsx b/static/app/views/dashboards/widgetCard/widgetLLMContext.spec.tsx index ff935b42cb60..9cd8c84f8943 100644 --- a/static/app/views/dashboards/widgetCard/widgetLLMContext.spec.tsx +++ b/static/app/views/dashboards/widgetCard/widgetLLMContext.spec.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {WidgetFixture} from 'sentry-fixture/widget'; import {DisplayType} from 'sentry/views/dashboards/types'; diff --git a/static/app/views/dashboards/widgetCard/widgetLLMContext.tsx b/static/app/views/dashboards/widgetCard/widgetLLMContext.tsx index bfc2ccc1e3f5..c39a48ce0c73 100644 --- a/static/app/views/dashboards/widgetCard/widgetLLMContext.tsx +++ b/static/app/views/dashboards/widgetCard/widgetLLMContext.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {OP_LABELS} from 'sentry/components/searchQueryBuilder/tokens/filter/utils'; import type {Widget} from 'sentry/views/dashboards/types'; import {DisplayType} from 'sentry/views/dashboards/types'; diff --git a/static/app/views/dashboards/widgets/tableWidget/fixtures/sampleHTTPRequestTableData.ts b/static/app/views/dashboards/widgets/tableWidget/fixtures/sampleHTTPRequestTableData.ts index 563f7f6949c7..3842cfc15d13 100644 --- a/static/app/views/dashboards/widgets/tableWidget/fixtures/sampleHTTPRequestTableData.ts +++ b/static/app/views/dashboards/widgets/tableWidget/fixtures/sampleHTTPRequestTableData.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import type {TabularData} from 'sentry/views/dashboards/widgets/common/types'; export const sampleHTTPRequestTableData: TabularData = { diff --git a/static/app/views/explore/logs/pinning/PinnedLogs.spec.tsx b/static/app/views/explore/logs/pinning/PinnedLogs.spec.tsx index 4f2519876af4..fbc5a7cc7baa 100644 --- a/static/app/views/explore/logs/pinning/PinnedLogs.spec.tsx +++ b/static/app/views/explore/logs/pinning/PinnedLogs.spec.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {LogFixture} from 'sentry-fixture/log'; import {OrganizationFixture} from 'sentry-fixture/organization'; diff --git a/static/app/views/explore/logs/pinning/PinnedLogs.tsx b/static/app/views/explore/logs/pinning/PinnedLogs.tsx index fa27cbfa25d5..95e141a12285 100644 --- a/static/app/views/explore/logs/pinning/PinnedLogs.tsx +++ b/static/app/views/explore/logs/pinning/PinnedLogs.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {Fragment, useCallback, useMemo, useState} from 'react'; import styled from '@emotion/styled'; diff --git a/static/app/views/explore/metrics/hooks/useHasMetricUnitsUI.tsx b/static/app/views/explore/metrics/hooks/useHasMetricUnitsUI.tsx index 5f5a2cafdbd6..9cdbd1c537ee 100644 --- a/static/app/views/explore/metrics/hooks/useHasMetricUnitsUI.tsx +++ b/static/app/views/explore/metrics/hooks/useHasMetricUnitsUI.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {useOrganization} from 'sentry/utils/useOrganization'; export function useHasMetricUnitsUI() { diff --git a/static/app/views/explore/releases/list/releaseHealthCTA.tsx b/static/app/views/explore/releases/list/releaseHealthCTA.tsx index fefd94e28f5e..7e987204e6bd 100644 --- a/static/app/views/explore/releases/list/releaseHealthCTA.tsx +++ b/static/app/views/explore/releases/list/releaseHealthCTA.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import styled from '@emotion/styled'; import {Alert} from '@sentry/scraps/alert'; diff --git a/static/app/views/explore/replays/detail/browserOSIcons.tsx b/static/app/views/explore/replays/detail/browserOSIcons.tsx index e41e5ce0505b..557f5e0c65b9 100644 --- a/static/app/views/explore/replays/detail/browserOSIcons.tsx +++ b/static/app/views/explore/replays/detail/browserOSIcons.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {Fragment} from 'react'; import styled from '@emotion/styled'; import {PlatformIcon} from 'platformicons'; diff --git a/static/app/views/explore/replays/list/setupReplaysCTA.spec.tsx b/static/app/views/explore/replays/list/setupReplaysCTA.spec.tsx index 9bfc7e52feb8..580b53024e8b 100644 --- a/static/app/views/explore/replays/list/setupReplaysCTA.spec.tsx +++ b/static/app/views/explore/replays/list/setupReplaysCTA.spec.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {render, screen, userEvent} from 'sentry-test/reactTestingLibrary'; import {SetupReplaysCTA} from 'sentry/views/explore/replays/list/replayOnboardingPanel'; diff --git a/static/app/views/insights/common/utils/hasEAPAlerts.tsx b/static/app/views/insights/common/utils/hasEAPAlerts.tsx index 71d54cd517d1..ef32591587f5 100644 --- a/static/app/views/insights/common/utils/hasEAPAlerts.tsx +++ b/static/app/views/insights/common/utils/hasEAPAlerts.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import type {Organization} from 'sentry/types/organization'; export function hasEAPAlerts(organization: Organization): boolean { diff --git a/static/app/views/insights/common/utils/useModuleURL.tsx b/static/app/views/insights/common/utils/useModuleURL.tsx index 5a25af485655..6d4871a52ad4 100644 --- a/static/app/views/insights/common/utils/useModuleURL.tsx +++ b/static/app/views/insights/common/utils/useModuleURL.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {normalizeUrl} from 'sentry/utils/url/normalizeUrl'; import {useOrganization} from 'sentry/utils/useOrganization'; import {BASE_URL as AGENT_MODELS_BASE_URL} from 'sentry/views/insights/agentModels/settings'; diff --git a/static/app/views/insights/database/queries/useOutdatedSDKProjects.tsx b/static/app/views/insights/database/queries/useOutdatedSDKProjects.tsx index 8d87ff523b4f..db871b1b2504 100644 --- a/static/app/views/insights/database/queries/useOutdatedSDKProjects.tsx +++ b/static/app/views/insights/database/queries/useOutdatedSDKProjects.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import uniqBy from 'lodash/uniqBy'; import {ProjectsStore} from 'sentry/stores/projectsStore'; diff --git a/static/app/views/insights/database/utils/formatMongoDBQuery.spec.tsx b/static/app/views/insights/database/utils/formatMongoDBQuery.spec.tsx index db34e81d3579..49827eac0cee 100644 --- a/static/app/views/insights/database/utils/formatMongoDBQuery.spec.tsx +++ b/static/app/views/insights/database/utils/formatMongoDBQuery.spec.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {Fragment} from 'react'; import {render, screen} from 'sentry-test/reactTestingLibrary'; diff --git a/static/app/views/insights/database/utils/formatMongoDBQuery.tsx b/static/app/views/insights/database/utils/formatMongoDBQuery.tsx index f9d2611ff7af..fe10ab57911e 100644 --- a/static/app/views/insights/database/utils/formatMongoDBQuery.tsx +++ b/static/app/views/insights/database/utils/formatMongoDBQuery.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import type {ReactElement} from 'react'; import * as Sentry from '@sentry/react'; import {jsonrepair} from 'jsonrepair'; diff --git a/static/app/views/insights/pages/agents/hooks/useAITrace.tsx b/static/app/views/insights/pages/agents/hooks/useAITrace.tsx index 549ae6f15a8b..b2ef9839ce6e 100644 --- a/static/app/views/insights/pages/agents/hooks/useAITrace.tsx +++ b/static/app/views/insights/pages/agents/hooks/useAITrace.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {useEffect, useState} from 'react'; import {useApi} from 'sentry/utils/useApi'; diff --git a/static/app/views/insights/pages/agents/utils/formatLLMCosts.tsx b/static/app/views/insights/pages/agents/utils/formatLLMCosts.tsx index de917f45cc5d..1241647c331f 100644 --- a/static/app/views/insights/pages/agents/utils/formatLLMCosts.tsx +++ b/static/app/views/insights/pages/agents/utils/formatLLMCosts.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {formatDollars} from 'sentry/utils/formatters'; export function formatLLMCosts(cost: string | number | null) { diff --git a/static/app/views/insights/pages/mcp/hooks/useShowMCPOnboarding.tsx b/static/app/views/insights/pages/mcp/hooks/useShowMCPOnboarding.tsx index 4a894fc0daab..73b40323728d 100644 --- a/static/app/views/insights/pages/mcp/hooks/useShowMCPOnboarding.tsx +++ b/static/app/views/insights/pages/mcp/hooks/useShowMCPOnboarding.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {usePageFilters} from 'sentry/components/pageFilters/usePageFilters'; import {getSelectedProjectList} from 'sentry/utils/project/useSelectedProjectsHaveField'; import {useProjects} from 'sentry/utils/useProjects'; diff --git a/static/app/views/insights/pages/platform/shared/table/DurationCell.tsx b/static/app/views/insights/pages/platform/shared/table/DurationCell.tsx index 21437d7bac9d..fbd07eebc079 100644 --- a/static/app/views/insights/pages/platform/shared/table/DurationCell.tsx +++ b/static/app/views/insights/pages/platform/shared/table/DurationCell.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {Duration} from 'sentry/components/duration'; import {TextAlignRight} from 'sentry/views/insights/common/components/textAlign'; import type {CellThreshold} from 'sentry/views/insights/pages/platform/shared/table/ThresholdCell'; diff --git a/static/app/views/insights/pages/platform/shared/table/ErrorRateCell.tsx b/static/app/views/insights/pages/platform/shared/table/ErrorRateCell.tsx index 012c448fbbcc..cc6ab51651fb 100644 --- a/static/app/views/insights/pages/platform/shared/table/ErrorRateCell.tsx +++ b/static/app/views/insights/pages/platform/shared/table/ErrorRateCell.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {useTheme} from '@emotion/react'; import type {LocationDescriptor} from 'history'; diff --git a/static/app/views/insights/pages/platform/shared/table/NumberCell.tsx b/static/app/views/insights/pages/platform/shared/table/NumberCell.tsx index 4edba9568e5d..01585f236da8 100644 --- a/static/app/views/insights/pages/platform/shared/table/NumberCell.tsx +++ b/static/app/views/insights/pages/platform/shared/table/NumberCell.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {Count} from 'sentry/components/count'; import {TextAlignRight} from 'sentry/views/insights/common/components/textAlign'; diff --git a/static/app/views/insights/pages/platform/shared/table/ThresholdCell.tsx b/static/app/views/insights/pages/platform/shared/table/ThresholdCell.tsx index 384c5595c7ce..7a62293bb33b 100644 --- a/static/app/views/insights/pages/platform/shared/table/ThresholdCell.tsx +++ b/static/app/views/insights/pages/platform/shared/table/ThresholdCell.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {useTheme} from '@emotion/react'; const getCellColor = ( diff --git a/static/app/views/issueDetails/groupFeatureFlags/flagDrawerCTA.tsx b/static/app/views/issueDetails/groupFeatureFlags/flagDrawerCTA.tsx index b1d285de9577..1ad46abd42e3 100644 --- a/static/app/views/issueDetails/groupFeatureFlags/flagDrawerCTA.tsx +++ b/static/app/views/issueDetails/groupFeatureFlags/flagDrawerCTA.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {useDrawerContentContext} from '@sentry/scraps/drawer'; import { diff --git a/static/app/views/onboarding/useHasNewWelcomeUI.ts b/static/app/views/onboarding/useHasNewWelcomeUI.ts index 8d92560b2e9d..c45bbe0247e2 100644 --- a/static/app/views/onboarding/useHasNewWelcomeUI.ts +++ b/static/app/views/onboarding/useHasNewWelcomeUI.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {useOrganization} from 'sentry/utils/useOrganization'; export function useHasNewWelcomeUI() { diff --git a/static/app/views/performance/newTraceDetails/traceDrawer/details/span/eapSections/aiIOAlert.tsx b/static/app/views/performance/newTraceDetails/traceDrawer/details/span/eapSections/aiIOAlert.tsx index a60f7fc35721..fa39697cb365 100644 --- a/static/app/views/performance/newTraceDetails/traceDrawer/details/span/eapSections/aiIOAlert.tsx +++ b/static/app/views/performance/newTraceDetails/traceDrawer/details/span/eapSections/aiIOAlert.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {Fragment} from 'react'; import {css} from '@emotion/react'; import styled from '@emotion/styled'; diff --git a/static/app/views/performance/newTraceDetails/traceRow/traceEAPSpanRow.tsx b/static/app/views/performance/newTraceDetails/traceRow/traceEAPSpanRow.tsx index abab97629202..d6f7412786a8 100644 --- a/static/app/views/performance/newTraceDetails/traceRow/traceEAPSpanRow.tsx +++ b/static/app/views/performance/newTraceDetails/traceRow/traceEAPSpanRow.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {Fragment} from 'react'; import {PlatformIcon} from 'platformicons'; diff --git a/static/app/views/performance/newTraceDetails/useIsEAPTraceEnabled.tsx b/static/app/views/performance/newTraceDetails/useIsEAPTraceEnabled.tsx index d2c8271416c9..57632c691970 100644 --- a/static/app/views/performance/newTraceDetails/useIsEAPTraceEnabled.tsx +++ b/static/app/views/performance/newTraceDetails/useIsEAPTraceEnabled.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {useOrganization} from 'sentry/utils/useOrganization'; export function useIsEAPTraceEnabled() { diff --git a/static/app/views/seerExplorer/contexts/registerLLMContext.tsx b/static/app/views/seerExplorer/contexts/registerLLMContext.tsx index 2cf005bb1a6b..de684d243d15 100644 --- a/static/app/views/seerExplorer/contexts/registerLLMContext.tsx +++ b/static/app/views/seerExplorer/contexts/registerLLMContext.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import type {ComponentType} from 'react'; import {useContext, useEffect, useId} from 'react'; diff --git a/static/app/views/settings/organizationIntegrations/SplitInstallationIdModal.tsx b/static/app/views/settings/organizationIntegrations/SplitInstallationIdModal.tsx index 57c23767924d..327cb5cab421 100644 --- a/static/app/views/settings/organizationIntegrations/SplitInstallationIdModal.tsx +++ b/static/app/views/settings/organizationIntegrations/SplitInstallationIdModal.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {useCallback, useEffect, useRef} from 'react'; import styled from '@emotion/styled'; diff --git a/static/app/views/settings/organizationIntegrations/integrationRequest/RequestIntegrationButton.tsx b/static/app/views/settings/organizationIntegrations/integrationRequest/RequestIntegrationButton.tsx index 23584c4bb51f..a3ef5cb112ad 100644 --- a/static/app/views/settings/organizationIntegrations/integrationRequest/RequestIntegrationButton.tsx +++ b/static/app/views/settings/organizationIntegrations/integrationRequest/RequestIntegrationButton.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {useState} from 'react'; import styled from '@emotion/styled'; diff --git a/static/app/views/settings/organizationIntegrations/integrationRequest/RequestIntegrationModal.tsx b/static/app/views/settings/organizationIntegrations/integrationRequest/RequestIntegrationModal.tsx index d84fda70e0f9..7aefa1b02edd 100644 --- a/static/app/views/settings/organizationIntegrations/integrationRequest/RequestIntegrationModal.tsx +++ b/static/app/views/settings/organizationIntegrations/integrationRequest/RequestIntegrationModal.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {useMutation} from '@tanstack/react-query'; import {z} from 'zod'; diff --git a/static/app/views/settings/project/tempest/CredentialRow.tsx b/static/app/views/settings/project/tempest/CredentialRow.tsx index 0c57d8f7f230..02aebde86d19 100644 --- a/static/app/views/settings/project/tempest/CredentialRow.tsx +++ b/static/app/views/settings/project/tempest/CredentialRow.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {Fragment} from 'react'; import {Tag} from '@sentry/scraps/badge'; diff --git a/static/app/views/settings/project/tempest/DevKitSettings.tsx b/static/app/views/settings/project/tempest/DevKitSettings.tsx index f6af9a7260b8..3ff305e6331f 100644 --- a/static/app/views/settings/project/tempest/DevKitSettings.tsx +++ b/static/app/views/settings/project/tempest/DevKitSettings.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {Fragment, useState} from 'react'; import styled from '@emotion/styled'; import {useQuery} from '@tanstack/react-query'; diff --git a/static/app/views/settings/project/tempest/EmptyState.tsx b/static/app/views/settings/project/tempest/EmptyState.tsx index 315b4bf49285..31d59a370fc5 100644 --- a/static/app/views/settings/project/tempest/EmptyState.tsx +++ b/static/app/views/settings/project/tempest/EmptyState.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import styled from '@emotion/styled'; import waitingForEventImg from 'sentry-images/spot/waiting-for-event.svg'; diff --git a/static/app/views/settings/project/tempest/PlayStationSettings.tsx b/static/app/views/settings/project/tempest/PlayStationSettings.tsx index 4544ddbea44f..c3317d8c1fd0 100644 --- a/static/app/views/settings/project/tempest/PlayStationSettings.tsx +++ b/static/app/views/settings/project/tempest/PlayStationSettings.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {Fragment, useEffect, useMemo} from 'react'; import styled from '@emotion/styled'; import {useMutation} from '@tanstack/react-query'; diff --git a/static/app/views/settings/project/tempest/allowListIPAddresses.tsx b/static/app/views/settings/project/tempest/allowListIPAddresses.tsx index 7f6be2bfe5eb..af4d3c5115bc 100644 --- a/static/app/views/settings/project/tempest/allowListIPAddresses.tsx +++ b/static/app/views/settings/project/tempest/allowListIPAddresses.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {OnboardingCodeSnippet} from 'sentry/components/onboarding/gettingStartedDoc/onboardingCodeSnippet'; import {t} from 'sentry/locale'; import {getApiUrl} from 'sentry/utils/api/getApiUrl'; diff --git a/static/eslint/eslintPluginScraps/src/ast/extractor/css-prop.ts b/static/eslint/eslintPluginScraps/src/ast/extractor/css-prop.ts index 4158ea8e60d5..68107ef318a7 100644 --- a/static/eslint/eslintPluginScraps/src/ast/extractor/css-prop.ts +++ b/static/eslint/eslintPluginScraps/src/ast/extractor/css-prop.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ /** * @file Extracts style declarations from JSX css prop patterns. * diff --git a/static/eslint/eslintPluginScraps/src/ast/extractor/style-prop.ts b/static/eslint/eslintPluginScraps/src/ast/extractor/style-prop.ts index 6a14590d22d2..b9a6a961a7c5 100644 --- a/static/eslint/eslintPluginScraps/src/ast/extractor/style-prop.ts +++ b/static/eslint/eslintPluginScraps/src/ast/extractor/style-prop.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ /** * @file Extracts style declarations from JSX style prop patterns. * diff --git a/static/eslint/eslintPluginScraps/src/ast/extractor/value-decomposer.ts b/static/eslint/eslintPluginScraps/src/ast/extractor/value-decomposer.ts index bb8bb25bed25..34dd334f8db4 100644 --- a/static/eslint/eslintPluginScraps/src/ast/extractor/value-decomposer.ts +++ b/static/eslint/eslintPluginScraps/src/ast/extractor/value-decomposer.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ /** * @file Value decomposition for style expressions. * diff --git a/static/eslint/eslintPluginScraps/src/rules/no-core-import.spec.ts b/static/eslint/eslintPluginScraps/src/rules/no-core-import.spec.ts index 1b91387a19ae..2dc6f0ae3c4c 100644 --- a/static/eslint/eslintPluginScraps/src/rules/no-core-import.spec.ts +++ b/static/eslint/eslintPluginScraps/src/rules/no-core-import.spec.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {RuleTester} from '@typescript-eslint/rule-tester'; import {noCoreImport} from './no-core-import'; diff --git a/static/eslint/eslintPluginScraps/src/rules/no-core-import.ts b/static/eslint/eslintPluginScraps/src/rules/no-core-import.ts index 2a0a6a35efdf..44d483c77ad0 100644 --- a/static/eslint/eslintPluginScraps/src/rules/no-core-import.ts +++ b/static/eslint/eslintPluginScraps/src/rules/no-core-import.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ /** * ESLint rule: no-core-import * diff --git a/static/eslint/eslintPluginScraps/src/rules/no-double-dollar-interpolation.spec.ts b/static/eslint/eslintPluginScraps/src/rules/no-double-dollar-interpolation.spec.ts index 08e9f79be0f1..eb50d98b4446 100644 --- a/static/eslint/eslintPluginScraps/src/rules/no-double-dollar-interpolation.spec.ts +++ b/static/eslint/eslintPluginScraps/src/rules/no-double-dollar-interpolation.spec.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {RuleTester} from '@typescript-eslint/rule-tester'; import {noDoubleDollarInterpolation} from './no-double-dollar-interpolation'; diff --git a/static/eslint/eslintPluginScraps/src/rules/no-double-dollar-interpolation.ts b/static/eslint/eslintPluginScraps/src/rules/no-double-dollar-interpolation.ts index 1750689667f9..c52ec2df973b 100644 --- a/static/eslint/eslintPluginScraps/src/rules/no-double-dollar-interpolation.ts +++ b/static/eslint/eslintPluginScraps/src/rules/no-double-dollar-interpolation.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {ESLintUtils} from '@typescript-eslint/utils'; import {shouldAnalyze} from '../ast/extractor/index'; diff --git a/static/eslint/eslintPluginScraps/src/rules/no-token-import.spec.ts b/static/eslint/eslintPluginScraps/src/rules/no-token-import.spec.ts index db1988344a4e..b6c15b826cf0 100644 --- a/static/eslint/eslintPluginScraps/src/rules/no-token-import.spec.ts +++ b/static/eslint/eslintPluginScraps/src/rules/no-token-import.spec.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {RuleTester} from '@typescript-eslint/rule-tester'; import {noTokenImport} from './no-token-import'; diff --git a/static/eslint/eslintPluginScraps/src/rules/no-token-import.ts b/static/eslint/eslintPluginScraps/src/rules/no-token-import.ts index e05dd7269ec6..87c16298d77f 100644 --- a/static/eslint/eslintPluginScraps/src/rules/no-token-import.ts +++ b/static/eslint/eslintPluginScraps/src/rules/no-token-import.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {ESLintUtils} from '@typescript-eslint/utils'; /** diff --git a/static/eslint/eslintPluginScraps/src/rules/prefer-info-text.spec.ts b/static/eslint/eslintPluginScraps/src/rules/prefer-info-text.spec.ts index 22252b90b9ee..7680d0fa823a 100644 --- a/static/eslint/eslintPluginScraps/src/rules/prefer-info-text.spec.ts +++ b/static/eslint/eslintPluginScraps/src/rules/prefer-info-text.spec.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {RuleTester} from '@typescript-eslint/rule-tester'; import {preferInfoText} from './prefer-info-text'; diff --git a/static/eslint/eslintPluginScraps/src/rules/prefer-info-text.ts b/static/eslint/eslintPluginScraps/src/rules/prefer-info-text.ts index ff301e99bc96..b33864210a8b 100644 --- a/static/eslint/eslintPluginScraps/src/rules/prefer-info-text.ts +++ b/static/eslint/eslintPluginScraps/src/rules/prefer-info-text.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import { AST_NODE_TYPES, ESLintUtils, diff --git a/static/eslint/eslintPluginScraps/src/rules/prefer-stack-for-column-flex.spec.ts b/static/eslint/eslintPluginScraps/src/rules/prefer-stack-for-column-flex.spec.ts index 00c59472043b..4cb2f10f022e 100644 --- a/static/eslint/eslintPluginScraps/src/rules/prefer-stack-for-column-flex.spec.ts +++ b/static/eslint/eslintPluginScraps/src/rules/prefer-stack-for-column-flex.spec.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {RuleTester, type InvalidTestCase} from '@typescript-eslint/rule-tester'; import {preferStackForColumnFlex} from './prefer-stack-for-column-flex'; diff --git a/static/eslint/eslintPluginScraps/src/rules/prefer-stack-for-column-flex.ts b/static/eslint/eslintPluginScraps/src/rules/prefer-stack-for-column-flex.ts index 9081d848488e..ff55359e6d84 100644 --- a/static/eslint/eslintPluginScraps/src/rules/prefer-stack-for-column-flex.ts +++ b/static/eslint/eslintPluginScraps/src/rules/prefer-stack-for-column-flex.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import { AST_NODE_TYPES, ESLintUtils, diff --git a/static/eslint/eslintPluginScraps/src/rules/restrict-jsx-slot-children.spec.ts b/static/eslint/eslintPluginScraps/src/rules/restrict-jsx-slot-children.spec.ts index d3ca8fb45cdf..02a5f8e81587 100644 --- a/static/eslint/eslintPluginScraps/src/rules/restrict-jsx-slot-children.spec.ts +++ b/static/eslint/eslintPluginScraps/src/rules/restrict-jsx-slot-children.spec.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {RuleTester} from '@typescript-eslint/rule-tester'; import {restrictJsxSlotChildren, type Options} from './restrict-jsx-slot-children'; diff --git a/static/eslint/eslintPluginScraps/src/rules/restrict-jsx-slot-children.ts b/static/eslint/eslintPluginScraps/src/rules/restrict-jsx-slot-children.ts index 9ef267797e8d..10bf500c2cfa 100644 --- a/static/eslint/eslintPluginScraps/src/rules/restrict-jsx-slot-children.ts +++ b/static/eslint/eslintPluginScraps/src/rules/restrict-jsx-slot-children.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {AST_NODE_TYPES, ESLintUtils, TSESTree} from '@typescript-eslint/utils'; import {createImportTracker} from '../ast/tracker/imports'; diff --git a/static/eslint/eslintPluginScraps/src/rules/use-semantic-token.spec.ts b/static/eslint/eslintPluginScraps/src/rules/use-semantic-token.spec.ts index 16c7b258a784..e5341553d5e0 100644 --- a/static/eslint/eslintPluginScraps/src/rules/use-semantic-token.spec.ts +++ b/static/eslint/eslintPluginScraps/src/rules/use-semantic-token.spec.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {RuleTester, type InvalidTestCase} from '@typescript-eslint/rule-tester'; import {useSemanticToken, type Options} from './use-semantic-token'; diff --git a/static/eslint/eslintPluginScraps/src/rules/use-semantic-token.ts b/static/eslint/eslintPluginScraps/src/rules/use-semantic-token.ts index cb30726874b5..d5f243166c0c 100644 --- a/static/eslint/eslintPluginScraps/src/rules/use-semantic-token.ts +++ b/static/eslint/eslintPluginScraps/src/rules/use-semantic-token.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {ESLintUtils} from '@typescript-eslint/utils'; /** * ESLint rule: use-semantic-token diff --git a/static/eslint/eslintPluginSentry/no-calling-components-as-functions.spec.ts b/static/eslint/eslintPluginSentry/no-calling-components-as-functions.spec.ts index 2732afd8d310..100051ef117c 100644 --- a/static/eslint/eslintPluginSentry/no-calling-components-as-functions.spec.ts +++ b/static/eslint/eslintPluginSentry/no-calling-components-as-functions.spec.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {RuleTester} from '@typescript-eslint/rule-tester'; import {noCallingComponentsAsFunctions} from './no-calling-components-as-functions'; diff --git a/static/eslint/eslintPluginSentry/no-calling-components-as-functions.ts b/static/eslint/eslintPluginSentry/no-calling-components-as-functions.ts index 716b1b72b554..45e0f48136f4 100644 --- a/static/eslint/eslintPluginSentry/no-calling-components-as-functions.ts +++ b/static/eslint/eslintPluginSentry/no-calling-components-as-functions.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ /** * ESLint rule: no-calling-components-as-functions * diff --git a/static/eslint/eslintPluginSentry/no-default-exports.spec.ts b/static/eslint/eslintPluginSentry/no-default-exports.spec.ts index ce1491714ad5..0e7d3afee994 100644 --- a/static/eslint/eslintPluginSentry/no-default-exports.spec.ts +++ b/static/eslint/eslintPluginSentry/no-default-exports.spec.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {RuleTester} from '@typescript-eslint/rule-tester'; import {noDefaultExports} from './no-default-exports'; diff --git a/static/eslint/eslintPluginSentry/no-default-exports.ts b/static/eslint/eslintPluginSentry/no-default-exports.ts index f7120117792c..7002b2cc5622 100644 --- a/static/eslint/eslintPluginSentry/no-default-exports.ts +++ b/static/eslint/eslintPluginSentry/no-default-exports.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {AST_NODE_TYPES, ESLintUtils, type TSESTree} from '@typescript-eslint/utils'; import {getParserServices} from '@typescript-eslint/utils/eslint-utils'; import ts from 'typescript'; diff --git a/static/eslint/eslintPluginSentry/no-digits-in-tn.spec.ts b/static/eslint/eslintPluginSentry/no-digits-in-tn.spec.ts index 6cfff5869112..f53ac5b9bdef 100644 --- a/static/eslint/eslintPluginSentry/no-digits-in-tn.spec.ts +++ b/static/eslint/eslintPluginSentry/no-digits-in-tn.spec.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {RuleTester} from '@typescript-eslint/rule-tester'; import {noDigitsInTn} from './no-digits-in-tn'; diff --git a/static/eslint/eslintPluginSentry/no-digits-in-tn.ts b/static/eslint/eslintPluginSentry/no-digits-in-tn.ts index d796fd9b8b50..08da74015001 100644 --- a/static/eslint/eslintPluginSentry/no-digits-in-tn.ts +++ b/static/eslint/eslintPluginSentry/no-digits-in-tn.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {AST_NODE_TYPES, ESLintUtils} from '@typescript-eslint/utils'; export const noDigitsInTn = ESLintUtils.RuleCreator.withoutDocs({ diff --git a/static/eslint/eslintPluginSentry/no-dynamic-translations.spec.ts b/static/eslint/eslintPluginSentry/no-dynamic-translations.spec.ts index c7aa5dab1c7c..45271cf5b49d 100644 --- a/static/eslint/eslintPluginSentry/no-dynamic-translations.spec.ts +++ b/static/eslint/eslintPluginSentry/no-dynamic-translations.spec.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {RuleTester} from '@typescript-eslint/rule-tester'; import {noDynamicTranslations} from './no-dynamic-translations'; diff --git a/static/eslint/eslintPluginSentry/no-dynamic-translations.ts b/static/eslint/eslintPluginSentry/no-dynamic-translations.ts index 5e29d0d1c6d3..bec8ad2641c0 100644 --- a/static/eslint/eslintPluginSentry/no-dynamic-translations.ts +++ b/static/eslint/eslintPluginSentry/no-dynamic-translations.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {AST_NODE_TYPES, ESLintUtils, type TSESTree} from '@typescript-eslint/utils'; const TRANSLATION_FNS = ['t', 'tn', 'tct']; diff --git a/static/eslint/eslintPluginSentry/no-flag-comments.spec.ts b/static/eslint/eslintPluginSentry/no-flag-comments.spec.ts index 8968e5ccd184..ed6aee7a434c 100644 --- a/static/eslint/eslintPluginSentry/no-flag-comments.spec.ts +++ b/static/eslint/eslintPluginSentry/no-flag-comments.spec.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {RuleTester} from '@typescript-eslint/rule-tester'; import {noFlagComments} from './no-flag-comments'; diff --git a/static/eslint/eslintPluginSentry/no-flag-comments.ts b/static/eslint/eslintPluginSentry/no-flag-comments.ts index d4dea1790ef4..f200ee9b7a4d 100644 --- a/static/eslint/eslintPluginSentry/no-flag-comments.ts +++ b/static/eslint/eslintPluginSentry/no-flag-comments.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {ESLintUtils} from '@typescript-eslint/utils'; export const noFlagComments = ESLintUtils.RuleCreator.withoutDocs({ diff --git a/static/eslint/eslintPluginSentry/no-query-data-type-parameters.spec.ts b/static/eslint/eslintPluginSentry/no-query-data-type-parameters.spec.ts index b777db11b542..dbf5045e5132 100644 --- a/static/eslint/eslintPluginSentry/no-query-data-type-parameters.spec.ts +++ b/static/eslint/eslintPluginSentry/no-query-data-type-parameters.spec.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {RuleTester} from '@typescript-eslint/rule-tester'; import {noQueryDataTypeParameters} from './no-query-data-type-parameters'; diff --git a/static/eslint/eslintPluginSentry/no-query-data-type-parameters.ts b/static/eslint/eslintPluginSentry/no-query-data-type-parameters.ts index 716f7d1ed2f7..b1799c96a272 100644 --- a/static/eslint/eslintPluginSentry/no-query-data-type-parameters.ts +++ b/static/eslint/eslintPluginSentry/no-query-data-type-parameters.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {AST_NODE_TYPES, ESLintUtils} from '@typescript-eslint/utils'; export const noQueryDataTypeParameters = ESLintUtils.RuleCreator.withoutDocs({ diff --git a/static/eslint/eslintPluginSentry/no-raw-css-in-styled.spec.ts b/static/eslint/eslintPluginSentry/no-raw-css-in-styled.spec.ts index e2c8031bc87c..112ab92718cd 100644 --- a/static/eslint/eslintPluginSentry/no-raw-css-in-styled.spec.ts +++ b/static/eslint/eslintPluginSentry/no-raw-css-in-styled.spec.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {RuleTester} from '@typescript-eslint/rule-tester'; import {noRawCssInStyled} from './no-raw-css-in-styled'; diff --git a/static/eslint/eslintPluginSentry/no-raw-css-in-styled.ts b/static/eslint/eslintPluginSentry/no-raw-css-in-styled.ts index 9ab2e101b993..bbf8ad90c4ee 100644 --- a/static/eslint/eslintPluginSentry/no-raw-css-in-styled.ts +++ b/static/eslint/eslintPluginSentry/no-raw-css-in-styled.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {AST_NODE_TYPES, ESLintUtils} from '@typescript-eslint/utils'; import type {TSESTree} from '@typescript-eslint/utils'; diff --git a/static/eslint/eslintPluginSentry/no-static-translations.ts b/static/eslint/eslintPluginSentry/no-static-translations.ts index 6b7865842338..eda4961b987d 100644 --- a/static/eslint/eslintPluginSentry/no-static-translations.ts +++ b/static/eslint/eslintPluginSentry/no-static-translations.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {ESLintUtils} from '@typescript-eslint/utils'; const DYNAMIC_TRANSLATION_FNS = ['td']; diff --git a/static/eslint/eslintPluginSentry/no-styled-shortcut.spec.ts b/static/eslint/eslintPluginSentry/no-styled-shortcut.spec.ts index 1bc2c116d17e..256d07e679b6 100644 --- a/static/eslint/eslintPluginSentry/no-styled-shortcut.spec.ts +++ b/static/eslint/eslintPluginSentry/no-styled-shortcut.spec.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {RuleTester} from '@typescript-eslint/rule-tester'; import {noStyledShortcut} from './no-styled-shortcut'; diff --git a/static/eslint/eslintPluginSentry/no-styled-shortcut.ts b/static/eslint/eslintPluginSentry/no-styled-shortcut.ts index 98fc495316e6..67807fbcfa32 100644 --- a/static/eslint/eslintPluginSentry/no-styled-shortcut.ts +++ b/static/eslint/eslintPluginSentry/no-styled-shortcut.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {AST_NODE_TYPES, ESLintUtils} from '@typescript-eslint/utils'; export const noStyledShortcut = ESLintUtils.RuleCreator.withoutDocs({ diff --git a/static/eslint/eslintPluginSentry/no-unnecessary-type-annotation.spec.ts b/static/eslint/eslintPluginSentry/no-unnecessary-type-annotation.spec.ts index 23a163c659d0..3939366afd8a 100644 --- a/static/eslint/eslintPluginSentry/no-unnecessary-type-annotation.spec.ts +++ b/static/eslint/eslintPluginSentry/no-unnecessary-type-annotation.spec.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {RuleTester} from '@typescript-eslint/rule-tester'; import {noUnnecessaryTypeAnnotation} from './no-unnecessary-type-annotation'; diff --git a/static/eslint/eslintPluginSentry/no-unnecessary-type-annotation.ts b/static/eslint/eslintPluginSentry/no-unnecessary-type-annotation.ts index d6b4b01b421b..dfd713d49766 100644 --- a/static/eslint/eslintPluginSentry/no-unnecessary-type-annotation.ts +++ b/static/eslint/eslintPluginSentry/no-unnecessary-type-annotation.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {ESLintUtils, type TSESTree} from '@typescript-eslint/utils'; import {getParserServices} from '@typescript-eslint/utils/eslint-utils'; import ts from 'typescript'; diff --git a/static/eslint/eslintPluginSentry/no-unnecessary-type-narrowing.spec.ts b/static/eslint/eslintPluginSentry/no-unnecessary-type-narrowing.spec.ts index 5c106cb32f67..768c8a59b6f2 100644 --- a/static/eslint/eslintPluginSentry/no-unnecessary-type-narrowing.spec.ts +++ b/static/eslint/eslintPluginSentry/no-unnecessary-type-narrowing.spec.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {RuleTester} from '@typescript-eslint/rule-tester'; import {noUnnecessaryTypeNarrowing} from './no-unnecessary-type-narrowing'; diff --git a/static/eslint/eslintPluginSentry/no-unnecessary-type-narrowing.ts b/static/eslint/eslintPluginSentry/no-unnecessary-type-narrowing.ts index b188cd8e9db4..dd7c6b56fc35 100644 --- a/static/eslint/eslintPluginSentry/no-unnecessary-type-narrowing.ts +++ b/static/eslint/eslintPluginSentry/no-unnecessary-type-narrowing.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {ESLintUtils, type TSESTree} from '@typescript-eslint/utils'; import {getParserServices} from '@typescript-eslint/utils/eslint-utils'; import ts from 'typescript'; diff --git a/static/eslint/eslintPluginSentry/no-unnecessary-use-callback.spec.ts b/static/eslint/eslintPluginSentry/no-unnecessary-use-callback.spec.ts index ea9a3edf2a24..8f1373946b07 100644 --- a/static/eslint/eslintPluginSentry/no-unnecessary-use-callback.spec.ts +++ b/static/eslint/eslintPluginSentry/no-unnecessary-use-callback.spec.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {RuleTester} from '@typescript-eslint/rule-tester'; import {noUnnecessaryUseCallback} from './no-unnecessary-use-callback'; diff --git a/static/eslint/eslintPluginSentry/no-unnecessary-use-callback.ts b/static/eslint/eslintPluginSentry/no-unnecessary-use-callback.ts index 0a9d35a6cf22..a567fd4b34be 100644 --- a/static/eslint/eslintPluginSentry/no-unnecessary-use-callback.ts +++ b/static/eslint/eslintPluginSentry/no-unnecessary-use-callback.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {AST_NODE_TYPES, ESLintUtils, type TSESTree} from '@typescript-eslint/utils'; import {getStaticValue} from '@typescript-eslint/utils/ast-utils'; import type {Scope} from '@typescript-eslint/utils/ts-eslint'; diff --git a/static/eslint/eslintPluginSentry/no-useless-css-interpolation-semicolon.spec.ts b/static/eslint/eslintPluginSentry/no-useless-css-interpolation-semicolon.spec.ts index 84a75bafce03..7a01a909ac64 100644 --- a/static/eslint/eslintPluginSentry/no-useless-css-interpolation-semicolon.spec.ts +++ b/static/eslint/eslintPluginSentry/no-useless-css-interpolation-semicolon.spec.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {RuleTester} from '@typescript-eslint/rule-tester'; import {noUselessCssInterpolationSemicolon} from './no-useless-css-interpolation-semicolon'; diff --git a/static/eslint/eslintPluginSentry/no-useless-css-interpolation-semicolon.ts b/static/eslint/eslintPluginSentry/no-useless-css-interpolation-semicolon.ts index 50f9f8d1075b..d129cd68d07c 100644 --- a/static/eslint/eslintPluginSentry/no-useless-css-interpolation-semicolon.ts +++ b/static/eslint/eslintPluginSentry/no-useless-css-interpolation-semicolon.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {AST_NODE_TYPES, ESLintUtils, type TSESTree} from '@typescript-eslint/utils'; import {isCssTaggedTemplate, isStyledOrCssTemplate} from './utils/styled'; diff --git a/static/gsAdmin/components/changeARRAction.spec.tsx b/static/gsAdmin/components/changeARRAction.spec.tsx index 92561b791f09..cbf330c8041b 100644 --- a/static/gsAdmin/components/changeARRAction.spec.tsx +++ b/static/gsAdmin/components/changeARRAction.spec.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import { render, renderGlobalModal, diff --git a/static/gsAdmin/components/changeARRAction.tsx b/static/gsAdmin/components/changeARRAction.tsx index 10da4c927149..4a66b9b6346a 100644 --- a/static/gsAdmin/components/changeARRAction.tsx +++ b/static/gsAdmin/components/changeARRAction.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {Component, Fragment} from 'react'; import {Button, ButtonBar} from '@sentry/scraps/button'; diff --git a/static/gsAdmin/views/privateAPIs.tsx b/static/gsAdmin/views/privateAPIs.tsx index d956e242812c..5a23563c6ada 100644 --- a/static/gsAdmin/views/privateAPIs.tsx +++ b/static/gsAdmin/views/privateAPIs.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {Fragment, useState} from 'react'; import {Button} from '@sentry/scraps/button'; diff --git a/static/gsApp/__mocks__/@amplitude/analytics-browser.tsx b/static/gsApp/__mocks__/@amplitude/analytics-browser.tsx index a5696ea3dbf8..d7575914f19b 100644 --- a/static/gsApp/__mocks__/@amplitude/analytics-browser.tsx +++ b/static/gsApp/__mocks__/@amplitude/analytics-browser.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ const identifyInstance: any = { set: jest.fn(() => identifyInstance), }; diff --git a/static/gsApp/components/addEventsCTA.tsx b/static/gsApp/components/addEventsCTA.tsx index 66f6fa7afbe9..ce2044378c49 100644 --- a/static/gsApp/components/addEventsCTA.tsx +++ b/static/gsApp/components/addEventsCTA.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {useState} from 'react'; import { diff --git a/static/gsApp/components/ai/AiSetupDataConsent.tsx b/static/gsApp/components/ai/AiSetupDataConsent.tsx index ff3e03847f29..31f3649cc50b 100644 --- a/static/gsApp/components/ai/AiSetupDataConsent.tsx +++ b/static/gsApp/components/ai/AiSetupDataConsent.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {Fragment} from 'react'; import styled from '@emotion/styled'; diff --git a/static/gsApp/components/crons/cronsBannerUpgradeCTA.tsx b/static/gsApp/components/crons/cronsBannerUpgradeCTA.tsx index f4d3f8e34022..1ef25bd2992f 100644 --- a/static/gsApp/components/crons/cronsBannerUpgradeCTA.tsx +++ b/static/gsApp/components/crons/cronsBannerUpgradeCTA.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {Button, LinkButton} from '@sentry/scraps/button'; import {useModal} from '@sentry/scraps/modal'; diff --git a/static/gsApp/components/productUnavailableCTA.spec.tsx b/static/gsApp/components/productUnavailableCTA.spec.tsx index 3c335a6e8c70..be6d2f6b34f6 100644 --- a/static/gsApp/components/productUnavailableCTA.spec.tsx +++ b/static/gsApp/components/productUnavailableCTA.spec.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {OrganizationFixture} from 'sentry-fixture/organization'; import {SubscriptionFixture} from 'getsentry-test/fixtures/subscription'; diff --git a/static/gsApp/components/productUnavailableCTA.tsx b/static/gsApp/components/productUnavailableCTA.tsx index 3f7e60f43b84..9899a3ca83e1 100644 --- a/static/gsApp/components/productUnavailableCTA.tsx +++ b/static/gsApp/components/productUnavailableCTA.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {useEffect, useMemo, useState} from 'react'; import styled from '@emotion/styled'; diff --git a/static/gsApp/components/replayOnboardingCTA.tsx b/static/gsApp/components/replayOnboardingCTA.tsx index 42efa0127e44..e5219cd6860c 100644 --- a/static/gsApp/components/replayOnboardingCTA.tsx +++ b/static/gsApp/components/replayOnboardingCTA.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import type {ReactNode} from 'react'; import {Fragment, useEffect, useState} from 'react'; import styled from '@emotion/styled'; diff --git a/static/gsApp/hooks/useAM2ProfilingUpsellModal.tsx b/static/gsApp/hooks/useAM2ProfilingUpsellModal.tsx index 5339a36a4638..35a2c500b939 100644 --- a/static/gsApp/hooks/useAM2ProfilingUpsellModal.tsx +++ b/static/gsApp/hooks/useAM2ProfilingUpsellModal.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {useCallback} from 'react'; import {useOrganization} from 'sentry/utils/useOrganization'; diff --git a/static/gsApp/hooks/useAM2UpsellModal.tsx b/static/gsApp/hooks/useAM2UpsellModal.tsx index 69944906c604..267801e377ac 100644 --- a/static/gsApp/hooks/useAM2UpsellModal.tsx +++ b/static/gsApp/hooks/useAM2UpsellModal.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {useCallback} from 'react'; import {useOrganization} from 'sentry/utils/useOrganization'; diff --git a/static/gsApp/overrides/firstPartyIntegrationAdditionalCTA.tsx b/static/gsApp/overrides/firstPartyIntegrationAdditionalCTA.tsx index 84054939db0b..7c902206513e 100644 --- a/static/gsApp/overrides/firstPartyIntegrationAdditionalCTA.tsx +++ b/static/gsApp/overrides/firstPartyIntegrationAdditionalCTA.tsx @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import {Flex} from '@sentry/scraps/layout'; import type {Integration} from 'sentry/types/integrations'; diff --git a/static/gsApp/utils/ISO3166codes.ts b/static/gsApp/utils/ISO3166codes.ts index 5fb6cd13d617..612c64d71886 100644 --- a/static/gsApp/utils/ISO3166codes.ts +++ b/static/gsApp/utils/ISO3166codes.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ type CountryCode = { code: string; 'country-code': string; diff --git a/tests/js/fixtures/sourceMapsDebugIDBundles.ts b/tests/js/fixtures/sourceMapsDebugIDBundles.ts index 90e367397434..1c17473e689a 100644 --- a/tests/js/fixtures/sourceMapsDebugIDBundles.ts +++ b/tests/js/fixtures/sourceMapsDebugIDBundles.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import type {DebugIdBundle} from 'sentry/types/sourceMaps'; export function SourceMapsDebugIDBundlesFixture( diff --git a/tests/js/fixtures/sourceMapsDebugIDBundlesArtifacts.ts b/tests/js/fixtures/sourceMapsDebugIDBundlesArtifacts.ts index 490839586529..428ab96a5845 100644 --- a/tests/js/fixtures/sourceMapsDebugIDBundlesArtifacts.ts +++ b/tests/js/fixtures/sourceMapsDebugIDBundlesArtifacts.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import type {DebugIdBundleArtifact} from 'sentry/types/sourceMaps'; export function SourceMapsDebugIDBundlesArtifactsFixture( diff --git a/tests/js/sentry-test/sentry-jest-environment.d.ts b/tests/js/sentry-test/sentry-jest-environment.d.ts index 9a8fd6540cf7..ca416190a0e2 100644 --- a/tests/js/sentry-test/sentry-jest-environment.d.ts +++ b/tests/js/sentry-test/sentry-jest-environment.d.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ declare module '@sentry/jest-environment/jsdom' { import type {JestEnvironment} from '@jest/environment'; diff --git a/tests/js/sentry-test/snapshots/snapshot-framework.ts b/tests/js/sentry-test/snapshots/snapshot-framework.ts index e895ba186fed..c02b2910ec2c 100644 --- a/tests/js/sentry-test/snapshots/snapshot-framework.ts +++ b/tests/js/sentry-test/snapshots/snapshot-framework.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ import type {ReactElement} from 'react'; import {Tooltip as mockTooltip} from 'sentry-test/snapshots/mocks/tooltip'; diff --git a/tests/js/sentry-test/snapshots/snapshot-image-metadata.ts b/tests/js/sentry-test/snapshots/snapshot-image-metadata.ts index b90ab5b35326..87a43c29cf46 100644 --- a/tests/js/sentry-test/snapshots/snapshot-image-metadata.ts +++ b/tests/js/sentry-test/snapshots/snapshot-image-metadata.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ // Keep in sync with src/sentry/preprod/snapshots/manifest.py export interface SnapshotImageMetadata { display_name: string; diff --git a/tests/js/sentry-test/snapshots/snapshot-setup.ts b/tests/js/sentry-test/snapshots/snapshot-setup.ts index 3e3e2c6c7cba..a6fc55eed101 100644 --- a/tests/js/sentry-test/snapshots/snapshot-setup.ts +++ b/tests/js/sentry-test/snapshots/snapshot-setup.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/filename-case */ // Window/localStorage shims for SSR — must run before any component imports. // // IMPORTANT: Do NOT define globalThis.document here. Emotion's SSR style From e2f93f5d4ed73084bf22f66e916ae1c3c86b241c Mon Sep 17 00:00:00 2001 From: Ryan Albrecht Date: Mon, 20 Jul 2026 12:39:51 -0700 Subject: [PATCH 5/7] fix(eslint): Rename kebab-case static files to camelCase Rename kebab-case .ts/.tsx files under static/ to camelCase and update their references (relative imports, the type-loader rspack alias path, and the ios-device-list import). ESLint rule-id strings stay kebab-case; only filenames and relative import specifiers change. Drops the now-obsolete ignore entries for these files. The __mocks__ files are left as-is since jest resolves them by package name. --- eslint.config.ts | 4 +-- rspack.config.ts | 2 +- static/app/components/deviceName.tsx | 2 +- ...{ios-device-list.tsx => iosDeviceList.tsx} | 1 - .../stories/{type-loader.ts => typeLoader.ts} | 1 - .../ast/extractor/{css-prop.ts => cssProp.ts} | 3 +-- .../src/ast/extractor/index.ts | 10 +++---- .../extractor/{style-prop.ts => styleProp.ts} | 3 +-- .../src/ast/extractor/styled.ts | 2 +- ...value-decomposer.ts => valueDecomposer.ts} | 1 - .../eslintPluginScraps/src/rules/index.ts | 14 +++++----- ...re-import.spec.ts => noCoreImport.spec.ts} | 3 +-- .../{no-core-import.ts => noCoreImport.ts} | 1 - ...ts => noDoubleDollarInterpolation.spec.ts} | 3 +-- ...tion.ts => noDoubleDollarInterpolation.ts} | 1 - ...n-import.spec.ts => noTokenImport.spec.ts} | 3 +-- .../{no-token-import.ts => noTokenImport.ts} | 1 - ...fo-text.spec.ts => preferInfoText.spec.ts} | 3 +-- ...{prefer-info-text.ts => preferInfoText.ts} | 1 - ...ec.ts => preferStackForColumnFlex.spec.ts} | 3 +-- ...mn-flex.ts => preferStackForColumnFlex.ts} | 1 - ...pec.ts => restrictJsxSlotChildren.spec.ts} | 3 +-- ...children.ts => restrictJsxSlotChildren.ts} | 1 - ...token.spec.ts => useSemanticToken.spec.ts} | 3 +-- ...-semantic-token.ts => useSemanticToken.ts} | 1 - static/eslint/eslintPluginSentry/index.ts | 26 +++++++++---------- ...=> noCallingComponentsAsFunctions.spec.ts} | 3 +-- ...s.ts => noCallingComponentsAsFunctions.ts} | 1 - ...ports.spec.ts => noDefaultExports.spec.ts} | 3 +-- ...default-exports.ts => noDefaultExports.ts} | 1 - ...its-in-tn.spec.ts => noDigitsInTn.spec.ts} | 3 +-- .../{no-digits-in-tn.ts => noDigitsInTn.ts} | 1 - ....spec.ts => noDynamicTranslations.spec.ts} | 3 +-- ...anslations.ts => noDynamicTranslations.ts} | 1 - ...omments.spec.ts => noFlagComments.spec.ts} | 3 +-- ...{no-flag-comments.ts => noFlagComments.ts} | 1 - ...c.ts => noQueryDataTypeParameters.spec.ts} | 3 +-- ...meters.ts => noQueryDataTypeParameters.ts} | 1 - ...tyled.spec.ts => noRawCssInStyled.spec.ts} | 3 +-- ...w-css-in-styled.ts => noRawCssInStyled.ts} | 1 - ...ranslations.ts => noStaticTranslations.ts} | 1 - ...rtcut.spec.ts => noStyledShortcut.spec.ts} | 3 +-- ...styled-shortcut.ts => noStyledShortcut.ts} | 1 - ...ts => noUnnecessaryTypeAnnotation.spec.ts} | 3 +-- ...tion.ts => noUnnecessaryTypeAnnotation.ts} | 1 - ....ts => noUnnecessaryTypeNarrowing.spec.ts} | 3 +-- ...owing.ts => noUnnecessaryTypeNarrowing.ts} | 1 - ...ec.ts => noUnnecessaryUseCallback.spec.ts} | 3 +-- ...allback.ts => noUnnecessaryUseCallback.ts} | 1 - ...oUselessCssInterpolationSemicolon.spec.ts} | 3 +-- ... => noUselessCssInterpolationSemicolon.ts} | 1 - 51 files changed, 50 insertions(+), 96 deletions(-) rename static/app/constants/{ios-device-list.tsx => iosDeviceList.tsx} (99%) rename static/app/stories/{type-loader.ts => typeLoader.ts} (99%) rename static/eslint/eslintPluginScraps/src/ast/extractor/{css-prop.ts => cssProp.ts} (97%) rename static/eslint/eslintPluginScraps/src/ast/extractor/{style-prop.ts => styleProp.ts} (95%) rename static/eslint/eslintPluginScraps/src/ast/extractor/{value-decomposer.ts => valueDecomposer.ts} (99%) rename static/eslint/eslintPluginScraps/src/rules/{no-core-import.spec.ts => noCoreImport.spec.ts} (93%) rename static/eslint/eslintPluginScraps/src/rules/{no-core-import.ts => noCoreImport.ts} (97%) rename static/eslint/eslintPluginScraps/src/rules/{no-double-dollar-interpolation.spec.ts => noDoubleDollarInterpolation.spec.ts} (93%) rename static/eslint/eslintPluginScraps/src/rules/{no-double-dollar-interpolation.ts => noDoubleDollarInterpolation.ts} (97%) rename static/eslint/eslintPluginScraps/src/rules/{no-token-import.spec.ts => noTokenImport.spec.ts} (88%) rename static/eslint/eslintPluginScraps/src/rules/{no-token-import.ts => noTokenImport.ts} (96%) rename static/eslint/eslintPluginScraps/src/rules/{prefer-info-text.spec.ts => preferInfoText.spec.ts} (99%) rename static/eslint/eslintPluginScraps/src/rules/{prefer-info-text.ts => preferInfoText.ts} (99%) rename static/eslint/eslintPluginScraps/src/rules/{prefer-stack-for-column-flex.spec.ts => preferStackForColumnFlex.spec.ts} (96%) rename static/eslint/eslintPluginScraps/src/rules/{prefer-stack-for-column-flex.ts => preferStackForColumnFlex.ts} (99%) rename static/eslint/eslintPluginScraps/src/rules/{restrict-jsx-slot-children.spec.ts => restrictJsxSlotChildren.spec.ts} (99%) rename static/eslint/eslintPluginScraps/src/rules/{restrict-jsx-slot-children.ts => restrictJsxSlotChildren.ts} (99%) rename static/eslint/eslintPluginScraps/src/rules/{use-semantic-token.spec.ts => useSemanticToken.spec.ts} (98%) rename static/eslint/eslintPluginScraps/src/rules/{use-semantic-token.ts => useSemanticToken.ts} (98%) rename static/eslint/eslintPluginSentry/{no-calling-components-as-functions.spec.ts => noCallingComponentsAsFunctions.spec.ts} (98%) rename static/eslint/eslintPluginSentry/{no-calling-components-as-functions.ts => noCallingComponentsAsFunctions.ts} (99%) rename static/eslint/eslintPluginSentry/{no-default-exports.spec.ts => noDefaultExports.spec.ts} (98%) rename static/eslint/eslintPluginSentry/{no-default-exports.ts => noDefaultExports.ts} (99%) rename static/eslint/eslintPluginSentry/{no-digits-in-tn.spec.ts => noDigitsInTn.spec.ts} (87%) rename static/eslint/eslintPluginSentry/{no-digits-in-tn.ts => noDigitsInTn.ts} (96%) rename static/eslint/eslintPluginSentry/{no-dynamic-translations.spec.ts => noDynamicTranslations.spec.ts} (83%) rename static/eslint/eslintPluginSentry/{no-dynamic-translations.ts => noDynamicTranslations.ts} (97%) rename static/eslint/eslintPluginSentry/{no-flag-comments.spec.ts => noFlagComments.spec.ts} (95%) rename static/eslint/eslintPluginSentry/{no-flag-comments.ts => noFlagComments.ts} (96%) rename static/eslint/eslintPluginSentry/{no-query-data-type-parameters.spec.ts => noQueryDataTypeParameters.spec.ts} (90%) rename static/eslint/eslintPluginSentry/{no-query-data-type-parameters.ts => noQueryDataTypeParameters.ts} (96%) rename static/eslint/eslintPluginSentry/{no-raw-css-in-styled.spec.ts => noRawCssInStyled.spec.ts} (96%) rename static/eslint/eslintPluginSentry/{no-raw-css-in-styled.ts => noRawCssInStyled.ts} (97%) rename static/eslint/eslintPluginSentry/{no-static-translations.ts => noStaticTranslations.ts} (97%) rename static/eslint/eslintPluginSentry/{no-styled-shortcut.spec.ts => noStyledShortcut.spec.ts} (79%) rename static/eslint/eslintPluginSentry/{no-styled-shortcut.ts => noStyledShortcut.ts} (96%) rename static/eslint/eslintPluginSentry/{no-unnecessary-type-annotation.spec.ts => noUnnecessaryTypeAnnotation.spec.ts} (98%) rename static/eslint/eslintPluginSentry/{no-unnecessary-type-annotation.ts => noUnnecessaryTypeAnnotation.ts} (99%) rename static/eslint/eslintPluginSentry/{no-unnecessary-type-narrowing.spec.ts => noUnnecessaryTypeNarrowing.spec.ts} (98%) rename static/eslint/eslintPluginSentry/{no-unnecessary-type-narrowing.ts => noUnnecessaryTypeNarrowing.ts} (99%) rename static/eslint/eslintPluginSentry/{no-unnecessary-use-callback.spec.ts => noUnnecessaryUseCallback.spec.ts} (99%) rename static/eslint/eslintPluginSentry/{no-unnecessary-use-callback.ts => noUnnecessaryUseCallback.ts} (99%) rename static/eslint/eslintPluginSentry/{no-useless-css-interpolation-semicolon.spec.ts => noUselessCssInterpolationSemicolon.spec.ts} (95%) rename static/eslint/eslintPluginSentry/{no-useless-css-interpolation-semicolon.ts => noUselessCssInterpolationSemicolon.ts} (98%) diff --git a/eslint.config.ts b/eslint.config.ts index d75d58538c96..a0b77e399628 100644 --- a/eslint.config.ts +++ b/eslint.config.ts @@ -666,7 +666,7 @@ export default typescript.config([ files: [ '*.config.*', '**/__mocks__/*', - 'static/app/stories/*-loader.ts', + 'static/app/stories/*Loader.ts', 'static/app/chartcuterie/config.tsx', 'tests/js/*-transform.*', 'tests/js/test-*/*', @@ -838,9 +838,7 @@ export default typescript.config([ { case: 'camelCase', ignore: [ - '/type-loader\\.', '/__mocks__/', - '/ios-device-list\\.tsx$', // Shebang scripts can't use an inline disable comment (it must sit // on line 1, where the shebang is) and are invoked by their // kebab-case names from package.json/CI, so ignore them here. diff --git a/rspack.config.ts b/rspack.config.ts index ec3858542e44..a4acc8ac5368 100644 --- a/rspack.config.ts +++ b/rspack.config.ts @@ -476,7 +476,7 @@ const appConfig: Configuration = { alias: { 'type-loader': path.resolve( import.meta.dirname, - 'static/app/stories/type-loader.ts' + 'static/app/stories/typeLoader.ts' ), }, }, diff --git a/static/app/components/deviceName.tsx b/static/app/components/deviceName.tsx index aea88fabe3b8..9f5e2663f818 100644 --- a/static/app/components/deviceName.tsx +++ b/static/app/components/deviceName.tsx @@ -1,6 +1,6 @@ import {useMemo} from 'react'; -import {iOSDeviceMapping} from 'sentry/constants/ios-device-list'; +import {iOSDeviceMapping} from 'sentry/constants/iosDeviceList'; export function deviceNameMapper(model: string | undefined): string | null { // If we have no model, render nothing diff --git a/static/app/constants/ios-device-list.tsx b/static/app/constants/iosDeviceList.tsx similarity index 99% rename from static/app/constants/ios-device-list.tsx rename to static/app/constants/iosDeviceList.tsx index 46e2a5d7b39e..012b9fe12b0f 100644 --- a/static/app/constants/ios-device-list.tsx +++ b/static/app/constants/iosDeviceList.tsx @@ -1,4 +1,3 @@ -/* eslint-disable unicorn/filename-case */ // When updating this file, please also update // Relay: https://github.com/getsentry/relay/blob/a91f0c92860f88789ad6092ef5b1062aa3e34b80/relay-event-schema/src/protocol/device_class.rs // Python: https://github.com/getsentry/sentry/blob/c53745bb716899758d0f1caf5446d830e4ebbdb2/src/sentry/api/helpers/ios_models.py diff --git a/static/app/stories/type-loader.ts b/static/app/stories/typeLoader.ts similarity index 99% rename from static/app/stories/type-loader.ts rename to static/app/stories/typeLoader.ts index 9a6b404656d6..63cccdafa0e3 100644 --- a/static/app/stories/type-loader.ts +++ b/static/app/stories/typeLoader.ts @@ -1,4 +1,3 @@ -/* eslint-disable unicorn/filename-case */ import * as docgen from 'react-docgen-typescript'; import type {LoaderContext} from '@rspack/core'; import * as typescript from 'typescript'; diff --git a/static/eslint/eslintPluginScraps/src/ast/extractor/css-prop.ts b/static/eslint/eslintPluginScraps/src/ast/extractor/cssProp.ts similarity index 97% rename from static/eslint/eslintPluginScraps/src/ast/extractor/css-prop.ts rename to static/eslint/eslintPluginScraps/src/ast/extractor/cssProp.ts index 68107ef318a7..21fc5709578b 100644 --- a/static/eslint/eslintPluginScraps/src/ast/extractor/css-prop.ts +++ b/static/eslint/eslintPluginScraps/src/ast/extractor/cssProp.ts @@ -1,4 +1,3 @@ -/* eslint-disable unicorn/filename-case */ /** * @file Extracts style declarations from JSX css prop patterns. * @@ -14,7 +13,7 @@ import type {TSESTree} from '@typescript-eslint/utils'; import {normalizePropertyName} from '../utils/normalizePropertyName'; import type {ExtractorContext, StyleDeclaration} from './types'; -import {decomposeValue} from './value-decomposer'; +import {decomposeValue} from './valueDecomposer'; /** * Creates the css prop extractor with ESLint visitors. diff --git a/static/eslint/eslintPluginScraps/src/ast/extractor/index.ts b/static/eslint/eslintPluginScraps/src/ast/extractor/index.ts index 09c1c7be653f..b87abd26f703 100644 --- a/static/eslint/eslintPluginScraps/src/ast/extractor/index.ts +++ b/static/eslint/eslintPluginScraps/src/ast/extractor/index.ts @@ -2,9 +2,9 @@ import {TSESLint, TSESTree} from '@typescript-eslint/utils'; import {createThemeTracker} from '../tracker/theme'; -import {createCssPropExtractor} from './css-prop'; -import {createStylePropExtractor} from './style-prop'; +import {createCssPropExtractor} from './cssProp'; import {createStyledExtractor} from './styled'; +import {createStylePropExtractor} from './styleProp'; import type {ExtractorContext, StyleCollector, StyleDeclaration} from './types'; /** @@ -104,7 +104,7 @@ export function createStyleCollector(context: TSESLint.RuleContext Date: Mon, 20 Jul 2026 12:59:15 -0700 Subject: [PATCH 6/7] ignore the last files --- eslint.config.ts | 3 +++ .../{newSettings.spec.tsx => detectorNewSettings.spec.tsx} | 2 +- .../detectors/{newSettings.tsx => detectorNewSettings.tsx} | 2 +- static/app/views/detectors/routes.tsx | 2 +- 4 files changed, 6 insertions(+), 3 deletions(-) rename static/app/views/detectors/{newSettings.spec.tsx => detectorNewSettings.spec.tsx} (99%) rename static/app/views/detectors/{newSettings.tsx => detectorNewSettings.tsx} (96%) diff --git a/eslint.config.ts b/eslint.config.ts index a0b77e399628..8dd84812bba9 100644 --- a/eslint.config.ts +++ b/eslint.config.ts @@ -838,6 +838,9 @@ export default typescript.config([ { case: 'camelCase', ignore: [ + 'jest-pegjs-transform\\.js', + 'jest-environment\\.js', + 'jest-environment-node\\.js', '/__mocks__/', // Shebang scripts can't use an inline disable comment (it must sit // on line 1, where the shebang is) and are invoked by their diff --git a/static/app/views/detectors/newSettings.spec.tsx b/static/app/views/detectors/detectorNewSettings.spec.tsx similarity index 99% rename from static/app/views/detectors/newSettings.spec.tsx rename to static/app/views/detectors/detectorNewSettings.spec.tsx index 3d381718176f..4292d020a5bb 100644 --- a/static/app/views/detectors/newSettings.spec.tsx +++ b/static/app/views/detectors/detectorNewSettings.spec.tsx @@ -21,7 +21,7 @@ import {OrganizationStore} from 'sentry/stores/organizationStore'; import {ProjectsStore} from 'sentry/stores/projectsStore'; import {getDatasetConfig} from 'sentry/views/detectors/datasetConfig/getDatasetConfig'; import {DetectorDataset} from 'sentry/views/detectors/datasetConfig/types'; -import DetectorNewSettings from 'sentry/views/detectors/newSettings'; +import DetectorNewSettings from 'sentry/views/detectors/detectorNewSettings'; describe('DetectorEdit', () => { const organization = OrganizationFixture({ diff --git a/static/app/views/detectors/newSettings.tsx b/static/app/views/detectors/detectorNewSettings.tsx similarity index 96% rename from static/app/views/detectors/newSettings.tsx rename to static/app/views/detectors/detectorNewSettings.tsx index 34bbc4fc093f..9f9356c6fe74 100644 --- a/static/app/views/detectors/newSettings.tsx +++ b/static/app/views/detectors/detectorNewSettings.tsx @@ -12,7 +12,7 @@ import { isValidDetectorType, } from 'sentry/views/detectors/utils/detectorTypeConfig'; -export function DetectorNewSettings() { +export default function DetectorNewSettings() { const {fetching: isFetchingProjects} = useProjects(); const [detectorType] = useDetectorTypeQueryState(); useWorkflowEngineFeatureGate({redirect: true}); diff --git a/static/app/views/detectors/routes.tsx b/static/app/views/detectors/routes.tsx index 1f63ef6e86e3..abc862fc0c89 100644 --- a/static/app/views/detectors/routes.tsx +++ b/static/app/views/detectors/routes.tsx @@ -17,7 +17,7 @@ export const detectorRoutes: SentryRouteObject = { }, { path: 'settings/', - component: make(() => import('sentry/views/detectors/newSettings')), + component: make(() => import('sentry/views/detectors/detectorNewSettings')), }, ], }, From 1031817eeb76fbbdd7486777d3fbcf54bc2a4948 Mon Sep 17 00:00:00 2001 From: Ryan Albrecht Date: Mon, 20 Jul 2026 16:02:49 -0700 Subject: [PATCH 7/7] Apply suggestion from @ryan953 --- static/eslint/eslintPluginScraps/src/ast/extractor/index.ts | 6 ------ 1 file changed, 6 deletions(-) diff --git a/static/eslint/eslintPluginScraps/src/ast/extractor/index.ts b/static/eslint/eslintPluginScraps/src/ast/extractor/index.ts index b87abd26f703..b993799c5c44 100644 --- a/static/eslint/eslintPluginScraps/src/ast/extractor/index.ts +++ b/static/eslint/eslintPluginScraps/src/ast/extractor/index.ts @@ -102,9 +102,3 @@ export function createStyleCollector(context: TSESLint.RuleContext