Skip to content
Snippets Groups Projects
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 7.79 KiB
{
  "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": {
    "ace-builds": "^1.2.2",
    "chevrotain": "0.21.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.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",
    "regenerator": "^0.14.1",
    "reselect": "^3.0.0",
    "resize-observer-polyfill": "^1.5.1",
    "screenfull": "^4.2.1",
    "simple-statistics": "^3.0.0",
    "stack-source-map": "^1.0.4",
    "system-components": "^2.0.3",
    "tether": "^1.2.0",
    "ttag": "^1.7.8",
    "underscore": "^1.8.3",
    "webpack-dev-middleware": "^1.12.0",
    "z-index": "0.0.1"
  },
  "devDependencies": {
    "@babel/standalone": "^7.4.5",
    "@slack/client": "^3.5.4",
    "@testing-library/jest-dom": "^4.0.0",
    "@testing-library/react": "^8.0.6",
    "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-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-plugin-ttag": "^1.7.8",
    "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": "^3.8.0",
    "enzyme-2": "npm:enzyme@2",
    "enzyme-adapter-react-15": "^1.3.0",
    "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.17.0",
    "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-notifier": "^1.8.0",
    "webpack-postcss-tools": "^1.1.2",
    "xhr-mock": "^2.4.1"
  },
  "scripts": {
    "dev": "concurrently --kill-others -p name -n 'backend,frontend,docs' -c 'blue,green,yellow' 'lein run' 'yarn build-hot' 'yarn docs'",
    "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-integration && yarn test-e2e && yarn test-karma",
    "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-integration": "yarn && jest --maxWorkers=8 --config jest.integ.conf.json",
    "test-integration-watch": "yarn test-integration --watch",
    "test-e2e": "./bin/build-for-test && yarn test-e2e-no-build",
    "test-e2e-watch": "yarn test-e2e --watch",
    "test-e2e-no-build": "yarn && babel-node ./frontend/test/__runner__/run_e2e_tests.js",
    "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",
    "test-integrated": "echo 'test-integrated renamed to test-e2e'; exit 1",
    "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}'",
    "eslint-fix": "yarn && eslint --fix --ext .js --ext .jsx --rulesdir frontend/lint/eslint-rules frontend/src frontend/test",
    "docs": "documentation serve --watch 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"
    ]
  }
}