sourcegraph/client/shared/dev/BUILD.bazel
Jason Bedard 10aefc4bb7
bazel: add bazel build,tests for client/* (#46193)
Webpack bundles compile but need further testing. Jest + mocha tests
compile but are marked as `manual` until further work is done to get them
passing. The four jest tests are green and enabled now, though.

## Test plan

`bazel build //client/...` and `bazel test //client/...`
2023-02-28 20:46:03 -08:00

119 lines
2.9 KiB
Python

load("@aspect_rules_js//js:defs.bzl", "js_binary", "js_library")
load("//dev:defs.bzl", "ts_project")
# gazelle:ignore
# dev/ does not contain a src/
# gazelle:js_files **/*.{ts,tsx}
js_binary(
name = "generate_schema",
data = [
"//:node_modules/json-schema-to-typescript",
"//:node_modules/mz",
],
entry_point = "generateSchema.js",
visibility = ["//client/shared:__pkg__"],
)
js_library(
name = "extract_graphql_operation_codegen_plugin",
srcs = [
"extractGraphQlOperationCodegenPlugin.js",
],
deps = [
"//:node_modules/graphql",
"//:node_modules/signale",
],
)
js_binary(
name = "generate_graphql_operations",
data = [
":extract_graphql_operation_codegen_plugin",
"//:node_modules/@graphql-codegen/cli",
"//:node_modules/@graphql-codegen/typescript",
"//:node_modules/@graphql-codegen/typescript-apollo-client-helpers",
"//:node_modules/@graphql-codegen/typescript-operations",
"//:node_modules/prettier",
"//cmd/frontend/graphqlbackend:graphql_schema",
],
entry_point = "generateGraphQlOperations.js",
visibility = ["//client:__subpackages__"],
)
ts_project(
name = "mock_ts",
srcs = [
"mockDomRect.ts",
"mockMatchMedia.ts",
"mockResizeObserver.ts",
"mockSentryBrowser.ts",
"mockUniqueId.ts",
"reactCleanup.ts",
"setLinkComponentForTest.ts",
],
extends = None,
module = "commonjs",
tsconfig = "//client/shared:tsconfig",
visibility = ["//visibility:private"],
deps = [
"//:node_modules/@sentry/browser",
"//:node_modules/@testing-library/react",
"//:node_modules/@types/jest",
"//:node_modules/@types/node",
"//:node_modules/@types/react",
"//:node_modules/react",
"//:node_modules/react-visibility-sensor",
"//:node_modules/resize-observer-polyfill",
"//:node_modules/use-resize-observer",
"//client/shared:node_modules/@sourcegraph/wildcard",
],
)
js_library(
name = "mock",
srcs = [
"jest-environment.js",
"jestGlobalSetup.js",
"mockDate.js",
],
data = [
":fetch-mock",
":mock_ts",
],
visibility = ["//visibility:public"],
deps = [
"//:node_modules/@peculiar/webcrypto",
"//:node_modules/jest-environment-jsdom",
"//:node_modules/mockdate",
"//:node_modules/react",
],
)
js_library(
name = "fetch-mock",
srcs = ["fetch.js"],
visibility = ["//visibility:public"],
deps = [
"//:node_modules/node-fetch",
],
)
js_library(
name = "mocha-reporter",
srcs = [
"customMochaSpecReporter.js",
],
data = [
"//:node_modules/mocha",
],
visibility = ["//visibility:public"],
)
js_library(
name = "suppress-polly-errors",
srcs = ["suppressPollyErrors.js"],
visibility = ["//visibility:public"],
)