Skip to content

Commit b3233e7

Browse files
HsuTingnodkz
authored andcommitted
fix: flow 0.101 errors
* fix: fix flow error * fix(utils): fix flow error * chore: update dependencies * test: add flow def test files * test(add new test example): * chore(test): remove example * fix(package.json): replace import * Revert "fix(package.json): replace import" This reverts commit 087e4f5. * chore: update dependencies * build: reassemble yarn lock for fixing travis ci checks * ci: change node 9 -> 10
1 parent 7cfb022 commit b3233e7

File tree

9 files changed

+5235
-3120
lines changed

9 files changed

+5235
-3120
lines changed

.eslintrc

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,6 @@
11
{
2-
"extends": [
3-
"airbnb-base",
4-
"prettier"
5-
],
6-
"plugins": [
7-
"prettier"
8-
],
2+
"extends": ["airbnb-base", "prettier"],
3+
"plugins": ["prettier"],
94
"parser": "babel-eslint",
105
"rules": {
116
"no-underscore-dangle": 0,
@@ -14,22 +9,31 @@
149
"prefer-template": 0,
1510
"no-use-before-define": 0,
1611
"no-else-return": 0,
17-
"comma-dangle": ["error", {
18-
"arrays": "always-multiline",
19-
"objects": "always-multiline",
20-
"imports": "always-multiline",
21-
"exports": "always-multiline",
22-
"functions": "ignore",
23-
}],
24-
"prettier/prettier": ["error", {
25-
"printWidth": 100,
26-
"singleQuote": true,
27-
"trailingComma": "es5",
28-
}],
12+
"comma-dangle": [
13+
"error",
14+
{
15+
"arrays": "always-multiline",
16+
"objects": "always-multiline",
17+
"imports": "always-multiline",
18+
"exports": "always-multiline",
19+
"functions": "ignore"
20+
}
21+
],
22+
"prettier/prettier": [
23+
"error",
24+
{
25+
"printWidth": 100,
26+
"singleQuote": true,
27+
"trailingComma": "es5"
28+
}
29+
],
2930
"no-plusplus": 0,
3031
"prefer-destructuring": 0,
3132
"no-prototype-builtins": 0,
32-
"class-methods-use-this": 0
33+
"class-methods-use-this": 0,
34+
"lines-between-class-members": 0,
35+
"no-console": "off",
36+
"import/prefer-default-export": 0
3337
},
3438
"env": {
3539
"jest": true

.travis.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ cache:
77
notifications:
88
email: true
99
node_js:
10-
- "9"
11-
- "8"
10+
- '10'
11+
- '8'
1212
script:
1313
- yarn run test
1414
- yarn run build

.vscode/settings.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"javascript.validate.enable": false,
3+
"editor.formatOnSave": true,
4+
"eslint.validate": [
5+
{ "language": "javascript", "autoFix": true },
6+
{ "language": "javascriptreact", "autoFix": true }
7+
]
8+
}

package.json

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -30,37 +30,37 @@
3030
"dependencies": {},
3131
"peerDependencies": {
3232
"graphql": ">=0.11.0",
33-
"react-relay-network-modern": ">=2.1.0",
34-
"react-relay": ">=1.4.0"
33+
"react-relay": ">=1.4.0",
34+
"react-relay-network-modern": ">=2.1.0"
3535
},
3636
"devDependencies": {
37-
"@babel/cli": "^7.0.0-beta.51",
38-
"@babel/core": "^7.0.0-beta.51",
39-
"@babel/plugin-proposal-class-properties": "^7.0.0-beta.51",
40-
"@babel/plugin-proposal-object-rest-spread": "^7.0.0-beta.51",
41-
"@babel/plugin-transform-flow-strip-types": "^7.0.0-beta.51",
42-
"@babel/preset-env": "^7.0.0-beta.51",
43-
"babel-eslint": "^8.2.3",
44-
"babel-jest": "^23.0.1",
37+
"@babel/cli": "^7.4.4",
38+
"@babel/core": "^7.4.5",
39+
"@babel/plugin-proposal-class-properties": "^7.4.4",
40+
"@babel/plugin-proposal-object-rest-spread": "^7.4.4",
41+
"@babel/plugin-transform-flow-strip-types": "^7.4.4",
42+
"@babel/preset-env": "^7.4.5",
43+
"babel-eslint": "^10.0.2",
44+
"babel-jest": "^24.8.0",
4545
"babel-plugin-replace-imports": "^1.0.2",
4646
"babel-polyfill": "^6.26.0",
4747
"cz-conventional-changelog": "^2.1.0",
48-
"eslint": "^4.19.1",
49-
"eslint-config-airbnb-base": "^12.1.0",
50-
"eslint-config-prettier": "^2.9.0",
51-
"eslint-module-utils": "^2.2.0",
52-
"eslint-plugin-import": "^2.12.0",
53-
"eslint-plugin-prettier": "^2.6.0",
54-
"fetch-mock": "^6.4.4",
55-
"flow-bin": "^0.74.0",
56-
"form-data": "^2.3.2",
57-
"graphql": "^0.13.2",
58-
"jest": "^23.1.0",
59-
"prettier": "^1.13.5",
60-
"react-relay-network-modern": "^2.3.3",
61-
"relay-runtime": "^1.6.0",
62-
"rimraf": "^2.6.2",
63-
"semantic-release": "^15.5.2"
48+
"eslint": "^6.0.1",
49+
"eslint-config-airbnb-base": "^13.1.0",
50+
"eslint-config-prettier": "^5.1.0",
51+
"eslint-module-utils": "^2.4.0",
52+
"eslint-plugin-import": "^2.18.0",
53+
"eslint-plugin-prettier": "^3.1.0",
54+
"fetch-mock": "^7.3.3",
55+
"flow-bin": "^0.101.1",
56+
"form-data": "^2.4.0",
57+
"graphql": "^14.3.1",
58+
"jest": "^24.8.0",
59+
"prettier": "^1.18.2",
60+
"react-relay-network-modern": "^4.0.1",
61+
"relay-runtime": "^5.0.0",
62+
"rimraf": "^2.6.3",
63+
"semantic-release": "^15.13.16"
6464
},
6565
"config": {
6666
"commitizen": {
@@ -79,7 +79,7 @@
7979
"build-mjs-rename": "find ./mjs -name \"*.js\" -exec bash -c 'mv \"$1\" \"${1%.js}\".mjs' - '{}' \\;",
8080
"build-node8": "rimraf node8 && BABEL_ENV=node8 babel src --ignore __tests__,__mocks__ -d node8 && COPY_TO_FOLDER=node8 npm run build-flow",
8181
"build-flow": "echo `$1` && find ./src -name '*.js' -not -path '*/__*' | while read filepath; do cp $filepath `echo ./${COPY_TO_FOLDER:-lib}$filepath | sed 's/.\\/src\\//\\//g'`.flow; done",
82-
"lint": "eslint src test *.js",
82+
"lint": "eslint 'src/**/*.js'",
8383
"coverage": "jest --coverage --maxWorkers 2",
8484
"watch": "jest --watch",
8585
"flow": "flow",

src/server.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ export default class RelayServerSSR {
3030
this.cache = new Map();
3131
}
3232

33-
getMiddleware(args: SSRGraphQLArgs | (() => Promise<SSRGraphQLArgs>)): Middleware {
33+
getMiddleware(args?: SSRGraphQLArgs | (() => Promise<SSRGraphQLArgs>)): Middleware {
3434
return next => async (r: any) => {
3535
const req: RelayRequest = r;
3636
const cacheKey = getCacheKey(req.operation.name, req.variables);

src/utils.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
/* @flow */
22
/* eslint-disable */
33

4+
type valueType = string | Object | valueType[];
5+
46
export function isFunction(obj: any): boolean %checks {
57
return !!(obj && obj.constructor && obj.call && obj.apply);
68
}
79

8-
export function stableCopy(value: mixed): mixed {
10+
export function stableCopy(value: valueType): valueType {
911
if (!value || typeof value !== 'object') {
1012
return value;
1113
}

test/flow-defs-client.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
/* @flow */
2+
3+
import { RelayNetworkLayer, cacheMiddleware, urlMiddleware } from 'react-relay-network-modern';
4+
import RelaySSR from '../src/client';
5+
6+
export const network = new RelayNetworkLayer([
7+
cacheMiddleware({
8+
size: 100,
9+
ttl: 60 * 1000,
10+
}),
11+
new RelaySSR().getMiddleware({
12+
lookup: false,
13+
}),
14+
urlMiddleware({
15+
url: () => 'http://localhost:8000/graphql',
16+
}),
17+
]);

test/flow-defs-server.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
/* @flow */
2+
3+
import { RelayNetworkLayer, urlMiddleware } from 'react-relay-network-modern';
4+
import RelayServerSSR from '../src/server';
5+
6+
const relayServerSSR = new RelayServerSSR();
7+
8+
export const network = new RelayNetworkLayer([
9+
urlMiddleware({
10+
url: () => 'http://localhost:8000/graphql',
11+
}),
12+
relayServerSSR.getMiddleware(),
13+
]);
14+
15+
console.log(network);

0 commit comments

Comments
 (0)