{ "name": "sourcecred", "version": "0.4.0", "private": true, "dependencies": { "aphrodite": "^2.1.0", "base64url": "^3.0.1", "better-sqlite3": "^5.4.0", "chalk": "2.4.2", "commonmark": "^0.29.0", "d3-array": "^2.2.0", "d3-format": "^1.3.2", "d3-scale": "^3.0.0", "d3-scale-chromatic": "^1.3.3", "d3-time": "^1.0.11", "d3-time-format": "^2.1.3", "deep-freeze": "^0.0.1", "express": "^4.16.3", "fs-extra": "8.1.0", "history": "^3.0.0", "isomorphic-fetch": "^2.2.1", "json-stable-stringify": "^1.0.1", "lodash.clonedeep": "^4.5.0", "lodash.isequal": "^4.5.0", "lodash.sortby": "^4.7.0", "object-assign": "4.1.1", "pako": "^1.0.6", "promise": "8.0.3", "react": "^16.4.1", "react-dom": "^16.4.1", "react-icons": "^3.7.0", "react-markdown": "^4.0.8", "react-router": "3.2.1", "recharts": "^1.6.2", "remove-markdown": "^0.3.0", "retry": "^0.12.0", "rimraf": "^2.6.3", "svg-react-loader": "^0.4.6", "tmp": "^0.0.33", "whatwg-fetch": "2.0.3" }, "devDependencies": { "@babel/core": "^7.5.5", "@babel/plugin-proposal-class-properties": "^7.5.5", "@babel/preset-env": "^7.5.5", "@babel/preset-flow": "^7.0.0", "@babel/preset-react": "^7.0.0", "babel-eslint": "^10.0.2", "babel-jest": "^24.8.0", "babel-loader": "^8.0.6", "copy-webpack-plugin": "^5.0.3", "css-loader": "^3.0.0", "dotenv": "8.0.0", "dotenv-expand": "5.1.0", "enzyme": "^3.3.0", "enzyme-adapter-react-16": "^1.1.1", "enzyme-to-json": "^3.3.3", "eslint": "6.1.0", "eslint-plugin-flowtype": "4.0.0", "eslint-plugin-import": "2.18.1", "eslint-plugin-jsx-a11y": "6.2.3", "eslint-plugin-react": "7.14.3", "file-loader": "^4.0.0", "flow-bin": "^0.105.0", "jest": "^24.8.0", "jest-fetch-mock": "^2.1.2", "prettier": "1.18.2", "raf": "3.4.1", "react-dev-utils": "^5.0.0", "static-site-generator-webpack-plugin": "^3.4.1", "url-loader": "^2.0.1", "webpack": "^4.37.0", "webpack-cli": "^3.3.5", "webpack-dev-server": "^3.7.2", "webpack-manifest-plugin": "^2.0.4", "webpack-node-externals": "^1.7.2" }, "greenkeeper": { "ignore": [ "history", "react-dev-utils", "react-router", "whatwg-fetch", "tmp" ] }, "scripts": { "prettify": "prettier --write '**/*.js'", "check-pretty": "prettier --list-different '**/*.js'", "start": "NODE_ENV=development webpack-dev-server --config config/webpack.config.web.js", "build": "NODE_ENV=production webpack --config config/webpack.config.web.js", "backend": "NODE_ENV=development webpack --config config/webpack.config.backend.js", "test": "node ./config/test.js", "unit": "BABEL_ENV=test NODE_ENV=test jest --env=jsdom", "sharness": "make -sC ./sharness prove PROVE_OPTS=-f TEST_OPTS='--chain-lint'", "sharness-full": "make -sC ./sharness prove PROVE_OPTS=-vf TEST_OPTS='-v --chain-lint --long'", "coverage": "yarn run unit --coverage", "flow": "flow", "lint": "eslint src config --max-warnings 0" }, "license": "MIT + Apache-2", "jest": { "collectCoverageFrom": [ "src/**/*.{js,jsx,mjs}" ], "setupFiles": [ "/config/polyfills.js", "/config/jest/setupJest.js" ], "testMatch": [ "/src/**/__tests__/**/*.{js,jsx,mjs}", "/src/**/?(*.)(spec|test).{js,jsx,mjs}" ], "testEnvironment": "node", "testURL": "http://localhost", "transform": { "^.+\\.(js|jsx|mjs)$": "/node_modules/babel-jest", "^.+\\.css$": "/config/jest/cssTransform.js", "^(?!.*\\.(js|jsx|mjs|css|json)$)": "/config/jest/fileTransform.js" }, "transformIgnorePatterns": [ "[/\\\\]node_modules[/\\\\].+\\.(js|jsx|mjs)$" ], "moduleNameMapper": { "^react-native$": "react-native-web" }, "moduleFileExtensions": [ "web.js", "js", "json", "web.jsx", "jsx", "node", "mjs" ] }, "files": [ "/bin", "/build" ] }