diff --git a/app/alert/alert.css b/app/alert/alert.css index 21dff4282479..7e789d25f8c7 100644 --- a/app/alert/alert.css +++ b/app/alert/alert.css @@ -5,7 +5,9 @@ left: 50%; margin-top: 32px; - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.27), 0 3px 5px rgba(0, 0, 0, 0.12); + box-shadow: + 0 1px 3px rgba(0, 0, 0, 0.27), + 0 3px 5px rgba(0, 0, 0, 0.12); } .alert-banner.hidden { diff --git a/app/auth/auth_service.ts b/app/auth/auth_service.ts index dcb3367d9d29..8706f18e8b61 100644 --- a/app/auth/auth_service.ts +++ b/app/auth/auth_service.ts @@ -98,10 +98,13 @@ export class AuthService { const sessionDuration = Number(this.getCookie("Session-Duration-Seconds") || 0); const refreshFrequencySeconds = sessionDuration ? sessionDuration / 2 : TOKEN_REFRESH_INTERVAL_SECONDS; console.info(`Refreshing access token every ${refreshFrequencySeconds} seconds.`); - setInterval(() => { - if (this.user) this.refreshToken(); - // Calling setInterval with a number larger than a 32 bit int causes refresh spamming - }, Math.min(refreshFrequencySeconds * 1000, 86400000)); // One day in ms + setInterval( + () => { + if (this.user) this.refreshToken(); + // Calling setInterval with a number larger than a 32 bit int causes refresh spamming + }, + Math.min(refreshFrequencySeconds * 1000, 86400000) + ); // One day in ms } refreshToken() { diff --git a/app/components/dialog/dialog.css b/app/components/dialog/dialog.css index 5a478fd2169b..1fdb9d00f7cc 100644 --- a/app/components/dialog/dialog.css +++ b/app/components/dialog/dialog.css @@ -13,7 +13,9 @@ width: 640px; background: white; border-radius: 8px; - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.27), 0 3px 5px rgba(0, 0, 0, 0.12); + box-shadow: + 0 1px 3px rgba(0, 0, 0, 0.27), + 0 3px 5px rgba(0, 0, 0, 0.12); padding: 16px 0; --dialog-side-padding: 24px; diff --git a/app/components/popup/popup.css b/app/components/popup/popup.css index 6a61b0666506..91bb7192cecb 100644 --- a/app/components/popup/popup.css +++ b/app/components/popup/popup.css @@ -16,7 +16,9 @@ border-radius: 4px; background: white; - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.27), 0 3px 5px rgba(0, 0, 0, 0.12); + box-shadow: + 0 1px 3px rgba(0, 0, 0, 0.27), + 0 3px 5px rgba(0, 0, 0, 0.12); } .popup.anchor-right { diff --git a/app/components/search_bar/search_bar.css b/app/components/search_bar/search_bar.css index ca88ab800733..859863d5e0fc 100644 --- a/app/components/search_bar/search_bar.css +++ b/app/components/search_bar/search_bar.css @@ -19,7 +19,9 @@ .search-bar-container.focused .search-bar { background-color: #fff; border: 1px solid #e5e7eb; - box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1); + box-shadow: + 0 4px 6px -1px rgba(0, 0, 0, 0.1), + 0 2px 4px -2px rgba(0, 0, 0, 0.1); } .search-bar-results { diff --git a/app/invocation/invocation.css b/app/invocation/invocation.css index 45386187c8e3..5f268990116d 100644 --- a/app/invocation/invocation.css +++ b/app/invocation/invocation.css @@ -1178,11 +1178,15 @@ .invocation-query-graph-card { padding: 0; background: #fafafa; - box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.2), 0px 1px 6px rgba(0, 0, 0, 0.1); + box-shadow: + 0px 1px 4px rgba(0, 0, 0, 0.2), + 0px 1px 6px rgba(0, 0, 0, 0.1); } .invocation-query-graph-card:hover { - box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.2), 0px 1px 10px rgba(0, 0, 0, 0.1); + box-shadow: + 0px 2px 6px rgba(0, 0, 0, 0.2), + 0px 1px 10px rgba(0, 0, 0, 0.1); } svg.invocation-query-graph { diff --git a/app/invocation/invocation.tsx b/app/invocation/invocation.tsx index cd8e5c525a22..424f0b72450a 100644 --- a/app/invocation/invocation.tsx +++ b/app/invocation/invocation.tsx @@ -399,7 +399,7 @@ export default class InvocationComponent extends React.Component { model={this.state.model} invocationId={this.props.invocationId} tab={this.props.tab} - files={completed?.buildEvent ? this.state.model.getFiles(completed.buildEvent) ?? [] : []} + files={completed?.buildEvent ? (this.state.model.getFiles(completed.buildEvent) ?? []) : []} configuredEvent={this.state.model.configuredMap.get(targetLabel)} skippedEvent={this.state.model.skippedMap.get(targetLabel)} completedEvent={completed} diff --git a/app/invocation/invocation_action_card.tsx b/app/invocation/invocation_action_card.tsx index 7ecb63760006..1c658d708213 100644 --- a/app/invocation/invocation_action_card.tsx +++ b/app/invocation/invocation_action_card.tsx @@ -957,8 +957,8 @@ export default class InvocationActionCardComponent extends React.Component {this.state.executeResponse && ( diff --git a/app/invocation/invocation_action_tree_node.tsx b/app/invocation/invocation_action_tree_node.tsx index f93e67ae3202..4cdac1a8f05e 100644 --- a/app/invocation/invocation_action_tree_node.tsx +++ b/app/invocation/invocation_action_tree_node.tsx @@ -77,15 +77,17 @@ export default class TreeNodeComponent extends React.Component { {expanded && (
- {this.props.treeShaToChildrenMap.get(digestString)?.map((child: TreeNode) => ( - - ))} + {this.props.treeShaToChildrenMap + .get(digestString) + ?.map((child: TreeNode) => ( + + ))}
)} diff --git a/app/invocation/invocation_cache_card.tsx b/app/invocation/invocation_cache_card.tsx index f97602cf5924..62ee80d1035f 100644 --- a/app/invocation/invocation_cache_card.tsx +++ b/app/invocation/invocation_cache_card.tsx @@ -309,9 +309,7 @@ function renderBreakdown(data: any[] | undefined, title: string, subtitle: strin - {data?.map((_, index) => ( - - ))} + {data?.map((_, index) => )} diff --git a/app/invocation/invocation_targets_card.tsx b/app/invocation/invocation_targets_card.tsx index fbb26daa729e..bc78ddef323f 100644 --- a/app/invocation/invocation_targets_card.tsx +++ b/app/invocation/invocation_targets_card.tsx @@ -97,11 +97,13 @@ export default class TargetsCardComponent extends React.Component ))} - {this.props.pageSize && events.length > this.props.pageSize * this.state.numPages && !!this.state.numPages && ( -
- See more {this.props.presentVerb} -
- )} + {this.props.pageSize && + events.length > this.props.pageSize * this.state.numPages && + !!this.state.numPages && ( +
+ See more {this.props.presentVerb} +
+ )} ); diff --git a/app/picker/picker.css b/app/picker/picker.css index 14aeb38582ca..b7b8d9623c0a 100644 --- a/app/picker/picker.css +++ b/app/picker/picker.css @@ -3,7 +3,9 @@ } .picker { - box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1); + box-shadow: + 0 4px 6px -1px rgba(0, 0, 0, 0.1), + 0 2px 4px -2px rgba(0, 0, 0, 0.1); background-color: #fff; max-width: 450px; width: 80vw; diff --git a/app/root/root.css b/app/root/root.css index 6cdd30186de6..1ae9a2dc0d8b 100644 --- a/app/root/root.css +++ b/app/root/root.css @@ -1725,7 +1725,9 @@ code .comment { margin-top: 4px; border-radius: 8px; border-top: 0; - box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.1), 0px 1px 6px rgba(0, 0, 0, 0.05); + box-shadow: + 0px 1px 4px rgba(0, 0, 0, 0.1), + 0px 1px 6px rgba(0, 0, 0, 0.05); } .dense .card .details { diff --git a/app/service/rpc_service.ts b/app/service/rpc_service.ts index a7b7c66aa1bb..df3b5a5da48b 100644 --- a/app/service/rpc_service.ts +++ b/app/service/rpc_service.ts @@ -550,28 +550,24 @@ type RpcMethodNames = keyof Omit = protobufjs.rpc.Service & - { - // Loop over all methods in the service, except for the ones inherited from the base - // service (we don't want to modify those at all). - [MethodName in RpcMethodNames]: Service[MethodName] extends BaseUnaryRpcMethod< - infer Request, - infer Response - > - ? /* Unary RPC: transform the generated method's return type from Promise to CancelablePromise. */ - UnaryRpcMethod - : /* Server-streaming RPC: keep the original method as-is. */ - Service[MethodName]; - }; +type CancelableService = protobufjs.rpc.Service & { + // Loop over all methods in the service, except for the ones inherited from the base + // service (we don't want to modify those at all). + [MethodName in RpcMethodNames]: Service[MethodName] extends BaseUnaryRpcMethod + ? /* Unary RPC: transform the generated method's return type from Promise to CancelablePromise. */ + UnaryRpcMethod + : /* Server-streaming RPC: keep the original method as-is. */ + Service[MethodName]; +}; type FetchPromiseType = T extends "" ? string : T extends "text" - ? string - : T extends "arraybuffer" - ? ArrayBuffer - : T extends "stream" - ? Response - : never; + ? string + : T extends "arraybuffer" + ? ArrayBuffer + : T extends "stream" + ? Response + : never; export default new RpcService(); diff --git a/app/target/action_card.tsx b/app/target/action_card.tsx index bfada5c9ddca..270865bc6d50 100644 --- a/app/target/action_card.tsx +++ b/app/target/action_card.tsx @@ -199,9 +199,7 @@ export default class ActionCardComponent extends React.Component { {action?.type} command exited with code {action?.exitCode}
- {action?.commandLine.map((commandLineArg) => ( -
{commandLineArg}
- ))} + {action?.commandLine.map((commandLineArg) =>
{commandLineArg}
)}
diff --git a/app/target/target_test_document_card.tsx b/app/target/target_test_document_card.tsx index bed6d95e527a..884711ed1fbe 100644 --- a/app/target/target_test_document_card.tsx +++ b/app/target/target_test_document_card.tsx @@ -34,8 +34,9 @@ export default class TargetTestDocumentCardComponent extends React.Component log.name == "test.xml") - ?.uri; + let testXMLUrl = this.props.buildEvent?.testResult?.testActionOutput.find( + (log: any) => log.name == "test.xml" + )?.uri; if (!testXMLUrl) { this.setState({ testDocument: undefined }); diff --git a/app/target/target_test_log_card.tsx b/app/target/target_test_log_card.tsx index 6da501f2ff6b..158fc9a3fd28 100644 --- a/app/target/target_test_log_card.tsx +++ b/app/target/target_test_log_card.tsx @@ -89,8 +89,9 @@ export default class TargetTestLogCardComponent extends React.Component log.name == "test.log") - ?.uri; + let testLogUrl = this.props.buildEvent?.testResult?.testActionOutput.find( + (log: any) => log.name == "test.log" + )?.uri; if (!testLogUrl) { return; diff --git a/app/terminal/ansi.tsx b/app/terminal/ansi.tsx index 57dec48239f0..285e7b8b19aa 100644 --- a/app/terminal/ansi.tsx +++ b/app/terminal/ansi.tsx @@ -153,7 +153,8 @@ export default function parseAnsi(text: string): AnsiTextSpan[] { return linkSpans; } -const LINK_REGEX = /(http(s)?:\/\/)(www\.)?([-a-zA-Z0-9@:%._\+~#=]{2,256})(\.[a-z]{2,6}|:[0-9]+)\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/g; +const LINK_REGEX = + /(http(s)?:\/\/)(www\.)?([-a-zA-Z0-9@:%._\+~#=]{2,256})(\.[a-z]{2,6}|:[0-9]+)\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/g; function parseLinks(span: AnsiTextSpan): AnsiTextSpan[] { let matches = [...span.text.matchAll(LINK_REGEX)]; diff --git a/app/trace/trace_viewer_panel.ts b/app/trace/trace_viewer_panel.ts index 7287d21b95a4..ab7ff1897865 100644 --- a/app/trace/trace_viewer_panel.ts +++ b/app/trace/trace_viewer_panel.ts @@ -34,7 +34,11 @@ export default class Panel { filter = ""; - constructor(readonly model: PanelModel, readonly canvas: HTMLCanvasElement, private fontFamily: string) { + constructor( + readonly model: PanelModel, + readonly canvas: HTMLCanvasElement, + private fontFamily: string + ) { this.ctx = canvas.getContext("2d")!; this.container = canvas.parentElement!; } diff --git a/app/util/animation_loop.ts b/app/util/animation_loop.ts index e51095e5e400..65c0db39567d 100644 --- a/app/util/animation_loop.ts +++ b/app/util/animation_loop.ts @@ -6,7 +6,10 @@ import { TimeDelta } from "./time_delta"; export class AnimationLoop { private dt = new TimeDelta(); - constructor(private callback: (dt: number) => void, private enabled_ = false) { + constructor( + private callback: (dt: number) => void, + private enabled_ = false + ) { if (enabled_) { this.start(); } diff --git a/app/util/async.ts b/app/util/async.ts index 047d304da8f6..78449fc2dfcc 100644 --- a/app/util/async.ts +++ b/app/util/async.ts @@ -11,7 +11,10 @@ export class CancelablePromise implements Promise { /** The parent promise in the chain. */ private parent: CancelablePromise | null = null; - constructor(private promise: PromiseLike, { oncancelled = undefined }: { oncancelled?: () => void } = {}) { + constructor( + private promise: PromiseLike, + { oncancelled = undefined }: { oncancelled?: () => void } = {} + ) { this.oncancelled = oncancelled; } diff --git a/app/util/errors.ts b/app/util/errors.ts index af105089b63f..e16ae49c89f6 100644 --- a/app/util/errors.ts +++ b/app/util/errors.ts @@ -11,7 +11,10 @@ export type ErrorCode = Omit; // (app.streaming_http_enabled), remove this in favor of directly using the // errors returned by RPCs. export class BuildBuddyError extends Error { - constructor(public code: ErrorCode, public description: string) { + constructor( + public code: ErrorCode, + public description: string + ) { super(description); } diff --git a/app/util/git.ts b/app/util/git.ts index 694c2785040b..b1c49d410761 100644 --- a/app/util/git.ts +++ b/app/util/git.ts @@ -28,7 +28,11 @@ export function normalizeRepoURL(url: string): string { /** RepoURL represents a structured git repo URL. */ export class RepoURL { - constructor(public host: string, public owner: string, public repo: string) {} + constructor( + public host: string, + public owner: string, + public repo: string + ) {} static parse(url: string): RepoURL | undefined { try { diff --git a/docs/cli-plugins.md b/docs/cli-plugins.md index 641567593598..4e455783f5a8 100644 --- a/docs/cli-plugins.md +++ b/docs/cli-plugins.md @@ -324,16 +324,16 @@ if __name__ == "__main__": The CLI exposes certain environment variables to your plugins. -#### \$BUILD_WORKSPACE_DIRECTORY +#### $BUILD_WORKSPACE_DIRECTORY This is the path to the Bazel workspace in which the CLI is run. It is the root path, containing the bazel `WORKSPACE`, `WORKSPACE.bazel`, `MODULE`, or `MODULE.bazel` file. -#### \$PLUGIN_TEMPDIR +#### $PLUGIN_TEMPDIR This is a temporary directory that can be used by your plugin to store temporary files. These files will be cleaned up after the invocation is complete. -#### \$USER_CONFIG_DIR +#### $USER_CONFIG_DIR This is a long-lived directory you can use to store user preferences, like whether or not a user always wants to automatically apply a particular fix. @@ -343,7 +343,7 @@ config dir, if needed, using something like you'll need to decide how to handle differences in preferences across different versions of your plugin. -#### \$EXEC_ARGS_FILE +#### $EXEC_ARGS_FILE This is the path of a file that contains the args that would be passed to an executable built by bazel as a result of a `bazel run` command. Specifically, diff --git a/enterprise/app/code/code.css b/enterprise/app/code/code.css index 648fcea009d2..0df7663a426b 100644 --- a/enterprise/app/code/code.css +++ b/enterprise/app/code/code.css @@ -411,7 +411,11 @@ background-color: #fff; padding: 8px 0; border-radius: 8px; - box-shadow: 0 0 0 1px #0000000f, 0 1px 1px -0.5px #0000000f, 0 3px 3px -1.5px #0000000f, 0 6px 6px -3px #0000000f; + box-shadow: + 0 0 0 1px #0000000f, + 0 1px 1px -0.5px #0000000f, + 0 3px 3px -1.5px #0000000f, + 0 6px 6px -3px #0000000f; } .code-editor .context-menu div { diff --git a/enterprise/app/code/code_pull_request.ts b/enterprise/app/code/code_pull_request.ts index c2d3bdd8daec..a3defcc3b19c 100644 --- a/enterprise/app/code/code_pull_request.ts +++ b/enterprise/app/code/code_pull_request.ts @@ -175,8 +175,8 @@ export async function createCommit(state: Required, treeCreated: boolean, const message = treeCreated ? changes.commit : typeof changes.emptyCommit === "string" - ? changes.emptyCommit - : changes.commit; + ? changes.emptyCommit + : changes.commit; // https://developer.github.com/v3/git/commits/#create-a-commit const latestCommit = await rpc_service.service.createGithubCommit( diff --git a/enterprise/app/code/monaco.css b/enterprise/app/code/monaco.css index accd84db3d15..afd4d8899462 100644 --- a/enterprise/app/code/monaco.css +++ b/enterprise/app/code/monaco.css @@ -1906,7 +1906,8 @@ } .monaco-editor .diff-hidden-lines .center { background: var(--vscode-diffEditor-unchangedRegionBackground); - box-shadow: inset 0 -5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow), + box-shadow: + inset 0 -5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow), inset 0 5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow); color: var(--vscode-diffEditor-unchangedRegionForeground); display: block; @@ -4392,8 +4393,16 @@ color: #ccc; } .monaco-editor { - font-family: -apple-system, BlinkMacSystemFont, Segoe WPC, Segoe UI, HelveticaNeue-Light, system-ui, Ubuntu, - Droid Sans, sans-serif; + font-family: + -apple-system, + BlinkMacSystemFont, + Segoe WPC, + Segoe UI, + HelveticaNeue-Light, + system-ui, + Ubuntu, + Droid Sans, + sans-serif; --monaco-monospace-font: "SF Mono", Monaco, Menlo, Consolas, "Ubuntu Mono", "Liberation Mono", "DejaVu Sans Mono", "Courier New", monospace; } diff --git a/enterprise/app/filter/filter_util.tsx b/enterprise/app/filter/filter_util.tsx index e56af52311da..8328fb6a58d1 100644 --- a/enterprise/app/filter/filter_util.tsx +++ b/enterprise/app/filter/filter_util.tsx @@ -478,9 +478,9 @@ export function statusToString(status: invocation_status.OverallStatus) { } export function statusFromString(value: string) { - return (invocation_status.OverallStatus[ + return invocation_status.OverallStatus[ value.toUpperCase().replace(/-/g, "_") as any - ] as unknown) as invocation_status.OverallStatus; + ] as unknown as invocation_status.OverallStatus; } export function parseRoleParam(paramValue: string | null): string[] { diff --git a/enterprise/app/quota/namespace.tsx b/enterprise/app/quota/namespace.tsx index 842c70e69d0c..c866c51f810e 100644 --- a/enterprise/app/quota/namespace.tsx +++ b/enterprise/app/quota/namespace.tsx @@ -263,9 +263,7 @@ export default class NamespaceComponent extends React.Component assigned.bucket?.name || "") .filter((name) => name !== DEFAULT_BUCKET_NAME) - .map((name) => ( - - ))} + .map((name) => )} diff --git a/enterprise/app/repo/repo.css b/enterprise/app/repo/repo.css index 0358dcfef562..ba6060f6dce1 100644 --- a/enterprise/app/repo/repo.css +++ b/enterprise/app/repo/repo.css @@ -1,6 +1,17 @@ .create-repo-page { - font-family: system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, - Droid Sans, Helvetica Neue, sans-serif; + font-family: + system-ui, + -apple-system, + BlinkMacSystemFont, + Segoe UI, + Roboto, + Oxygen, + Ubuntu, + Cantarell, + Fira Sans, + Droid Sans, + Helvetica Neue, + sans-serif; display: flex; align-items: center; justify-content: center; @@ -9,7 +20,9 @@ } .create-repo-page .card { - box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1); + box-shadow: + 0 1px 3px 0 rgba(0, 0, 0, 0.1), + 0 1px 2px -1px rgba(0, 0, 0, 0.1); border: 1px solid hsl(240 5.9% 90%); border-radius: 16px; } diff --git a/enterprise/app/repo/repo.tsx b/enterprise/app/repo/repo.tsx index dc56aaecba60..3da5cc74e4a4 100644 --- a/enterprise/app/repo/repo.tsx +++ b/enterprise/app/repo/repo.tsx @@ -206,9 +206,8 @@ export default class RepoComponent extends React.Component { // Log an error here, but let's keep going since sometimes the Github UI // doesn't redirect after a permissions change, and the user has to X out diff --git a/enterprise/app/root/root.tsx b/enterprise/app/root/root.tsx index f94632690fe3..94c5e8882783 100644 --- a/enterprise/app/root/root.tsx +++ b/enterprise/app/root/root.tsx @@ -104,9 +104,12 @@ class ImpersonationComponent extends React.Component { - this.setState({ apiKey: undefined }); - }, 45 * 60 * 1000); + window.setTimeout( + () => { + this.setState({ apiKey: undefined }); + }, + 45 * 60 * 1000 + ); return response.apiKey!.value; } diff --git a/enterprise/app/tap/flakes.tsx b/enterprise/app/tap/flakes.tsx index 9c398cdfa248..8bbd52d4a93f 100644 --- a/enterprise/app/tap/flakes.tsx +++ b/enterprise/app/tap/flakes.tsx @@ -369,7 +369,7 @@ export default class FlakesComponent extends React.Component { ); } - let tableData = singleTarget ? [] : this.state.tableData?.stats ?? []; + let tableData = singleTarget ? [] : (this.state.tableData?.stats ?? []); let sortFn: (a: target.AggregateTargetStats, b: target.AggregateTargetStats) => number; if (this.state.tableSort === "Flakes") { sortFn = (a, b) => { diff --git a/enterprise/app/trends/trends.css b/enterprise/app/trends/trends.css index 5cd9fd584935..74d7e91464a2 100644 --- a/enterprise/app/trends/trends.css +++ b/enterprise/app/trends/trends.css @@ -53,7 +53,9 @@ background-color: rgba(255, 255, 255, 0.95); border-radius: 8px; padding: 16px; - box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); + box-shadow: + 0 3px 6px rgba(0, 0, 0, 0.16), + 0 3px 6px rgba(0, 0, 0, 0.23); pointer-events: none; z-index: 1; } diff --git a/enterprise/app/workflows/workflows.css b/enterprise/app/workflows/workflows.css index ff5f9f863d12..782766f83ad4 100644 --- a/enterprise/app/workflows/workflows.css +++ b/enterprise/app/workflows/workflows.css @@ -419,7 +419,9 @@ box-shadow: none; } to { - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.27), 0 3px 12px rgba(0, 0, 0, 0.05); + box-shadow: + 0 1px 3px rgba(0, 0, 0, 0.27), + 0 3px 12px rgba(0, 0, 0, 0.05); } } @@ -587,7 +589,9 @@ background-color: rgba(255, 255, 255, 0.95); border-radius: 8px; padding: 16px; - box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); + box-shadow: + 0 3px 6px rgba(0, 0, 0, 0.16), + 0 3px 6px rgba(0, 0, 0, 0.23); pointer-events: none; z-index: 1; } diff --git a/website/blog/bazels-remote-caching-and-remote-execution-explained.md b/website/blog/bazels-remote-caching-and-remote-execution-explained.md index 4ecbcb60045f..b44dffb02cd8 100644 --- a/website/blog/bazels-remote-caching-and-remote-execution-explained.md +++ b/website/blog/bazels-remote-caching-and-remote-execution-explained.md @@ -403,6 +403,7 @@ It behaves the same way as [`--remote_header`][remote_header]. or test logs. [^9]: Available in [Bazel 5.0](https://github.com/bazelbuild/bazel/commit/bfc24139d93f8643686d91596ba347df2e01966a). + [^10]: Available in [Bazel 5.0](https://github.com/bazelbuild/bazel/commit/ef42d1365d0f508d3d817997b5049639a72100ab). ## That's it, for now diff --git a/website/blog/how-to-migrate-an-ios-app-to-bazel.md b/website/blog/how-to-migrate-an-ios-app-to-bazel.md index e61ae4743477..2988df50949e 100644 --- a/website/blog/how-to-migrate-an-ios-app-to-bazel.md +++ b/website/blog/how-to-migrate-an-ios-app-to-bazel.md @@ -1106,6 +1106,7 @@ There are pros and cons to using the disk cache: - A history of being buggy [^blob]: A "blob" is an [REAPI][reapi] term for artifacts that are stored in a cache. + [^disk-cache-max-size]: [Bazel issue #5139](https://github.com/bazelbuild/bazel/issues/5139). With those in mind, diff --git a/website/blog/redpoint-infrared-100.md b/website/blog/redpoint-infrared-100.md index eac80c27f090..2de4c68437cd 100644 --- a/website/blog/redpoint-infrared-100.md +++ b/website/blog/redpoint-infrared-100.md @@ -23,4 +23,4 @@ All companies included on the first annual InfraRed 100 are included [here](http **About BuildBuddy:** BuildBuddy provides an open-core suite of enterprise features for Bazel, including a Remote Build Execution service, a shared build artifact cache, and a build & test result UI. It's available as a fully-managed cloud service or as an easy to deploy on-prem solution. BuildBuddy is based in San Francisco, backed by Y Combinator, and founded by two ex-Googlers deeply passionate about making developers more productive. For more information visit: https://buildbuddy.io/ -**About Redpoint Ventures:** Redpoint has partnered with visionary founders to create new markets and redefine existing ones since 1999. We invest in startups across the seed, early and growth phases, and we’re proud to have backed over 578 companies—including Snowflake, Looker, Kustomer, Twilio, 2U, DraftKings, Duo Security, HashiCorp, Stripe, Guild, HomeAway, Heroku, Netflix, and Sonos—with 181 IPOs and M+A exits. Redpoint manages \$7.2 billion across multiple funds. For more information visit: https://www.redpoint.com/ +**About Redpoint Ventures:** Redpoint has partnered with visionary founders to create new markets and redefine existing ones since 1999. We invest in startups across the seed, early and growth phases, and we’re proud to have backed over 578 companies—including Snowflake, Looker, Kustomer, Twilio, 2U, DraftKings, Duo Security, HashiCorp, Stripe, Guild, HomeAway, Heroku, Netflix, and Sonos—with 181 IPOs and M+A exits. Redpoint manages $7.2 billion across multiple funds. For more information visit: https://www.redpoint.com/ diff --git a/website/blog/welcoming-george-li-head-of-sales.md b/website/blog/welcoming-george-li-head-of-sales.md index cb04916b75e0..997b5129a715 100644 --- a/website/blog/welcoming-george-li-head-of-sales.md +++ b/website/blog/welcoming-george-li-head-of-sales.md @@ -8,7 +8,7 @@ tags: [company, team] To fulfill our mission of bringing the world's best developer tools to every company, we're building a team that's ready to work with the world's best enterprises. That's why we're excited to share today that [**George Li**](https://www.linkedin.com/in/gli/) is joining BuildBuddy to lead our enterprise sales efforts as our Head of Sales. -George joins us from Looker where he served as Head of APAC Sales Engineering. He joined Google Cloud through their [acquisition](https://techcrunch.com/2020/02/13/google-closes-2-6b-looker-acquisition/) of Looker in February, having helped the company grow to a \$2.6B valuation. +George joins us from Looker where he served as Head of APAC Sales Engineering. He joined Google Cloud through their [acquisition](https://techcrunch.com/2020/02/13/google-closes-2-6b-looker-acquisition/) of Looker in February, having helped the company grow to a $2.6B valuation. ![](../static/img/blog/welcome-george.png) diff --git a/website/src/css/general.css b/website/src/css/general.css index 9e3fab2b66f4..e3def47cf5c3 100644 --- a/website/src/css/general.css +++ b/website/src/css/general.css @@ -29,8 +29,19 @@ } html { - font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", - "Droid Sans", "Helvetica Neue", sans-serif; + font-family: + system-ui, + -apple-system, + BlinkMacSystemFont, + "Segoe UI", + Roboto, + Oxygen, + Ubuntu, + Cantarell, + "Fira Sans", + "Droid Sans", + "Helvetica Neue", + sans-serif; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; padding: 0; @@ -126,16 +137,23 @@ article svg[aria-hidden="true"] { .pagination-nav__link { width: 100%; - box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.12), 0px 1px 1px -0.5px rgba(0, 0, 0, 0.12), - 0px 3px 3px -1.5px rgba(0, 0, 0, 0.12), 0px 6px 6px -3px rgba(0, 0, 0, 0.12); + box-shadow: + 0px 0px 0px 1px rgba(0, 0, 0, 0.12), + 0px 1px 1px -0.5px rgba(0, 0, 0, 0.12), + 0px 3px 3px -1.5px rgba(0, 0, 0, 0.12), + 0px 6px 6px -3px rgba(0, 0, 0, 0.12); border: 0; padding: 24px; border-radius: 8px; } .pagination-nav__link:hover { width: 100%; - box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.12), 0px 1px 1px -0.5px rgba(0, 0, 0, 0.12), - 0px 3px 3px -1.5px rgba(0, 0, 0, 0.12), 0px 6px 6px -3px rgba(0, 0, 0, 0.12), 0px 8px 12px -6px rgba(0, 0, 0, 0.12), + box-shadow: + 0px 0px 0px 1px rgba(0, 0, 0, 0.12), + 0px 1px 1px -0.5px rgba(0, 0, 0, 0.12), + 0px 3px 3px -1.5px rgba(0, 0, 0, 0.12), + 0px 6px 6px -3px rgba(0, 0, 0, 0.12), + 0px 8px 12px -6px rgba(0, 0, 0, 0.12), 0px 10px 24px -12px rgba(0, 0, 0, 0.12); } diff --git a/website/src/css/markdown.css b/website/src/css/markdown.css index 3886c0886fea..3fba09f34f08 100644 --- a/website/src/css/markdown.css +++ b/website/src/css/markdown.css @@ -47,7 +47,9 @@ html[data-theme="dark"] .markdown a { a code { background-image: none !important; - box-shadow: -4px 0px 0px 0px white, 4px 0px 0px 0px white; + box-shadow: + -4px 0px 0px 0px white, + 4px 0px 0px 0px white; margin: 0 4px; } diff --git a/website/src/css/nav.css b/website/src/css/nav.css index 05dc92a7e118..1028eb91d52e 100644 --- a/website/src/css/nav.css +++ b/website/src/css/nav.css @@ -80,7 +80,9 @@ html[data-theme="dark"] .menu { } .aa-Form:focus-within { - box-shadow: rgba(0, 0, 0, 0.1) 0 0 0 2px, inset rgba(0, 0, 0, 0.1) 0 0 0 2px !important; + box-shadow: + rgba(0, 0, 0, 0.1) 0 0 0 2px, + inset rgba(0, 0, 0, 0.1) 0 0 0 2px !important; } .dsla-search-wrapper { @@ -324,6 +326,9 @@ a.menu__link.menu__link--active.menu__link--sublist { } .dropdown__menu { - box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.06), 0px 1px 1px -0.5px rgba(0, 0, 0, 0.06), - 0px 3px 3px -1.5px rgba(0, 0, 0, 0.06), 0px 6px 6px -3px rgba(0, 0, 0, 0.06); + box-shadow: + 0px 0px 0px 1px rgba(0, 0, 0, 0.06), + 0px 1px 1px -0.5px rgba(0, 0, 0, 0.06), + 0px 3px 3px -1.5px rgba(0, 0, 0, 0.06), + 0px 6px 6px -3px rgba(0, 0, 0, 0.06); } diff --git a/website/src/pages/plugins.module.css b/website/src/pages/plugins.module.css index 96b2a0d1a835..e65e8bc8b437 100644 --- a/website/src/pages/plugins.module.css +++ b/website/src/pages/plugins.module.css @@ -20,7 +20,9 @@ .featuredPlugin .plugin { background-color: #fff; cursor: pointer; - box-shadow: 9px 4px 16px rgb(46 41 51 / 8%), 0px 8px 24px rgb(71 63 79 / 16%); + box-shadow: + 9px 4px 16px rgb(46 41 51 / 8%), + 0px 8px 24px rgb(71 63 79 / 16%); } .pluginTitle { diff --git a/website/theme/BlogPostItem/styles.module.css b/website/theme/BlogPostItem/styles.module.css index ed6073412722..b5937e7113d4 100644 --- a/website/theme/BlogPostItem/styles.module.css +++ b/website/theme/BlogPostItem/styles.module.css @@ -88,8 +88,11 @@ h1 { } .articleGrid { - box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.12), 0px 1px 1px -0.5px rgba(0, 0, 0, 0.12), - 0px 3px 3px -1.5px rgba(0, 0, 0, 0.12), 0px 6px 6px -3px rgba(0, 0, 0, 0.12); + box-shadow: + 0px 0px 0px 1px rgba(0, 0, 0, 0.12), + 0px 1px 1px -0.5px rgba(0, 0, 0, 0.12), + 0px 3px 3px -1.5px rgba(0, 0, 0, 0.12), + 0px 6px 6px -3px rgba(0, 0, 0, 0.12); padding: 32px 24px; border-radius: 16px; cursor: pointer; @@ -111,7 +114,11 @@ h1 { } .articleGrid:hover { - box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.12), 0px 1px 1px -0.5px rgba(0, 0, 0, 0.12), - 0px 3px 3px -1.5px rgba(0, 0, 0, 0.12), 0px 6px 6px -3px rgba(0, 0, 0, 0.12), 0px 8px 12px -6px rgba(0, 0, 0, 0.12), + box-shadow: + 0px 0px 0px 1px rgba(0, 0, 0, 0.12), + 0px 1px 1px -0.5px rgba(0, 0, 0, 0.12), + 0px 3px 3px -1.5px rgba(0, 0, 0, 0.12), + 0px 6px 6px -3px rgba(0, 0, 0, 0.12), + 0px 8px 12px -6px rgba(0, 0, 0, 0.12), 0px 10px 24px -12px rgba(0, 0, 0, 0.12); }