2018-02-16 22:32:24 +00:00
|
|
|
{
|
2018-05-05 07:04:42 +00:00
|
|
|
"name": "sourcecred",
|
2018-02-16 22:32:24 +00:00
|
|
|
"version": "0.1.0",
|
|
|
|
"private": true,
|
|
|
|
"dependencies": {
|
2018-07-27 21:32:30 +00:00
|
|
|
"@oclif/command": "^1.4.36",
|
|
|
|
"@oclif/config": "^1.6.33",
|
|
|
|
"@oclif/plugin-help": "^2.0.5",
|
2018-03-19 22:31:08 +00:00
|
|
|
"aphrodite": "^2.1.0",
|
2018-07-27 19:38:40 +00:00
|
|
|
"chalk": "1.1.3",
|
|
|
|
"commonmark": "^0.28.1",
|
|
|
|
"express": "^4.16.3",
|
|
|
|
"fs-extra": "3.0.1",
|
2018-08-15 19:01:27 +00:00
|
|
|
"history": "^3.0.0",
|
2018-07-27 19:38:40 +00:00
|
|
|
"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",
|
|
|
|
"mkdirp": "^0.5.1",
|
|
|
|
"object-assign": "4.1.1",
|
|
|
|
"promise": "8.0.1",
|
2018-07-27 20:27:19 +00:00
|
|
|
"react": "^16.4.1",
|
|
|
|
"react-dom": "^16.4.1",
|
2018-07-27 19:38:40 +00:00
|
|
|
"react-router": "3.2.1",
|
|
|
|
"tmp": "^0.0.33",
|
|
|
|
"whatwg-fetch": "2.0.3"
|
|
|
|
},
|
|
|
|
"devDependencies": {
|
2018-02-17 21:28:47 +00:00
|
|
|
"autoprefixer": "7.1.6",
|
|
|
|
"babel-core": "6.26.0",
|
|
|
|
"babel-eslint": "7.2.3",
|
|
|
|
"babel-jest": "20.0.3",
|
|
|
|
"babel-loader": "7.1.2",
|
Target latest Node for backend applications (#213)
Summary:
Consequently, Babel won’t transform classes to their roughly equivalent
ES5 counterparts, etc.
Test Plan:
Create `src/classy.js` with `class X {}; console.log(X);`. Then, add a
build target for `classy: resolveApp("src/classy.js"),` in `paths.js`.
Use `yarn backend` and inspect the contents of `bin/classy.js`; in
particular, look at the definition of `X` (whatever the argument to
`console.log` is). Before this commit, the result will be a big
complicated mess. After this commit, it will be `class X {}`.
Note also that `yarn travis --full` passes, indicating that the two
manual tests, which call out to the utilities in `bin/`, still work.
wchargin-branch: target-node
2018-05-05 02:22:39 +00:00
|
|
|
"babel-plugin-transform-es2015-for-of": "^6.23.0",
|
2018-02-17 21:28:47 +00:00
|
|
|
"babel-preset-react-app": "^3.1.1",
|
|
|
|
"babel-runtime": "6.26.0",
|
|
|
|
"case-sensitive-paths-webpack-plugin": "2.1.1",
|
2018-08-10 20:15:49 +00:00
|
|
|
"copy-webpack-plugin": "^4.5.2",
|
2018-02-17 21:28:47 +00:00
|
|
|
"css-loader": "0.28.7",
|
|
|
|
"dotenv": "4.0.0",
|
|
|
|
"dotenv-expand": "4.0.1",
|
2018-07-27 19:38:40 +00:00
|
|
|
"enzyme": "^3.3.0",
|
|
|
|
"enzyme-adapter-react-16": "^1.1.1",
|
|
|
|
"enzyme-to-json": "^3.3.3",
|
2018-02-17 21:28:47 +00:00
|
|
|
"eslint": "4.10.0",
|
|
|
|
"eslint-config-react-app": "^2.1.0",
|
|
|
|
"eslint-loader": "1.9.0",
|
|
|
|
"eslint-plugin-flowtype": "2.39.1",
|
|
|
|
"eslint-plugin-import": "2.8.0",
|
|
|
|
"eslint-plugin-jsx-a11y": "5.1.1",
|
|
|
|
"eslint-plugin-react": "7.4.0",
|
|
|
|
"extract-text-webpack-plugin": "3.0.2",
|
|
|
|
"file-loader": "1.1.5",
|
2018-07-27 22:54:59 +00:00
|
|
|
"flow-bin": "^0.77.0",
|
2018-02-17 21:28:47 +00:00
|
|
|
"html-webpack-plugin": "2.29.0",
|
2018-07-27 19:28:04 +00:00
|
|
|
"jest": "23.4.1",
|
2018-07-27 19:38:40 +00:00
|
|
|
"jest-fetch-mock": "^1.6.5",
|
2018-02-17 21:28:47 +00:00
|
|
|
"postcss-flexbugs-fixes": "3.2.0",
|
|
|
|
"postcss-loader": "2.0.8",
|
2018-06-04 20:02:17 +00:00
|
|
|
"prettier": "^1.13.4",
|
2018-02-17 21:28:47 +00:00
|
|
|
"raf": "3.4.0",
|
|
|
|
"react-dev-utils": "^5.0.0",
|
2018-07-31 22:27:32 +00:00
|
|
|
"rimraf": "^2.6.2",
|
2018-07-27 19:38:40 +00:00
|
|
|
"static-site-generator-webpack-plugin": "^3.4.1",
|
2018-02-17 21:28:47 +00:00
|
|
|
"style-loader": "0.19.0",
|
|
|
|
"url-loader": "0.6.2",
|
|
|
|
"webpack": "3.8.1",
|
|
|
|
"webpack-dev-server": "2.9.4",
|
|
|
|
"webpack-manifest-plugin": "1.3.2",
|
2018-07-27 19:38:40 +00:00
|
|
|
"webpack-node-externals": "^1.7.2"
|
2018-02-16 22:32:24 +00:00
|
|
|
},
|
|
|
|
"scripts": {
|
2018-02-18 09:59:28 +00:00
|
|
|
"prettify": "prettier --write '**/*.js'",
|
2018-03-02 22:39:54 +00:00
|
|
|
"check-pretty": "prettier --list-different '**/*.js'",
|
2018-07-31 01:10:54 +00:00
|
|
|
"start": "NODE_ENV=development webpack-dev-server --config config/makeWebpackConfig.js",
|
|
|
|
"build": "NODE_ENV=production webpack --config config/makeWebpackConfig.js",
|
2018-03-19 05:43:23 +00:00
|
|
|
"backend": "node scripts/backend.js",
|
2018-07-31 17:53:10 +00:00
|
|
|
"test": "node ./config/test.js",
|
|
|
|
"unit": "BABEL_ENV=test NODE_ENV=test jest --env=jsdom",
|
Add `sharness` for shell-based testing (#597)
Summary:
We will shortly want to perform testing of shell scripts; it makes the
most sense to do so via the shell. We could roll our own testing
framework, but it makes more sense to use an existing one. By choosing
Sharness, we’re in good company: `go-ipfs` and `go-multihash` use it as
well, and it’s derived from Git’s testing library. I like it a lot.
For now, we need a dummy test file; our test runner will fail if there
are no tests to run. As soon as we have a real test, we can remove this.
This commit was generated by following the “per-project installation”
instructions at https://github.com/chriscool/sharness, and by
additionally including that repository’s `COPYING` file as
`SHARNESS_LICENSE`, with a header prepended. I considered instead adding
Sharness as a submodule, which is supported and has clear advantages
(e.g., you can update the thing), but opted to avoid the complexity of
submodules for now.
Test Plan:
Create the following tests in the `sharness` directory:
```shell
$ cat sharness/good.t
#!/bin/sh
test_description='demo of passing tests'
. ./sharness.sh
test_expect_success "look at me go" true
test_expect_success EXPENSIVE "this may take a while" 'sleep 2'
test_done
# vim: ft=sh
$ cat sharness/bad.t
#!/bin/sh
test_description='demo of failing tests'
. ./sharness.sh
test_expect_success "I don't feel so good" false
test_done
# vim: ft=sh
```
Note that `yarn sharness` and `yarn test` fail appropriately. Note that
`yarn sharness-full` fails appropriately after taking two extra seconds,
and `yarn test --full` runs the latter. Each failure message should
print the name of the failing test case, not just the suite name, and
should indicate that the passing tests passed.
Then, remove `sharness/bad.t`, and note that the above commands all
pass, with the `--full` variants still taking longer.
Finally, remove `sharness/good.t`, and note that the above commands all
pass (and all pass quickly).
wchargin-branch: add-sharness
2018-08-06 19:56:25 +00:00
|
|
|
"sharness": "make -sC ./sharness prove PROVE_OPTS=-f TEST_OPTS='--chain-lint'",
|
|
|
|
"sharness-full": "make -sC ./sharness prove PROVE_OPTS=-f TEST_OPTS='--chain-lint --long'",
|
2018-07-31 17:53:10 +00:00
|
|
|
"coverage": "npm run unit -- --coverage",
|
2018-03-02 22:39:54 +00:00
|
|
|
"flow": "flow",
|
2018-07-31 17:53:10 +00:00
|
|
|
"lint": "eslint src config --max-warnings 0"
|
2018-02-17 21:28:47 +00:00
|
|
|
},
|
2018-03-02 19:31:12 +00:00
|
|
|
"license": "MIT",
|
2018-02-17 21:28:47 +00:00
|
|
|
"jest": {
|
|
|
|
"collectCoverageFrom": [
|
|
|
|
"src/**/*.{js,jsx,mjs}"
|
|
|
|
],
|
|
|
|
"setupFiles": [
|
2018-07-26 22:08:14 +00:00
|
|
|
"<rootDir>/config/polyfills.js",
|
|
|
|
"<rootDir>/config/jest/setupJest.js"
|
2018-02-17 21:28:47 +00:00
|
|
|
],
|
|
|
|
"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",
|
|
|
|
"mjs",
|
|
|
|
"js",
|
|
|
|
"json",
|
|
|
|
"web.jsx",
|
|
|
|
"jsx",
|
|
|
|
"node"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"babel": {
|
|
|
|
"presets": [
|
2018-05-05 02:19:45 +00:00
|
|
|
"./config/babel"
|
2018-02-17 21:28:47 +00:00
|
|
|
]
|
|
|
|
},
|
2018-07-27 21:32:30 +00:00
|
|
|
"files": [
|
|
|
|
"/bin",
|
|
|
|
"/build"
|
|
|
|
],
|
2018-05-05 02:28:37 +00:00
|
|
|
"oclif": {
|
|
|
|
"commands": "./bin/commands",
|
|
|
|
"bin": "sourcecred",
|
|
|
|
"plugins": [
|
|
|
|
"@oclif/plugin-help"
|
|
|
|
]
|
2018-02-16 22:32:24 +00:00
|
|
|
}
|
|
|
|
}
|