From d39a83abcd7055d7d7075c400d84d04df17d0fba Mon Sep 17 00:00:00 2001 From: Bolaji Olajide <25608335+BolajiOlajide@users.noreply.github.com> Date: Tue, 13 Aug 2024 18:22:12 +0100 Subject: [PATCH 1/3] init --- .bazelignore | 1 + client/web-sveltekit/BUILD.bazel | 11 - client/wildcard/BUILD.bazel | 671 ------------------- pnpm-lock.yaml | 16 +- pnpm-workspace.yaml | 1 + testing/e2e/.gitignore | 5 + testing/e2e/BUILD.bazel | 64 ++ testing/e2e/package.json | 18 + testing/e2e/playwright.config.ts | 83 +++ testing/e2e/src/demo/dotcom.spec.ts | 46 ++ testing/e2e/src/demo/playwright-demo.spec.ts | 18 + testing/e2e/src/utils/constants.ts | 1 + 12 files changed, 250 insertions(+), 685 deletions(-) delete mode 100644 client/wildcard/BUILD.bazel create mode 100644 testing/e2e/.gitignore create mode 100644 testing/e2e/BUILD.bazel create mode 100644 testing/e2e/package.json create mode 100644 testing/e2e/playwright.config.ts create mode 100644 testing/e2e/src/demo/dotcom.spec.ts create mode 100644 testing/e2e/src/demo/playwright-demo.spec.ts create mode 100644 testing/e2e/src/utils/constants.ts diff --git a/.bazelignore b/.bazelignore index b1bb86434a98..a473d3ec0595 100644 --- a/.bazelignore +++ b/.bazelignore @@ -27,6 +27,7 @@ client/web-sveltekit/node_modules client/wildcard/node_modules internal/appliance/frontend/maintenance/node_modules +testing/e2e/node_modules cmd/symbols/internal/squirrel/test_repos/starlark # Generated by local tools diff --git a/client/web-sveltekit/BUILD.bazel b/client/web-sveltekit/BUILD.bazel index ef85ef103ee0..b28879357c26 100644 --- a/client/web-sveltekit/BUILD.bazel +++ b/client/web-sveltekit/BUILD.bazel @@ -162,17 +162,6 @@ compile_app( visibility = ["//client/web/dist:__pkg__"], ) -playwright_test_bin.playwright_test( - name = "playwright_install", - args = [ - "install", - ], - local = True, - tags = [ - "requires-network", - ], -) - PLAYWRIGHT_DEPS = [ "//client/web-sveltekit:node_modules/@playwright/test", "//client/web-sveltekit:node_modules/playwright", diff --git a/client/wildcard/BUILD.bazel b/client/wildcard/BUILD.bazel deleted file mode 100644 index 7606e1a03e5f..000000000000 --- a/client/wildcard/BUILD.bazel +++ /dev/null @@ -1,671 +0,0 @@ -load("@aspect_bazel_lib//lib:copy_to_bin.bzl", "copy_to_bin") -load("@aspect_rules_ts//ts:defs.bzl", "ts_config") -load("@npm//:defs.bzl", "npm_link_all_packages") -load("//client/shared/dev:tools.bzl", "module_style_typings") -load("//dev:defs.bzl", "npm_package", "sass", "ts_project", "vitest_test") -load("//dev:eslint.bzl", "eslint_config_and_lint_root") - -# gazelle:js_resolve **/*.module.scss :module_style_typings -# gazelle:js_ignore_imports **/global-styles/index.scss - -npm_link_all_packages(name = "node_modules") - -eslint_config_and_lint_root() - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - visibility = ["//client:__subpackages__"], - deps = [ - "//:tsconfig", - "//client/common:tsconfig", - "//client/testing:tsconfig", - ], -) - -module_style_typings( - name = "module_style_typings", - deps = [ - ":sass-breakpoints", - "//:node_modules/@reach/dialog", - "//:node_modules/@reach/tabs", - ], -) - -sass( - name = "module_styles", - srcs = glob(["src/**/*.module.scss"]), - deps = [ - ":sass-breakpoints", - "//:node_modules/@reach/dialog", - "//:node_modules/@reach/tabs", - ], -) - -# Files that can be loaded or imported as css. -GLOBAL_SASS_ENTRY_POINTS = [ - "src/global-styles/base.scss", - "src/global-styles/index.scss", - "src/global-styles/forms.scss", -] - -# Files that can be loaded as sass utils. -SASS_UTILS = [ - "src/global-styles/colors.scss", - "src/global-styles/functions.scss", - "src/global-styles/icons.scss", - "src/global-styles/mixins.scss", - "src/global-styles/variables.scss", - "src/global-styles/utilities/text.scss", - "src/global-styles/utilities/screenreaders.scss", -] - -sass( - name = "global-styles", - srcs = GLOBAL_SASS_ENTRY_POINTS, - visibility = ["//visibility:public"], - runtime_deps = ["//:node_modules/open-color"], - deps = glob( - ["src/global-styles/**/*.scss"], - exclude = ["**/*.module.scss"] + GLOBAL_SASS_ENTRY_POINTS, - ) + [ - "//:node_modules/@reach/combobox", - "//:node_modules/@reach/menu-button", - "//:node_modules/@reach/tabs", - "//:node_modules/open-color", - "//:node_modules/react-resizable", - ], -) - -copy_to_bin( - name = "sass-breakpoints", - srcs = [ - "src/global-styles/breakpoints.scss", - ], - visibility = ["//visibility:public"], -) - -copy_to_bin( - name = "sass-utils", - srcs = SASS_UTILS, - visibility = ["//visibility:public"], -) - -copy_to_bin( - name = "global-style-sources", - srcs = glob(["src/global-styles/**/*.scss"]), - visibility = ["//client/web-sveltekit:__pkg__"], -) - -ts_project( - name = "wildcard_lib", - srcs = [ - "src/components/Alert/Alert.tsx", - "src/components/Alert/AlertLink.tsx", - "src/components/Alert/constants.ts", - "src/components/Alert/index.ts", - "src/components/Alert/utils.ts", - "src/components/Badge/Badge.tsx", - "src/components/Badge/ProductStatusBadge.tsx", - "src/components/Badge/constants.ts", - "src/components/Badge/index.ts", - "src/components/BeforeUnloadPrompt/BeforeUnloadPrompt.tsx", - "src/components/BeforeUnloadPrompt/index.ts", - "src/components/Breadcrumbs/Breadcrumbs.tsx", - "src/components/Breadcrumbs/index.ts", - "src/components/Button/Button.tsx", - "src/components/Button/ButtonGroup.tsx", - "src/components/Button/constants.ts", - "src/components/Button/index.ts", - "src/components/Button/story/ButtonVariants.tsx", - "src/components/Button/utils.ts", - "src/components/ButtonLink/ButtonLink.tsx", - "src/components/ButtonLink/index.ts", - "src/components/Card/Card.tsx", - "src/components/Card/components/CardBody.tsx", - "src/components/Card/components/CardFooter.tsx", - "src/components/Card/components/CardHeader.tsx", - "src/components/Card/components/CardList.tsx", - "src/components/Card/components/CardSubtitle.tsx", - "src/components/Card/components/CardText.tsx", - "src/components/Card/components/CardTitle.tsx", - "src/components/Card/components/index.ts", - "src/components/Card/constants.ts", - "src/components/Card/index.ts", - "src/components/Charts/components/bar-chart/BarChart.tsx", - "src/components/Charts/components/bar-chart/BarChartContent.tsx", - "src/components/Charts/components/bar-chart/components/GroupedBars.tsx", - "src/components/Charts/components/bar-chart/components/StackedBars.tsx", - "src/components/Charts/components/bar-chart/components/TooltipContent.tsx", - "src/components/Charts/components/bar-chart/index.ts", - "src/components/Charts/components/bar-chart/types.ts", - "src/components/Charts/components/bar-chart/utils/get-grouped-categories.ts", - "src/components/Charts/components/line-chart/LineChart.tsx", - "src/components/Charts/components/line-chart/LineChartContent.tsx", - "src/components/Charts/components/line-chart/components/LineDataSeries.tsx", - "src/components/Charts/components/line-chart/components/PointGlyph.tsx", - "src/components/Charts/components/line-chart/components/index.ts", - "src/components/Charts/components/line-chart/components/legend-list/LegendList.tsx", - "src/components/Charts/components/line-chart/components/stacked-area/StackedArea.tsx", - "src/components/Charts/components/line-chart/components/stacked-area/get-stacked-area-paths.ts", - "src/components/Charts/components/line-chart/components/tooltip/TooltipContent.tsx", - "src/components/Charts/components/line-chart/components/tooltip/index.ts", - "src/components/Charts/components/line-chart/components/tooltip/utils/get-list-window.ts", - "src/components/Charts/components/line-chart/event-helpers.ts", - "src/components/Charts/components/line-chart/index.ts", - "src/components/Charts/components/line-chart/keyboard-navigation.ts", - "src/components/Charts/components/line-chart/types.ts", - "src/components/Charts/components/line-chart/utils/colors.ts", - "src/components/Charts/components/line-chart/utils/data-guards.ts", - "src/components/Charts/components/line-chart/utils/data-series-processing/get-series-data.ts", - "src/components/Charts/components/line-chart/utils/data-series-processing/get-stacked-series-data.ts", - "src/components/Charts/components/line-chart/utils/data-series-processing/helpers.ts", - "src/components/Charts/components/line-chart/utils/data-series-processing/index.ts", - "src/components/Charts/components/line-chart/utils/data-series-processing/types.ts", - "src/components/Charts/components/line-chart/utils/generate-points-field.ts", - "src/components/Charts/components/line-chart/utils/get-chart-content-sizes.ts", - "src/components/Charts/components/line-chart/utils/get-min-max-boundary.ts", - "src/components/Charts/components/line-chart/utils/index.ts", - "src/components/Charts/components/pie-chart/PieChart.tsx", - "src/components/Charts/components/pie-chart/components/PieArc.tsx", - "src/components/Charts/components/pie-chart/index.ts", - "src/components/Charts/components/stacked-meter/StackedMeter.tsx", - "src/components/Charts/components/stacked-meter/index.ts", - "src/components/Charts/constants.ts", - "src/components/Charts/core/components/MaybeLink.tsx", - "src/components/Charts/core/components/SvgRoot.tsx", - "src/components/Charts/core/components/axis/Axis.tsx", - "src/components/Charts/core/components/axis/Tick.tsx", - "src/components/Charts/core/components/axis/tick-formatters.ts", - "src/components/Charts/core/components/scroll-box/ScrollBox.tsx", - "src/components/Charts/core/components/scroll-box/index.ts", - "src/components/Charts/core/components/tooltip/Tooltip.tsx", - "src/components/Charts/core/index.ts", - "src/components/Charts/index.ts", - "src/components/Charts/types.ts", - "src/components/Collapse/Collapse.tsx", - "src/components/Collapse/index.ts", - "src/components/Combobox/Combobox.tsx", - "src/components/Combobox/MultiCombobox.tsx", - "src/components/Combobox/index.ts", - "src/components/Container/Container.tsx", - "src/components/Container/index.ts", - "src/components/ErrorAlert/ErrorAlert.tsx", - "src/components/ErrorAlert/index.ts", - "src/components/ErrorMessage/ErrorMessage.tsx", - "src/components/ErrorMessage/index.ts", - "src/components/Feedback/FeedbackBadge/FeedbackBadge.tsx", - "src/components/Feedback/FeedbackBadge/constant.ts", - "src/components/Feedback/FeedbackBadge/index.ts", - "src/components/Feedback/FeedbackPrompt/FeedbackPrompt.tsx", - "src/components/Feedback/FeedbackPrompt/index.ts", - "src/components/Feedback/FeedbackText/FeedbackText.tsx", - "src/components/Feedback/FeedbackText/index.ts", - "src/components/Feedback/index.ts", - "src/components/Form/Checkbox/Checkbox.tsx", - "src/components/Form/Checkbox/index.tsx", - "src/components/Form/FlexTextArea/FlexTextArea.tsx", - "src/components/Form/FlexTextArea/index.ts", - "src/components/Form/Form/Form.tsx", - "src/components/Form/Form/getDefaultInputProps.ts", - "src/components/Form/Form/hooks/index.ts", - "src/components/Form/Form/hooks/useCheckboxes.ts", - "src/components/Form/Form/hooks/useField.ts", - "src/components/Form/Form/hooks/useForm.ts", - "src/components/Form/Form/hooks/utils/get-event-value.ts", - "src/components/Form/Form/hooks/utils/use-async-validation.ts", - "src/components/Form/Form/hooks/validators.ts", - "src/components/Form/Form/index.ts", - "src/components/Form/FormGroup/FormGroup.tsx", - "src/components/Form/FormGroup/index.ts", - "src/components/Form/Input/Input.tsx", - "src/components/Form/Input/index.tsx", - "src/components/Form/Input/utils/getInputStatus.ts", - "src/components/Form/LoaderInput/LoaderInput.tsx", - "src/components/Form/LoaderInput/index.ts", - "src/components/Form/RadioButton/RadioButton.tsx", - "src/components/Form/RadioButton/index.tsx", - "src/components/Form/Select/Select.tsx", - "src/components/Form/Select/index.ts", - "src/components/Form/TextArea/TextArea.tsx", - "src/components/Form/TextArea/index.ts", - "src/components/Form/index.ts", - "src/components/Form/internal/AccessibleFieldType.ts", - "src/components/Form/internal/BaseControlInput.tsx", - "src/components/Form/internal/FormFieldLabel.tsx", - "src/components/Form/internal/FormFieldMessage.tsx", - "src/components/Form/internal/utils.ts", - "src/components/Grid/Grid.tsx", - "src/components/Grid/index.tsx", - "src/components/Icon/Icon.tsx", - "src/components/Icon/constants.ts", - "src/components/Icon/index.ts", - "src/components/Icon/language-icon/LanguageIcon.tsx", - "src/components/Icon/language-icon/language-icons.ts", - "src/components/Link/AnchorLink/AnchorLink.tsx", - "src/components/Link/AnchorLink/index.ts", - "src/components/Link/Link/Link.tsx", - "src/components/Link/Link/index.ts", - "src/components/Link/LinkOrSpan/LinkOrSpan.tsx", - "src/components/Link/LinkOrSpan/index.ts", - "src/components/Link/RouterLink/RouterLink.tsx", - "src/components/Link/RouterLink/index.ts", - "src/components/Link/createLinkUrl.tsx", - "src/components/Link/index.ts", - "src/components/LoadingSpinner/LoadingSpinner.tsx", - "src/components/LoadingSpinner/index.ts", - "src/components/Markdown/Markdown.tsx", - "src/components/Markdown/index.ts", - "src/components/Menu/Menu.tsx", - "src/components/Menu/MenuButton.tsx", - "src/components/Menu/MenuDisabledItem.tsx", - "src/components/Menu/MenuDivider.tsx", - "src/components/Menu/MenuHeader.tsx", - "src/components/Menu/MenuItem.tsx", - "src/components/Menu/MenuLink.tsx", - "src/components/Menu/MenuList.tsx", - "src/components/Menu/MenuText.tsx", - "src/components/Menu/index.ts", - "src/components/Modal/Modal.tsx", - "src/components/Modal/constants.ts", - "src/components/Modal/index.ts", - "src/components/NavMenu/NavMenu.tsx", - "src/components/NavMenu/index.ts", - "src/components/PageHeader/Breadcrumb/Breadcrumb.tsx", - "src/components/PageHeader/Breadcrumb/index.ts", - "src/components/PageHeader/Heading/Heading.tsx", - "src/components/PageHeader/Heading/index.ts", - "src/components/PageHeader/PageHeader.tsx", - "src/components/PageHeader/index.ts", - "src/components/PageSelector/PageSelector.tsx", - "src/components/PageSelector/index.tsx", - "src/components/PageSwitcher/PageSwitcher.tsx", - "src/components/PageSwitcher/index.tsx", - "src/components/Panel/Panel.tsx", - "src/components/Panel/constants.ts", - "src/components/Panel/index.ts", - "src/components/Panel/story/TabbedPanelContent.fixtures.ts", - "src/components/Panel/useResizablePanel.ts", - "src/components/Panel/utils.ts", - "src/components/Popover/Popover.tsx", - "src/components/Popover/components/PopoverTrigger.tsx", - "src/components/Popover/components/floating-panel/FloatingPanel.tsx", - "src/components/Popover/components/popover-content/PopoverContent.tsx", - "src/components/Popover/components/popover-content/index.ts", - "src/components/Popover/components/popover-tail/PopoverTail.tsx", - "src/components/Popover/components/popover-tail/index.ts", - "src/components/Popover/contexts/internal-context.ts", - "src/components/Popover/contexts/public-context.ts", - "src/components/Popover/index.ts", - "src/components/Popover/tether/index.ts", - "src/components/Popover/tether/models/geometry/point.ts", - "src/components/Popover/tether/models/geometry/rectangle.ts", - "src/components/Popover/tether/models/tether-models.ts", - "src/components/Popover/tether/services/geometry/actions/get-constrained-element.ts", - "src/components/Popover/tether/services/geometry/actions/get-element-constraints.ts", - "src/components/Popover/tether/services/geometry/actions/get-elements-intersection.ts", - "src/components/Popover/tether/services/geometry/actions/get-extended-constraint.ts", - "src/components/Popover/tether/services/geometry/actions/get-joined-element.ts", - "src/components/Popover/tether/services/geometry/actions/get-target-element.ts", - "src/components/Popover/tether/services/geometry/actions/rectangle-position-helpers.ts", - "src/components/Popover/tether/services/geometry/actions/tooltip-marker-utils.ts", - "src/components/Popover/tether/services/geometry/constants.ts", - "src/components/Popover/tether/services/geometry/index.ts", - "src/components/Popover/tether/services/tether-browser.ts", - "src/components/Popover/tether/services/tether-layout.ts", - "src/components/Popover/tether/services/tether-position.ts", - "src/components/Popover/tether/services/tether-registry.ts", - "src/components/Popover/tether/services/tether-render.ts", - "src/components/Popover/tether/services/tether-state.ts", - "src/components/Popover/tether/services/types.ts", - "src/components/Popover/types.ts", - "src/components/SourcegraphIcon/SourcegraphIcon.tsx", - "src/components/SourcegraphIcon/index.ts", - "src/components/Tabs/Tabs.tsx", - "src/components/Tabs/context.ts", - "src/components/Tabs/index.ts", - "src/components/Tabs/useScrollBackToActive.ts", - "src/components/Tabs/useShouldPanelRender.ts", - "src/components/Tooltip/Tooltip.tsx", - "src/components/Tooltip/index.ts", - "src/components/Tree/Tree.tsx", - "src/components/Tree/index.ts", - "src/components/Tree/react-accessible-treeview/index.tsx", - "src/components/Tree/react-accessible-treeview/utils.ts", - "src/components/Typography/Code/Code.tsx", - "src/components/Typography/Code/index.ts", - "src/components/Typography/Heading/H1.tsx", - "src/components/Typography/Heading/H2.tsx", - "src/components/Typography/Heading/H3.tsx", - "src/components/Typography/Heading/H4.tsx", - "src/components/Typography/Heading/H5.tsx", - "src/components/Typography/Heading/H6.tsx", - "src/components/Typography/Heading/Heading.tsx", - "src/components/Typography/Heading/index.ts", - "src/components/Typography/Label/Label.tsx", - "src/components/Typography/Label/index.ts", - "src/components/Typography/Label/utils.ts", - "src/components/Typography/Text/Text.tsx", - "src/components/Typography/Text/index.ts", - "src/components/Typography/constants.ts", - "src/components/Typography/index.ts", - "src/components/Typography/utils.ts", - "src/components/index.ts", - "src/global-styles/GlobalStylesStory/ColorVariants/ColorVariants.tsx", - "src/global-styles/GlobalStylesStory/ColorVariants/index.ts", - "src/global-styles/GlobalStylesStory/FormFieldVariants/FormFieldVariants.tsx", - "src/global-styles/GlobalStylesStory/FormFieldVariants/index.ts", - "src/global-styles/GlobalStylesStory/TextVariants/TextVariants.tsx", - "src/global-styles/GlobalStylesStory/TextVariants/index.ts", - "src/global-styles/GlobalStylesStory/constants.ts", - "src/global-styles/GlobalStylesStory/utils.ts", - "src/globals.d.ts", - "src/hooks/index.ts", - "src/hooks/useAccordion.ts", - "src/hooks/useAutoFocus.ts", - "src/hooks/useControlledState.ts", - "src/hooks/useCookieStorage.ts", - "src/hooks/useDebounce.ts", - "src/hooks/useDeepMemo.ts", - "src/hooks/useElementObscuredArea.ts", - "src/hooks/useFocusOnLoadedMore.ts", - "src/hooks/useInterval.ts", - "src/hooks/useIsMounted.ts", - "src/hooks/useIsTruncated.ts", - "src/hooks/useKeyboard.ts", - "src/hooks/useLocalStorage.ts", - "src/hooks/useMatchMedia.ts", - "src/hooks/useMeasure.ts", - "src/hooks/useObservable.ts", - "src/hooks/useOffsetPagination.ts", - "src/hooks/useOnClickOutside.ts", - "src/hooks/usePrompt.tsx", - "src/hooks/useScrollManager/index.ts", - "src/hooks/useScrollManager/mutationObserverWithTimeout.ts", - "src/hooks/useScrollManager/useScrollManager.ts", - "src/hooks/useSearchParameters.ts", - "src/hooks/useSessionStorage.ts", - "src/hooks/useStopwatch.ts", - "src/hooks/useStorageHook.ts", - "src/hooks/useSyncedWithUrlState.ts", - "src/hooks/useTimeoutManager.ts", - "src/hooks/useUpdateEffect.ts", - "src/hooks/useWildcardTheme.tsx", - "src/hooks/useWindowSize.ts", - "src/index.ts", - "src/stories/BrandedStory.tsx", - "src/stories/hooks/index.ts", - "src/stories/hooks/usePrependStyles.ts", - "src/stories/hooks/useStorybookTheme.ts", - "src/stories/index.ts", - "src/testing/index.ts", - "src/testing/render-with-branded-context.tsx", - "src/types.ts", - "src/utils/contributions.ts", - "src/utils/highlight.js.d.ts", - "src/utils/index.ts", - "src/utils/joinWithAnd.tsx", - "src/utils/linkClickHandler.ts", - "src/utils/markdown.ts", - "src/utils/screenReaderAnnounce.ts", - "src/viewports.ts", - ], - data = [ - ":global-styles", - ], - tags = [TAG_SEARCHSUITE], - tsconfig = ":tsconfig", - deps = [ - ":module_style_typings", - ":node_modules/@types/highlight.js", - ":node_modules/dompurify", - ":node_modules/highlight.js", - ":node_modules/marked", - ":node_modules/react-router-dom", - "//:node_modules/@mdi/js", - "//:node_modules/@reach/auto-id", - "//:node_modules/@reach/combobox", - "//:node_modules/@reach/dialog", - "//:node_modules/@reach/menu-button", - "//:node_modules/@reach/tabs", - "//:node_modules/@reach/visually-hidden", - "//:node_modules/@react-aria/live-announcer", - "//:node_modules/@storybook/addon-designs", - "//:node_modules/@testing-library/react", - "//:node_modules/@types/classnames", - "//:node_modules/@types/d3-format", - "//:node_modules/@types/d3-scale", - "//:node_modules/@types/d3-shape", - "//:node_modules/@types/d3-time-format", - "//:node_modules/@types/d3-voronoi", - "//:node_modules/@types/dompurify", - "//:node_modules/@types/history", - "//:node_modules/@types/js-cookie", - "//:node_modules/@types/lodash", - "//:node_modules/@types/marked", - "//:node_modules/@types/node", #keep - "//:node_modules/@types/react", - "//:node_modules/@types/react-dom", - "//:node_modules/@types/uuid", - "//:node_modules/@visx/annotation", - "//:node_modules/@visx/axis", - "//:node_modules/@visx/event", - "//:node_modules/@visx/glyph", - "//:node_modules/@visx/grid", - "//:node_modules/@visx/group", - "//:node_modules/@visx/responsive", - "//:node_modules/@visx/scale", - "//:node_modules/@visx/shape", - "//:node_modules/@visx/text", - "//:node_modules/@visx/voronoi", - "//:node_modules/classnames", - "//:node_modules/d3-format", - "//:node_modules/d3-scale", - "//:node_modules/d3-shape", - "//:node_modules/d3-time-format", - "//:node_modules/d3-voronoi", - "//:node_modules/history", - "//:node_modules/is-absolute-url", - "//:node_modules/js-cookie", - "//:node_modules/lodash", - "//:node_modules/mdi-react", - "//:node_modules/react", - "//:node_modules/react-dom", - "//:node_modules/react-focus-lock", - "//:node_modules/react-icons", - "//:node_modules/react-spring", - "//:node_modules/rxjs", - "//:node_modules/storybook-dark-mode", - "//:node_modules/ts-key-enum", - "//:node_modules/use-callback-ref", - "//:node_modules/use-resize-observer", - "//:node_modules/utility-types", - "//:node_modules/uuid", - ], -) - -ts_project( - name = "wildcard_tests", - testonly = True, - srcs = [ - "src/components/Alert/Alert.test.tsx", - "src/components/Button/Button.test.tsx", - "src/components/ButtonLink/ButtonLink.test.tsx", - "src/components/Card/Card.test.tsx", - "src/components/Charts/components/line-chart/LineChart.test.tsx", - "src/components/Charts/components/line-chart/components/tooltip/utils/get-list-window.test.ts", - "src/components/Charts/components/line-chart/story/mocks.ts", - "src/components/Charts/components/line-chart/utils/data-series-processing/get-series-data.test.ts", - "src/components/Charts/components/line-chart/utils/get-min-max-boundary.test.ts", - "src/components/Charts/components/stacked-meter/StackedMeter.test.tsx", - "src/components/Collapse/Collapse.test.tsx", - "src/components/ErrorAlert/ErrorAlert.test.tsx", - "src/components/Feedback/FeedbackBadge/FeedbackBadge.test.tsx", - "src/components/Feedback/FeedbackPrompt/FeedbackPrompt.test.tsx", - "src/components/Feedback/FeedbackText/FeedbackText.test.tsx", - "src/components/Form/Input/Input.test.tsx", - "src/components/Form/LoaderInput/LoaderInput.test.tsx", - "src/components/Form/Select/Select.test.tsx", - "src/components/Form/TextArea/TextArea.test.tsx", - "src/components/Form/internal/BaseControlInput.test.tsx", - "src/components/Icon/Icon.test.tsx", - "src/components/Icon/language-icon/language-icons.test.ts", - "src/components/Link/AnchorLink/AnchorLink.test.tsx", - "src/components/Link/LinkOrSpan/LinkOrSpan.test.tsx", - "src/components/Link/RouterLink/RouterLink.test.tsx", - "src/components/Link/createLinkUrl.test.tsx", - "src/components/Markdown/Markdown.test.tsx", - "src/components/NavMenu/NavMenu.test.tsx", - "src/components/PageHeader/PageHeader.test.tsx", - "src/components/PageSelector/PageSelector.test.tsx", - "src/components/PageSwitcher/PageSwitcher.test.tsx", - "src/components/Panel/Panel.test.tsx", - "src/components/Popover/tether/models/geometry/rectangle.test.ts", - "src/components/Popover/tether/services/geometry/actions/get-constrained-element.test.ts", - "src/components/Tabs/Tabs.test.tsx", - "src/components/Tooltip/Tooltip.test.tsx", - "src/components/Tree/Tree.test.tsx", - "src/components/Typography/Code/Code.test.tsx", - "src/components/Typography/Heading/H1.test.tsx", - "src/components/Typography/Heading/H2.test.tsx", - "src/components/Typography/Heading/H3.test.tsx", - "src/components/Typography/Heading/H4.test.tsx", - "src/components/Typography/Heading/H5.test.tsx", - "src/components/Typography/Heading/H6.test.tsx", - "src/components/Typography/Label/Label.test.tsx", - "src/components/Typography/Text/Text.test.tsx", - "src/hooks/useCookieStorage.test.ts", - "src/hooks/useObservable.test.ts", - "src/hooks/useScrollManager/useScrollManager.test.tsx", - "src/hooks/useTimeoutManager.test.ts", - "src/testing/testSetup.test.ts", - "src/utils/linkClickHandler.test.tsx", - "src/utils/markdown.test.ts", - ], - tags = [TAG_SEARCHSUITE], - tsconfig = ":tsconfig", - deps = [ - ":node_modules/@sourcegraph/testing", - ":node_modules/react-router-dom", - ":wildcard_lib", - "//:node_modules/@mdi/js", - "//:node_modules/@storybook/react", #keep - "//:node_modules/@testing-library/jest-dom", #keep - "//:node_modules/@testing-library/react", - "//:node_modules/@testing-library/user-event", - "//:node_modules/@types/history", - "//:node_modules/@types/js-cookie", - "//:node_modules/@types/node", - "//:node_modules/@types/react", - "//:node_modules/@types/sinon", - "//:node_modules/history", - "//:node_modules/js-cookie", - "//:node_modules/mdi-react", - "//:node_modules/react", - "//:node_modules/react-icons", - "//:node_modules/rxjs", - "//:node_modules/sinon", - "//:node_modules/vitest", - ], -) - -npm_package( - name = "wildcard_pkg", - srcs = [ - "package.json", - ":module_styles", #keep - ":wildcard_lib", - ], -) - -filegroup( - name = "snapshots", - srcs = glob(["src/**/__snapshots__/*"]), -) - -vitest_test( - name = "test", - data = [ - ":module_styles", - ":snapshots", - ":wildcard_tests", - ], - tags = [TAG_SEARCHSUITE], -) - -ts_project( - name = "stories", - testonly = True, - srcs = [ - "src/components/Alert/Alert.story.tsx", - "src/components/Badge/Badge.story.tsx", - "src/components/Badge/ProductStatusBadge.story.tsx", - "src/components/Breadcrumbs/Breadcrumbs.story.tsx", - "src/components/Button/story/Button.story.tsx", - "src/components/ButtonLink/ButtonLink.story.tsx", - "src/components/Card/Card.story.tsx", - "src/components/Charts/components/bar-chart/BarChart.story.tsx", - "src/components/Charts/components/line-chart/components/tooltip/TooltipContent.story.tsx", - "src/components/Charts/components/line-chart/story/LineChart.story.tsx", - "src/components/Charts/components/pie-chart/PieChart.story.tsx", - "src/components/Charts/components/stacked-meter/StackedMeter.story.tsx", - "src/components/Charts/core/components/SvgRoot.story.tsx", - "src/components/Charts/core/components/scroll-box/ScrollBox.story.tsx", - "src/components/Collapse/Collapse.story.tsx", - "src/components/Combobox/Combobox.story.tsx", - "src/components/Combobox/MultiCombobox.story.tsx", - "src/components/Container/Container.story.tsx", - "src/components/Feedback/FeedbackBadge/FeedbackBadge.story.tsx", - "src/components/Feedback/FeedbackPrompt/FeedbackPrompt.story.tsx", - "src/components/Feedback/FeedbackText/FeedbackText.story.tsx", - "src/components/Form/Checkbox/Checkbox.story.tsx", - "src/components/Form/Input/Input.story.tsx", - "src/components/Form/RadioButton/RadioButton.story.tsx", - "src/components/Form/Select/Select.story.tsx", - "src/components/Form/TextArea/TextArea.story.tsx", - "src/components/Grid/Grid.story.tsx", - "src/components/Icon/Icon.story.tsx", - "src/components/Link/Link/Link.story.tsx", - "src/components/LoadingSpinner/LoadingSpinner.story.tsx", - "src/components/Menu/Menu.story.tsx", - "src/components/Modal/Modal.story.tsx", - "src/components/NavMenu/NavMenu.story.tsx", - "src/components/PageHeader/PageHeader.story.tsx", - "src/components/PageSelector/PageSelector.story.tsx", - "src/components/PageSwitcher/PageSwitcher.story.tsx", - "src/components/Panel/story/Panel.story.tsx", - "src/components/Popover/story/Popover.story.tsx", - "src/components/Tabs/Tabs.story.tsx", - "src/components/Tooltip/Tooltip.story.tsx", - "src/components/Tree/Tree.story.tsx", - "src/components/Typography/Typography.story.tsx", - "src/global-styles/GlobalStylesStory/GlobalStyles.story.tsx", - ], - tags = [TAG_SEARCHSUITE], - tsconfig = ":tsconfig", - deps = [ - ":module_style_typings", - ":wildcard_lib", - ":wildcard_tests", - "//:node_modules/@mdi/js", - "//:node_modules/@storybook/addon-actions", - "//:node_modules/@storybook/addon-designs", - "//:node_modules/@storybook/addons", - "//:node_modules/@storybook/react", - "//:node_modules/@types/classnames", - "//:node_modules/@types/d3-time-format", - "//:node_modules/@types/lodash", - "//:node_modules/@types/react", - "//:node_modules/@types/react-resizable", - "//:node_modules/@visx/axis", - "//:node_modules/@visx/responsive", - "//:node_modules/@visx/scale", - "//:node_modules/classnames", - "//:node_modules/d3-time-format", - "//:node_modules/lodash", - "//:node_modules/mdi-react", - "//:node_modules/react", - "//:node_modules/react-resizable", - "//:node_modules/rxjs", - ], -) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e81f23fc6e1a..edd3734cbeb3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1848,6 +1848,19 @@ importers: schema: {} + testing/e2e: + dependencies: + playwright: + specifier: 1.46.0 + version: 1.46.0 + devDependencies: + '@playwright/test': + specifier: 1.46.0 + version: 1.46.0 + '@types/node': + specifier: 20.11.19 + version: 20.11.19 + packages: /@0no-co/graphql.web@1.0.4(graphql@15.4.0): @@ -18301,7 +18314,6 @@ packages: engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] requiresBuild: true - dev: true optional: true /fsevents@2.3.3: @@ -23333,7 +23345,6 @@ packages: resolution: {integrity: sha512-9Y/d5UIwuJk8t3+lhmMSAJyNP1BUC/DqP3cQJDQQL/oWqAiuPTLgy7Q5dzglmTLwcBRdetzgNM/gni7ckfTr6A==} engines: {node: '>=18'} hasBin: true - dev: true /playwright@1.46.0: resolution: {integrity: sha512-XYJ5WvfefWONh1uPAUAi0H2xXV5S3vrtcnXe6uAOgdGi3aSpqOSXX08IAjXW34xitfuOJsvXU5anXZxPSEQiJw==} @@ -23343,7 +23354,6 @@ packages: playwright-core: 1.46.0 optionalDependencies: fsevents: 2.3.2 - dev: true /plur@4.0.0: resolution: {integrity: sha512-4UGewrYgqDFw9vV6zNV+ADmPAUAfJPKtGvb/VdpQAx25X5f3xXdGdyOEVFwkl8Hl/tl7+xbeHqSEM+D5/TirUg==} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 4017ef4fec13..c68f3f002c09 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -4,3 +4,4 @@ packages: - '!client/cody-context-filters-test-dataset' - 'schema' - 'internal/appliance/frontend/maintenance' + - 'testing/e2e' diff --git a/testing/e2e/.gitignore b/testing/e2e/.gitignore new file mode 100644 index 000000000000..68c5d18f00dc --- /dev/null +++ b/testing/e2e/.gitignore @@ -0,0 +1,5 @@ +node_modules/ +/test-results/ +/playwright-report/ +/blob-report/ +/playwright/.cache/ diff --git a/testing/e2e/BUILD.bazel b/testing/e2e/BUILD.bazel new file mode 100644 index 000000000000..7f3a8d20cf8f --- /dev/null +++ b/testing/e2e/BUILD.bazel @@ -0,0 +1,64 @@ +load("@npm//:defs.bzl", "npm_link_all_packages") +load("@npm//testing/e2e:@playwright/test/package_json.bzl", playwright_test_bin = "bin") + +npm_link_all_packages(name = "node_modules") + +PLAYWRIGHT_DEPS = [ + "//testing/e2e:node_modules/@playwright/test", + "//testing/e2e:node_modules/playwright", +] + +playwright_test_bin.playwright_test( + name = "e2e_test", + timeout = "long", + args = [ + "test", + "--config $(location playwright.config.ts)", + ], + data = glob( + [ + "src/**/*.spec.ts", + ], + ) + [ + "playwright.config.ts", + "//dev/tools:chromium", + ] + PLAYWRIGHT_DEPS, + env = { + "CHROMIUM_BIN": "$(rootpath //dev/tools:chromium)", + "BAZEL": "1", + }, + tags = [ + "manual", # We never want normal CI runs to include this. + "no-cache", # Because those tests are meant to target a real live instance, that lives outside the inputs, there's no point in caching. + "requires-network", + ], +) + +# This should be a run, but I'm getting weird errors when I try. +# To reproduce, ...bin.playwright_test -> ...bin.playwright_binary and bazel run the target. +playwright_test_bin.playwright_test( + name = "e2e_test_ui", + timeout = "eternal", + args = [ + "test", + "--config $(location playwright.config.ts)", + "--ui", + ], + data = glob( + [ + "tests/**/*.spec.ts", + ], + ) + [ + "playwright.config.ts", + "//dev/tools:chromium", + ] + PLAYWRIGHT_DEPS, + env = { + "CHROMIUM_BIN": "$(rootpath //dev/tools:chromium)", + "BAZEL": "1", + }, + tags = [ + "manual", # We never want normal CI runs to include this. + "no-cache", # Because those tests are meant to target a real live instance, that lives outside the inputs, there's no point in caching. + "requires-network", + ], +) diff --git a/testing/e2e/package.json b/testing/e2e/package.json new file mode 100644 index 000000000000..4672f9b9d472 --- /dev/null +++ b/testing/e2e/package.json @@ -0,0 +1,18 @@ +{ + "name": "e2e", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "", + "dependencies": { + "playwright": "1.46.0" + }, + "devDependencies": { + "@playwright/test": "1.46.0", + "@types/node": "20.11.19" + } +} diff --git a/testing/e2e/playwright.config.ts b/testing/e2e/playwright.config.ts new file mode 100644 index 000000000000..7d3eb2b52a7f --- /dev/null +++ b/testing/e2e/playwright.config.ts @@ -0,0 +1,83 @@ +import { defineConfig, devices } from '@playwright/test'; + +/** + * Read environment variables from file. + * https://github.com/motdotla/dotenv + */ +// require('dotenv').config(); + +/** + * See https://playwright.dev/docs/test-configuration. + */ +export default defineConfig({ + testDir: '.', + /* Run tests in files in parallel */ + fullyParallel: true, + /* Fail the build on CI if you accidentally left test.only in the source code. */ + forbidOnly: !!process.env.CI, + /* Retry on CI only */ + retries: process.env.CI ? 2 : 0, + /* Opt out of parallel tests on CI. */ + workers: process.env.CI ? 1 : undefined, + /* Reporter to use. See https://playwright.dev/docs/test-reporters */ + reporter: 'list', + /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ + use: { + /* Base URL to use in actions like `await page.goto('/')`. */ + // baseURL: 'http://127.0.0.1:3000', + + /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ + trace: 'on-first-retry', + }, + + /* Configure projects for major browsers */ + projects: [ + { + name: 'chromium', + use: { + ...devices['Desktop Chrome'], + launchOptions: { + // When in CI, use bazel packaged linux chromium + executablePath: process.env.CHROMIUM_BIN, + }, + }, + }, + + // { + // name: 'firefox', + // use: { ...devices['Desktop Firefox'] }, + // }, + + // { + // name: 'webkit', + // use: { ...devices['Desktop Safari'] }, + // }, + + /* Test against mobile viewports. */ + // { + // name: 'Mobile Chrome', + // use: { ...devices['Pixel 5'] }, + // }, + // { + // name: 'Mobile Safari', + // use: { ...devices['iPhone 12'] }, + // }, + + /* Test against branded browsers. */ + // { + // name: 'Microsoft Edge', + // use: { ...devices['Desktop Edge'], channel: 'msedge' }, + // }, + // { + // name: 'Google Chrome', + // use: { ...devices['Desktop Chrome'], channel: 'chrome' }, + // }, + ], + + /* Run your local dev server before starting the tests */ + // webServer: { + // command: 'npm run start', + // url: 'http://127.0.0.1:3000', + // reuseExistingServer: !process.env.CI, + // }, +}); diff --git a/testing/e2e/src/demo/dotcom.spec.ts b/testing/e2e/src/demo/dotcom.spec.ts new file mode 100644 index 000000000000..9404ffe1d187 --- /dev/null +++ b/testing/e2e/src/demo/dotcom.spec.ts @@ -0,0 +1,46 @@ +import { test, expect } from '@playwright/test' + +const baseURL = 'https://sourcegraph.com' + +test.describe('search smoke tests', () => { + test.describe('react', () => { + test('has title', async ({ page }) => { + await page.goto(`${baseURL}/search`) + await expect(page).toHaveTitle('Sourcegraph') + }) + }) + + test.describe('svelte', () => { + const useSvelte = 'feat=web-next' + test('has title', async ({ page }) => { + await page.goto(`${baseURL}/search?${useSvelte}`) + await expect(page).toHaveTitle('Sourcegraph') + }) + + test('navigate to repo via search', async ({ page }) => { + await page.goto( + `${baseURL}/search?${useSvelte}&q=context:global+repo:sgtest/weird&patternType=keyword&sm=0` + ) + await page.getByRole('link', { name: 'sgtest/weird' }).click() + await page.waitForURL(`${baseURL}/github.com/sgtest/weird`) + }) + + test('navigate to repo at a specific branch via search', async ({ page }) => { + await page.goto( + `${baseURL}/search?${useSvelte}&q=context:global+repo:sgtest/weird%40main&patternType=keyword&sm=0` + ) + await page.getByRole('link', { name: 'sgtest/weird' }).click() + await page.waitForURL(`${baseURL}/github.com/sgtest/weird@main`) + }) + + test('navigate to a file via search', async ({ page }) => { + await page.goto( + `${baseURL}/search?${useSvelte}&q=context:global+repo:%5Egithub%5C.com/sgtest/weird%24%40af4f7a3be2ba4be3a1804302f0ff97f56ac8130d+file:ALLCAPS&patternType=keyword&sm=0` + ) + await page.getByRole('link', { name: 'ALLCAPS' }).click() + await page.waitForURL( + `${baseURL}/github.com/sgtest/weird@af4f7a3be2ba4be3a1804302f0ff97f56ac8130d/-/blob/filenames/ALLCAPS` + ) + }) + }) +}) diff --git a/testing/e2e/src/demo/playwright-demo.spec.ts b/testing/e2e/src/demo/playwright-demo.spec.ts new file mode 100644 index 000000000000..1ed94eb26ad8 --- /dev/null +++ b/testing/e2e/src/demo/playwright-demo.spec.ts @@ -0,0 +1,18 @@ +import { test, expect } from '@playwright/test'; + +test('has title', async ({ page }) => { + await page.goto('https://playwright.dev/'); + + // Expect a title "to contain" a substring. + await expect(page).toHaveTitle(/Playwright/); +}); + +test('get started link', async ({ page }) => { + await page.goto('https://playwright.dev/'); + + // Click the get started link. + await page.getByRole('link', { name: 'Get started' }).click(); + + // Expects page to have a heading with the name of Installation. + await expect(page.getByRole('heading', { name: 'Installation' })).toBeVisible(); +}); diff --git a/testing/e2e/src/utils/constants.ts b/testing/e2e/src/utils/constants.ts new file mode 100644 index 000000000000..25ce711e32a4 --- /dev/null +++ b/testing/e2e/src/utils/constants.ts @@ -0,0 +1 @@ +export const BASE_URL = 'https://sourcegraph.com' From 11f25c721fd39c4db43d92352d6fa14a08e624cf Mon Sep 17 00:00:00 2001 From: Bolaji Olajide <25608335+BolajiOlajide@users.noreply.github.com> Date: Tue, 13 Aug 2024 18:30:53 +0100 Subject: [PATCH 2/3] revert deleted file --- client/wildcard/BUILD.bazel | 671 ++++++++++++++++++++++++++++++++++++ 1 file changed, 671 insertions(+) create mode 100644 client/wildcard/BUILD.bazel diff --git a/client/wildcard/BUILD.bazel b/client/wildcard/BUILD.bazel new file mode 100644 index 000000000000..7606e1a03e5f --- /dev/null +++ b/client/wildcard/BUILD.bazel @@ -0,0 +1,671 @@ +load("@aspect_bazel_lib//lib:copy_to_bin.bzl", "copy_to_bin") +load("@aspect_rules_ts//ts:defs.bzl", "ts_config") +load("@npm//:defs.bzl", "npm_link_all_packages") +load("//client/shared/dev:tools.bzl", "module_style_typings") +load("//dev:defs.bzl", "npm_package", "sass", "ts_project", "vitest_test") +load("//dev:eslint.bzl", "eslint_config_and_lint_root") + +# gazelle:js_resolve **/*.module.scss :module_style_typings +# gazelle:js_ignore_imports **/global-styles/index.scss + +npm_link_all_packages(name = "node_modules") + +eslint_config_and_lint_root() + +ts_config( + name = "tsconfig", + src = "tsconfig.json", + visibility = ["//client:__subpackages__"], + deps = [ + "//:tsconfig", + "//client/common:tsconfig", + "//client/testing:tsconfig", + ], +) + +module_style_typings( + name = "module_style_typings", + deps = [ + ":sass-breakpoints", + "//:node_modules/@reach/dialog", + "//:node_modules/@reach/tabs", + ], +) + +sass( + name = "module_styles", + srcs = glob(["src/**/*.module.scss"]), + deps = [ + ":sass-breakpoints", + "//:node_modules/@reach/dialog", + "//:node_modules/@reach/tabs", + ], +) + +# Files that can be loaded or imported as css. +GLOBAL_SASS_ENTRY_POINTS = [ + "src/global-styles/base.scss", + "src/global-styles/index.scss", + "src/global-styles/forms.scss", +] + +# Files that can be loaded as sass utils. +SASS_UTILS = [ + "src/global-styles/colors.scss", + "src/global-styles/functions.scss", + "src/global-styles/icons.scss", + "src/global-styles/mixins.scss", + "src/global-styles/variables.scss", + "src/global-styles/utilities/text.scss", + "src/global-styles/utilities/screenreaders.scss", +] + +sass( + name = "global-styles", + srcs = GLOBAL_SASS_ENTRY_POINTS, + visibility = ["//visibility:public"], + runtime_deps = ["//:node_modules/open-color"], + deps = glob( + ["src/global-styles/**/*.scss"], + exclude = ["**/*.module.scss"] + GLOBAL_SASS_ENTRY_POINTS, + ) + [ + "//:node_modules/@reach/combobox", + "//:node_modules/@reach/menu-button", + "//:node_modules/@reach/tabs", + "//:node_modules/open-color", + "//:node_modules/react-resizable", + ], +) + +copy_to_bin( + name = "sass-breakpoints", + srcs = [ + "src/global-styles/breakpoints.scss", + ], + visibility = ["//visibility:public"], +) + +copy_to_bin( + name = "sass-utils", + srcs = SASS_UTILS, + visibility = ["//visibility:public"], +) + +copy_to_bin( + name = "global-style-sources", + srcs = glob(["src/global-styles/**/*.scss"]), + visibility = ["//client/web-sveltekit:__pkg__"], +) + +ts_project( + name = "wildcard_lib", + srcs = [ + "src/components/Alert/Alert.tsx", + "src/components/Alert/AlertLink.tsx", + "src/components/Alert/constants.ts", + "src/components/Alert/index.ts", + "src/components/Alert/utils.ts", + "src/components/Badge/Badge.tsx", + "src/components/Badge/ProductStatusBadge.tsx", + "src/components/Badge/constants.ts", + "src/components/Badge/index.ts", + "src/components/BeforeUnloadPrompt/BeforeUnloadPrompt.tsx", + "src/components/BeforeUnloadPrompt/index.ts", + "src/components/Breadcrumbs/Breadcrumbs.tsx", + "src/components/Breadcrumbs/index.ts", + "src/components/Button/Button.tsx", + "src/components/Button/ButtonGroup.tsx", + "src/components/Button/constants.ts", + "src/components/Button/index.ts", + "src/components/Button/story/ButtonVariants.tsx", + "src/components/Button/utils.ts", + "src/components/ButtonLink/ButtonLink.tsx", + "src/components/ButtonLink/index.ts", + "src/components/Card/Card.tsx", + "src/components/Card/components/CardBody.tsx", + "src/components/Card/components/CardFooter.tsx", + "src/components/Card/components/CardHeader.tsx", + "src/components/Card/components/CardList.tsx", + "src/components/Card/components/CardSubtitle.tsx", + "src/components/Card/components/CardText.tsx", + "src/components/Card/components/CardTitle.tsx", + "src/components/Card/components/index.ts", + "src/components/Card/constants.ts", + "src/components/Card/index.ts", + "src/components/Charts/components/bar-chart/BarChart.tsx", + "src/components/Charts/components/bar-chart/BarChartContent.tsx", + "src/components/Charts/components/bar-chart/components/GroupedBars.tsx", + "src/components/Charts/components/bar-chart/components/StackedBars.tsx", + "src/components/Charts/components/bar-chart/components/TooltipContent.tsx", + "src/components/Charts/components/bar-chart/index.ts", + "src/components/Charts/components/bar-chart/types.ts", + "src/components/Charts/components/bar-chart/utils/get-grouped-categories.ts", + "src/components/Charts/components/line-chart/LineChart.tsx", + "src/components/Charts/components/line-chart/LineChartContent.tsx", + "src/components/Charts/components/line-chart/components/LineDataSeries.tsx", + "src/components/Charts/components/line-chart/components/PointGlyph.tsx", + "src/components/Charts/components/line-chart/components/index.ts", + "src/components/Charts/components/line-chart/components/legend-list/LegendList.tsx", + "src/components/Charts/components/line-chart/components/stacked-area/StackedArea.tsx", + "src/components/Charts/components/line-chart/components/stacked-area/get-stacked-area-paths.ts", + "src/components/Charts/components/line-chart/components/tooltip/TooltipContent.tsx", + "src/components/Charts/components/line-chart/components/tooltip/index.ts", + "src/components/Charts/components/line-chart/components/tooltip/utils/get-list-window.ts", + "src/components/Charts/components/line-chart/event-helpers.ts", + "src/components/Charts/components/line-chart/index.ts", + "src/components/Charts/components/line-chart/keyboard-navigation.ts", + "src/components/Charts/components/line-chart/types.ts", + "src/components/Charts/components/line-chart/utils/colors.ts", + "src/components/Charts/components/line-chart/utils/data-guards.ts", + "src/components/Charts/components/line-chart/utils/data-series-processing/get-series-data.ts", + "src/components/Charts/components/line-chart/utils/data-series-processing/get-stacked-series-data.ts", + "src/components/Charts/components/line-chart/utils/data-series-processing/helpers.ts", + "src/components/Charts/components/line-chart/utils/data-series-processing/index.ts", + "src/components/Charts/components/line-chart/utils/data-series-processing/types.ts", + "src/components/Charts/components/line-chart/utils/generate-points-field.ts", + "src/components/Charts/components/line-chart/utils/get-chart-content-sizes.ts", + "src/components/Charts/components/line-chart/utils/get-min-max-boundary.ts", + "src/components/Charts/components/line-chart/utils/index.ts", + "src/components/Charts/components/pie-chart/PieChart.tsx", + "src/components/Charts/components/pie-chart/components/PieArc.tsx", + "src/components/Charts/components/pie-chart/index.ts", + "src/components/Charts/components/stacked-meter/StackedMeter.tsx", + "src/components/Charts/components/stacked-meter/index.ts", + "src/components/Charts/constants.ts", + "src/components/Charts/core/components/MaybeLink.tsx", + "src/components/Charts/core/components/SvgRoot.tsx", + "src/components/Charts/core/components/axis/Axis.tsx", + "src/components/Charts/core/components/axis/Tick.tsx", + "src/components/Charts/core/components/axis/tick-formatters.ts", + "src/components/Charts/core/components/scroll-box/ScrollBox.tsx", + "src/components/Charts/core/components/scroll-box/index.ts", + "src/components/Charts/core/components/tooltip/Tooltip.tsx", + "src/components/Charts/core/index.ts", + "src/components/Charts/index.ts", + "src/components/Charts/types.ts", + "src/components/Collapse/Collapse.tsx", + "src/components/Collapse/index.ts", + "src/components/Combobox/Combobox.tsx", + "src/components/Combobox/MultiCombobox.tsx", + "src/components/Combobox/index.ts", + "src/components/Container/Container.tsx", + "src/components/Container/index.ts", + "src/components/ErrorAlert/ErrorAlert.tsx", + "src/components/ErrorAlert/index.ts", + "src/components/ErrorMessage/ErrorMessage.tsx", + "src/components/ErrorMessage/index.ts", + "src/components/Feedback/FeedbackBadge/FeedbackBadge.tsx", + "src/components/Feedback/FeedbackBadge/constant.ts", + "src/components/Feedback/FeedbackBadge/index.ts", + "src/components/Feedback/FeedbackPrompt/FeedbackPrompt.tsx", + "src/components/Feedback/FeedbackPrompt/index.ts", + "src/components/Feedback/FeedbackText/FeedbackText.tsx", + "src/components/Feedback/FeedbackText/index.ts", + "src/components/Feedback/index.ts", + "src/components/Form/Checkbox/Checkbox.tsx", + "src/components/Form/Checkbox/index.tsx", + "src/components/Form/FlexTextArea/FlexTextArea.tsx", + "src/components/Form/FlexTextArea/index.ts", + "src/components/Form/Form/Form.tsx", + "src/components/Form/Form/getDefaultInputProps.ts", + "src/components/Form/Form/hooks/index.ts", + "src/components/Form/Form/hooks/useCheckboxes.ts", + "src/components/Form/Form/hooks/useField.ts", + "src/components/Form/Form/hooks/useForm.ts", + "src/components/Form/Form/hooks/utils/get-event-value.ts", + "src/components/Form/Form/hooks/utils/use-async-validation.ts", + "src/components/Form/Form/hooks/validators.ts", + "src/components/Form/Form/index.ts", + "src/components/Form/FormGroup/FormGroup.tsx", + "src/components/Form/FormGroup/index.ts", + "src/components/Form/Input/Input.tsx", + "src/components/Form/Input/index.tsx", + "src/components/Form/Input/utils/getInputStatus.ts", + "src/components/Form/LoaderInput/LoaderInput.tsx", + "src/components/Form/LoaderInput/index.ts", + "src/components/Form/RadioButton/RadioButton.tsx", + "src/components/Form/RadioButton/index.tsx", + "src/components/Form/Select/Select.tsx", + "src/components/Form/Select/index.ts", + "src/components/Form/TextArea/TextArea.tsx", + "src/components/Form/TextArea/index.ts", + "src/components/Form/index.ts", + "src/components/Form/internal/AccessibleFieldType.ts", + "src/components/Form/internal/BaseControlInput.tsx", + "src/components/Form/internal/FormFieldLabel.tsx", + "src/components/Form/internal/FormFieldMessage.tsx", + "src/components/Form/internal/utils.ts", + "src/components/Grid/Grid.tsx", + "src/components/Grid/index.tsx", + "src/components/Icon/Icon.tsx", + "src/components/Icon/constants.ts", + "src/components/Icon/index.ts", + "src/components/Icon/language-icon/LanguageIcon.tsx", + "src/components/Icon/language-icon/language-icons.ts", + "src/components/Link/AnchorLink/AnchorLink.tsx", + "src/components/Link/AnchorLink/index.ts", + "src/components/Link/Link/Link.tsx", + "src/components/Link/Link/index.ts", + "src/components/Link/LinkOrSpan/LinkOrSpan.tsx", + "src/components/Link/LinkOrSpan/index.ts", + "src/components/Link/RouterLink/RouterLink.tsx", + "src/components/Link/RouterLink/index.ts", + "src/components/Link/createLinkUrl.tsx", + "src/components/Link/index.ts", + "src/components/LoadingSpinner/LoadingSpinner.tsx", + "src/components/LoadingSpinner/index.ts", + "src/components/Markdown/Markdown.tsx", + "src/components/Markdown/index.ts", + "src/components/Menu/Menu.tsx", + "src/components/Menu/MenuButton.tsx", + "src/components/Menu/MenuDisabledItem.tsx", + "src/components/Menu/MenuDivider.tsx", + "src/components/Menu/MenuHeader.tsx", + "src/components/Menu/MenuItem.tsx", + "src/components/Menu/MenuLink.tsx", + "src/components/Menu/MenuList.tsx", + "src/components/Menu/MenuText.tsx", + "src/components/Menu/index.ts", + "src/components/Modal/Modal.tsx", + "src/components/Modal/constants.ts", + "src/components/Modal/index.ts", + "src/components/NavMenu/NavMenu.tsx", + "src/components/NavMenu/index.ts", + "src/components/PageHeader/Breadcrumb/Breadcrumb.tsx", + "src/components/PageHeader/Breadcrumb/index.ts", + "src/components/PageHeader/Heading/Heading.tsx", + "src/components/PageHeader/Heading/index.ts", + "src/components/PageHeader/PageHeader.tsx", + "src/components/PageHeader/index.ts", + "src/components/PageSelector/PageSelector.tsx", + "src/components/PageSelector/index.tsx", + "src/components/PageSwitcher/PageSwitcher.tsx", + "src/components/PageSwitcher/index.tsx", + "src/components/Panel/Panel.tsx", + "src/components/Panel/constants.ts", + "src/components/Panel/index.ts", + "src/components/Panel/story/TabbedPanelContent.fixtures.ts", + "src/components/Panel/useResizablePanel.ts", + "src/components/Panel/utils.ts", + "src/components/Popover/Popover.tsx", + "src/components/Popover/components/PopoverTrigger.tsx", + "src/components/Popover/components/floating-panel/FloatingPanel.tsx", + "src/components/Popover/components/popover-content/PopoverContent.tsx", + "src/components/Popover/components/popover-content/index.ts", + "src/components/Popover/components/popover-tail/PopoverTail.tsx", + "src/components/Popover/components/popover-tail/index.ts", + "src/components/Popover/contexts/internal-context.ts", + "src/components/Popover/contexts/public-context.ts", + "src/components/Popover/index.ts", + "src/components/Popover/tether/index.ts", + "src/components/Popover/tether/models/geometry/point.ts", + "src/components/Popover/tether/models/geometry/rectangle.ts", + "src/components/Popover/tether/models/tether-models.ts", + "src/components/Popover/tether/services/geometry/actions/get-constrained-element.ts", + "src/components/Popover/tether/services/geometry/actions/get-element-constraints.ts", + "src/components/Popover/tether/services/geometry/actions/get-elements-intersection.ts", + "src/components/Popover/tether/services/geometry/actions/get-extended-constraint.ts", + "src/components/Popover/tether/services/geometry/actions/get-joined-element.ts", + "src/components/Popover/tether/services/geometry/actions/get-target-element.ts", + "src/components/Popover/tether/services/geometry/actions/rectangle-position-helpers.ts", + "src/components/Popover/tether/services/geometry/actions/tooltip-marker-utils.ts", + "src/components/Popover/tether/services/geometry/constants.ts", + "src/components/Popover/tether/services/geometry/index.ts", + "src/components/Popover/tether/services/tether-browser.ts", + "src/components/Popover/tether/services/tether-layout.ts", + "src/components/Popover/tether/services/tether-position.ts", + "src/components/Popover/tether/services/tether-registry.ts", + "src/components/Popover/tether/services/tether-render.ts", + "src/components/Popover/tether/services/tether-state.ts", + "src/components/Popover/tether/services/types.ts", + "src/components/Popover/types.ts", + "src/components/SourcegraphIcon/SourcegraphIcon.tsx", + "src/components/SourcegraphIcon/index.ts", + "src/components/Tabs/Tabs.tsx", + "src/components/Tabs/context.ts", + "src/components/Tabs/index.ts", + "src/components/Tabs/useScrollBackToActive.ts", + "src/components/Tabs/useShouldPanelRender.ts", + "src/components/Tooltip/Tooltip.tsx", + "src/components/Tooltip/index.ts", + "src/components/Tree/Tree.tsx", + "src/components/Tree/index.ts", + "src/components/Tree/react-accessible-treeview/index.tsx", + "src/components/Tree/react-accessible-treeview/utils.ts", + "src/components/Typography/Code/Code.tsx", + "src/components/Typography/Code/index.ts", + "src/components/Typography/Heading/H1.tsx", + "src/components/Typography/Heading/H2.tsx", + "src/components/Typography/Heading/H3.tsx", + "src/components/Typography/Heading/H4.tsx", + "src/components/Typography/Heading/H5.tsx", + "src/components/Typography/Heading/H6.tsx", + "src/components/Typography/Heading/Heading.tsx", + "src/components/Typography/Heading/index.ts", + "src/components/Typography/Label/Label.tsx", + "src/components/Typography/Label/index.ts", + "src/components/Typography/Label/utils.ts", + "src/components/Typography/Text/Text.tsx", + "src/components/Typography/Text/index.ts", + "src/components/Typography/constants.ts", + "src/components/Typography/index.ts", + "src/components/Typography/utils.ts", + "src/components/index.ts", + "src/global-styles/GlobalStylesStory/ColorVariants/ColorVariants.tsx", + "src/global-styles/GlobalStylesStory/ColorVariants/index.ts", + "src/global-styles/GlobalStylesStory/FormFieldVariants/FormFieldVariants.tsx", + "src/global-styles/GlobalStylesStory/FormFieldVariants/index.ts", + "src/global-styles/GlobalStylesStory/TextVariants/TextVariants.tsx", + "src/global-styles/GlobalStylesStory/TextVariants/index.ts", + "src/global-styles/GlobalStylesStory/constants.ts", + "src/global-styles/GlobalStylesStory/utils.ts", + "src/globals.d.ts", + "src/hooks/index.ts", + "src/hooks/useAccordion.ts", + "src/hooks/useAutoFocus.ts", + "src/hooks/useControlledState.ts", + "src/hooks/useCookieStorage.ts", + "src/hooks/useDebounce.ts", + "src/hooks/useDeepMemo.ts", + "src/hooks/useElementObscuredArea.ts", + "src/hooks/useFocusOnLoadedMore.ts", + "src/hooks/useInterval.ts", + "src/hooks/useIsMounted.ts", + "src/hooks/useIsTruncated.ts", + "src/hooks/useKeyboard.ts", + "src/hooks/useLocalStorage.ts", + "src/hooks/useMatchMedia.ts", + "src/hooks/useMeasure.ts", + "src/hooks/useObservable.ts", + "src/hooks/useOffsetPagination.ts", + "src/hooks/useOnClickOutside.ts", + "src/hooks/usePrompt.tsx", + "src/hooks/useScrollManager/index.ts", + "src/hooks/useScrollManager/mutationObserverWithTimeout.ts", + "src/hooks/useScrollManager/useScrollManager.ts", + "src/hooks/useSearchParameters.ts", + "src/hooks/useSessionStorage.ts", + "src/hooks/useStopwatch.ts", + "src/hooks/useStorageHook.ts", + "src/hooks/useSyncedWithUrlState.ts", + "src/hooks/useTimeoutManager.ts", + "src/hooks/useUpdateEffect.ts", + "src/hooks/useWildcardTheme.tsx", + "src/hooks/useWindowSize.ts", + "src/index.ts", + "src/stories/BrandedStory.tsx", + "src/stories/hooks/index.ts", + "src/stories/hooks/usePrependStyles.ts", + "src/stories/hooks/useStorybookTheme.ts", + "src/stories/index.ts", + "src/testing/index.ts", + "src/testing/render-with-branded-context.tsx", + "src/types.ts", + "src/utils/contributions.ts", + "src/utils/highlight.js.d.ts", + "src/utils/index.ts", + "src/utils/joinWithAnd.tsx", + "src/utils/linkClickHandler.ts", + "src/utils/markdown.ts", + "src/utils/screenReaderAnnounce.ts", + "src/viewports.ts", + ], + data = [ + ":global-styles", + ], + tags = [TAG_SEARCHSUITE], + tsconfig = ":tsconfig", + deps = [ + ":module_style_typings", + ":node_modules/@types/highlight.js", + ":node_modules/dompurify", + ":node_modules/highlight.js", + ":node_modules/marked", + ":node_modules/react-router-dom", + "//:node_modules/@mdi/js", + "//:node_modules/@reach/auto-id", + "//:node_modules/@reach/combobox", + "//:node_modules/@reach/dialog", + "//:node_modules/@reach/menu-button", + "//:node_modules/@reach/tabs", + "//:node_modules/@reach/visually-hidden", + "//:node_modules/@react-aria/live-announcer", + "//:node_modules/@storybook/addon-designs", + "//:node_modules/@testing-library/react", + "//:node_modules/@types/classnames", + "//:node_modules/@types/d3-format", + "//:node_modules/@types/d3-scale", + "//:node_modules/@types/d3-shape", + "//:node_modules/@types/d3-time-format", + "//:node_modules/@types/d3-voronoi", + "//:node_modules/@types/dompurify", + "//:node_modules/@types/history", + "//:node_modules/@types/js-cookie", + "//:node_modules/@types/lodash", + "//:node_modules/@types/marked", + "//:node_modules/@types/node", #keep + "//:node_modules/@types/react", + "//:node_modules/@types/react-dom", + "//:node_modules/@types/uuid", + "//:node_modules/@visx/annotation", + "//:node_modules/@visx/axis", + "//:node_modules/@visx/event", + "//:node_modules/@visx/glyph", + "//:node_modules/@visx/grid", + "//:node_modules/@visx/group", + "//:node_modules/@visx/responsive", + "//:node_modules/@visx/scale", + "//:node_modules/@visx/shape", + "//:node_modules/@visx/text", + "//:node_modules/@visx/voronoi", + "//:node_modules/classnames", + "//:node_modules/d3-format", + "//:node_modules/d3-scale", + "//:node_modules/d3-shape", + "//:node_modules/d3-time-format", + "//:node_modules/d3-voronoi", + "//:node_modules/history", + "//:node_modules/is-absolute-url", + "//:node_modules/js-cookie", + "//:node_modules/lodash", + "//:node_modules/mdi-react", + "//:node_modules/react", + "//:node_modules/react-dom", + "//:node_modules/react-focus-lock", + "//:node_modules/react-icons", + "//:node_modules/react-spring", + "//:node_modules/rxjs", + "//:node_modules/storybook-dark-mode", + "//:node_modules/ts-key-enum", + "//:node_modules/use-callback-ref", + "//:node_modules/use-resize-observer", + "//:node_modules/utility-types", + "//:node_modules/uuid", + ], +) + +ts_project( + name = "wildcard_tests", + testonly = True, + srcs = [ + "src/components/Alert/Alert.test.tsx", + "src/components/Button/Button.test.tsx", + "src/components/ButtonLink/ButtonLink.test.tsx", + "src/components/Card/Card.test.tsx", + "src/components/Charts/components/line-chart/LineChart.test.tsx", + "src/components/Charts/components/line-chart/components/tooltip/utils/get-list-window.test.ts", + "src/components/Charts/components/line-chart/story/mocks.ts", + "src/components/Charts/components/line-chart/utils/data-series-processing/get-series-data.test.ts", + "src/components/Charts/components/line-chart/utils/get-min-max-boundary.test.ts", + "src/components/Charts/components/stacked-meter/StackedMeter.test.tsx", + "src/components/Collapse/Collapse.test.tsx", + "src/components/ErrorAlert/ErrorAlert.test.tsx", + "src/components/Feedback/FeedbackBadge/FeedbackBadge.test.tsx", + "src/components/Feedback/FeedbackPrompt/FeedbackPrompt.test.tsx", + "src/components/Feedback/FeedbackText/FeedbackText.test.tsx", + "src/components/Form/Input/Input.test.tsx", + "src/components/Form/LoaderInput/LoaderInput.test.tsx", + "src/components/Form/Select/Select.test.tsx", + "src/components/Form/TextArea/TextArea.test.tsx", + "src/components/Form/internal/BaseControlInput.test.tsx", + "src/components/Icon/Icon.test.tsx", + "src/components/Icon/language-icon/language-icons.test.ts", + "src/components/Link/AnchorLink/AnchorLink.test.tsx", + "src/components/Link/LinkOrSpan/LinkOrSpan.test.tsx", + "src/components/Link/RouterLink/RouterLink.test.tsx", + "src/components/Link/createLinkUrl.test.tsx", + "src/components/Markdown/Markdown.test.tsx", + "src/components/NavMenu/NavMenu.test.tsx", + "src/components/PageHeader/PageHeader.test.tsx", + "src/components/PageSelector/PageSelector.test.tsx", + "src/components/PageSwitcher/PageSwitcher.test.tsx", + "src/components/Panel/Panel.test.tsx", + "src/components/Popover/tether/models/geometry/rectangle.test.ts", + "src/components/Popover/tether/services/geometry/actions/get-constrained-element.test.ts", + "src/components/Tabs/Tabs.test.tsx", + "src/components/Tooltip/Tooltip.test.tsx", + "src/components/Tree/Tree.test.tsx", + "src/components/Typography/Code/Code.test.tsx", + "src/components/Typography/Heading/H1.test.tsx", + "src/components/Typography/Heading/H2.test.tsx", + "src/components/Typography/Heading/H3.test.tsx", + "src/components/Typography/Heading/H4.test.tsx", + "src/components/Typography/Heading/H5.test.tsx", + "src/components/Typography/Heading/H6.test.tsx", + "src/components/Typography/Label/Label.test.tsx", + "src/components/Typography/Text/Text.test.tsx", + "src/hooks/useCookieStorage.test.ts", + "src/hooks/useObservable.test.ts", + "src/hooks/useScrollManager/useScrollManager.test.tsx", + "src/hooks/useTimeoutManager.test.ts", + "src/testing/testSetup.test.ts", + "src/utils/linkClickHandler.test.tsx", + "src/utils/markdown.test.ts", + ], + tags = [TAG_SEARCHSUITE], + tsconfig = ":tsconfig", + deps = [ + ":node_modules/@sourcegraph/testing", + ":node_modules/react-router-dom", + ":wildcard_lib", + "//:node_modules/@mdi/js", + "//:node_modules/@storybook/react", #keep + "//:node_modules/@testing-library/jest-dom", #keep + "//:node_modules/@testing-library/react", + "//:node_modules/@testing-library/user-event", + "//:node_modules/@types/history", + "//:node_modules/@types/js-cookie", + "//:node_modules/@types/node", + "//:node_modules/@types/react", + "//:node_modules/@types/sinon", + "//:node_modules/history", + "//:node_modules/js-cookie", + "//:node_modules/mdi-react", + "//:node_modules/react", + "//:node_modules/react-icons", + "//:node_modules/rxjs", + "//:node_modules/sinon", + "//:node_modules/vitest", + ], +) + +npm_package( + name = "wildcard_pkg", + srcs = [ + "package.json", + ":module_styles", #keep + ":wildcard_lib", + ], +) + +filegroup( + name = "snapshots", + srcs = glob(["src/**/__snapshots__/*"]), +) + +vitest_test( + name = "test", + data = [ + ":module_styles", + ":snapshots", + ":wildcard_tests", + ], + tags = [TAG_SEARCHSUITE], +) + +ts_project( + name = "stories", + testonly = True, + srcs = [ + "src/components/Alert/Alert.story.tsx", + "src/components/Badge/Badge.story.tsx", + "src/components/Badge/ProductStatusBadge.story.tsx", + "src/components/Breadcrumbs/Breadcrumbs.story.tsx", + "src/components/Button/story/Button.story.tsx", + "src/components/ButtonLink/ButtonLink.story.tsx", + "src/components/Card/Card.story.tsx", + "src/components/Charts/components/bar-chart/BarChart.story.tsx", + "src/components/Charts/components/line-chart/components/tooltip/TooltipContent.story.tsx", + "src/components/Charts/components/line-chart/story/LineChart.story.tsx", + "src/components/Charts/components/pie-chart/PieChart.story.tsx", + "src/components/Charts/components/stacked-meter/StackedMeter.story.tsx", + "src/components/Charts/core/components/SvgRoot.story.tsx", + "src/components/Charts/core/components/scroll-box/ScrollBox.story.tsx", + "src/components/Collapse/Collapse.story.tsx", + "src/components/Combobox/Combobox.story.tsx", + "src/components/Combobox/MultiCombobox.story.tsx", + "src/components/Container/Container.story.tsx", + "src/components/Feedback/FeedbackBadge/FeedbackBadge.story.tsx", + "src/components/Feedback/FeedbackPrompt/FeedbackPrompt.story.tsx", + "src/components/Feedback/FeedbackText/FeedbackText.story.tsx", + "src/components/Form/Checkbox/Checkbox.story.tsx", + "src/components/Form/Input/Input.story.tsx", + "src/components/Form/RadioButton/RadioButton.story.tsx", + "src/components/Form/Select/Select.story.tsx", + "src/components/Form/TextArea/TextArea.story.tsx", + "src/components/Grid/Grid.story.tsx", + "src/components/Icon/Icon.story.tsx", + "src/components/Link/Link/Link.story.tsx", + "src/components/LoadingSpinner/LoadingSpinner.story.tsx", + "src/components/Menu/Menu.story.tsx", + "src/components/Modal/Modal.story.tsx", + "src/components/NavMenu/NavMenu.story.tsx", + "src/components/PageHeader/PageHeader.story.tsx", + "src/components/PageSelector/PageSelector.story.tsx", + "src/components/PageSwitcher/PageSwitcher.story.tsx", + "src/components/Panel/story/Panel.story.tsx", + "src/components/Popover/story/Popover.story.tsx", + "src/components/Tabs/Tabs.story.tsx", + "src/components/Tooltip/Tooltip.story.tsx", + "src/components/Tree/Tree.story.tsx", + "src/components/Typography/Typography.story.tsx", + "src/global-styles/GlobalStylesStory/GlobalStyles.story.tsx", + ], + tags = [TAG_SEARCHSUITE], + tsconfig = ":tsconfig", + deps = [ + ":module_style_typings", + ":wildcard_lib", + ":wildcard_tests", + "//:node_modules/@mdi/js", + "//:node_modules/@storybook/addon-actions", + "//:node_modules/@storybook/addon-designs", + "//:node_modules/@storybook/addons", + "//:node_modules/@storybook/react", + "//:node_modules/@types/classnames", + "//:node_modules/@types/d3-time-format", + "//:node_modules/@types/lodash", + "//:node_modules/@types/react", + "//:node_modules/@types/react-resizable", + "//:node_modules/@visx/axis", + "//:node_modules/@visx/responsive", + "//:node_modules/@visx/scale", + "//:node_modules/classnames", + "//:node_modules/d3-time-format", + "//:node_modules/lodash", + "//:node_modules/mdi-react", + "//:node_modules/react", + "//:node_modules/react-resizable", + "//:node_modules/rxjs", + ], +) From 57342d5e0cffc85e95d136ff04532588493503f7 Mon Sep 17 00:00:00 2001 From: Bolaji Olajide <25608335+BolajiOlajide@users.noreply.github.com> Date: Wed, 14 Aug 2024 09:14:27 +0100 Subject: [PATCH 3/3] refactor --- testing/e2e/BUILD.bazel | 2 +- testing/e2e/{src => tests}/demo/dotcom.spec.ts | 0 testing/e2e/{src => tests}/demo/playwright-demo.spec.ts | 0 testing/e2e/{src => tests}/utils/constants.ts | 0 4 files changed, 1 insertion(+), 1 deletion(-) rename testing/e2e/{src => tests}/demo/dotcom.spec.ts (100%) rename testing/e2e/{src => tests}/demo/playwright-demo.spec.ts (100%) rename testing/e2e/{src => tests}/utils/constants.ts (100%) diff --git a/testing/e2e/BUILD.bazel b/testing/e2e/BUILD.bazel index 7f3a8d20cf8f..52f1e46ca726 100644 --- a/testing/e2e/BUILD.bazel +++ b/testing/e2e/BUILD.bazel @@ -17,7 +17,7 @@ playwright_test_bin.playwright_test( ], data = glob( [ - "src/**/*.spec.ts", + "tests/**/*.spec.ts", ], ) + [ "playwright.config.ts", diff --git a/testing/e2e/src/demo/dotcom.spec.ts b/testing/e2e/tests/demo/dotcom.spec.ts similarity index 100% rename from testing/e2e/src/demo/dotcom.spec.ts rename to testing/e2e/tests/demo/dotcom.spec.ts diff --git a/testing/e2e/src/demo/playwright-demo.spec.ts b/testing/e2e/tests/demo/playwright-demo.spec.ts similarity index 100% rename from testing/e2e/src/demo/playwright-demo.spec.ts rename to testing/e2e/tests/demo/playwright-demo.spec.ts diff --git a/testing/e2e/src/utils/constants.ts b/testing/e2e/tests/utils/constants.ts similarity index 100% rename from testing/e2e/src/utils/constants.ts rename to testing/e2e/tests/utils/constants.ts