2018-10-01 06:08:12 +00:00
|
|
|
{
|
2018-10-28 08:13:08 +00:00
|
|
|
"private": true,
|
2018-10-01 06:08:12 +00:00
|
|
|
"description": "The Sourcegraph web app",
|
2021-03-26 07:35:26 +00:00
|
|
|
"license": "Apache-2.0",
|
2018-10-01 06:08:12 +00:00
|
|
|
"repository": {
|
|
|
|
|
"type": "git",
|
|
|
|
|
"url": "https://github.com/sourcegraph/sourcegraph"
|
|
|
|
|
},
|
|
|
|
|
"engines": {
|
2023-10-27 05:25:24 +00:00
|
|
|
"node": "^v20.8.0",
|
2023-10-26 01:47:40 +00:00
|
|
|
"pnpm": "^8.9.2"
|
2018-10-01 06:08:12 +00:00
|
|
|
},
|
|
|
|
|
"scripts": {
|
2022-11-14 14:46:31 +00:00
|
|
|
"format": "prettier '**/{*.{js?(on),ts?(x),graphql,md,scss},.*.js?(on)}' --list-different --config prettier.config.js --write",
|
2023-06-13 17:36:30 +00:00
|
|
|
"format:changed": "prettier $( { git diff --diff-filter=d --name-only origin/main... && git ls-files --other --modified --exclude-standard ; } | grep -E '\\.(js|json|ts|tsx|graphql|md|scss)$' | xargs) --write --list-different --config prettier.config.js",
|
2022-11-14 14:46:31 +00:00
|
|
|
"format:check": "prettier '**/{*.{js?(on),ts?(x),graphql,md,scss},.*.js?(on)}' --config prettier.config.js --check --write=false",
|
2024-01-16 22:27:45 +00:00
|
|
|
"format:ci": "prettier $( { git diff --diff-filter=d --name-only \"$(git merge-base $COMMIT_SHA $BUILDKITE_PULL_REQUEST_BASE_BRANCH)\" $COMMIT_SHA && git ls-files --other --modified --exclude-standard ; } | grep -E '\\.(js|json|ts|tsx|graphql|md|scss)$' | xargs) --config prettier.config.js --check --write=false",
|
2023-01-16 02:11:40 +00:00
|
|
|
"_lint:js": "DOCSITE_LIST=\"$(./dev/docsite.sh -config doc/docsite.json ls)\" NODE_OPTIONS=\"--max_old_space_size=16192\" eslint",
|
2023-01-12 03:50:09 +00:00
|
|
|
"lint:js:changed": "pnpm _lint:js $(git diff --diff-filter=d --name-only origin/main... | grep -E '\\.[tj]sx?$' | xargs)",
|
|
|
|
|
"lint:js:root": "pnpm run _lint:js --quiet '*.[tj]s?(x)'",
|
2023-03-20 11:58:38 +00:00
|
|
|
"lint:js:web": "DOCSITE_LIST=\"$(./dev/docsite.sh -config doc/docsite.json ls)\" pnpm --filter @sourcegraph/web run lint:js --quiet",
|
|
|
|
|
"lint:js:all": "DOCSITE_LIST=\"$(./dev/docsite.sh -config doc/docsite.json ls)\" dev/foreach-non-web-client-project.sh pnpm run lint:js --quiet && pnpm lint:js:root",
|
2022-04-14 11:50:56 +00:00
|
|
|
"_lint:css": "stylelint --quiet",
|
2023-01-12 03:50:09 +00:00
|
|
|
"lint:css:changed": "pnpm _lint:css --allow-empty-input \"*.none\" $(git diff --diff-filter=d --name-only origin/main... | grep -E '.s?css$' | xargs)",
|
|
|
|
|
"lint:css:all": "pnpm _lint:css 'client/*/src/**/*.scss'",
|
2022-04-14 07:37:25 +00:00
|
|
|
"lint:graphql": "graphql-schema-linter",
|
2023-10-26 01:47:40 +00:00
|
|
|
"build-ts": "tsc --build tsconfig.json --emitDeclarationOnly",
|
2023-01-12 03:50:09 +00:00
|
|
|
"build-web": "pnpm --filter @sourcegraph/web run build",
|
|
|
|
|
"watch-web": "pnpm --filter @sourcegraph/web run watch",
|
2023-10-29 19:09:50 +00:00
|
|
|
"generate": "pnpm --filter @sourcegraph/shared run generate",
|
2023-11-07 10:00:18 +00:00
|
|
|
"test": "vitest",
|
2022-09-01 03:39:53 +00:00
|
|
|
"_test-integration": "TS_NODE_PROJECT=client/web/src/integration/tsconfig.json mocha --parallel=${CI:-\"false\"} --retries=1 --jobs=2",
|
2023-10-23 17:59:06 +00:00
|
|
|
"test-integration": "NODE_ENV=production pnpm _test-integration \"./client/web/src/integration/**/*.test.ts\"",
|
2023-01-12 03:50:09 +00:00
|
|
|
"test-integration:debug": "BROWSER=chrome KEEP_BROWSER=true DEVTOOLS=true DISABLE_APP_ASSETS_MOCKING=true WINDOW_WIDTH=1920 WINDOW_HEIGHT=1080 pnpm _test-integration --retries=0 --jobs=1",
|
|
|
|
|
"test-browser-integration": "pnpm --filter @sourcegraph/browser run test-integration",
|
2022-04-11 05:56:45 +00:00
|
|
|
"test-e2e": "TS_NODE_PROJECT=client/web/src/end-to-end/tsconfig.json mocha ./client/web/src/end-to-end/**/*.test.ts",
|
2023-01-12 03:50:09 +00:00
|
|
|
"test-regression": "pnpm --filter @sourcegraph/web run test:regression",
|
|
|
|
|
"storybook": "pnpm --filter @sourcegraph/storybook run start",
|
|
|
|
|
"storybook:dll": "pnpm --filter @sourcegraph/storybook run start:dll",
|
|
|
|
|
"storybook:branded": "pnpm --filter @sourcegraph/branded run storybook",
|
|
|
|
|
"storybook:browser": "pnpm --filter @sourcegraph/browser run storybook",
|
|
|
|
|
"storybook:jetbrains": "pnpm --filter @sourcegraph/jetbrains run storybook",
|
|
|
|
|
"storybook:shared": "pnpm --filter @sourcegraph/shared run storybook",
|
|
|
|
|
"storybook:web": "pnpm --filter @sourcegraph/web run storybook",
|
|
|
|
|
"storybook:wildcard": "pnpm --filter @sourcegraph/wildcard run storybook",
|
|
|
|
|
"storybook:build": "pnpm --filter @sourcegraph/storybook run build",
|
2021-03-25 01:00:52 +00:00
|
|
|
"docsite:serve": "./dev/docsite.sh -config doc/docsite.json serve -http=localhost:5080",
|
2023-01-12 03:50:09 +00:00
|
|
|
"build-browser-extension": "pnpm --filter @sourcegraph/browser run build",
|
2023-10-09 20:56:52 +00:00
|
|
|
"chromatic": "CHROMATIC=true pnpm run _chromatic --storybook-config-dir client/storybook/src --build-script-name=storybook:build",
|
|
|
|
|
"_chromatic": "chromatic"
|
2018-10-01 06:08:12 +00:00
|
|
|
},
|
2019-05-03 21:20:47 +00:00
|
|
|
"jscpd": {
|
|
|
|
|
"gitignore": true,
|
|
|
|
|
"ignore": [
|
|
|
|
|
"**/__snapshots__",
|
|
|
|
|
"**/__fixtures__",
|
|
|
|
|
"**/*.svg",
|
|
|
|
|
"migrations",
|
2019-05-06 17:36:03 +00:00
|
|
|
"browser/build",
|
2019-05-03 21:20:47 +00:00
|
|
|
"ui",
|
|
|
|
|
"**/assets"
|
|
|
|
|
]
|
|
|
|
|
},
|
2018-10-01 06:08:12 +00:00
|
|
|
"devDependencies": {
|
2022-10-14 11:10:13 +00:00
|
|
|
"@atlassian/aui": "^7.10.3",
|
2022-03-24 16:47:44 +00:00
|
|
|
"@axe-core/puppeteer": "^4.4.2",
|
2020-06-24 09:00:55 +00:00
|
|
|
"@gql2ts/types": "^1.9.0",
|
2022-12-14 12:09:06 +00:00
|
|
|
"@graphql-codegen/cli": "^2.16.1",
|
2023-08-08 10:58:17 +00:00
|
|
|
"@graphql-codegen/plugin-helpers": "^5.0.1",
|
2022-12-14 12:09:06 +00:00
|
|
|
"@graphql-codegen/typescript": "2.8.5",
|
|
|
|
|
"@graphql-codegen/typescript-apollo-client-helpers": "^2.2.6",
|
|
|
|
|
"@graphql-codegen/typescript-operations": "2.5.10",
|
2023-03-13 08:37:23 +00:00
|
|
|
"@ianvs/prettier-plugin-sort-imports": "^3.7.1",
|
2020-01-02 02:23:58 +00:00
|
|
|
"@octokit/rest": "^16.36.0",
|
2023-04-26 05:35:50 +00:00
|
|
|
"@percy/cli": "^1.24.0",
|
|
|
|
|
"@percy/puppeteer": "^2.0.2",
|
2020-09-25 22:03:11 +00:00
|
|
|
"@pollyjs/adapter": "^5.0.0",
|
2021-01-14 13:37:32 +00:00
|
|
|
"@pollyjs/core": "^5.1.0",
|
2020-07-16 15:33:55 +00:00
|
|
|
"@pollyjs/persister-fs": "^5.0.0",
|
2023-06-16 07:19:32 +00:00
|
|
|
"@remix-run/server-runtime": "^1.17.0",
|
2022-09-01 03:39:53 +00:00
|
|
|
"@sentry/cli": "^1.74.4",
|
2023-10-06 16:20:05 +00:00
|
|
|
"@sentry/esbuild-plugin": "^2.7.1",
|
2022-06-28 03:04:57 +00:00
|
|
|
"@slack/web-api": "^5.15.0",
|
2023-10-24 00:52:12 +00:00
|
|
|
"@sourcegraph/eslint-config": "0.37.1",
|
2022-05-25 02:38:47 +00:00
|
|
|
"@sourcegraph/eslint-plugin-sourcegraph": "^1.0.5",
|
2023-01-12 03:50:09 +00:00
|
|
|
"@sourcegraph/eslint-plugin-wildcard": "workspace:*",
|
2022-09-08 07:32:28 +00:00
|
|
|
"@sourcegraph/extension-api-stubs": "^1.6.1",
|
2020-03-22 14:10:21 +00:00
|
|
|
"@sourcegraph/prettierrc": "^3.0.3",
|
2022-01-28 15:25:17 +00:00
|
|
|
"@sourcegraph/stylelint-config": "^1.4.0",
|
2022-05-05 04:27:26 +00:00
|
|
|
"@sourcegraph/stylelint-plugin-sourcegraph": "^1.0.1",
|
2020-03-25 02:35:43 +00:00
|
|
|
"@sourcegraph/tsconfig": "^4.0.1",
|
2023-10-07 21:55:42 +00:00
|
|
|
"@storybook/addon-a11y": "^7.4.6",
|
|
|
|
|
"@storybook/addon-actions": "^7.4.6",
|
|
|
|
|
"@storybook/addon-console": "^2.0.0",
|
|
|
|
|
"@storybook/addon-controls": "^7.4.6",
|
|
|
|
|
"@storybook/addon-designs": "^7.0.5",
|
|
|
|
|
"@storybook/addon-links": "^7.4.6",
|
|
|
|
|
"@storybook/addon-storysource": "^7.4.6",
|
|
|
|
|
"@storybook/addon-toolbars": "^7.4.6",
|
|
|
|
|
"@storybook/addons": "^7.4.6",
|
|
|
|
|
"@storybook/api": "^7.4.6",
|
2023-10-08 00:04:10 +00:00
|
|
|
"@storybook/builder-vite": "^7.4.6",
|
2023-10-08 01:53:11 +00:00
|
|
|
"@storybook/cli": "^7.4.6",
|
2023-10-07 21:55:42 +00:00
|
|
|
"@storybook/client-api": "^7.4.6",
|
|
|
|
|
"@storybook/components": "^7.4.6",
|
|
|
|
|
"@storybook/core-common": "^7.4.6",
|
|
|
|
|
"@storybook/core-events": "^7.4.6",
|
|
|
|
|
"@storybook/react": "^7.4.6",
|
2023-10-08 00:04:10 +00:00
|
|
|
"@storybook/react-vite": "^7.4.6",
|
2023-10-07 21:55:42 +00:00
|
|
|
"@storybook/theming": "^7.4.6",
|
|
|
|
|
"@storybook/types": "^7.4.6",
|
2022-04-11 15:14:26 +00:00
|
|
|
"@testing-library/dom": "^8.13.0",
|
2023-10-23 21:40:17 +00:00
|
|
|
"@testing-library/jest-dom": "^6.1.4",
|
2022-07-15 03:58:08 +00:00
|
|
|
"@testing-library/react-hooks": "^8.0.0",
|
2021-11-19 02:08:37 +00:00
|
|
|
"@testing-library/user-event": "^13.5.0",
|
2021-12-03 03:28:20 +00:00
|
|
|
"@types/bloomfilter": "0.0.0",
|
2023-03-27 01:07:19 +00:00
|
|
|
"@types/body-parser": "^1.19.2",
|
2021-01-01 08:38:30 +00:00
|
|
|
"@types/chrome": "0.0.127",
|
2020-03-06 21:16:19 +00:00
|
|
|
"@types/classnames": "2.2.10",
|
2019-12-01 15:11:06 +00:00
|
|
|
"@types/command-exists": "1.2.0",
|
2021-12-03 03:28:20 +00:00
|
|
|
"@types/compression": "1.7.2",
|
|
|
|
|
"@types/connect-history-api-fallback": "1.3.4",
|
|
|
|
|
"@types/d3-format": "2.0.0",
|
2022-12-23 18:05:44 +00:00
|
|
|
"@types/d3-scale": "^3.3.0",
|
2024-04-05 23:43:12 +00:00
|
|
|
"@types/d3-scale-chromatic": "^3.0.3",
|
2022-12-23 18:05:44 +00:00
|
|
|
"@types/d3-shape": "^1.3.1",
|
2021-12-03 03:28:20 +00:00
|
|
|
"@types/d3-time-format": "3.0.0",
|
2022-12-23 18:05:44 +00:00
|
|
|
"@types/d3-voronoi": "^1.1.9",
|
2023-06-14 12:42:38 +00:00
|
|
|
"@types/dedent": "^0.7.0",
|
2023-03-29 01:30:30 +00:00
|
|
|
"@types/dompurify": "^3.0.0",
|
2022-03-02 17:02:36 +00:00
|
|
|
"@types/escape-html": "^1.0.1",
|
2021-12-03 03:28:20 +00:00
|
|
|
"@types/express": "4.17.11",
|
|
|
|
|
"@types/glob": "7.1.3",
|
2023-03-27 01:07:19 +00:00
|
|
|
"@types/google-spreadsheet": "^3.3.1",
|
2020-06-01 07:19:14 +00:00
|
|
|
"@types/got": "9.6.11",
|
2020-06-01 07:19:52 +00:00
|
|
|
"@types/highlight.js": "9.12.4",
|
2022-12-23 18:05:44 +00:00
|
|
|
"@types/history": "^4.7.11",
|
2023-04-03 00:41:20 +00:00
|
|
|
"@types/isomorphic-fetch": "^0.0.36",
|
2020-12-01 08:22:55 +00:00
|
|
|
"@types/js-cookie": "2.2.6",
|
2021-12-03 03:28:20 +00:00
|
|
|
"@types/js-yaml": "4.0.3",
|
2019-07-01 10:11:34 +00:00
|
|
|
"@types/jsdom": "12.2.4",
|
2021-01-01 17:53:19 +00:00
|
|
|
"@types/lodash": "4.14.167",
|
2022-04-15 04:12:08 +00:00
|
|
|
"@types/lru-cache": "^7.6.1",
|
2022-04-11 09:17:07 +00:00
|
|
|
"@types/marked": "4.0.3",
|
2020-07-13 19:22:02 +00:00
|
|
|
"@types/mime-types": "2.1.0",
|
2023-01-12 03:50:09 +00:00
|
|
|
"@types/minimatch": "^5.1.2",
|
2021-01-01 08:39:41 +00:00
|
|
|
"@types/mocha": "8.2.0",
|
2022-09-08 07:32:28 +00:00
|
|
|
"@types/mock-require": "^2.0.1",
|
2019-04-12 08:05:57 +00:00
|
|
|
"@types/mockdate": "2.0.0",
|
2021-01-01 08:40:16 +00:00
|
|
|
"@types/mz": "2.7.3",
|
2023-10-27 05:25:24 +00:00
|
|
|
"@types/node": "20.8.0",
|
2021-12-03 03:28:20 +00:00
|
|
|
"@types/node-fetch": "2.5.10",
|
2023-01-12 03:50:09 +00:00
|
|
|
"@types/pollyjs__adapter": "4.3.0",
|
2020-10-30 18:19:08 +00:00
|
|
|
"@types/pollyjs__core": "4.3.1",
|
2020-10-30 15:59:33 +00:00
|
|
|
"@types/pollyjs__persister-fs": "2.0.1",
|
2023-01-12 03:50:09 +00:00
|
|
|
"@types/prettier": "^2.7.2",
|
2022-04-13 16:41:07 +00:00
|
|
|
"@types/puppeteer": "^5.4.5",
|
2022-07-15 03:58:08 +00:00
|
|
|
"@types/react": "18.0.8",
|
2022-08-24 15:25:12 +00:00
|
|
|
"@types/react-calendar": "^3.5.2",
|
2020-03-03 06:22:56 +00:00
|
|
|
"@types/react-circular-progressbar": "1.0.2",
|
2022-07-15 03:58:08 +00:00
|
|
|
"@types/react-dom": "18.0.2",
|
2022-11-08 14:33:53 +00:00
|
|
|
"@types/react-grid-layout": "1.3.2",
|
2022-12-08 10:37:02 +00:00
|
|
|
"@types/react-resizable": "^3.0.2",
|
2022-07-15 03:58:08 +00:00
|
|
|
"@types/recharts": "1.8.23",
|
2020-12-01 13:27:23 +00:00
|
|
|
"@types/resize-observer-browser": "0.1.4",
|
2022-04-13 16:41:07 +00:00
|
|
|
"@types/rimraf": "^3.0.2",
|
2020-07-03 00:48:58 +00:00
|
|
|
"@types/semver": "7.3.1",
|
2020-06-05 15:25:36 +00:00
|
|
|
"@types/shelljs": "0.8.8",
|
2020-04-02 22:33:34 +00:00
|
|
|
"@types/signale": "1.4.1",
|
2023-11-07 10:00:18 +00:00
|
|
|
"@types/simmerjs": "0.5.4",
|
2020-06-04 10:06:26 +00:00
|
|
|
"@types/sinon": "9.0.4",
|
2023-03-27 01:07:19 +00:00
|
|
|
"@types/stream-json": "^1.7.3",
|
2020-08-07 19:55:38 +00:00
|
|
|
"@types/uuid": "8.0.1",
|
2024-03-20 12:53:27 +00:00
|
|
|
"@types/vscode": "^1.76.0",
|
|
|
|
|
"@types/vscode-webview": "^1.57.1",
|
2023-11-17 18:32:46 +00:00
|
|
|
"@types/whatwg-url": "^11.0.3",
|
2022-04-13 16:41:07 +00:00
|
|
|
"@types/yauzl": "^2.9.2",
|
2023-12-20 19:23:45 +00:00
|
|
|
"@vitejs/plugin-react": "^3.1.0",
|
2024-03-20 12:53:27 +00:00
|
|
|
"@vscode/test-electron": "^2.3.2",
|
|
|
|
|
"@vscode/vsce": "^2.19.0",
|
2019-09-20 20:21:24 +00:00
|
|
|
"abort-controller": "^3.0.0",
|
2021-01-13 11:23:32 +00:00
|
|
|
"autoprefixer": "^10.2.1",
|
2022-03-24 16:47:44 +00:00
|
|
|
"axe-core": "^4.4.1",
|
2021-10-29 08:48:10 +00:00
|
|
|
"bundlesize2": "^0.0.31",
|
2020-07-07 12:07:20 +00:00
|
|
|
"chalk": "^4.1.0",
|
2019-11-01 14:35:11 +00:00
|
|
|
"chokidar-cli": "^2.1.0",
|
2024-03-15 18:30:13 +00:00
|
|
|
"chromatic": "^11.0.8",
|
2018-11-15 18:18:11 +00:00
|
|
|
"chrome-webstore-upload-cli": "^1.2.0",
|
2020-05-15 15:09:51 +00:00
|
|
|
"command-exists": "^1.2.9",
|
2021-10-11 08:00:29 +00:00
|
|
|
"compression": "^1.7.4",
|
2023-03-27 01:07:19 +00:00
|
|
|
"concurrently": "^7.6.0",
|
2021-05-07 11:01:10 +00:00
|
|
|
"connect-history-api-fallback": "^1.6.0",
|
2020-03-07 00:23:52 +00:00
|
|
|
"cross-env": "^7.0.2",
|
2023-06-14 12:42:38 +00:00
|
|
|
"dedent": "^0.7.0",
|
2023-11-07 10:00:18 +00:00
|
|
|
"dompurify": "^3.0.6",
|
2022-07-29 03:22:05 +00:00
|
|
|
"envalid": "^7.3.1",
|
2023-03-26 21:25:20 +00:00
|
|
|
"esbuild": "^0.17.14",
|
2023-10-23 20:23:44 +00:00
|
|
|
"eslint": "^8.52.0",
|
2021-04-06 11:40:59 +00:00
|
|
|
"eslint-plugin-monorepo": "^0.3.2",
|
2023-10-23 20:23:44 +00:00
|
|
|
"eslint-plugin-react": "^7.33.2",
|
|
|
|
|
"eslint-plugin-storybook": "^0.6.15",
|
2022-06-10 02:42:45 +00:00
|
|
|
"events": "^3.3.0",
|
2021-01-14 13:38:09 +00:00
|
|
|
"execa": "^5.0.0",
|
2022-12-16 04:22:27 +00:00
|
|
|
"expect": "^27.5.1",
|
2021-05-07 11:01:10 +00:00
|
|
|
"express": "^4.17.1",
|
2021-10-15 10:55:12 +00:00
|
|
|
"express-static-gzip": "^2.1.1",
|
2021-04-19 12:35:49 +00:00
|
|
|
"glob": "^7.1.6",
|
2023-01-12 03:50:09 +00:00
|
|
|
"google-auth-library": "5.7.0",
|
2020-03-03 06:18:07 +00:00
|
|
|
"googleapis": "^47.0.0",
|
2023-01-12 03:50:09 +00:00
|
|
|
"googleapis-common": "3.2.0",
|
2019-05-01 11:48:45 +00:00
|
|
|
"gql2ts": "^1.10.1",
|
2020-12-04 14:25:28 +00:00
|
|
|
"graphql": "^15.4.0",
|
2021-01-06 11:46:17 +00:00
|
|
|
"graphql-schema-linter": "^2.0.1",
|
2023-11-07 10:00:18 +00:00
|
|
|
"happy-dom": "^12.10.1",
|
2023-04-17 14:53:32 +00:00
|
|
|
"http-proxy-middleware": "^2.0.6",
|
2019-01-08 07:44:08 +00:00
|
|
|
"identity-obj-proxy": "^3.0.0",
|
2024-04-01 14:05:16 +00:00
|
|
|
"jsdom": "^24.0.0",
|
2020-08-07 18:14:04 +00:00
|
|
|
"json-schema-ref-parser": "^9.0.6",
|
2021-03-18 00:46:15 +00:00
|
|
|
"json-schema-to-typescript": "^10.1.3",
|
2019-09-09 03:22:53 +00:00
|
|
|
"latest-version": "^5.1.0",
|
2022-07-29 03:22:05 +00:00
|
|
|
"libhoney": "^3.1.1",
|
2020-04-16 20:44:54 +00:00
|
|
|
"license-checker": "^25.0.1",
|
2019-08-05 10:24:43 +00:00
|
|
|
"message-port-polyfill": "^0.2.0",
|
2021-01-06 11:36:51 +00:00
|
|
|
"mime-types": "^2.1.28",
|
2021-04-16 17:07:02 +00:00
|
|
|
"mocha": "^8.3.2",
|
2022-09-08 07:32:28 +00:00
|
|
|
"mock-require": "^3.0.3",
|
2020-06-01 14:30:40 +00:00
|
|
|
"mockdate": "^3.0.2",
|
2018-10-01 06:08:12 +00:00
|
|
|
"mz": "^2.7.0",
|
2022-11-04 21:25:44 +00:00
|
|
|
"node-fetch": "^2.6.7",
|
2023-03-27 01:07:19 +00:00
|
|
|
"nodemon": "^2.0.20",
|
2022-10-12 08:19:51 +00:00
|
|
|
"octokit": "^2.0.7",
|
2020-06-01 13:18:22 +00:00
|
|
|
"open": "^7.0.4",
|
2019-11-08 00:03:39 +00:00
|
|
|
"p-retry": "^4.2.0",
|
2021-01-13 12:57:58 +00:00
|
|
|
"p-timeout": "^4.1.0",
|
2023-02-03 03:14:25 +00:00
|
|
|
"postcss-cli": "^10.1.0",
|
2021-05-10 10:35:01 +00:00
|
|
|
"postcss-custom-media": "^8.0.0",
|
2020-05-20 13:20:28 +00:00
|
|
|
"postcss-focus-visible": "^5.0.0",
|
2022-12-08 10:37:23 +00:00
|
|
|
"prettier": "2.8.1",
|
2023-02-13 16:53:23 +00:00
|
|
|
"prettier-plugin-svelte": "^2.9.0",
|
2023-01-12 03:50:09 +00:00
|
|
|
"punycode": "2.1.1",
|
2022-04-13 16:41:07 +00:00
|
|
|
"puppeteer": "^13.5.1",
|
2023-01-09 06:24:05 +00:00
|
|
|
"regenerator-runtime": "^0.13.7",
|
2023-05-11 09:20:42 +00:00
|
|
|
"resolve-bin": "^1.0.1",
|
2022-04-13 16:41:07 +00:00
|
|
|
"rimraf": "^3.0.2",
|
2021-01-13 11:29:09 +00:00
|
|
|
"sass": "^1.32.4",
|
2020-06-05 15:25:36 +00:00
|
|
|
"shelljs": "^0.8.4",
|
2019-05-01 13:18:13 +00:00
|
|
|
"signale": "^1.4.0",
|
2019-05-03 08:40:15 +00:00
|
|
|
"simmerjs": "^0.5.6",
|
2020-06-04 10:06:26 +00:00
|
|
|
"sinon": "^9.0.2",
|
2023-02-10 06:04:31 +00:00
|
|
|
"sourcegraph": "workspace:*",
|
2023-10-07 21:55:42 +00:00
|
|
|
"storybook-dark-mode": "^3.0.1",
|
2022-06-10 02:42:45 +00:00
|
|
|
"stream-browserify": "^3.0.0",
|
2020-01-17 17:43:24 +00:00
|
|
|
"string-width": "^4.2.0",
|
2023-05-22 11:05:45 +00:00
|
|
|
"strip-ansi": "^6.0.1",
|
2022-01-28 15:25:17 +00:00
|
|
|
"stylelint": "^14.3.0",
|
2020-02-03 15:41:11 +00:00
|
|
|
"term-size": "^2.2.0",
|
2023-05-22 11:05:45 +00:00
|
|
|
"text-table": "^0.2.0",
|
2023-07-06 18:06:51 +00:00
|
|
|
"ts-dedent": "^2.2.0",
|
2024-03-15 18:30:13 +00:00
|
|
|
"ts-node": "^10.9.2",
|
2021-04-14 10:46:49 +00:00
|
|
|
"typed-scss-modules": "^4.1.1",
|
2023-03-20 11:58:38 +00:00
|
|
|
"typescript": "^5.0.2",
|
2020-06-03 07:10:10 +00:00
|
|
|
"utc-version": "^2.0.2",
|
2023-12-20 19:23:45 +00:00
|
|
|
"vite": "^4.1.4",
|
2023-10-23 17:59:06 +00:00
|
|
|
"vite-plugin-turbosnap": "^1.0.3",
|
2023-11-15 09:14:41 +00:00
|
|
|
"vitest": "1.0.0-beta.4",
|
2023-11-07 10:00:18 +00:00
|
|
|
"vitest-fetch-mock": "^0.2.2",
|
2022-04-13 16:41:07 +00:00
|
|
|
"vsce": "^2.7.0",
|
2021-10-06 23:04:21 +00:00
|
|
|
"wildcard-mock-link": "^2.0.1",
|
2023-01-12 03:50:09 +00:00
|
|
|
"yaml": "^2.2.1",
|
2023-03-27 01:07:19 +00:00
|
|
|
"yauzl": "^2.10.0"
|
2018-11-12 09:05:35 +00:00
|
|
|
},
|
|
|
|
|
"dependencies": {
|
2023-02-21 11:13:32 +00:00
|
|
|
"@apollo/client": "^3.8.0-alpha.7",
|
2022-08-04 15:10:26 +00:00
|
|
|
"@codemirror/autocomplete": "^6.1.0",
|
2022-07-08 07:36:54 +00:00
|
|
|
"@codemirror/commands": "^6.0.1",
|
|
|
|
|
"@codemirror/lang-json": "^6.0.0",
|
|
|
|
|
"@codemirror/lang-markdown": "^6.0.0",
|
|
|
|
|
"@codemirror/language": "^6.2.0",
|
2023-03-09 13:26:00 +00:00
|
|
|
"@codemirror/legacy-modes": "^6.3.1",
|
2022-07-14 11:01:38 +00:00
|
|
|
"@codemirror/lint": "^6.0.0",
|
2022-08-03 17:27:50 +00:00
|
|
|
"@codemirror/search": "^6.0.1",
|
2024-01-30 23:57:48 +00:00
|
|
|
"@codemirror/state": "^6.4.0",
|
2024-04-18 22:04:28 +00:00
|
|
|
"@codemirror/view": "^6.26.3",
|
2024-02-13 21:51:15 +00:00
|
|
|
"@date-fns/utc": "^1.1.1",
|
2022-12-16 04:22:27 +00:00
|
|
|
"@graphiql/react": "^0.10.0",
|
2023-01-12 03:50:09 +00:00
|
|
|
"@lezer/common": "^1.0.0",
|
2022-07-08 07:36:54 +00:00
|
|
|
"@lezer/highlight": "^1.0.0",
|
2023-01-10 17:49:25 +00:00
|
|
|
"@mdi/js": "7.1.96",
|
2023-03-03 10:57:05 +00:00
|
|
|
"@microsoft/fast-web-utilities": "^6.0.0",
|
2022-05-20 02:38:20 +00:00
|
|
|
"@microsoft/fetch-event-source": "^2.0.1",
|
2023-12-07 05:39:33 +00:00
|
|
|
"@opencodegraph/client": "^0.0.1",
|
|
|
|
|
"@opencodegraph/codemirror-extension": "^0.0.1",
|
2023-02-23 17:03:46 +00:00
|
|
|
"@opentelemetry/api": "^1.4.0",
|
|
|
|
|
"@opentelemetry/context-zone": "^1.9.1",
|
|
|
|
|
"@opentelemetry/core": "1.9.1",
|
|
|
|
|
"@opentelemetry/exporter-trace-otlp-http": "^0.35.0",
|
|
|
|
|
"@opentelemetry/instrumentation": "^0.35.1",
|
|
|
|
|
"@opentelemetry/instrumentation-fetch": "^0.35.1",
|
|
|
|
|
"@opentelemetry/resources": "1.9.1",
|
|
|
|
|
"@opentelemetry/sdk-trace-base": "1.9.1",
|
|
|
|
|
"@opentelemetry/sdk-trace-web": "^1.9.1",
|
|
|
|
|
"@opentelemetry/semantic-conventions": "^1.9.1",
|
2022-03-13 12:09:18 +00:00
|
|
|
"@reach/accordion": "^0.16.1",
|
2022-10-29 16:27:20 +00:00
|
|
|
"@reach/auto-id": "^0.16.0",
|
2022-03-13 12:09:18 +00:00
|
|
|
"@reach/combobox": "^0.16.5",
|
|
|
|
|
"@reach/dialog": "^0.16.2",
|
|
|
|
|
"@reach/menu-button": "^0.16.2",
|
|
|
|
|
"@reach/tabs": "^0.16.4",
|
|
|
|
|
"@reach/visually-hidden": "^0.16.0",
|
2022-07-15 03:58:08 +00:00
|
|
|
"@react-aria/live-announcer": "^3.1.0",
|
2022-08-04 11:47:47 +00:00
|
|
|
"@sentry/browser": "^7.8.1",
|
2020-07-16 22:19:09 +00:00
|
|
|
"@sourcegraph/extension-api-classes": "^1.1.0",
|
2024-05-07 16:14:20 +00:00
|
|
|
"@stripe/react-stripe-js": "^2.7.0",
|
|
|
|
|
"@stripe/stripe-js": "^3.3.0",
|
2023-03-01 04:46:03 +00:00
|
|
|
"@testing-library/react": "^13.4.0",
|
2022-06-02 02:24:58 +00:00
|
|
|
"@visx/annotation": "^2.10.0",
|
2022-08-08 13:35:15 +00:00
|
|
|
"@visx/axis": "^2.11.1",
|
2022-12-21 04:36:45 +00:00
|
|
|
"@visx/event": "2.6.0",
|
2022-06-02 02:24:58 +00:00
|
|
|
"@visx/glyph": "^2.10.0",
|
|
|
|
|
"@visx/grid": "^2.10.0",
|
|
|
|
|
"@visx/group": "^2.10.0",
|
|
|
|
|
"@visx/responsive": "^2.10.0",
|
|
|
|
|
"@visx/scale": "^2.2.2",
|
2022-12-21 04:36:45 +00:00
|
|
|
"@visx/shape": "^2.11.1",
|
2022-12-23 18:05:44 +00:00
|
|
|
"@visx/text": "2.10.0",
|
2022-06-02 02:24:58 +00:00
|
|
|
"@visx/voronoi": "^2.10.0",
|
2024-03-20 12:53:27 +00:00
|
|
|
"@vscode/webview-ui-toolkit": "^1.2.2",
|
2023-01-12 03:50:09 +00:00
|
|
|
"agent-base": "6.0.2",
|
2021-10-26 15:20:51 +00:00
|
|
|
"ajv": "^8.6.3",
|
|
|
|
|
"ajv-formats": "^2.1.1",
|
2021-09-23 08:28:53 +00:00
|
|
|
"apollo3-cache-persist": "^0.12.1",
|
2021-05-25 07:48:33 +00:00
|
|
|
"bloomfilter": "^0.0.18",
|
2023-03-06 05:24:47 +00:00
|
|
|
"buffer": "^6.0.3",
|
2019-02-11 03:26:22 +00:00
|
|
|
"classnames": "^2.2.6",
|
2020-05-04 12:27:12 +00:00
|
|
|
"comlink": "^4.3.0",
|
2020-03-02 00:50:41 +00:00
|
|
|
"copy-to-clipboard": "^3.3.1",
|
2021-01-06 11:39:01 +00:00
|
|
|
"core-js": "^3.8.2",
|
2021-04-09 12:34:06 +00:00
|
|
|
"d3-format": "^2.0.0",
|
2022-12-23 18:05:44 +00:00
|
|
|
"d3-scale": "^3.3.0",
|
2024-04-05 23:43:12 +00:00
|
|
|
"d3-scale-chromatic": "^3.0.0",
|
2022-12-23 18:05:44 +00:00
|
|
|
"d3-shape": "^1.2.0",
|
2021-04-09 12:34:06 +00:00
|
|
|
"d3-time-format": "^3.0.0",
|
2022-12-23 18:05:44 +00:00
|
|
|
"d3-voronoi": "^1.1.2",
|
2024-02-13 21:49:09 +00:00
|
|
|
"date-fns": "^3.3.1",
|
2021-04-30 16:56:54 +00:00
|
|
|
"delay": "^4.4.1",
|
2023-06-26 08:19:47 +00:00
|
|
|
"detect-indent": "^6.1.0",
|
2020-01-02 02:21:31 +00:00
|
|
|
"downshift": "^3.4.8",
|
2022-03-02 17:02:36 +00:00
|
|
|
"escape-html": "^1.0.3",
|
2022-05-30 13:43:58 +00:00
|
|
|
"eventsource": "1.1.1",
|
2022-12-19 11:12:20 +00:00
|
|
|
"fast-json-stable-stringify": "^2.0.0",
|
2020-11-27 15:00:59 +00:00
|
|
|
"focus-visible": "^5.2.0",
|
2024-05-08 16:21:12 +00:00
|
|
|
"fzf": "^0.5.2",
|
2020-08-07 19:01:19 +00:00
|
|
|
"got": "^11.5.2",
|
2022-11-01 14:01:35 +00:00
|
|
|
"graphiql": "^1.11.5",
|
app: experimental Tauri branch (#50620)
This is experimental support for building the Cody App using Tauri. For
an overview of what Tauri is and why I think it will help us with the
App, see [this Slack
message](https://sourcegraph.slack.com/archives/C04F9E7GUDP/p1680729850086159).
### Developing
To try it out, checkout this branch and then in two separate terminals
run:
```
sg start app
```
```
go build \
-o .bin/backend-aarch64-apple-darwin \
-tags dist \
-ldflags '-X github.com/sourcegraph/sourcegraph/internal/conf/deploy.forceType=app' \
./enterprise/cmd/sourcegraph
pnpm tauri dev
```
This will open a Tauri window connected to your dev server.
We will follow-up to integrate this into `sg start app` more properly
soon.
### Creating a release
```
./enterprise/dev/app/build-release.sh
```
This will first invoke esbuild to generate the bundles; then it will run
`go build` to create the Go backend binary; and then finally it will
invoke `pnpm tauri build` to produce the macOS app.
Once that command finishes, you'll find the app in
`./src-tauri/target/release/bundle/` (make sure you wait for it to
finish, it will open a window and move things around before it is done.)
## Next steps / things to follow up on
- Familiarize more folks on the team with this code; add better docs
- Make `sg start app` automatically use Tauri, without needing to e.g.
run the `pnpm tauri dev` command separately.
- Use GitHub actions to start building+releasing versions of this in our
CI pipeline
- Make `./enterprise/dev/app/build-release.sh` work on Linux
- Make `./enterprise/dev/app/build-release.sh` produce a Universal macOS
binary, not just for Apple Silicon
- Start hacking, making improvements to the whole experience :)
## Test plan
- [x] Myself, Juliana, and William are happy with this as a starting
point and are able to run/develop with it.
- [x] The changes have limited blast radius, should only affect App and
we'll have more time to make improvements before releasing this version
to any users.
- [x] We can continue releasing the old-style App version to users just
in case we should want/need to create a release before this new version
is ready.
---------
Signed-off-by: Stephen Gutekanst <stephen@sourcegraph.com>
Co-authored-by: William Bezuidenhout <william.bezuidenhout@sourcegraph.com>
2023-04-21 17:48:47 +00:00
|
|
|
"handlebars": "^4.7.7",
|
2021-01-06 13:47:09 +00:00
|
|
|
"highlight.js": "^10.5.0",
|
2020-11-27 14:46:58 +00:00
|
|
|
"highlightjs-graphql": "^1.0.2",
|
2022-12-19 11:12:20 +00:00
|
|
|
"history": "4.5.1",
|
2022-10-25 21:51:34 +00:00
|
|
|
"http-proxy-agent": "^5.0.0",
|
2021-11-17 10:18:38 +00:00
|
|
|
"http-status-codes": "^2.1.4",
|
2022-04-13 16:41:07 +00:00
|
|
|
"https-browserify": "^1.0.0",
|
2022-10-25 21:51:34 +00:00
|
|
|
"https-proxy-agent": "^5.0.1",
|
2024-02-02 15:07:33 +00:00
|
|
|
"ignore": "^5.3.0",
|
2019-11-01 22:16:29 +00:00
|
|
|
"is-absolute-url": "^3.0.3",
|
2023-04-03 00:41:20 +00:00
|
|
|
"isomorphic-fetch": "^3.0.0",
|
2020-11-16 23:32:12 +00:00
|
|
|
"iterare": "^1.2.1",
|
2022-05-31 14:20:53 +00:00
|
|
|
"js-base64": "^3.7.2",
|
2020-11-20 22:52:02 +00:00
|
|
|
"js-cookie": "^2.2.1",
|
2021-10-26 15:20:51 +00:00
|
|
|
"js-yaml": "^4.1.0",
|
2022-07-01 16:59:43 +00:00
|
|
|
"jsonc-parser": "^3.0.0",
|
2021-05-13 21:20:21 +00:00
|
|
|
"linguist-languages": "^7.14.0",
|
2023-03-23 09:05:40 +00:00
|
|
|
"linkifyjs": "^4.1.0",
|
app: experimental Tauri branch (#50620)
This is experimental support for building the Cody App using Tauri. For
an overview of what Tauri is and why I think it will help us with the
App, see [this Slack
message](https://sourcegraph.slack.com/archives/C04F9E7GUDP/p1680729850086159).
### Developing
To try it out, checkout this branch and then in two separate terminals
run:
```
sg start app
```
```
go build \
-o .bin/backend-aarch64-apple-darwin \
-tags dist \
-ldflags '-X github.com/sourcegraph/sourcegraph/internal/conf/deploy.forceType=app' \
./enterprise/cmd/sourcegraph
pnpm tauri dev
```
This will open a Tauri window connected to your dev server.
We will follow-up to integrate this into `sg start app` more properly
soon.
### Creating a release
```
./enterprise/dev/app/build-release.sh
```
This will first invoke esbuild to generate the bundles; then it will run
`go build` to create the Go backend binary; and then finally it will
invoke `pnpm tauri build` to produce the macOS app.
Once that command finishes, you'll find the app in
`./src-tauri/target/release/bundle/` (make sure you wait for it to
finish, it will open a window and move things around before it is done.)
## Next steps / things to follow up on
- Familiarize more folks on the team with this code; add better docs
- Make `sg start app` automatically use Tauri, without needing to e.g.
run the `pnpm tauri dev` command separately.
- Use GitHub actions to start building+releasing versions of this in our
CI pipeline
- Make `./enterprise/dev/app/build-release.sh` work on Linux
- Make `./enterprise/dev/app/build-release.sh` produce a Universal macOS
binary, not just for Apple Silicon
- Start hacking, making improvements to the whole experience :)
## Test plan
- [x] Myself, Juliana, and William are happy with this as a starting
point and are able to run/develop with it.
- [x] The changes have limited blast radius, should only affect App and
we'll have more time to make improvements before releasing this version
to any users.
- [x] We can continue releasing the old-style App version to users just
in case we should want/need to create a release before this new version
is ready.
---------
Signed-off-by: Stephen Gutekanst <stephen@sourcegraph.com>
Co-authored-by: William Bezuidenhout <william.bezuidenhout@sourcegraph.com>
2023-04-21 17:48:47 +00:00
|
|
|
"lit-html": "^2.7.2",
|
2024-01-24 15:02:54 +00:00
|
|
|
"lodash": "^4.17.21",
|
|
|
|
|
"lodash-es": "^4.17.21",
|
2022-04-15 04:12:08 +00:00
|
|
|
"lru-cache": "^7.8.0",
|
2022-06-06 19:03:14 +00:00
|
|
|
"marked": "4.0.16",
|
2021-10-26 21:26:35 +00:00
|
|
|
"mdi-react": "^8.1.0",
|
2018-11-12 09:05:35 +00:00
|
|
|
"minimatch": "^3.0.4",
|
2023-03-01 04:46:03 +00:00
|
|
|
"mockdate": "^3.0.2",
|
2021-05-13 17:51:00 +00:00
|
|
|
"monaco-editor": "^0.24.0",
|
2021-10-12 23:58:58 +00:00
|
|
|
"monaco-yaml": "^3.2.1",
|
2020-05-13 13:33:51 +00:00
|
|
|
"nice-ticks": "^1.0.1",
|
2021-01-06 11:36:36 +00:00
|
|
|
"open-color": "^1.8.0",
|
2022-06-06 23:01:49 +00:00
|
|
|
"ordinal": "^1.0.3",
|
2022-12-19 11:12:20 +00:00
|
|
|
"original": "^1.0.0",
|
2021-07-19 20:03:38 +00:00
|
|
|
"path-browserify": "^1.0.1",
|
2021-06-10 17:55:20 +00:00
|
|
|
"postcss-inset": "^1.0.0",
|
2019-08-06 10:41:11 +00:00
|
|
|
"pretty-bytes": "^5.3.0",
|
2023-03-06 05:24:47 +00:00
|
|
|
"process": "^0.11.10",
|
2021-05-14 22:55:42 +00:00
|
|
|
"prop-types": "^15.7.2",
|
2024-04-30 14:37:25 +00:00
|
|
|
"re2js": "^0.4.1",
|
2022-07-15 03:58:08 +00:00
|
|
|
"react": "18.1.0",
|
2022-08-24 15:25:12 +00:00
|
|
|
"react-calendar": "^3.7.0",
|
2020-03-03 14:33:21 +00:00
|
|
|
"react-circular-progressbar": "^2.0.3",
|
2022-07-15 03:58:08 +00:00
|
|
|
"react-dom": "18.1.0",
|
2022-03-13 12:09:18 +00:00
|
|
|
"react-focus-lock": "^2.7.1",
|
2022-11-08 14:33:53 +00:00
|
|
|
"react-grid-layout": "1.3.4",
|
2023-11-28 19:58:09 +00:00
|
|
|
"react-icons": "^4.12.0",
|
2022-08-29 09:58:41 +00:00
|
|
|
"react-resizable": "^3.0.4",
|
2023-02-21 06:32:51 +00:00
|
|
|
"react-router-dom": "^6.8.1",
|
2022-01-24 23:02:54 +00:00
|
|
|
"react-spring": "^9.4.2",
|
2022-07-13 18:22:22 +00:00
|
|
|
"react-sticky-box": "1.0.2",
|
2019-10-02 13:37:10 +00:00
|
|
|
"react-visibility-sensor": "^5.1.1",
|
2019-11-01 22:13:01 +00:00
|
|
|
"recharts": "^1.8.5",
|
2020-11-11 22:25:20 +00:00
|
|
|
"regexpp": "^3.1.0",
|
2022-12-20 06:08:22 +00:00
|
|
|
"resize-observer-polyfill": "^1.5.1",
|
web: Update rxjs to v7 (#61122)
A side goal for the web rewrite is to leave the existing code base in a better state than before. I recently [added a hacky workaround](https://github.com/sourcegraph/sourcegraph/blob/da5ddc99b65398c3cb14f075db217f1fb374095a/client/web-sveltekit/vite.config.ts#L82-L101) to make the Svelte version work properly with different rxjs versions. But the whole point of the rewrite is to not have to do these things anymore. So this is my attempt of upgrading rsjx in the main repo to v7.
I worked through the list of breaking changes in the [rxjs documentation](https://rxjs.dev/deprecations/breaking-changes) and fixed TypeScript issues to the best of my abilities.
Most notable changes:
- The custom `combineLatestOrDefault` operator was rewritten to avoid using rxjs internals, and the `.lift` method (side note: the corresponding tests do not cover all expected behavior, but issues had been caught through other tests)
- Where necessary `.toPromise()` was replaced with `lastValueFrom` or `firstValueFrom`. My assumption was that since we don't get runtime errors for the existing code, it's save to assume that the corresponding observables emit at least one value, i.e. `.toPromise()` did not return `undefined`. Only in some places I added a default value where it was easy to deduce what it should be.
- The generic type in `of()` was removed
- The generic type in `concat()` was removed
- `Subject.next` seemed to have allowed `undefined` to be passed even if the subject's types didn't allow that. If the subject's type couldn't be extended to include `undefined` I changed the code to not pass `undefined`.
- The generic type signature of `defaultIfEmpty` changed.
- Where possible I replaced `Subscribable` with `ObservableInput`, but we also have a copy of the old `Subscribable` interface in the `sourcegraph` package, and that makes things more complicated.
- I simplified unnecessary Promise/Observable interop where necessary.
A lot of the complex rxjs logic and usage of changed interfaces, such as `Subscribable`, is in extensions related code, which is not used in the web app anymore, but is still at least imported in the browser extensions code. Most of it is probably not used anymore, which makes the migration somewhat simpler.
2024-03-18 13:02:57 +00:00
|
|
|
"rxjs": "^7.8.1",
|
2020-05-08 15:26:09 +00:00
|
|
|
"semver": "^7.3.2",
|
2022-04-13 16:41:07 +00:00
|
|
|
"stream-http": "^3.2.0",
|
2023-03-27 01:07:19 +00:00
|
|
|
"stream-json": "^1.7.5",
|
2020-04-20 16:05:16 +00:00
|
|
|
"tagged-template-noop": "^2.1.1",
|
2021-01-13 11:19:23 +00:00
|
|
|
"ts-key-enum": "^2.0.7",
|
2021-01-06 13:49:58 +00:00
|
|
|
"tslib": "^2.1.0",
|
Bump various webpack build related dependencies (#45328)
* Bump webpack-cli
None of the documented breaking changes should affect us, and the dev stack still works.
* Bump webpack-dev-server
New version doesn't require the separate plugin anymore, and also not the HMR plugin to be manually added, so removed it. Also addressed logged deprecation warnings.
* Bump webpack-manifest-plugin
Now written in typescript, so the @types package is no longer required.
* Bump webpack
* Bump bundle-analyzer
* Bump webpack-stats-plugin
* Bump ts-loader
* Bump terser-webpack-plugin
This now comes with types bundled, so could remove the @types package.
* Bump compression-webpack-plugin
* Bump css-minimizer-webpack-plugin
Now comes with types, so dropped @types package.
* Bump mini-css-extract-plugin
According to changelog should be a bunch faster and use less memory, also comes with types shipped now.
* Bump html-webpack-plugin
* Bump types package
* Bump css-loader
The breaking changes don't seem to affect us, this version promises better performance.
* Bump sass-loader
* Bump style-loader
Supposedly has a small performance improvement.
* Bump postcss
Nothing breaking us noted in the changelog.
* Dedupe yarn lockfile
* Bump @sentry/webpack-plugin
* Bump @statoscope/webpack-plugin
* Bump @types/case-sensitive-paths-webpack-plugin
* Bump babel-loader
No breaking changes should affect us (only dropped webpack v4)
* Bump @pmmmwh/react-refresh-webpack-plugin
No breaking changes, fixes a memory leak that could cause performance penalties.
* Bump nodejs to latest 16 release
* Bump engine
* Fixup jetbrains build
Somehow there's no URL replacement configured, not sure why URL is a problem now but wasn't before? I didn't bump esbuild
2022-12-07 15:32:40 +00:00
|
|
|
"url": "^0.11.0",
|
2021-08-17 14:30:46 +00:00
|
|
|
"use-callback-ref": "^1.2.5",
|
2022-07-05 14:54:56 +00:00
|
|
|
"use-debounce": "^8.0.1",
|
2021-01-14 13:39:59 +00:00
|
|
|
"use-deep-compare-effect": "^1.6.1",
|
2022-08-08 13:35:15 +00:00
|
|
|
"use-resize-observer": "^9.0.2",
|
2023-01-12 03:50:09 +00:00
|
|
|
"util": "^0.12.5",
|
2019-12-01 14:23:26 +00:00
|
|
|
"utility-types": "^3.10.0",
|
2020-08-07 19:55:38 +00:00
|
|
|
"uuid": "^8.3.0",
|
2024-03-20 12:53:27 +00:00
|
|
|
"vscode-uri": "^3.0.7",
|
2020-05-15 16:24:12 +00:00
|
|
|
"webext-domain-permission-toggle": "^1.0.1",
|
2021-09-16 07:50:34 +00:00
|
|
|
"webextension-polyfill": "^0.6.0",
|
2023-11-17 18:32:46 +00:00
|
|
|
"whatwg-url": "^14.0.0",
|
2021-09-20 22:24:40 +00:00
|
|
|
"yaml-ast-parser": "^0.0.43",
|
2023-03-27 01:07:19 +00:00
|
|
|
"zustand": "^3.6.9"
|
2019-06-12 12:07:44 +00:00
|
|
|
},
|
2023-10-26 01:47:40 +00:00
|
|
|
"packageManager": "pnpm@8.9.2",
|
2023-03-01 04:46:03 +00:00
|
|
|
"pnpm": {
|
|
|
|
|
"packageExtensions": {
|
2023-05-22 12:14:16 +00:00
|
|
|
"hnswlib-node": {
|
|
|
|
|
"dependencies": {
|
|
|
|
|
"node-gyp": "*"
|
|
|
|
|
}
|
2023-06-14 12:42:38 +00:00
|
|
|
},
|
2023-06-16 07:19:32 +00:00
|
|
|
"deasync": {
|
|
|
|
|
"dependencies": {
|
|
|
|
|
"node-gyp": "*"
|
|
|
|
|
}
|
|
|
|
|
},
|
2023-03-01 04:46:03 +00:00
|
|
|
"cpu-features": {
|
|
|
|
|
"dependencies": {
|
|
|
|
|
"node-gyp": "*"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"@percy/sdk-utils": {
|
|
|
|
|
"dependencies": {
|
|
|
|
|
"ws": "*"
|
|
|
|
|
}
|
2023-12-14 09:12:27 +00:00
|
|
|
},
|
|
|
|
|
"@graphql-codegen/cli@5": {
|
|
|
|
|
"peerDependencies": {
|
|
|
|
|
"@graphql-codegen/typescript": "*",
|
|
|
|
|
"@graphql-codegen/typescript-operations": "*",
|
svelte: Towards a better data fetching and GraphQL authoring experience (#59383)
This PR refactors almost all of the prototypes GraphQL queries to take advantage of GraphQLs compossibility via fragments. The goal is to provide a more structured approach to authoring and executing GraphQL queries, with the following advantages:
- Data dependency co-location makes it easier to maintain/extend individual components.
- Data fetching happens in specific, predictable places (layout and page loaders).
On a high level it works like this:
- Components declare their data dependencies in `<Component>.gql` files next to them. Thanks to GraphQL code generation they can import the corresponding TypeScript types via `import type { SomeFragment} from './<Component>.gql'`.
- Higher level components compose the fragments of their children.
- At the page/layout level `page.gql`/`layout.gql` files define the queries, composed from the data dependencies of the page/layout.
- The page/layout data loaders can import queries directly from the corresponding `.gql` file.
Authoring the `.gql` files should be relatively easily if the graphql language server is setup. The changes in the `.graphlrc` file make all fragments globally available which means that every fragment needs to be unique and we don't need to use unofficial `#import` directives inside `.gql` files.
There are a couple of things to consider though:
- Caching: If different pages/layouts fetch the same data with different queries, we won't leverage caching without additional setup. That's something I still need to look into. That also means that sometimes we might want to use a shared queries instead of composition/co-location, if caching is more important.
- Shared layout data: Some data fetched in layouts is accessed by sub-layouts/sub-pages, but the layout doesn't know which sub-layout/sub-page is loaded, making query composition more difficult. So it far it seems that data shared this way is rather limited/constrained. So my current approach is to have components/pages define fragments following a specific naming convention, and have the loaders that provide this data compose them. Examples for this is `SearchInput_AuthorizedUser` and `RepoPage_ResolvedRevision`.
This is not ideal because it has to be remembered to embed this fragment in the right place, but it's not worse than the current situation (where we often don't know where the query providing some data is defined).
- On demand data fetching: Not all data is necessary for rendering a page, some data is only fetched when in response to some user interaction. The layout/page loader should still be the place that executes the query, but instead of doing it on page load it passes a function to the page to fetch the data on demand. This way we can maintain data co-location and fetching in loaders. For an example see the `fetchCommitHistory` function.
NOTE: I expect there to be changes to this approach as we uncover more data loading requirements.
2024-01-09 09:33:30 +00:00
|
|
|
"@graphql-codegen/near-operation-file-preset": "*",
|
|
|
|
|
"@graphql-codegen/typed-document-node": "*"
|
2023-12-14 09:12:27 +00:00
|
|
|
}
|
2023-03-01 04:46:03 +00:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
2019-06-12 12:07:44 +00:00
|
|
|
"resolutions": {
|
2023-06-16 07:19:32 +00:00
|
|
|
"browserify-zlib": "0.2.0",
|
2020-09-23 20:21:31 +00:00
|
|
|
"history": "4.5.1",
|
2021-07-19 08:08:50 +00:00
|
|
|
"cssnano": "4.1.10",
|
2023-02-13 22:57:52 +00:00
|
|
|
"tslib": "2.1.0"
|
2023-01-12 03:50:09 +00:00
|
|
|
}
|
2023-03-20 11:58:38 +00:00
|
|
|
}
|