{ "name": "redash-client", "version": "9.0.0-alpha", "description": "The frontend part of Redash.", "main": "index.js", "scripts": { "start": "webpack-dev-server", "bundle": "bin/bundle-extensions", "clean": "rm -rf ./client/dist/", "build": "npm run clean && NODE_ENV=production webpack", "build:old-node-version": "npm run clean && NODE_ENV=production node --max-old-space-size=4096 node_modules/.bin/webpack", "watch": "webpack --watch --progress --colors -d", "analyze": "npm run clean && BUNDLE_ANALYZER=on webpack", "analyze:build": "npm run clean && NODE_ENV=production BUNDLE_ANALYZER=on webpack", "lint": "npm run lint:base -- --ext .js --ext .jsx ./client", "lint:fix": "npm run lint:base -- --fix --ext .js --ext .jsx ./client", "lint:base": "eslint --config ./client/.eslintrc.js --ignore-path ./client/.eslintignore", "lint:ci": "npm run lint -- --format junit --output-file /tmp/test-results/eslint/results.xml", "prettier": "prettier --write client/app/**/*.{js,jsx} client/cypress/**/*.js", "test": "TZ=Africa/Khartoum jest", "test:watch": "jest --watch", "cypress:install": "npm install --no-save cypress@~3.6.1 @percy/cypress@^2.2.0 atob@2.1.2", "cypress": "node client/cypress/cypress.js" }, "repository": { "type": "git", "url": "git+https://github.com/getredash/redash.git" }, "engines": { "node": "^12.0.0", "npm": "^6.0.0" }, "author": "Redash Contributors", "license": "BSD-2-Clause", "bugs": { "url": "https://github.com/getredash/redash/issues" }, "homepage": "https://redash.io/", "dependencies": { "@types/prop-types": "^15.5.2", "@types/react": "^16.3.13", "@types/react-dom": "^16.0.5", "angular": "~1.5.8", "angular-resizable": "^1.2.0", "angular-resource": "~1.5.8", "angular-route": "~1.5.8", "angular-sanitize": "~1.5.8", "angular-ui-bootstrap": "^2.5.0", "angular-vs-repeat": "^1.1.7", "angular2react": "^3.0.2", "antd": "^3.19.7", "beautifymarker": "^1.0.7", "bootstrap": "^3.3.7", "brace": "^0.11.0", "chroma-js": "^1.3.6", "classnames": "^2.2.6", "core-js": "^2.6.4", "d3": "^3.5.17", "d3-cloud": "^1.2.4", "debug": "^3.1.0", "font-awesome": "^4.7.0", "hoist-non-react-statics": "^3.3.0", "jquery": "^3.2.1", "leaflet": "^1.2.0", "leaflet-fullscreen": "^1.0.2", "leaflet.markercluster": "^1.1.0", "lodash": "^4.17.10", "markdown": "0.5.0", "material-design-iconic-font": "^2.2.0", "moment": "^2.19.3", "mousetrap": "^1.6.1", "mustache": "^2.3.0", "numeral": "^2.0.6", "pace-progress": "git+https://github.com/getredash/pace.git", "plotly.js": "1.41.3", "prop-types": "^15.6.1", "react": "^16.8.3", "react-ace": "^6.1.0", "react-dom": "^16.8.3", "react-grid-layout": "git+https://github.com/getredash/react-grid-layout.git", "react-pivottable": "^0.9.0", "react-sortable-hoc": "^1.10.1", "react2angular": "^3.2.1", "tinycolor2": "^1.4.1", "ui-select": "^0.19.8", "use-debounce": "^3.1.0" }, "devDependencies": { "@babel/core": "^7.2.2", "@babel/plugin-proposal-class-properties": "^7.3.0", "@babel/plugin-transform-object-assign": "^7.2.0", "@babel/preset-env": "^7.3.1", "@babel/preset-react": "^7.0.0", "@typescript-eslint/eslint-plugin": "^2.10.0", "@typescript-eslint/parser": "^2.10.0", "babel-eslint": "^10.0.3", "babel-jest": "^24.1.0", "babel-loader": "^8.0.5", "babel-plugin-angularjs-annotate": "^0.8.2", "babel-plugin-transform-builtin-extend": "^1.1.2", "copy-webpack-plugin": "^4.5.3", "css-loader": "^0.28.7", "enzyme": "^3.8.0", "enzyme-adapter-react-16": "^1.7.1", "enzyme-to-json": "^3.3.5", "eslint": "^6.7.2", "eslint-config-prettier": "^6.7.0", "eslint-config-react-app": "^5.1.0", "eslint-loader": "^3.0.3", "eslint-plugin-chai-friendly": "^0.5.0", "eslint-plugin-compat": "^3.3.0", "eslint-plugin-cypress": "^2.0.1", "eslint-plugin-flowtype": "^3.13.0", "eslint-plugin-import": "^2.18.2", "eslint-plugin-jest": "^22.2.2", "eslint-plugin-jsx-a11y": "^6.2.3", "eslint-plugin-no-only-tests": "^2.4.0", "eslint-plugin-react": "^7.17.0", "eslint-plugin-react-hooks": "^1.7.0", "file-loader": "^2.0.0", "html-webpack-plugin": "^3.2.0", "husky": "^1.3.1", "identity-obj-proxy": "^3.0.0", "jest": "^24.1.0", "less": "^3.9.0", "less-loader": "^4.1.0", "less-plugin-autoprefix": "^1.5.1", "lint-staged": "^8.1.3", "mini-css-extract-plugin": "^0.4.4", "mockdate": "^2.0.2", "prettier": "^1.19.1", "raw-loader": "^0.5.1", "react-test-renderer": "^16.5.2", "request": "^2.88.0", "url-loader": "^1.1.2", "webpack": "^4.20.2", "webpack-build-notifier": "^0.1.30", "webpack-bundle-analyzer": "^2.11.1", "webpack-cli": "^3.1.2", "webpack-dev-server": "^3.1.9", "webpack-manifest-plugin": "^2.0.4" }, "optionalDependencies": { "fsevents": "^1.2.9" }, "jest": { "setupFiles": [ "./client/app/__tests__/enzyme_setup.js", "./client/app/__tests__/mocks.js" ], "snapshotSerializers": [ "enzyme-to-json/serializer" ], "moduleNameMapper": { "^@/(.*)": "/client/app/$1", "\\.(css|less)$": "identity-obj-proxy" }, "testPathIgnorePatterns": [ "/client/app/__tests__/" ] }, "husky": { "hooks": { "pre-commit": "lint-staged" } }, "lint-staged": { "linters": { "client/**/*.{js,jsx}": [ "npm run lint:base", "npm run test -- --bail --findRelatedTests" ] } }, "//": "browserslist set to 'Async functions' compatibility", "browserslist": [ "Edge >= 15", "Firefox >= 52", "Chrome >= 55", "Safari >= 10.1", "iOS >= 10.3", "Opera >= 42", "op_mob >= 46", "android >= 67", "and_chr >= 71", "and_ff >= 64", "and_uc >= 11.8", "samsung >= 6.2" ] }