Code AI platform with Code Search & Cody
Go to file
Felix Kling ee74c030fb
sveltekit: Add support for feature flags (and improve testing) (#55474)
This PR adds a new store to make feature flags available throughout the
app. Unlike the implementation in the web app, this implementation
fetches all user flags when the page loads and updates them in
intervals.

In the future we might have to add more functionality to force update
the flags, but we can add those as needed.

Overriding feature flags via the URL is not supported yet (but I guess I
will use the same approach as the web app).

This PR also updates the testing setup to make testing simpler and more
deterministic:

- Faker is now automatically initialized with a fixed reference date.
- Functionality for mocking feature flags has been added
- Added helpers for using fake timers with a fixed reference/system date
(it turned out that enabling fake timers by default doesn't work well
when testing user interaction).



## Test plan

- New unit tests
- Can access app with `pnpm dev`
2023-08-01 13:44:22 +02:00
.aspect Switch to OCI/Wolfi based image (#52693) 2023-06-02 12:12:52 +02:00
.buildkite ci: fix pre-exit hook (#55296) 2023-07-27 12:47:45 -05:00
.github JetBrains: add kotlin to the project (#55258) 2023-07-25 14:45:29 +02:00
.vscode remove cody code that was moved to separate cody repo (#54729) 2023-07-10 00:31:47 -10:00
client sveltekit: Add support for feature flags (and improve testing) (#55474) 2023-08-01 13:44:22 +02:00
cmd updatecheck: move up for others to imports (#55466) 2023-08-01 08:34:21 +04:00
dev sg: add deploy command (#55406) 2023-07-31 17:45:26 -05:00
doc doc: update Batch Change Quickstart example (#55458) 2023-08-01 12:02:20 +01:00
docker-images gomod: update zoekt to include ngram sort optimization (#54999) 2023-07-17 15:34:20 +02:00
enterprise all: gofmt -s -w . (#55454) 2023-07-31 20:39:29 +00:00
internal updatecheck: move up for others to imports (#55466) 2023-08-01 08:34:21 +04:00
lib bazel: replace go:generate with bazel target for schema changes (#55315) 2023-07-26 16:37:32 +02:00
migrations Introduce code_hosts table (#55399) 2023-07-28 14:20:20 +00:00
monitoring grafana: remove duplicated dashboard for gitserver (#55192) 2023-07-21 15:39:15 +02:00
schema git-debuggability: allow site-admins configure recorded commands on all repositories (#55395) 2023-07-28 09:59:55 +00:00
src-tauri App - Update Tauri dependencies to 1.4.1 (#54856) 2023-07-12 20:04:18 +00:00
testing create grpc_backend_integration_test (#55136) 2023-07-21 07:00:53 -07:00
third_party gomod: update zoekt to include ngram sort optimization (#54999) 2023-07-17 15:34:20 +02:00
third-party-licenses chore: update third-party licenses (#55416) 2023-07-31 06:53:48 +02:00
ui/assets Cody App about page (#54698) 2023-07-12 05:08:59 +00:00
windows/installer/cody Disable services that are causing issues on Windows. (#54263) 2023-06-27 19:08:53 +00:00
wolfi-images Add sg commands to build wolfi packages and images locally (#55316) 2023-07-28 09:23:25 +01:00
wolfi-packages Add sg commands to build wolfi packages and images locally (#55316) 2023-07-28 09:23:25 +01:00
.bazel_fix_commands.json bazel: add command sets that uses bazel under the hood (#48460) 2023-03-02 11:31:51 +01:00
.bazelignore Remove completions review tool (#55201) 2023-07-21 17:03:16 +02:00
.bazeliskrc build: update to Aspect CLI 5.5.4 (#54468) 2023-06-29 22:44:05 -07:00
.bazelrc bzl+doc: add convenient way of running all short go tests locally w/ Bazel (#53330) 2023-06-14 21:00:13 +02:00
.bazelversion Update bazel to 6.1.1 (#50472) 2023-04-11 10:51:21 +02:00
.browserslistrc web: migrate from yarn to pnpm (#46143) 2023-01-11 19:50:09 -08:00
.dockerignore web: migrate from yarn to pnpm (#46143) 2023-01-11 19:50:09 -08:00
.editorconfig chore: Add .lua to editorconfig. (#44267) 2022-11-11 15:25:32 +08:00
.eslintignore bazel: implement custom ESLint Bazel rule (#52062) 2023-05-22 04:05:45 -07:00
.eslintrc.js bazel: implement custom ESLint Bazel rule (#52062) 2023-05-22 04:05:45 -07:00
.gitattributes github: show bazel diff again (#54719) 2023-07-07 16:43:45 +00:00
.gitignore Update polling interval for embeddings status indicator (#55254) 2023-07-26 22:57:09 +05:30
.graphqlrc.yml
.hadolint.yaml bump comby version to 1.7.1 (#35830) 2022-05-20 20:12:01 -07:00
.mailmap mailmap: add entries for Eric and Renovate (#50966) 2023-04-25 09:42:22 +02:00
.mocharc.js build: still need BAZEL_BINDIR for webpack_bundle custom rule (#48796) 2023-03-07 20:02:11 -08:00
.npmrc pnpm: remove update notifier message (#51630) 2023-05-10 08:53:39 +02:00
.percy.yml ci: percy defer snapshots upload (#54116) 2023-06-25 18:57:49 -07:00
.prettierignore Remove completions review tool (#55201) 2023-07-21 17:03:16 +02:00
.stylelintignore rework plugin structure and implement frontside blogpost (#46883) 2023-02-15 11:49:51 +02:00
.stylelintrc.json web: drop bootstrap depenedency (#41401) 2022-09-07 03:11:26 -07:00
.tool-versions bzl: update to Go 1.20.5 (#54962) 2023-07-14 17:27:46 +02:00
.trivyignore ci: ignore benign CVE-2021-43816 in prometheus (#31069) 2022-02-11 16:49:10 +00:00
babel.config.jest.js bazel: fix the web application bundle in Bazel (#50383) 2023-04-10 21:16:12 -07:00
babel.config.js bazel: fix the web application bundle in Bazel (#50383) 2023-04-10 21:16:12 -07:00
BUILD.bazel sg gen / bazel: port generation of reference from go to bazel (#55256) 2023-07-25 12:59:39 +00:00
CHANGELOG.app.md App - update changelog for release (#54789) 2023-07-11 15:49:57 +00:00
CHANGELOG.md Add license tag checks for true-up on AccessRequests page (#55482) 2023-08-01 13:10:53 +02:00
CODENOTIFY nix: update pnpm hash (#51512) 2023-05-05 12:51:59 +00:00
CONTRIBUTING.md Docs: Fix docs page link in main CONTRIBUTING.md (#45160) 2022-12-05 14:57:45 +01:00
deps.bzl gomod: update zoekt to revert posting list optimization (#55230) 2023-07-24 16:05:50 +02:00
doc.go
eslint-relative-formatter.js bazel: implement custom ESLint Bazel rule (#52062) 2023-05-22 04:05:45 -07:00
flake.lock nix: reorganizing (#52273) 2023-05-31 16:20:32 +01:00
flake.nix nix: develop uses non static binaries (#52927) 2023-06-07 08:36:09 +02:00
gen.go chore: Update go-mockgen (#44305) 2022-11-11 19:24:00 +00:00
go.mod gomod: update zoekt to revert posting list optimization (#55230) 2023-07-24 16:05:50 +02:00
go.sum gomod: update zoekt to revert posting list optimization (#55230) 2023-07-24 16:05:50 +02:00
graphql-schema-linter.config.js
gulpfile.js web: drop legacy GraphQL schema generator (#45945) 2022-12-25 18:10:20 -08:00
jest.config.base.js bazel: wildcard jest tests (#49282) 2023-03-17 03:38:49 -07:00
jest.config.js tests: use glob for jest projects field (#29681) 2022-01-13 01:11:52 -08:00
jest.snapshot-resolver.js bazel: wildcard jest tests (#49282) 2023-03-17 03:38:49 -07:00
LICENSE relicense all paths other than MIT licensed code, client/cody*, jetbrains, VS code, and browser extension to enterprise (#53345) (#53345) 2023-06-13 10:28:11 -07:00
LICENSE.enterprise
lighthouserc.js web: migrate from yarn to pnpm (#46143) 2023-01-11 19:50:09 -08:00
linter_deps.bzl bzl: port go compiler directives linter from sg lint to nogo (#54485) 2023-06-30 14:31:15 +02:00
mockgen.temp.yaml gomod: update zoekt to include ngram sort optimization (#54999) 2023-07-17 15:34:20 +02:00
mockgen.test.yaml Backend: remove enterprise/internal (#54872) 2023-07-12 22:51:02 +02:00
mockgen.yaml mocks: Reorganize mock definitions into multiple files (#36967) 2022-06-27 20:59:16 +00:00
nogo_config.json Move enterprise/internal/batches package to internal/batches (#54855) 2023-07-12 08:42:35 -06:00
package.json remove cody code that was moved to separate cody repo (#54729) 2023-07-10 00:31:47 -10:00
pnpm-lock.yaml sveltekit: Add support for feature flags (and improve testing) (#55474) 2023-08-01 13:44:22 +02:00
pnpm-workspace.yaml cody: development branch (#49761) 2023-03-23 20:41:11 +01:00
postcss.config.js
prettier.config.js clean up Cody CSS to increase shareability and improve display in web app (#50279) 2023-04-03 12:29:05 -07:00
README.md relicense all paths other than MIT licensed code, client/cody*, jetbrains, VS code, and browser extension to enterprise (#53345) (#53345) 2023-06-13 10:28:11 -07:00
renovate.json chore: add test plans to bot and release tool PRs (#31351) 2022-02-22 07:53:25 -08:00
SECURITY.md
service-catalog.yaml lib/servicecatalog: init to distribute catalog (#46999) 2023-01-26 17:22:27 -08:00
sg.config.yaml grpc: tweak internal error logic to log initial request for all error types (if enabled) (#55130) 2023-07-20 15:53:31 -07:00
shell.nix nix: more bazel paths (#53941) 2023-06-22 12:39:38 +00:00
sonar-project.properties Use Buildkite to run Sonarcloud (#54875) 2023-07-21 12:16:03 -04:00
stamp_tags.bzl Switch to OCI/Wolfi based image (#52693) 2023-06-02 12:12:52 +02:00
svgo.config.js Performance: Optimize static SVG assets with SVGO (#26285) 2021-10-27 15:27:36 +01:00
tsconfig.all.json remove cody code that was moved to separate cody repo (#54729) 2023-07-10 00:31:47 -10:00
tsconfig.base.json web: fix pnpm-lock issue (#47478) 2023-02-09 22:04:31 -08:00
tsconfig.eslint.json web: fix pnpm-lock issue (#47478) 2023-02-09 22:04:31 -08:00
WORKSPACE bzl: update to Go 1.20.5 (#54962) 2023-07-14 17:27:46 +02:00

DocsContributingTwitterDiscord

Build status Scorecard Latest release Discord Contributors


Sourcegraph makes it easy to read, write, and fix code—even in big, complex codebases.

  • Code search: Search all of your repositories across all branches and all code hosts.
  • Code intelligence: Navigate code, find references, see code owners, trace history, and more.
  • Fix and refactor: Roll out large-scale changes to many repositories at once and track big migrations.

Getting started



Development

Refer to the Developing Sourcegraph guide to get started.

Documentation

The doc directory has additional documentation for developing and understanding Sourcegraph:

License

This repository contains primarily non-OSS-licensed files, and some OSS licensed files (for example, IDE extensions). We maintain one repository rather than two separate repositories mainly for development convenience.

See the LICENSE for an explanation of how files are licensed.