-
Anton Kulyk authoredAnton Kulyk authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
This project manages its dependencies using yarn.
Learn more
package.json 13.20 KiB
{
"name": "metabase",
"private": true,
"version": "0.0.0",
"description": "Metabase Analytics Report Server",
"repository": "https://github.com/metabase/metabase",
"license": "private",
"engines": {
"node": ">=14.2",
"yarn": ">=1.12.3"
},
"dependencies": {
"@emotion/react": "^11.7.1",
"@emotion/styled": "^11.6.0",
"@react-oauth/google": "^0.2.1",
"@snowplow/browser-tracker": "^3.1.6",
"@tippyjs/react": "^4.2.6",
"@visx/axis": "1.8.0",
"@visx/clip-path": "^2.1.0",
"@visx/grid": "1.16.0",
"@visx/group": "1.7.0",
"@visx/scale": "1.7.0",
"@visx/shape": "1.8.0",
"@visx/text": "1.7.0",
"ace-builds": "^1.4.7",
"arg": "^5.0.0",
"classlist-polyfill": "^1.2.0",
"classnames": "^2.1.3",
"color": "^3.0.0",
"color-harmony": "^0.3.0",
"core-js": "^3.1.4",
"cron-expression-validator": "^1.0.20",
"cronstrue": "^2.11.0",
"crossfilter": "^1.3.12",
"cy2": "^1.3.0",
"d3": "^3.5.17",
"d3-array": "^3.1.1",
"d3-scale": "^2.1.0",
"dc": "2.1.9",
"diff": "^3.2.0",
"eslint-plugin-no-only-tests": "^2.4.0",
"formik": "^2.2.9",
"history": "3",
"humanize-plus": "^1.8.1",
"icepick": "2.4.0",
"iframe-resizer": "^4.3.2",
"inflection": "^1.7.1",
"isomorphic-fetch": "^2.2.1",
"js-cookie": "^2.1.2",
"jsrsasign": "^10.5.25",
"leaflet": "^1.2.0",
"leaflet-draw": "^0.4.9",
"leaflet.heat": "^0.2.0",
"mochawesome": "^7.1.3",
"mochawesome-merge": "^4.2.1",
"mochawesome-report-generator": "^6.2.0",
"moment-timezone": "^0.5.26",
"mustache": "^2.3.2",
"node-polyfill-webpack-plugin": "^1.1.2",
"normalizr": "^3.0.2",
"number-to-locale-string": "^1.0.1",
"password-generator": "^2.0.1",
"prop-types": "^15.5.7",
"raf-schd": "^4.0.3",
"re-reselect": "^3.4.0",
"react": "~16.14.0",
"react-ace": "^9.5.0",
"react-ansi-style": "^1.0.0",
"react-collapse": "^4.0.3",
"react-color": "^2.14.1",
"react-copy-to-clipboard": "^5.0.1",
"react-dnd": "3",
"react-dnd-html5-backend": "3",
"react-dom": "~16.14.0",
"react-draggable": "^3.3.2",
"react-element-to-jsx-string": "^13.1.0",
"react-grid-layout": "^1.2.5",
"react-is": "^17.0.2",
"react-markdown": "^6.0.2",
"react-motion": "0.5.2",
"react-redux": "^5.0.4",
"react-resizable": "^1.9.0",
"react-router": "3",
"react-router-redux": "^4.0.8",
"react-sortable-hoc": "^1.11.0",
"react-textarea-autosize": "^5.2.1",
"react-transition-group": "1",
"react-virtualized": "^9.7.2",
"redux": "^3.5.2",
"redux-actions": "^2.0.1",
"redux-auth-wrapper": "^1.0.0",
"redux-form": "5",
"redux-logger": "^3.0.1",
"redux-promise": "^0.5.0",
"redux-router": "^2.1.2",
"regenerator": "^0.14.1",
"regexp.escape": "^1.1.0",
"remark-gfm": "1.0.0",
"reselect": "^3.0.0",
"screenfull": "^4.2.1",
"simple-statistics": "^3.0.0",
"slugg": "^1.2.1",
"styled-system": "2.2.5",
"tether": "^1.2.0",
"tippy.js": "^6.3.5",
"ttag": "1.7.15",
"underscore": "~1.13.3",
"yarn.lock": "^0.0.1-security",
"z-index": "0.0.1"
},
"devDependencies": {
"@babel/cli": "^7.14.5",
"@babel/core": "^7.14.6",
"@babel/node": "^7.14.7",
"@babel/preset-env": "^7.14.7",
"@babel/preset-react": "^7.14.5",
"@babel/preset-typescript": "^7.17.12",
"@bahmutov/cypress-esbuild-preprocessor": "^2.1.3",
"@cypress/skip-test": "^2.6.1",
"@emotion/babel-plugin": "^11.7.2",
"@percy/cli": "^1.3.0",
"@percy/cypress": "^3.1.1",
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.5",
"@sinonjs/fake-timers": "^9.1.2",
"@storybook/addon-actions": "^6.4.22",
"@storybook/addon-essentials": "^6.4.22",
"@storybook/addon-links": "^6.4.22",
"@storybook/builder-webpack5": "^6.4.22",
"@storybook/client-api": "6.4.22",
"@storybook/manager-webpack5": "^6.4.22",
"@storybook/react": "^6.4.22",
"@testing-library/cypress": "^8.0.2",
"@testing-library/dom": "^7.29.0",
"@testing-library/jest-dom": "^4.0.0",
"@testing-library/react": "^11.0.2",
"@testing-library/react-hooks": "^8.0.0",
"@testing-library/user-event": "^12.6.0",
"@types/babel__core": "^7.1.16",
"@types/babel__preset-env": "^7.9.2",
"@types/color": "^3.0.2",
"@types/concurrently": "^6.3.0",
"@types/core-js": "^2.5.5",
"@types/crossfilter": "^0.0.34",
"@types/d3": "^3.5.46",
"@types/d3-scale": "^2.2.6",
"@types/dc": "0.0.29",
"@types/diff": "^3.5.4",
"@types/eslint": "7.29.0",
"@types/glob": "^7.1.4",
"@types/history": "3.2.5",
"@types/humanize-plus": "^1.8.0",
"@types/icepick": "2.3.0",
"@types/iframe-resizer": "^3.5.9",
"@types/inflection": "^1.13.0",
"@types/isomorphic-fetch": "^0.0.35",
"@types/js-cookie": "^2.2.7",
"@types/jsonwebtoken": "^7.2.8",
"@types/jsrsasign": "^8.0.13",
"@types/leaflet": "^1.7.5",
"@types/leaflet-draw": "^0.4.14",
"@types/leaflet.heat": "^0.2.1",
"@types/mini-css-extract-plugin": "^2.4.0",
"@types/mockdate": "^3.0.0",
"@types/moment-timezone": "^0.5.26",
"@types/mustache": "^4.1.2",
"@types/postcss-import": "^12.0.1",
"@types/postcss-url": "^8.0.2",
"@types/prettier": "1.19.1",
"@types/prop-types": "^15.7.4",
"@types/raf": "^3.4.0",
"@types/raf-schd": "^4.0.1",
"@types/react": "~16.14.17",
"@types/react-collapse": "^5.0.1",
"@types/react-color": "^2.17.6",
"@types/react-copy-to-clipboard": "^5.0.2",
"@types/react-dom": "~17.0.9",
"@types/react-grid-layout": "^1.1.3",
"@types/react-is": "^17.0.3",
"@types/react-motion": "0.0.32",
"@types/react-redux": "^5.0.22",
"@types/react-resizable": "^1.7.4",
"@types/react-router": "3.0.28",
"@types/react-router-redux": "^4.0.53",
"@types/react-textarea-autosize": "^4.3.6",
"@types/react-transition-group": "1.1.8",
"@types/react-virtualized": "^9.21.13",
"@types/redux-actions": "^2.6.2",
"@types/redux-auth-wrapper": "^1.0.7",
"@types/redux-form": "5.0.2",
"@types/redux-logger": "^3.0.9",
"@types/redux-promise": "^0.5.29",
"@types/redux-router": "^1.0.45",
"@types/styled-system": "2.3.2",
"@types/testing-library__jest-dom": "^5.14.1",
"@types/tether": "^1.4.6",
"@types/underscore": "^1.11.3",
"@types/webpack-dev-server": "^4.7.2",
"@typescript-eslint/eslint-plugin": "^5.27.0",
"@typescript-eslint/parser": "^5.27.0",
"babel-eslint": "10.1.0",
"babel-jest": "^27.0.6",
"babel-loader": "^8.2.2",
"babel-plugin-ttag": "^1.7.26",
"chromatic": "^6.3.3",
"concurrently": "^3.1.0",
"css-loader": "^0.28.7",
"cypress": "9.7.0",
"cypress-grep": "^2.13.1",
"cypress-real-events": "^1.7.0",
"documentation": "^13.2.5",
"esbuild": "^0.14.49",
"eslint": "7.32.0",
"eslint-import-resolver-webpack": "^0.8.3",
"eslint-loader": "4.0.2",
"eslint-plugin-cypress": "^2.12.1",
"eslint-plugin-import": "^2.22.0",
"eslint-plugin-react": "^7.22.0",
"eslint-plugin-react-hooks": "^4.2.0",
"glob": "^7.1.1",
"html-webpack-harddisk-plugin": "^2.0.0",
"html-webpack-plugin": "^5.3.1",
"husky": "^7.0.4",
"jest": "^27.0.6",
"jest-canvas-mock": "^2.4.0",
"jest-localstorage-mock": "^2.2.0",
"jest-watch-typeahead": "^0.6.4",
"jsonwebtoken": "^8.5.1",
"lint-staged": "^12.3.2",
"mini-css-extract-plugin": "^1.6.0",
"mockdate": "^2.0.2",
"mutationobserver-shim": "^0.3.7",
"postcss": "~8.4.13",
"postcss-color-mod-function": "^3.0.3",
"postcss-import": "^14.0.2",
"postcss-loader": "^6.2.0",
"postcss-preset-env": "^6.7.0",
"postcss-url": "^10.1.3",
"prettier": "^2.7.1",
"promise-loader": "^1.0.0",
"raf": "^3.4.0",
"react-refresh": "^0.13.0",
"shadow-cljs": "2.19.6",
"style-loader": "0.23.1",
"typescript": "^4.7.2",
"webpack": "^5.69.0",
"webpack-cli": "^4.9.2",
"webpack-dev-server": "^4.7.4",
"webpack-notifier": "^1.8.0",
"xhr-mock": "^2.4.1",
"xlsx": "0.18.3",
"yaml-lint": "~1.6.0"
},
"resolutions": {
"ansi-regex": "5.0.1",
"nth-check": "2.0.1",
"set-value": "4.0.1",
"immer": "9.0.6",
"ansi-html": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz",
"prismjs": "1.27.0",
"nanoid": "3.1.31",
"minimist": "1.2.6",
"node-forge": "1.3.0"
},
"scripts": {
"concurrently": "yarn && concurrently --kill-others -p name",
"dev": "yarn concurrently -n 'backend,frontend,cljs,docs' -c 'blue,green,yellow,magenta' 'clojure -M:run' 'yarn build-hot:js' 'yarn build-hot:cljs' 'yarn docs'",
"dev-ee": "yarn concurrently -n 'backend,frontend,cljs,docs' -c 'blue,green,yellow,magenta' 'clojure -M:run:ee' 'MB_EDITION=ee yarn build-hot:js' 'MB_EDITION=ee yarn build-hot:cljs' 'yarn docs'",
"type-check": "yarn && tsc --noEmit",
"remove-webpack-cache": "rm -rf ./node_modules/.cache",
"lint": "yarn lint-eslint && yarn lint-prettier && yarn lint-docs-links && yarn lint-yaml && yarn type-check",
"lint-eslint": "yarn build-quick:cljs && eslint --ext .js,.jsx,.ts,.tsx --rulesdir frontend/lint/eslint-rules --max-warnings 0 enterprise/frontend/src frontend/src frontend/test",
"lint-prettier": "yarn && prettier -l '{enterprise/,}frontend/**/*.{js,jsx,ts,tsx,css}' || (echo '\nThese files are not formatted correctly. Did you forget to \"yarn prettier\"?' && false)",
"lint-docs-links": "yarn && ./bin/verify-doc-links",
"lint-yaml": "yamllint **/*.{yaml,yml} --ignore=node_modules/**/*.{yaml,yml}",
"test": "yarn test-unit && yarn test-timezones && yarn test-cypress",
"test-unit": "yarn build-quick:cljs && jest --silent --maxWorkers=2 --config jest.unit.conf.json",
"test-unit-watch": "yarn test-unit --watch",
"test-timezones-unit": "yarn build-quick:cljs && jest --silent --maxWorkers=2 --config jest.tz.unit.conf.json",
"test-timezones": "yarn && ./frontend/test/__runner__/run_timezone_tests",
"build:js": "yarn && webpack --bail",
"build-watch:js": "yarn && webpack --watch",
"build-hot:js": "yarn && NODE_OPTIONS=--max-old-space-size=8096 WEBPACK_BUNDLE=hot webpack serve --progress --host 0.0.0.0",
"build:cljs": "yarn && rm -rf frontend/src/cljs/* && shadow-cljs release app",
"build-quick:cljs": "yarn build:cljs",
"build-watch:cljs": "yarn cljs-server-restart && shadow-cljs watch app",
"build-hot:cljs": "yarn cljs-server-restart && shadow-cljs watch app",
"cljs-server-start": "yarn && shadow-cljs start",
"cljs-server-stop": "yarn && shadow-cljs stop",
"cljs-server-restart": "yarn && shadow-cljs restart",
"cljs-nrepl": "yarn && shadow-cljs node-repl -d cider/cider-nrepl:0.25.8 -d cider/piggieback:0.5.1 -d refactor-nrepl:2.5.1",
"test-cljs": "yarn && shadow-cljs compile test && node target/node-tests.js",
"build": "yarn build:cljs && yarn build:js",
"build-watch": "yarn concurrently -n 'cljs,js' 'yarn build-watch:cljs' 'yarn build-watch:js'",
"build-hot": "yarn concurrently -n 'cljs,js' 'yarn build-hot:cljs' 'yarn build-hot:js'",
"build-stats": "yarn && webpack --json > stats.json",
"build-shared": "yarn && webpack --config webpack.shared.config.js",
"build-static-viz": "yarn && webpack --config webpack.static-viz.config.js",
"precommit": "lint-staged",
"preinstall": "echo $npm_execpath | grep -q yarn || echo '\\033[0;33mSorry, npm is not supported. Please use Yarn (https://yarnpkg.com/).\\033[0m'",
"prettier": "prettier --write '{enterprise/,}frontend/**/*.{js,jsx,ts,tsx,css}'",
"eslint-fix": "yarn && eslint --fix --ext .js,.jsx,.ts,.tsx --rulesdir frontend/lint/eslint-rules {enterprise/,}frontend/{src,test}",
"docs": "documentation serve --watch frontend/src/metabase-lib/lib/**",
"ci": "yarn ci-frontend && yarn ci-backend",
"ci-frontend": "yarn lint && yarn test",
"ci-backend": "clojure -X:dev:ee:ee-dev:drivers:drivers-dev:eastwood && clojure -X:dev:test",
"test-cypress-run": "node ./frontend/test/__runner__/run_cypress_tests.js",
"test-cypress-open": "./bin/build-for-test && yarn test-cypress-run --open",
"test-cypress-open-no-backend": "E2E_HOST='http://localhost:3000' yarn test-cypress-run --open",
"test-cypress": "yarn build && ./bin/build-for-test && yarn test-cypress-run",
"clean-cypress-artifacts": "rm -R -f cypress/",
"generate-cypress-html-report": "mochawesome-merge cypress/reports/mochareports/*.json > cypress/reports/cypress-test-report.json && marge cypress/reports/cypress-test-report.json -o cypress/reports/mochareports --inline",
"test-visual-run": "percy exec -- yarn test-cypress-run --spec \"./frontend/test/metabase-visual/**/*.cy.spec.js\"",
"test-visual-open": "percy exec -- yarn test-cypress-open",
"test-visual": "yarn build && ./bin/build-for-test && yarn test-visual-run",
"prepare": "husky install",
"storybook": "start-storybook -p 6006",
"build-storybook": "build-storybook",
"chromatic": "chromatic"
},
"lint-staged": {
"+(enterprise|frontend)/**/*.css": [
"prettier --write"
],
"+(enterprise|frontend)/**/*.{js,jsx,ts,tsx}": [
"eslint --rulesdir frontend/lint/eslint-rules --max-warnings 0",
"prettier --write"
]
},
"browserslist": [
"defaults"
]
}