{ "name": "metabase", "private": true, "version": "0.0.0", "description": "Metabase Analytics Report Server", "repository": "https://github.com/metabase/metabase", "license": "private", "engines": { "node": ">=8.11.4", "yarn": ">=1.12.3" }, "dependencies": { "@visx/axis": "1.8.0", "@visx/grid": "1.16.0", "@visx/group": "1.7.0", "@visx/scale": "1.7.0", "@visx/shape": "1.8.0", "ace-builds": "^1.4.7", "arg": "^5.0.0", "chevrotain": "^6.5.0", "classlist-polyfill": "^1.2.0", "classnames": "^2.1.3", "color": "^3.0.0", "color-harmony": "^0.3.0", "core-js": "^3.1.4", "crossfilter": "^1.3.12", "d3": "^3.5.17", "d3-scale": "^2.1.0", "dc": "2.1.9", "diff": "^3.2.0", "eslint-plugin-no-only-tests": "^2.4.0", "grid-styled": "4.1.0", "history": "3", "humanize-plus": "^1.8.1", "icepick": "2.3.0", "iframe-resizer": "^4.3.2", "inflection": "^1.7.1", "isomorphic-fetch": "^2.2.1", "js-cookie": "^2.1.2", "jsrsasign": "^10.2.0", "leaflet": "^1.2.0", "leaflet-draw": "^0.4.9", "leaflet.heat": "^0.2.0", "lodash.memoize": "^4.1.2", "moment": "2.19.3", "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", "re-reselect": "^3.4.0", "react": "~16.14.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-hot-loader": "^4.13.0", "react-markdown": "^6.0.2", "react-motion": "^0.4.5", "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", "reselect": "^3.0.0", "resize-observer-polyfill": "^1.5.1", "screenfull": "^4.2.1", "simple-statistics": "^3.0.0", "slugg": "^1.2.1", "styled-components": "3.2.6", "styled-system": "2.2.5", "tether": "^1.2.0", "ttag": "1.7.15", "underscore": "^1.8.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/plugin-proposal-decorators": "^7.14.5", "@babel/plugin-proposal-export-default-from": "^7.14.5", "@babel/plugin-transform-flow-strip-types": "^7.14.5", "@babel/preset-env": "^7.14.7", "@babel/preset-react": "^7.14.5", "@cypress/skip-test": "^2.6.0", "@cypress/webpack-preprocessor": "^4.1.0", "@percy/cli": "^1.0.0-beta.48", "@percy/cypress": "^2.3.4", "@slack/client": "^3.5.4", "@testing-library/cypress": "^5.0.2", "@testing-library/dom": "^7.29.0", "@testing-library/jest-dom": "^4.0.0", "@testing-library/react": "^11.0.2", "@testing-library/user-event": "^12.6.0", "babel-eslint": "10.1.0", "babel-jest": "^27.0.6", "babel-loader": "^8.2.2", "babel-plugin-styled-components": "^1.10.7", "babel-plugin-ttag": "^1.7.26", "concurrently": "^3.1.0", "css-loader": "^0.28.7", "cypress": "^6.8.0", "cypress-grep": "^2.5.2", "cypress-real-events": "^1.4.0", "documentation": "^13.2.5", "eslint": "7.12.1", "eslint-import-resolver-webpack": "^0.8.3", "eslint-loader": "4.0.2", "eslint-plugin-cypress": "^2.7.0", "eslint-plugin-import": "^2.22.0", "eslint-plugin-react": "^7.22.0", "eslint-plugin-react-hooks": "^4.2.0", "fs-promise": "^2.0.2", "glob": "^7.1.1", "html-webpack-harddisk-plugin": "^2.0.0", "html-webpack-plugin": "^5.3.1", "husky": "^6.0.0", "jest": "^27.0.6", "jest-localstorage-mock": "^2.2.0", "jsonwebtoken": "^7.2.1", "lint-staged": "^3.3.1", "mini-css-extract-plugin": "^1.6.0", "mockdate": "^2.0.2", "mutationobserver-shim": "^0.3.7", "postcss-cssnext": "^2.4.0", "postcss-import": "^9.0.0", "postcss-loader": "^2.0.8", "postcss-url": "^6.0.4", "prettier": "1.18.2", "promise-loader": "^1.0.0", "raf": "^3.4.0", "shadow-cljs": "2.11.20", "style-loader": "^0.19.0", "webpack": "^5.37.0", "webpack-cli": "^4.7.0", "webpack-dev-server": "^3.11.2", "webpack-notifier": "^1.8.0", "webpack-postcss-tools": "^1.1.2", "xhr-mock": "^2.4.1", "xlsx": "^0.17.0", "yaml-lint": "^1.2.4" }, "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'", "lint": "yarn lint-eslint && yarn lint-prettier && yarn lint-docs-links && yarn lint-yaml", "lint-eslint": "yarn build-quick:cljs && eslint --ext .js --ext .jsx --rulesdir frontend/lint/eslint-rules --max-warnings 0 enterprise/frontend/src frontend/src frontend/test", "lint-prettier": "yarn && prettier -l '{enterprise/,}frontend/**/*.{js,jsx,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_ENV=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,css}'", "eslint-fix": "yarn && eslint --fix --ext .js --ext .jsx --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": "yarn build && ./bin/build-for-test && yarn test-cypress-no-build", "test-cypress-open": "./bin/build-for-test && yarn test-cypress-no-build --open", "test-cypress-open-no-backend": "E2E_HOST='http://localhost:3000' yarn test-cypress-no-build --open", "test-cypress-no-build": "yarn && babel-node ./frontend/test/__runner__/run_cypress_tests.js", "test-visual": "percy exec -- yarn build && ./bin/build-for-test && yarn test-visual-no-build", "test-visual-no-build": "yarn test-cypress-no-build --spec \"./frontend/test/metabase-visual/**/*.cy.spec.js\"", "test-visual-open": "percy exec -- yarn test-cypress-open --spec \"./frontend/test/metabase-visual/**/*.cy.spec.js\"", "prepare": "husky install" }, "lint-staged": { "frontend/**/*.{js,jsx,css}": [ "prettier --write" ] }, "resolutions": { "cypress": "6.8.0", "styled-components": "3.2.6", "styled-system": "2.2.5" }, "browserslist": [ "defaults" ] }