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",
|
|
|
|
"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",
|
|
|
|
"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-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",
|
|
|
|
"sw-precache-webpack-plugin": "0.11.4",
|
|
|
|
"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-02-17 21:28:47 +00:00
|
|
|
"start": "node scripts/start.js",
|
|
|
|
"build": "node scripts/build.js",
|
2018-03-19 05:43:23 +00:00
|
|
|
"backend": "node scripts/backend.js",
|
2018-02-17 21:28:47 +00:00
|
|
|
"test": "node scripts/test.js --env=jsdom",
|
Implement a custom CI script (#189)
Summary:
This CI script accomplishes two tasks:
1. It speeds up our build by parallelizing where possible.
2. It opens the possibility for running Travis cron jobs.
Currently, this script by default does the same amount of work as our
current CI script. However, I’d like to move `yarn backend` into the
list of basic actions: a backend build failure should fail CI.
Note: this script is written to be executable directly by Node, so we
can’t use Flow types with the standard syntax. Instead, we use the
comment syntax: https://flow.org/en/docs/types/comments/
Test Plan:
The following should pass with useful output:
- `npm run travis`
- `GITHUB_TOKEN="your_github_token" npm run travis -- --full`
The following should fail with useful output:
- `npm run travis -- --full` (fail)
To test different failure modes, it can be helpful to add
```js
{id: "doomed", cmd: ["false"], deps: []},
{id: "orphan", cmd: ["whoami"], deps: ["who", "are", "you"]},
```
to the list of `basicTasks` in `travis.js`.
To test performance:
```shell
$ time node ./config/travis.js >/dev/null 2>/dev/null
real 0m8.306s
user 0m20.336s
sys 0m1.364s
$ time bash -c \
> 'npm run check-pretty && npm run lint && npm run flow && CI=1 npm run test' \
> >/dev/null 2>/dev/null
real 0m12.427s
user 0m13.752s
sys 0m0.804s
```
A 50% savings is not bad at all—and the raw time saved should only
improve from here on, as the individual steps start taking more time.
wchargin-branch: custom-ci
2018-05-02 23:10:03 +00:00
|
|
|
"ci-test": "CI=1 npm run test",
|
2018-06-08 18:32:27 +00:00
|
|
|
"coverage": "npm run test -- --coverage",
|
2018-03-02 22:39:54 +00:00
|
|
|
"flow": "flow",
|
2018-04-30 21:52:28 +00:00
|
|
|
"lint": "eslint src config --max-warnings 0",
|
Implement a custom CI script (#189)
Summary:
This CI script accomplishes two tasks:
1. It speeds up our build by parallelizing where possible.
2. It opens the possibility for running Travis cron jobs.
Currently, this script by default does the same amount of work as our
current CI script. However, I’d like to move `yarn backend` into the
list of basic actions: a backend build failure should fail CI.
Note: this script is written to be executable directly by Node, so we
can’t use Flow types with the standard syntax. Instead, we use the
comment syntax: https://flow.org/en/docs/types/comments/
Test Plan:
The following should pass with useful output:
- `npm run travis`
- `GITHUB_TOKEN="your_github_token" npm run travis -- --full`
The following should fail with useful output:
- `npm run travis -- --full` (fail)
To test different failure modes, it can be helpful to add
```js
{id: "doomed", cmd: ["false"], deps: []},
{id: "orphan", cmd: ["whoami"], deps: ["who", "are", "you"]},
```
to the list of `basicTasks` in `travis.js`.
To test performance:
```shell
$ time node ./config/travis.js >/dev/null 2>/dev/null
real 0m8.306s
user 0m20.336s
sys 0m1.364s
$ time bash -c \
> 'npm run check-pretty && npm run lint && npm run flow && CI=1 npm run test' \
> >/dev/null 2>/dev/null
real 0m12.427s
user 0m13.752s
sys 0m0.804s
```
A 50% savings is not bad at all—and the raw time saved should only
improve from here on, as the individual steps start taking more time.
wchargin-branch: custom-ci
2018-05-02 23:10:03 +00:00
|
|
|
"travis": "node ./config/travis.js"
|
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
|
|
|
}
|
|
|
|
}
|