-
Alexander Kiselev authored
* enable esbuild * update i8n script and unit testing babel config * split out babel loader for styled components
Alexander Kiselev authored* enable esbuild * update i8n script and unit testing babel config * split out babel loader for styled components
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 12.83 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",
"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",
"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",
"lodash": "^4.17.21",
"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",
"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",
"@cypress/skip-test": "^2.6.1",
"@cypress/webpack-preprocessor": "^5.11.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",
"@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/lodash": "^4.14.182",
"@types/lodash.memoize": "^4.1.6",
"@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-loader": "^2.18.0",
"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",
"fs-promise": "^2.0.2",
"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-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": "1.19.1",
"promise-loader": "^1.0.0",
"raf": "^3.4.0",
"react-refresh": "^0.13.0",
"shadow-cljs": "2.11.20",
"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",
"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"
]
}