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",
|
|
|
|
|
"license": "MIT",
|
|
|
|
|
"repository": {
|
|
|
|
|
"type": "git",
|
|
|
|
|
"url": "https://github.com/sourcegraph/sourcegraph"
|
|
|
|
|
},
|
|
|
|
|
"engines": {
|
2021-01-06 13:46:23 +00:00
|
|
|
"node": "^v14.15.4",
|
2020-08-07 20:16:39 +00:00
|
|
|
"yarn": "^1.22.4"
|
2018-10-01 06:08:12 +00:00
|
|
|
},
|
|
|
|
|
"scripts": {
|
2018-11-12 09:05:35 +00:00
|
|
|
"prettier": "prettier '**/{*.{js?(on),ts?(x),graphql,md,scss},.*.js?(on)}' --write --list-different --config prettier.config.js",
|
2019-12-10 14:05:27 +00:00
|
|
|
"prettier-check": "yarn -s run prettier --write=false",
|
2021-02-05 19:33:59 +00:00
|
|
|
"all:eslint": "DOCSITE_LIST=\"$(./dev/docsite.sh -config doc/docsite.json ls)\" dev/foreach-ts-project.sh yarn -s run eslint --quiet",
|
2020-10-08 13:14:34 +00:00
|
|
|
"all:stylelint": "yarn --cwd client/web run stylelint && yarn --cwd client/shared run stylelint && yarn --cwd client/branded run stylelint && yarn --cwd client/browser run stylelint",
|
2020-10-07 20:23:53 +00:00
|
|
|
"all:tsgql": "yarn --cwd client/web run tsgql validate -p . --exitOnWarn && yarn --cwd client/shared run tsgql validate -p . --exitOnWarn && yarn --cwd client/browser run tsgql validate -p . --exitOnWarn",
|
2020-10-08 13:14:34 +00:00
|
|
|
"build-ts": "tsc -b tsconfig.all.json",
|
2020-09-21 12:17:29 +00:00
|
|
|
"graphql-lint": "graphql-schema-linter cmd/frontend/graphqlbackend/schema.graphql",
|
2020-10-07 20:23:53 +00:00
|
|
|
"build-web": "yarn --cwd client/web run build",
|
2020-10-15 10:12:31 +00:00
|
|
|
"watch-web": "yarn --cwd client/web run watch",
|
2020-08-04 18:54:35 +00:00
|
|
|
"generate": "gulp generate",
|
|
|
|
|
"watch-generate": "gulp watchGenerate",
|
2020-06-03 10:33:59 +00:00
|
|
|
"test": "jest --testPathIgnorePatterns end-to-end regression integration storybook",
|
2020-10-12 14:04:34 +00:00
|
|
|
"test-integration": "TS_NODE_PROJECT=client/web/src/integration/tsconfig.json NODE_NO_WARNINGS=1 mocha --parallel=$CI --retries=1 ./client/web/src/integration/**/*.test.ts",
|
2020-07-10 21:15:18 +00:00
|
|
|
"cover-integration": "nyc --hook-require=false yarn test-integration",
|
2020-10-07 20:23:53 +00:00
|
|
|
"test-e2e": "TS_NODE_PROJECT=client/web/src/end-to-end/tsconfig.json mocha ./client/web/src/end-to-end/end-to-end.test.ts",
|
2020-04-06 21:15:33 +00:00
|
|
|
"cover-e2e": "nyc --hook-require=false yarn test-e2e",
|
2020-11-24 21:34:53 +00:00
|
|
|
"storybook": "start-storybook -p 9001 -c .storybook -s ui/assets",
|
|
|
|
|
"build-storybook": "build-storybook -c .storybook -s ui/assets",
|
2020-05-14 11:15:42 +00:00
|
|
|
"cover-storybook": "nyc --hook-require=false yarn jest .storybook/coverage",
|
2020-12-07 23:51:26 +00:00
|
|
|
"deduplicate": "yarn-deduplicate -s fewer",
|
2020-12-24 06:51:42 +00:00
|
|
|
"release": "cd dev/release && yarn run release",
|
|
|
|
|
"docsite:serve": "./dev/docsite.sh -config doc/docsite.json serve -http=localhost:5080"
|
2018-10-01 06:08:12 +00:00
|
|
|
},
|
2018-11-12 09:05:35 +00:00
|
|
|
"browserslist": [
|
|
|
|
|
"last 1 version",
|
|
|
|
|
">1%",
|
|
|
|
|
"not dead",
|
|
|
|
|
"not <0.25%",
|
|
|
|
|
"last 1 Chrome versions",
|
2021-02-01 11:34:00 +00:00
|
|
|
"last 2 Safari major versions",
|
2018-11-12 09:05:35 +00:00
|
|
|
"not IE > 0"
|
|
|
|
|
],
|
2020-04-06 21:15:33 +00:00
|
|
|
"nyc": {
|
2020-05-14 11:15:42 +00:00
|
|
|
"extends": "@istanbuljs/nyc-config-typescript",
|
2020-04-06 21:15:33 +00:00
|
|
|
"all": true,
|
|
|
|
|
"extension": [
|
|
|
|
|
".tsx",
|
|
|
|
|
".ts"
|
|
|
|
|
],
|
|
|
|
|
"include": [
|
2020-10-09 16:07:06 +00:00
|
|
|
"client/*/src/**/*.ts?(x)"
|
2020-04-06 21:15:33 +00:00
|
|
|
],
|
|
|
|
|
"exclude": [
|
|
|
|
|
"node_modules",
|
|
|
|
|
"**/*.d.ts",
|
|
|
|
|
"**/*.@(test|story).ts?(x)"
|
|
|
|
|
]
|
|
|
|
|
},
|
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": {
|
2020-05-27 06:47:18 +00:00
|
|
|
"@atlassian/aui": "^7.10.1",
|
2020-11-16 13:43:57 +00:00
|
|
|
"@babel/core": "^7.12.3",
|
|
|
|
|
"@babel/plugin-proposal-class-properties": "^7.12.1",
|
|
|
|
|
"@babel/plugin-proposal-decorators": "^7.12.1",
|
|
|
|
|
"@babel/preset-env": "^7.12.1",
|
|
|
|
|
"@babel/preset-typescript": "^7.12.1",
|
|
|
|
|
"@babel/runtime": "^7.12.5",
|
2018-10-17 19:35:10 +00:00
|
|
|
"@gql2ts/from-schema": "^1.10.1",
|
2018-11-01 07:25:26 +00:00
|
|
|
"@gql2ts/language-typescript": "^1.9.0",
|
2020-06-24 09:00:55 +00:00
|
|
|
"@gql2ts/types": "^1.9.0",
|
2020-12-04 00:33:03 +00:00
|
|
|
"@graphql-codegen/cli": "^1.19.4",
|
2020-08-25 10:18:53 +00:00
|
|
|
"@graphql-codegen/typescript": "1.17.9",
|
|
|
|
|
"@graphql-codegen/typescript-operations": "1.17.8",
|
2020-05-14 11:15:42 +00:00
|
|
|
"@istanbuljs/nyc-config-typescript": "^1.0.1",
|
2020-08-14 18:14:05 +00:00
|
|
|
"@mermaid-js/mermaid-cli": "^8.7.0",
|
2020-01-02 02:23:58 +00:00
|
|
|
"@octokit/rest": "^16.36.0",
|
2020-02-04 15:14:09 +00:00
|
|
|
"@percy/puppeteer": "^1.1.0",
|
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",
|
2020-07-16 23:04:08 +00:00
|
|
|
"@slack/web-api": "^5.10.0",
|
2019-06-13 03:43:15 +00:00
|
|
|
"@sourcegraph/babel-plugin-transform-react-hot-loader-wrapper": "^1.0.0",
|
2020-12-10 23:36:16 +00:00
|
|
|
"@sourcegraph/eslint-config": "^0.20.19",
|
2021-02-05 19:33:59 +00:00
|
|
|
"@sourcegraph/eslint-plugin-sourcegraph": "link:client/packages/@sourcegraph/eslint-plugin-sourcegraph",
|
2020-03-22 14:10:21 +00:00
|
|
|
"@sourcegraph/prettierrc": "^3.0.3",
|
2021-02-05 23:26:08 +00:00
|
|
|
"@sourcegraph/stylelint-config": "^1.2.0",
|
2020-03-25 02:35:43 +00:00
|
|
|
"@sourcegraph/tsconfig": "^4.0.1",
|
2021-01-07 10:19:44 +00:00
|
|
|
"@storybook/addon-actions": "^6.1.11",
|
2019-09-21 11:06:46 +00:00
|
|
|
"@storybook/addon-console": "^1.2.1",
|
2021-01-07 10:19:44 +00:00
|
|
|
"@storybook/addon-knobs": "^6.1.11",
|
|
|
|
|
"@storybook/addon-links": "^6.1.11",
|
|
|
|
|
"@storybook/addon-storyshots": "^6.1.11",
|
|
|
|
|
"@storybook/addon-storyshots-puppeteer": "^6.1.11",
|
|
|
|
|
"@storybook/addons": "^6.1.11",
|
|
|
|
|
"@storybook/components": "^6.1.11",
|
|
|
|
|
"@storybook/core": "^6.1.11",
|
|
|
|
|
"@storybook/react": "^6.1.11",
|
|
|
|
|
"@storybook/theming": "^6.1.11",
|
2021-02-10 09:44:20 +00:00
|
|
|
"@testing-library/jest-dom": "^5.11.9",
|
2020-08-07 20:06:33 +00:00
|
|
|
"@testing-library/react": "^10.4.8",
|
2020-08-07 19:56:10 +00:00
|
|
|
"@testing-library/react-hooks": "^3.4.1",
|
2020-11-03 03:19:56 +00:00
|
|
|
"@types/babel__core": "7.1.12",
|
2020-11-03 07:34:01 +00:00
|
|
|
"@types/chai": "4.2.14",
|
2020-07-06 22:45:58 +00:00
|
|
|
"@types/chai-as-promised": "7.1.3",
|
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",
|
2019-03-02 10:07:19 +00:00
|
|
|
"@types/d3-axis": "1.0.12",
|
2020-04-01 15:40:13 +00:00
|
|
|
"@types/d3-scale": "2.2.0",
|
2019-03-02 10:24:47 +00:00
|
|
|
"@types/d3-selection": "1.4.1",
|
2019-11-01 08:14:00 +00:00
|
|
|
"@types/d3-shape": "1.3.2",
|
2020-11-01 07:20:34 +00:00
|
|
|
"@types/enzyme": "3.10.8",
|
2020-02-01 08:09:55 +00:00
|
|
|
"@types/expect": "24.3.0",
|
2019-03-02 10:41:51 +00:00
|
|
|
"@types/fancy-log": "1.3.1",
|
2020-06-01 07:19:14 +00:00
|
|
|
"@types/got": "9.6.11",
|
2020-10-02 03:51:17 +00:00
|
|
|
"@types/gulp": "4.0.7",
|
2020-04-01 15:40:54 +00:00
|
|
|
"@types/he": "1.1.1",
|
2020-06-01 07:19:52 +00:00
|
|
|
"@types/highlight.js": "9.12.4",
|
2019-09-01 07:16:18 +00:00
|
|
|
"@types/is-absolute-url": "3.0.0",
|
2021-01-07 10:48:34 +00:00
|
|
|
"@types/jest": "26.0.20",
|
2020-12-01 08:22:55 +00:00
|
|
|
"@types/js-cookie": "2.2.6",
|
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",
|
2020-12-03 22:57:37 +00:00
|
|
|
"@types/marked": "1.2.1",
|
2020-07-13 19:22:02 +00:00
|
|
|
"@types/mime-types": "2.1.0",
|
2021-01-13 11:32:13 +00:00
|
|
|
"@types/mini-css-extract-plugin": "1.2.2",
|
2021-01-01 08:39:41 +00:00
|
|
|
"@types/mocha": "8.2.0",
|
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",
|
2020-05-08 15:23:18 +00:00
|
|
|
"@types/node": "13.13.5",
|
2019-10-07 23:32:53 +00:00
|
|
|
"@types/optimize-css-assets-webpack-plugin": "5.0.1",
|
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",
|
2021-01-01 08:40:50 +00:00
|
|
|
"@types/puppeteer": "5.4.2",
|
2020-11-27 14:52:40 +00:00
|
|
|
"@types/react": "17.0.0",
|
2020-03-03 06:22:56 +00:00
|
|
|
"@types/react-circular-progressbar": "1.0.2",
|
2020-06-01 08:17:38 +00:00
|
|
|
"@types/react-dom": "16.9.8",
|
2020-08-01 08:48:37 +00:00
|
|
|
"@types/react-grid-layout": "0.17.2",
|
2019-07-01 07:11:21 +00:00
|
|
|
"@types/react-hot-loader": "4.1.0",
|
2021-01-07 10:51:07 +00:00
|
|
|
"@types/react-router": "5.1.10",
|
2021-01-01 15:23:24 +00:00
|
|
|
"@types/react-router-dom": "5.1.7",
|
2020-02-03 18:47:00 +00:00
|
|
|
"@types/react-stripe-elements": "6.0.4",
|
2020-02-01 13:09:18 +00:00
|
|
|
"@types/react-test-renderer": "16.9.2",
|
2020-03-01 09:13:08 +00:00
|
|
|
"@types/reactstrap": "8.4.2",
|
2021-01-01 10:03:20 +00:00
|
|
|
"@types/recharts": "1.8.18",
|
2020-12-01 13:27:23 +00:00
|
|
|
"@types/resize-observer-browser": "0.1.4",
|
2020-05-26 12:16:53 +00:00
|
|
|
"@types/sanitize-html": "1.23.0",
|
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",
|
2019-11-01 12:14:42 +00:00
|
|
|
"@types/simmerjs": "0.5.1",
|
2020-06-04 10:06:26 +00:00
|
|
|
"@types/sinon": "9.0.4",
|
2020-08-01 08:49:15 +00:00
|
|
|
"@types/socket.io": "2.1.10",
|
2020-06-01 15:06:26 +00:00
|
|
|
"@types/socket.io-client": "1.4.33",
|
2019-04-15 21:52:51 +00:00
|
|
|
"@types/textarea-caret": "3.0.0",
|
2020-08-07 19:55:38 +00:00
|
|
|
"@types/uuid": "8.0.1",
|
2020-11-21 03:30:43 +00:00
|
|
|
"@types/webpack": "4.41.25",
|
2020-11-21 04:31:51 +00:00
|
|
|
"@types/webpack-dev-server": "3.11.1",
|
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",
|
2020-05-26 12:17:39 +00:00
|
|
|
"babel-jest": "^25.5.1",
|
2020-11-16 13:43:57 +00:00
|
|
|
"babel-loader": "^8.2.1",
|
2018-11-12 09:05:35 +00:00
|
|
|
"babel-plugin-lodash": "^3.3.4",
|
2020-12-04 14:19:19 +00:00
|
|
|
"babel-preset-react-app": "^10.0.0",
|
2020-05-08 15:17:11 +00:00
|
|
|
"browserslist": "^4.12.0",
|
2020-01-18 16:32:30 +00:00
|
|
|
"bundlesize": "^0.18.0",
|
2019-05-01 13:27:33 +00:00
|
|
|
"chai": "^4.2.0",
|
use jest for testing (#1456)
Goal: help people write reliable UI code by making it easier to write and run tests.
Using Facebook's [jest](https://jestjs.io) for tests helps us achieve this goal because:
- jest has great first-class support for testing React components (see https://jestjs.io/docs/en/tutorial-react) and is by far the most popular way that people test React components, so the bugs are ironed out and the tooling is good
- jest can run all of our tests (`shared/`, `web/`, and `client/browser/` -- and unit tests **AND** e2e tests) from the same runner (`yarn test` in the root dir)
- jest has a great `--watch` UI and a good [vscode-jest extension](https://github.com/jest-community/vscode-jest)
- debugging tests in VS Code works with no additional effort
- jest requires a lot less configuration and code to set up testing and coverage than Mocha (no `--require ts-node --require source-map-support mocha.opts --require long-stack-traces --require esm ...`, no test-time bundling required using `unit-test-utils.ts`, etc.)
**Note:** Most of the diff is from https://github.com/skovhus/jest-codemods, which automatically updates our test code to use jest style (`describe`, `test`, `expect`, etc., not `it` and `assert`).
jest appears to be the most popular tool for solving the problem that we have (testing a large web/multi-platform application), and it was surprisingly painless to set up and a joy to use.
TODOs:
- [x] Make it pass on Buildkite
- [x] Ensure e2e, screenshots-after-failures, and coverage still work on Buildkite
- [x] Test on macOS
- [x] Add docs to repo
---
Usage:
> This is also documented in `doc/dev/testing.md` and `doc/dev/web_app.md`.
- To run all unit tests, run `yarn test` from the root directory.
- To run unit tests in development (only running the tests related to uncommitted code), run `yarn test --watch`.
- And/or use [vscode-jest](https://github.com/jest-community/vscode-jest) with `jest.autoEnable: true` (and, if you want, `jest.showCoverageOnLoad: true`)
- To debug tests in VS Code, use [vscode-jest](https://github.com/jest-community/vscode-jest) and click the **Debug** code lens next to any `test('name ...', ...)` definition in your test file (be sure to set a breakpoint or break on uncaught exceptions by clicking in the left gutter).
- e2e tests:
- To run e2e tests for the browser extension: `cd client/browser && yarn test-e2e`
- To run e2e tests for the browser extension: `cd web && yarn test-e2e`
- You can also run `yarn test` from any of the individual project dirs (`shared/`, `web/`, `client/browser/`).
Usually while developing you will either have `yarn test --watch` running in a terminal or you will use vscode-jest.
---
Notes:
- There are no regressions. The following are all preserved as before: Puppeteer screenshots after test failures, jsdom tests, e2e tests, Codecov and lcov coverage, VS Code integration, etc.
- You will need to write tests using [jest matchers](https://jestjs.io/docs/en/using-matchers) (or [jest async matchers](https://jestjs.io/docs/en/asynchronous) for async code), not `assert`. They are very similar.
- You need to use `test()` instead of `it()` for defining test cases.
2018-12-17 02:13:40 +00:00
|
|
|
"chai-as-promised": "^7.1.1",
|
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",
|
2021-01-06 13:46:32 +00:00
|
|
|
"chromatic": "^5.5.0",
|
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",
|
2020-03-07 00:23:52 +00:00
|
|
|
"cross-env": "^7.0.2",
|
2020-07-07 12:07:46 +00:00
|
|
|
"css-loader": "^3.6.0",
|
2020-06-04 07:59:12 +00:00
|
|
|
"enzyme": "^3.11.0",
|
2020-09-23 22:38:34 +00:00
|
|
|
"enzyme-adapter-react-16": "^1.15.4",
|
2020-06-04 20:17:51 +00:00
|
|
|
"enzyme-to-json": "^3.5.0",
|
2021-01-04 06:20:35 +00:00
|
|
|
"eslint": "^7.17.0",
|
2020-06-15 13:39:19 +00:00
|
|
|
"eslint-formatter-lsif": "^1.0.3",
|
2021-01-14 13:38:09 +00:00
|
|
|
"execa": "^5.0.0",
|
2018-12-30 08:56:48 +00:00
|
|
|
"fancy-log": "^1.3.3",
|
2020-02-01 16:15:46 +00:00
|
|
|
"get-port": "^5.1.1",
|
2020-03-03 06:18:07 +00:00
|
|
|
"googleapis": "^47.0.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",
|
2019-09-09 01:52:46 +00:00
|
|
|
"gulp": "^4.0.2",
|
2019-01-08 07:44:08 +00:00
|
|
|
"identity-obj-proxy": "^3.0.0",
|
2020-05-26 12:17:39 +00:00
|
|
|
"jest": "^25.5.4",
|
2021-02-01 20:53:50 +00:00
|
|
|
"jest-canvas-mock": "^2.3.0",
|
2019-11-04 14:46:31 +00:00
|
|
|
"jsdom": "^15.2.1",
|
2020-08-07 18:14:04 +00:00
|
|
|
"json-schema-ref-parser": "^9.0.6",
|
2020-07-11 23:32:17 +00:00
|
|
|
"json-schema-to-typescript": "^9.1.1",
|
2019-09-09 03:22:53 +00:00
|
|
|
"latest-version": "^5.1.0",
|
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-01-13 11:32:13 +00:00
|
|
|
"mini-css-extract-plugin": "^1.3.3",
|
2020-11-27 04:46:09 +00:00
|
|
|
"mocha": "^8.2.1",
|
2020-06-01 14:30:40 +00:00
|
|
|
"mockdate": "^3.0.2",
|
2020-01-07 16:45:52 +00:00
|
|
|
"monaco-editor-webpack-plugin": "^1.8.2",
|
2018-10-01 06:08:12 +00:00
|
|
|
"mz": "^2.7.0",
|
2019-09-20 20:21:24 +00:00
|
|
|
"node-fetch": "^2.6.0",
|
2020-06-04 10:09:08 +00:00
|
|
|
"nyc": "^15.1.0",
|
2020-06-01 13:18:22 +00:00
|
|
|
"open": "^7.0.4",
|
2019-08-06 10:51:42 +00:00
|
|
|
"optimize-css-assets-webpack-plugin": "^5.0.3",
|
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",
|
2021-01-13 11:30:42 +00:00
|
|
|
"postcss": "^8.2.4",
|
2020-05-20 13:20:28 +00:00
|
|
|
"postcss-focus-visible": "^5.0.0",
|
2020-12-03 01:17:51 +00:00
|
|
|
"postcss-loader": "^4.1.0",
|
2021-01-13 13:08:17 +00:00
|
|
|
"prettier": "^2.2.1",
|
2020-11-21 04:28:26 +00:00
|
|
|
"puppeteer": "5.5.0",
|
2020-02-01 16:12:45 +00:00
|
|
|
"puppeteer-firefox": "^0.5.1",
|
2020-09-15 07:27:16 +00:00
|
|
|
"raw-loader": "^4.0.1",
|
2019-01-08 07:44:08 +00:00
|
|
|
"react-docgen-typescript-webpack-plugin": "^1.1.0",
|
2020-11-27 15:03:27 +00:00
|
|
|
"react-hot-loader": "^4.13.0",
|
2020-11-27 04:48:18 +00:00
|
|
|
"react-test-renderer": "^16.14.0",
|
2021-01-13 11:29:09 +00:00
|
|
|
"sass": "^1.32.4",
|
2020-11-13 11:12:44 +00:00
|
|
|
"sass-loader": "^10.1.0",
|
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",
|
2020-03-03 06:04:38 +00:00
|
|
|
"socket.io": "^2.3.0",
|
|
|
|
|
"socket.io-client": "^2.3.0",
|
2020-10-11 17:15:43 +00:00
|
|
|
"storybook-addon-designs": "^5.4.2",
|
2021-01-06 11:50:39 +00:00
|
|
|
"storybook-dark-mode": "^1.0.4",
|
2020-01-17 17:43:24 +00:00
|
|
|
"string-width": "^4.2.0",
|
2020-10-11 12:36:21 +00:00
|
|
|
"style-loader": "^2.0.0",
|
2020-12-01 08:30:54 +00:00
|
|
|
"stylelint": "^13.8.0",
|
2020-02-03 15:41:11 +00:00
|
|
|
"term-size": "^2.2.0",
|
2020-11-21 03:33:26 +00:00
|
|
|
"terser-webpack-plugin": "^4.2.3",
|
2020-12-05 02:40:27 +00:00
|
|
|
"thread-loader": "^3.0.1",
|
2020-04-20 16:05:16 +00:00
|
|
|
"to-string-loader": "^1.1.6",
|
2021-01-06 11:38:10 +00:00
|
|
|
"ts-graphql-plugin": "^2.1.2",
|
2020-08-26 10:07:57 +00:00
|
|
|
"ts-morph": "^8.1.0",
|
2020-12-04 23:08:56 +00:00
|
|
|
"ts-node": "^9.1.0",
|
2021-01-06 11:37:49 +00:00
|
|
|
"typescript": "^4.1.3",
|
2020-06-03 07:10:10 +00:00
|
|
|
"utc-version": "^2.0.2",
|
2020-06-05 15:24:46 +00:00
|
|
|
"web-ext": "^4.2.0",
|
2020-11-21 03:30:43 +00:00
|
|
|
"webpack": "^4.44.2",
|
2020-10-11 13:13:45 +00:00
|
|
|
"webpack-bundle-analyzer": "^3.9.0",
|
2021-01-06 13:48:11 +00:00
|
|
|
"webpack-dev-server": "^3.11.1",
|
2020-10-11 11:45:21 +00:00
|
|
|
"worker-loader": "^3.0.4",
|
2021-01-13 11:27:36 +00:00
|
|
|
"yarn-deduplicate": "^3.1.0"
|
2018-11-12 09:05:35 +00:00
|
|
|
},
|
|
|
|
|
"dependencies": {
|
2020-11-27 15:05:09 +00:00
|
|
|
"@hot-loader/react-dom": "^16.14.0",
|
2020-05-14 06:20:37 +00:00
|
|
|
"@reach/accordion": "^0.10.2",
|
2020-10-08 23:47:57 +00:00
|
|
|
"@reach/dialog": "^0.11.2",
|
2020-05-14 05:53:56 +00:00
|
|
|
"@reach/listbox": "^0.10.1",
|
2020-05-11 23:42:58 +00:00
|
|
|
"@reach/menu-button": "0.10.2",
|
2020-07-01 23:09:52 +00:00
|
|
|
"@sentry/browser": "^5.19.0",
|
2018-11-12 09:05:35 +00:00
|
|
|
"@slimsag/react-shortcuts": "^1.2.1",
|
2020-12-02 17:59:37 +00:00
|
|
|
"@sourcegraph/codeintellify": "^7.2.0",
|
2020-07-16 22:19:09 +00:00
|
|
|
"@sourcegraph/extension-api-classes": "^1.1.0",
|
2020-10-07 20:23:53 +00:00
|
|
|
"@sourcegraph/extension-api-types": "link:client/packages/@sourcegraph/extension-api-types",
|
2018-12-17 05:00:57 +00:00
|
|
|
"@sourcegraph/react-loading-spinner": "0.0.7",
|
2018-11-12 09:05:35 +00:00
|
|
|
"@sqs/jsonc-parser": "^1.0.3",
|
2020-08-07 19:14:57 +00:00
|
|
|
"bootstrap": "^4.5.2",
|
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",
|
2019-05-01 14:28:21 +00:00
|
|
|
"d3-axis": "^1.0.12",
|
2020-03-03 12:07:28 +00:00
|
|
|
"d3-scale": "^3.2.1",
|
2020-02-03 14:23:55 +00:00
|
|
|
"d3-selection": "^1.4.1",
|
2020-02-03 12:59:48 +00:00
|
|
|
"d3-shape": "^1.3.7",
|
2020-11-21 04:32:41 +00:00
|
|
|
"date-fns": "^2.16.1",
|
2019-11-27 15:15:05 +00:00
|
|
|
"delay": "^4.3.0",
|
2020-01-02 02:21:31 +00:00
|
|
|
"downshift": "^3.4.8",
|
2020-11-27 15:00:59 +00:00
|
|
|
"focus-visible": "^5.2.0",
|
2020-08-07 19:01:19 +00:00
|
|
|
"got": "^11.5.2",
|
2021-01-13 11:33:26 +00:00
|
|
|
"graphiql": "^1.3.2",
|
2018-12-07 18:50:22 +00:00
|
|
|
"he": "^1.2.0",
|
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",
|
2019-11-01 22:16:29 +00:00
|
|
|
"is-absolute-url": "^3.0.3",
|
2020-11-16 23:32:12 +00:00
|
|
|
"iterare": "^1.2.1",
|
2020-11-20 22:52:02 +00:00
|
|
|
"js-cookie": "^2.2.1",
|
2020-08-24 22:10:04 +00:00
|
|
|
"lodash": "^4.17.20",
|
2021-01-13 11:24:05 +00:00
|
|
|
"marked": "^1.2.7",
|
2020-05-28 07:50:43 +00:00
|
|
|
"mdi-react": "^7.3.0",
|
2018-11-12 09:05:35 +00:00
|
|
|
"minimatch": "^3.0.4",
|
2019-12-03 15:53:57 +00:00
|
|
|
"monaco-editor": "^0.18.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",
|
2019-08-06 10:41:11 +00:00
|
|
|
"pretty-bytes": "^5.3.0",
|
2020-11-27 04:48:18 +00:00
|
|
|
"react": "^16.14.0",
|
2020-03-03 14:33:21 +00:00
|
|
|
"react-circular-progressbar": "^2.0.3",
|
2020-11-27 04:48:33 +00:00
|
|
|
"react-dom": "npm:@hot-loader/react-dom@^16.14.0",
|
2020-07-03 00:47:01 +00:00
|
|
|
"react-dom-confetti": "^0.1.4",
|
2020-10-08 23:47:57 +00:00
|
|
|
"react-focus-lock": "^2.4.1",
|
2020-05-15 17:22:22 +00:00
|
|
|
"react-grid-layout": "^0.18.3",
|
2020-06-01 14:06:27 +00:00
|
|
|
"react-router": "^5.2.0",
|
|
|
|
|
"react-router-dom": "^5.2.0",
|
2020-06-03 07:02:16 +00:00
|
|
|
"react-stripe-elements": "^6.1.2",
|
2019-10-02 13:37:10 +00:00
|
|
|
"react-visibility-sensor": "^5.1.1",
|
2020-02-01 15:46:57 +00:00
|
|
|
"reactstrap": "^8.4.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",
|
2020-11-27 04:51:49 +00:00
|
|
|
"rxjs": "^6.6.3",
|
2020-06-04 10:04:58 +00:00
|
|
|
"sanitize-html": "^1.26.0",
|
2020-05-08 15:26:09 +00:00
|
|
|
"semver": "^7.3.2",
|
2020-08-20 08:53:08 +00:00
|
|
|
"shepherd.js": "^8.0.2",
|
2020-10-07 20:23:53 +00:00
|
|
|
"sourcegraph": "link:client/packages/sourcegraph-extension-api",
|
2018-11-12 09:05:35 +00:00
|
|
|
"string-score": "^1.0.1",
|
2020-04-20 16:05:16 +00:00
|
|
|
"tagged-template-noop": "^2.1.1",
|
2019-04-15 20:44:57 +00:00
|
|
|
"textarea-caret": "^3.1.0",
|
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",
|
2021-01-14 13:39:59 +00:00
|
|
|
"use-deep-compare-effect": "^1.6.1",
|
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",
|
2020-05-15 16:24:12 +00:00
|
|
|
"webext-domain-permission-toggle": "^1.0.1",
|
2020-12-09 20:26:03 +00:00
|
|
|
"webext-patterns": "^0.9.0",
|
2020-05-15 18:41:22 +00:00
|
|
|
"webextension-polyfill": "^0.6.0"
|
2019-06-12 12:07:44 +00:00
|
|
|
},
|
|
|
|
|
"resolutions": {
|
2020-09-23 20:21:31 +00:00
|
|
|
"history": "4.5.1",
|
2020-11-16 16:15:08 +00:00
|
|
|
"cssnano": "4.1.10"
|
2018-10-01 06:08:12 +00:00
|
|
|
}
|
|
|
|
|
}
|