Newer
Older
"description": "Metabase Analytics Report Server",
"repository": "https://github.com/metabase/metabase",
Nemanja Glumac
committed
"node": ">=18",
"@dnd-kit/core": "^6.0.8",
"@dnd-kit/modifiers": "^6.0.1",
"@dnd-kit/sortable": "^7.0.2",
"@emotion/cache": "^11.10.5",
"@emotion/is-prop-valid": "^1.1.1",
"@emotion/react": "^11.10.5",
"@emotion/styled": "^11.10.5",
Kyle Doherty
committed
"@mantine/core": "^6.0.13",
Kyle Doherty
committed
"@mantine/hooks": "^6.0.13",
"@react-oauth/google": "^0.11.1",
"@reduxjs/toolkit": "^1.9.3",
"@visx/clip-path": "^2.1.0",
"@visx/grid": "1.16.0",
"@visx/group": "1.7.0",
"@visx/legend": "^2.10.0",
"@visx/mock-data": "^2.1.2",
"@visx/responsive": "^2.10.0",
"color-harmony": "^0.3.0",
Cam Saul
committed
"cron-expression-validator": "^1.0.20",
"cronstrue": "^2.11.0",
"crossfilter": "^1.3.12",
Paul Rosenzweig
committed
"humanize-plus": "^1.8.1",
"inflection": "^1.7.1",
Tom Robinson
committed
"lodash.debounce": "^4.0.8",
"moment-timezone": "^0.5.38",
Allen Gilliland
committed
"password-generator": "^2.0.1",
"re-reselect": "^4.0.1",
"react-beautiful-dnd": "^13.1.1",
"react-dnd": "3",
"react-dnd-html5-backend": "3",
"react-draggable": "^3.3.2",
Anton Kulyk
committed
"react-grid-layout": "^1.2.5",
Mahatthana (Kelvin) Nomsawadi
committed
"react-markdown": "^8.0.4",
"react-resizable": "^3.0.5",
Tom Robinson
committed
"react-router": "3",
"react-sortable-hoc": "^1.11.0",
"react-transition-group": "^4.4.5",
"reduce-reducers": "^1.0.4",
"redux-actions": "^2.0.1",
"redux-auth-wrapper": "^1.0.0",
Tom Robinson
committed
"redux-promise": "^0.5.0",
"regenerator": "^0.14.1",
Mahatthana (Kelvin) Nomsawadi
committed
"rehype-external-links": "^2.0.1",
"simple-statistics": "^3.0.0",
"@babel/cli": "^7.23.0",
"@babel/core": "^7.23.3",
"@babel/node": "^7.22.19",
"@babel/preset-env": "^7.23.3",
"@babel/preset-react": "^7.23.3",
"@babel/preset-typescript": "^7.23.3",
"@cypress/skip-test": "^2.6.1",
"@percy/cli": "^1.27.2",
"@percy/cypress": "^3.1.2",
"@storybook/addon-actions": "6.5.15",
"@storybook/addon-essentials": "6.5.15",
"@storybook/addon-links": "6.5.15",
Kyle Doherty
committed
"@storybook/blocks": "^7.0.18",
"@storybook/builder-webpack5": "6.5.15",
"@storybook/client-api": "6.5.15",
"@storybook/manager-webpack5": "6.5.15",
"@storybook/react": "6.5.15",
"@types/babel__core": "^7.20.4",
"@types/babel__preset-env": "^7.9.5",
"@types/color": "^3.0.2",
"@types/concurrently": "^6.3.0",
"@types/crossfilter": "^0.0.34",
"@types/d3": "^3.5.46",
Mahatthana (Kelvin) Nomsawadi
committed
"@types/d3-scale": "^4.0.2",
"@types/d3-time": "^3.0.0",
"@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/jest": "^29.2.3",
"@types/js-cookie": "^2.2.7",
"@types/jsonwebtoken": "^9.0.1",
"@types/jsrsasign": "^8.0.13",
"@types/leaflet": "^1.7.5",
"@types/leaflet-draw": "^0.4.14",
"@types/leaflet.heat": "^0.2.1",
"@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/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-motion": "0.0.32",
"@types/react-resizable": "^3.0.4",
"@types/react-router": "3.0.28",
"@types/react-virtualized": "^9.21.13",
"@types/redux-actions": "^2.6.2",
"@types/redux-auth-wrapper": "^1.0.7",
"@types/redux-logger": "^3.0.9",
"@types/redux-promise": "^0.5.29",
"@types/tether": "^1.4.6",
"@types/underscore": "^1.11.3",
"babel-jest": "^29.3.1",
"concurrently": "^7.6.0",
"cy-verify-downloads": "^0.1.12",
"eslint-plugin-cypress": "^2.12.1",
"eslint-plugin-jest-dom": "^4.0.3",
"eslint-plugin-react": "^7.32.2",
"jest-canvas-mock": "^2.4.0",
"jest-localstorage-mock": "^2.4.22",
"jest-watch-typeahead": "^2.2.1",
"json-to-pretty-yaml": "^1.2.2",
"jsonwebtoken": "^9.0.0",
"lint-staged": "^13.1.2",
"mini-css-extract-plugin": "2.7.2",
"mochawesome": "^7.1.3",
"mochawesome-merge": "^4.2.1",
"mochawesome-report-generator": "^6.2.0",
"mutationobserver-shim": "^0.3.7",
"postcss-import": "15.1.0",
"postcss-loader": "7.0.2",
"postcss-preset-env": "^6.7.0",
"postcss-url": "^10.1.3",
"react-refresh": "^0.13.0",
"shadow-cljs": "2.25.7",
"source-map-loader": "^4.0.1",
"terser-webpack-plugin": "^5.3.9",
"webpack": "^5.85.0",
"webpack-cli": "^5.1.1",
"webpack-dev-server": "^4.15.0",
"webpack-stats-plugin": "^1.1.3",
"resolutions": {
"ansi-regex": "5.0.1",
"set-value": "4.0.1",
"ansi-html": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz",
"unset-value": "2.0.1",
"nth-check": "2.0.1",
"json5": "2.2.2"
Tom Robinson
committed
"scripts": {
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
"build": "yarn build:cljs && yarn build:js",
"build-hot": "rm -f target/cljs_dev/cljs.core.js && yarn concurrently -n 'cljs,js' -c 'yellow,green' 'yarn build-hot:cljs' 'yarn build-hot:js-wait'",
"build-hot:cljs": "yarn && shadow-cljs watch app",
"build-hot:js": "yarn && NODE_OPTIONS=--max-old-space-size=8196 WEBPACK_BUNDLE=hot webpack serve --host 0.0.0.0",
"build-hot:js-wait": "yarn wait:cljs; yarn build-hot:js",
"build-pure:cljs": "yarn clean-dev:cljs && shadow-cljs compile app",
"build-release": "yarn build-release:cljs && yarn build-release:js",
"build-release:cljs": "yarn && yarn clean-release:cljs && shadow-cljs release app",
"build-release:js": "yarn && WEBPACK_BUNDLE=production NODE_OPTIONS=--max-old-space-size=8196 webpack --bail",
"build-shared": "yarn && webpack --config webpack.shared.config.js",
"build-static-viz": "yarn && yarn build-release:cljs && WEBPACK_BUNDLE=production webpack --config webpack.static-viz.config.js",
"build-static-viz:watch": "webpack --config webpack.static-viz.config.js --watch",
"build-static-viz:watch-wait": "yarn wait:cljs; yarn build-static-viz:watch",
"build-stats": "yarn && webpack --json > stats.json",
"build-storybook": "yarn build:cljs && NODE_OPTIONS=--max-old-space-size=8196 build-storybook",
"build-watch": "yarn concurrently -n 'cljs,js' 'yarn build-watch:cljs' 'yarn build-watch:js'",
"build-watch:cljs": "yarn && shadow-cljs watch app",
"build-watch:js": "yarn && NODE_OPTIONS=--max-old-space-size=8196 webpack --watch",
"build:cljs": "yarn && yarn build-pure:cljs",
"build:js": "yarn && NODE_OPTIONS=--max-old-space-size=8196 webpack --bail",
"chromatic": "yarn build:cljs && NODE_OPTIONS=--max-old-space-size=8196 chromatic",
"ci": "yarn ci-frontend && yarn ci-backend",
"ci-backend": "clojure -X:dev:ee:ee-dev:drivers:drivers-dev:eastwood && clojure -X:dev:test",
"ci-frontend": "yarn lint && yarn test",
"clean-cypress-artifacts": "rm -R -f cypress/",
"clean-dev:cljs": "rm -rf target/cljs_dev/*",
"clean-release:cljs": "rm -rf target/cljs_release/*",
"clean:cljs": "yarn && yarn clean-dev:cljs && yarn clean-release:cljs",
"cljs-nrepl": "yarn && shadow-cljs node-repl -d cider/cider-nrepl:0.30.0 -d cider/piggieback:0.5.3 -d refactor-nrepl/refactor-nrepl:3.6.0",
"cljs-server-restart": "yarn && shadow-cljs restart",
"cljs-server-start": "yarn && shadow-cljs start",
"cljs-server-stop": "yarn && shadow-cljs stop",
"concurrently": "yarn && concurrently --kill-others -p name",
"dev": "yarn && yarn clean:cljs && concurrently -n 'backend,frontend,cljs,static-viz' -c 'blue,green,yellow,magenta,red' 'clojure -M:run' 'yarn build-hot:js-wait' 'yarn build-hot:cljs' 'yarn build-static-viz:watch-wait'",
"dev-ee": "yarn && yarn clean:cljs && concurrently -n 'backend,frontend,cljs,static-viz' -c 'blue,green,yellow,magenta,red' 'clojure -M:run:ee' 'MB_EDITION=ee yarn build-hot:js-wait' 'MB_EDITION=ee yarn build-hot:cljs' 'yarn build-static-viz:watch-wait'",
"docs-lint-links": "find docs -type f -name '*.md' -print0 | xargs -0 markdown-link-check --quiet --config .mlc_config.json",
"eslint-fix": "yarn lint-eslint --fix",
"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",
"lint": "yarn lint-eslint && yarn lint-prettier && yarn lint-docs-links && yarn lint-yaml && yarn type-check",
"lint-docs-links": "yarn && ./bin/verify-doc-links",
"lint-eslint": "yarn build:cljs && yarn lint-eslint-pure",
"lint-eslint-pure": "eslint --ext .js,.jsx,.ts,.tsx --rulesdir frontend/lint/eslint-rules --max-warnings 0 --report-unused-disable-directives enterprise/frontend/src frontend/src frontend/test e2e/test",
"lint-prettier": "yarn && yarn lint-prettier-pure",
"lint-prettier-pure": "prettier '{enterprise/,}frontend/**/*.{js,jsx,ts,tsx,css}' --check",
"lint-yaml": "yamllint **/*.{yaml,yml} --ignore=node_modules/**/*.{yaml,yml}",
Tom Robinson
committed
"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'",
"prepare": "husky install",
"prettier": "prettier --write '{enterprise/,}frontend/**/*.{js,jsx,ts,tsx,css}'",
"remove-webpack-cache": "rm -rf ./node_modules/.cache",
"storybook": "yarn build:cljs && start-storybook -p 6006",
"test": "yarn test-unit && yarn test-timezones && yarn test-cypress",
"test-cljs": "yarn && shadow-cljs compile test && node target/node-tests.js",
"test-cypress": "yarn build && ./bin/build-for-test && yarn test-cypress-run",
"test-cypress-open": "./bin/build-for-test && yarn test-cypress-run --e2e --open",
"test-cypress-open-no-backend": "E2E_HOST='http://localhost:3000' yarn test-cypress-run --e2e --open",
"test-cypress-open-qa": "yarn test-qa-dbs:up && QA_DB_ENABLED=true TZ='US/Pacific' yarn test-cypress-open",
"test-cypress-run": "node ./e2e/runner/run_cypress_tests.js",
"test-debug": "yarn build:cljs && node --inspect-brk node_modules/.bin/jest --runInBand --detectOpenHandles",
"test-qa-dbs:down": "docker-compose -f ./e2e/test/scenarios/docker-compose.yml down",
"test-qa-dbs:up": "docker-compose -f ./e2e/test/scenarios/docker-compose.yml up -d",
"test-timezones": "yarn && ./frontend/test/__runner__/run_timezone_tests",
"test-timezones-unit": "yarn build:cljs && jest --silent --maxWorkers=2 --config jest.tz.unit.conf.json",
"test-unit": "yarn build:cljs && jest --maxWorkers=2",
"test-unit-keep-cljs": "jest --maxWorkers=2",
"test-unit-watch": "yarn test-unit --watch",
"test-unit-watch:cljs": "yarn concurrently -n 'cljs,tests' 'yarn build-watch:cljs' 'yarn test-unit-keep-cljs --watch'",
"test-visual": "yarn build && ./bin/build-for-test && yarn test-visual-run",
"test-visual-open": "percy exec -- yarn test-cypress-open",
"test-visual-run": "percy exec -- yarn test-cypress-run --spec \"./e2e/test/visual/**/*.cy.spec.js\"",
"type-check": "yarn clean:cljs && yarn build:cljs && yarn type-check-pure",
"type-check-pure": "tsc --noEmit",
"validate-e2e-filenames": "node e2e/validate-e2e-test-files.js",
"wait:cljs": "echo Waiting for first CLJS build; until [ -f target/cljs_dev/cljs.core.js ]; do sleep 1; done; echo CLJS build done"
"+(enterprise|frontend)/**/*.css": [
],
"+(enterprise|frontend)/**/*.{js,jsx,ts,tsx}": [
"eslint --rulesdir frontend/lint/eslint-rules --max-warnings 0 --fix",
"prettier --write",
"node ./bin/verify-doc-links"
Mahatthana (Kelvin) Nomsawadi
committed
"e2e/**/*.{js,jsx,ts,jsx}": [
"eslint --rulesdir frontend/lint/eslint-rules --max-warnings 0 --fix",
Mahatthana (Kelvin) Nomsawadi
committed
"prettier --write"
],
"e2e/test/scenarios/*/{*.js,!(helpers|shared)/*.js}": [
"eslint --rulesdir frontend/lint/eslint-rules --max-warnings 0 --fix",
"node e2e/validate-e2e-test-files.js"
Tom Robinson
committed
},
"browserslist": [
"defaults"
]