sourcecred/package.json
Dandelion Mané f25bc795c6
Fork the frontend to build towards cli2 compat (#1853)
The cli2 ("instance") system has a foundationally different assumption
about how the frontend works: rather than having a unified frontend that
abstracts over many separate SourceCred projects, we'll have a single
frontend entry per instance. This means we no longer need (for example)
to make project IDs available at build time.

Our frontend setup and server side rendering is pretty complex, so
rather than rebuild it from scratch, I'm going to fork it into an
independent copy and then change it to suit our needs.

To start here, I've duplicated the `src/homepage` directory into
`src/homepage2`, duplicated the webpack config to
`config/webpack.config.web2.js`, and duplicated the paths and
package.json scripts.

Test plan:
Run `yarn start2` and it will start an identical frontend, using the
duplicated directory. Run `yarn build2` and it will build a viable
frontend into the `build2` directory. `build2` is gitignored.
2020-06-17 18:44:34 -07:00

149 lines
4.5 KiB
JSON

{
"name": "sourcecred",
"version": "0.5.0",
"private": false,
"dependencies": {
"aphrodite": "^2.4.0",
"base64url": "^3.0.1",
"better-sqlite3": "^7.0.0",
"bottleneck": "^2.19.5",
"chalk": "^4.0.0",
"commonmark": "^0.29.1",
"d3-array": "^2.4.0",
"d3-format": "^1.4.3",
"d3-scale": "^3.2.1",
"d3-scale-chromatic": "^1.5.0",
"d3-time": "^1.1.0",
"d3-time-format": "^2.2.3",
"deep-freeze": "^0.0.1",
"express": "^4.17.1",
"fs-extra": "^9.0.0",
"globby": "^11.0.0",
"history": "^3.3.0",
"htmlparser2": "^4.1.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.11",
"promise": "^8.1.0",
"react": "^16.13.0",
"react-dom": "^16.13.0",
"react-icons": "^3.9.0",
"react-markdown": "^4.3.1",
"react-router": "^3.2.6",
"recharts": "^1.8.5",
"remove-markdown": "^0.3.0",
"retry": "^0.12.0",
"rimraf": "^3.0.2",
"svg-react-loader": "^0.4.6",
"tmp": "0.0.33",
"whatwg-fetch": "^2.0.4"
},
"devDependencies": {
"@babel/core": "^7.8.7",
"@babel/plugin-proposal-class-properties": "^7.8.3",
"@babel/plugin-syntax-bigint": "^7.8.3",
"@babel/preset-env": "^7.8.7",
"@babel/preset-flow": "^7.8.3",
"@babel/preset-react": "^7.8.3",
"babel-eslint": "^10.1.0",
"babel-jest": "^26.0.1",
"babel-loader": "^8.0.6",
"copy-webpack-plugin": "^5.1.1",
"css-loader": "^3.4.2",
"dotenv": "^8.2.0",
"dotenv-expand": "^5.1.0",
"enzyme": "^3.11.0",
"enzyme-adapter-react-16": "^1.15.2",
"enzyme-to-json": "^3.4.4",
"eslint": "^6.8.0",
"eslint-plugin-flowtype": "^4.6.0",
"eslint-plugin-import": "^2.20.1",
"eslint-plugin-jsx-a11y": "^6.2.3",
"eslint-plugin-react": "7.16.0",
"file-loader": "^6.0.0",
"flow-bin": "^0.124.0",
"jest": "^26.0.1",
"jest-fetch-mock": "^3.0.2",
"prettier": "^2.0.1",
"raf": "^3.4.1",
"react-dev-utils": "^5.0.3",
"static-site-generator-webpack-plugin": "^3.4.2",
"url-loader": "^4.0.0",
"webpack": "^4.42.0",
"webpack-cli": "^3.3.11",
"webpack-dev-server": "^3.10.3",
"webpack-manifest-plugin": "^2.2.0",
"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",
"start2": "NODE_ENV=development webpack-dev-server --config config/webpack.config.web2.js",
"build": "NODE_ENV=production webpack --config config/webpack.config.web.js",
"build2": "NODE_ENV=production webpack --config config/webpack.config.web2.js",
"backend": "NODE_ENV=development webpack --config config/webpack.config.backend.js",
"api": "webpack --config config/webpack.config.api.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 OR Apache-2.0)",
"jest": {
"collectCoverageFrom": [
"src/**/*.{js,jsx,mjs}"
],
"setupFiles": [
"<rootDir>/config/polyfills.js",
"<rootDir>/config/jest/setupJest.js"
],
"testMatch": [
"<rootDir>/src/**/__tests__/**/*.{js,jsx,mjs}",
"<rootDir>/src/**/?(*.)(spec|test).{js,jsx,mjs}"
],
"testEnvironment": "node",
"testURL": "http://localhost",
"transform": {
"^.+\\.(js|jsx|mjs)$": "<rootDir>/node_modules/babel-jest",
"^.+\\.css$": "<rootDir>/config/jest/cssTransform.js",
"^(?!.*\\.(js|jsx|mjs|css|json)$)": "<rootDir>/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"
]
}