{ "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", "npm": "8.11.4" }, "dependencies": { "ace-builds": "^1.2.2", "babel-polyfill": "^6.6.1", "c-3po": "^0.7.3", "chevrotain": "0.21.0", "classlist-polyfill": "^1.2.0", "classnames": "^2.1.3", "color": "^3.0.0", "color-harmony": "^0.3.0", "crossfilter": "^1.3.12", "cxs": "^5.0.0", "d3": "^3.5.17", "d3-scale": "^2.1.0", "dc": "^2.0.0", "diff": "^3.2.0", "grid-styled": "^4.1.0", "history": "3", "humanize-plus": "^1.8.1", "icepick": "2.3.0", "iframe-resizer": "^3.5.11", "inflection": "^1.7.1", "isomorphic-fetch": "^2.2.1", "js-cookie": "^2.1.2", "jsrsasign": "^7.1.0", "leaflet": "^1.2.0", "leaflet-draw": "^0.4.9", "leaflet.heat": "^0.2.0", "lodash.memoize": "^4.1.2", "moment": "2.19.3", "mustache": "^2.3.2", "node-libs-browser": "^2.0.0", "normalizr": "^3.0.2", "npm": "^5.8.0", "number-to-locale-string": "^1.0.1", "password-generator": "^2.0.1", "prop-types": "^15.5.7", "react": "15", "react-addons-shallow-compare": "^15.2.1", "react-ansi-style": "^1.0.0", "react-collapse": "^4.0.3", "react-copy-to-clipboard": "^5.0.1", "react-dnd": "3", "react-dnd-html5-backend": "3", "react-dom": "15", "react-draggable": "^2.2.3", "react-element-to-jsx-string": "^13.1.0", "react-hot-loader": "^1.3.0", "react-markdown": "^3.0.0-rc3", "react-motion": "^0.4.5", "react-redux": "^5.0.4", "react-resizable": "^1.0.1", "react-retina-image": "^2.0.5", "react-router": "3", "react-router-redux": "^4.0.8", "react-sortable-hoc": "^0.6.8", "react-textarea-autosize": "^5.2.1", "react-transition-group": "1", "react-virtualized": "^9.7.2", "recompose": "^0.26.0", "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", "redux-thunk": "^2.0.1", "reselect": "^3.0.0", "resize-observer-polyfill": "^1.3.2", "screenfull": "^3.0.0", "simple-statistics": "^3.0.0", "stack-source-map": "^1.0.4", "system-components": "^2.0.3", "tether": "^1.2.0", "underscore": "^1.8.3", "webpack-dev-middleware": "^1.12.0", "z-index": "0.0.1" }, "devDependencies": { "@slack/client": "^3.5.4", "babel-cli": "^6.11.4", "babel-core": "^6.20.0", "babel-eslint": "^7.1.1", "babel-loader": "^7.1.2", "babel-plugin-add-react-displayname": "^0.0.4", "babel-plugin-c-3po": "0.8.0-0", "babel-plugin-styled-components": "^1.5.1", "babel-plugin-syntax-trailing-function-commas": "^6.22.0", "babel-plugin-transform-builtin-extend": "^1.1.2", "babel-plugin-transform-decorators-legacy": "^1.3.4", "babel-plugin-transform-flow-strip-types": "^6.8.0", "babel-preset-es2015": "^6.6.0", "babel-preset-react": "^6.5.0", "babel-preset-stage-0": "^6.5.0", "babel-register": "^6.11.6", "banner-webpack-plugin": "^0.2.3", "color-diff": "^1.1.0", "concurrently": "^3.1.0", "css-loader": "^0.28.7", "documentation": "^4.0.0-rc.1", "enzyme": "2", "eslint": "^3.5.0", "eslint-import-resolver-webpack": "^0.8.3", "eslint-loader": "^1.9.0", "eslint-plugin-flowtype": "^2.22.0", "eslint-plugin-import": "^2.2.0", "eslint-plugin-jasmine": "^2.2.0", "eslint-plugin-react": "^6.3.0", "exports-loader": "^0.6.3", "extract-text-webpack-plugin": "^3.0.1", "file-loader": "^0.11.1", "flow-bin": "^0.37.4", "fs-promise": "^2.0.2", "glob": "^7.1.1", "html-webpack-harddisk-plugin": "^0.1.0", "html-webpack-plugin": "^2.30.1", "image-diff": "^1.6.3", "imports-loader": "^0.7.0", "insightful": "^1.1.0", "jasmine": "^2.4.1", "jasmine-core": "^2.4.1", "jasmine-promises": "^0.4.1", "jasmine-reporters": "^2.2.0", "jasmine-spec-reporter": "^3.0.0", "jest": "^19.0.2", "jest-localstorage-mock": "^2.2.0", "jscodeshift": "0.5.0", "jsonwebtoken": "^7.2.1", "karma": "^1.3.0", "karma-chrome-launcher": "^2.0.0", "karma-jasmine": "^1.1.0", "karma-junit-reporter": "^1.1.0", "karma-nyan-reporter": "^0.2.2", "karma-webpack": "^2.0.5", "lint-staged": "^3.3.1", "mockdate": "^2.0.2", "postcss-cssnext": "^2.4.0", "postcss-import": "^9.0.0", "postcss-loader": "^2.0.8", "postcss-url": "^6.0.4", "prettier": "^1.10.2", "promise-loader": "^1.0.0", "raf": "^3.4.0", "react-test-renderer": "15", "sauce-connect-launcher": "^1.1.1", "selenium-webdriver": "^2.53.3", "style-loader": "^0.19.0", "uglifyjs-webpack-plugin": "^1.0.0", "unused-files-webpack-plugin": "^3.0.0", "webchauffeur": "^1.2.0", "webpack": "^3.8.1", "webpack-dev-server": "^2.9.1", "webpack-postcss-tools": "^1.1.2", "xhr-mock": "^2.4.1" }, "scripts": { "dev": "concurrently --kill-others -p name -n 'backend,frontend' -c 'blue,green' 'lein ring server' 'yarn build-hot'", "lint": "yarn lint-eslint && yarn lint-prettier", "lint-eslint": "yarn && eslint --ext .js --ext .jsx --rulesdir frontend/lint/eslint-rules --max-warnings 0 frontend/src frontend/test", "lint-prettier": "yarn && prettier -l 'frontend/**/*.{js,jsx,css}' || (echo '\nThese files are not formatted correctly. Did you forget to \"yarn prettier\"?' && false)", "flow": "yarn && flow check", "test": "yarn test-unit && yarn test-integrated && yarn test-karma", "test-integrated": "./bin/build-for-test && yarn test-integrated-no-build", "test-integrated-watch": "yarn test-integrated --watch", "test-integrated-no-build": "yarn && babel-node ./frontend/test/__runner__/run_integrated_tests.js", "test-unit": "yarn && jest --maxWorkers=8 --config jest.unit.conf.json", "test-unit-watch": "yarn test-unit --watch", "test-unit-update-snapshot": "yarn test-unit --updateSnapshot", "test-karma": "yarn && karma start frontend/test/karma.conf.js --single-run", "test-karma-watch": "yarn && karma start frontend/test/karma.conf.js --auto-watch --reporters nyan", "build": "yarn && webpack --bail", "build-watch": "yarn && webpack --watch", "build-hot": "yarn && NODE_ENV=hot webpack-dev-server --progress", "build-stats": "yarn && webpack --json > stats.json", "build-shared": "yarn && webpack --config webpack.shared.config.js", "start": "yarn build && lein ring server", "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 'frontend/**/*.{js,jsx,css}'", "docs": "documentation build -f html -o frontend/docs frontend/src/metabase-lib/lib/**", "ci": "yarn ci-frontend && yarn ci-backend", "ci-frontend": "yarn lint && yarn flow && yarn test", "ci-backend": "lein docstring-checker && lein bikeshed && lein eastwood && lein test" }, "lint-staged": { "frontend/**/*.{js,jsx,css}": [ "prettier --write", "git add" ] } }