relay-forms-nodeps 2.0.0 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/.vscode/settings.json +10 -0
  2. package/eslint.config.js +84 -0
  3. package/lib/RelayFormsTypes.d.ts +17 -10
  4. package/lib/Utils.d.ts +1 -1
  5. package/lib/Utils.js +4 -3
  6. package/lib/es/RelayFormsTypes.d.ts +17 -10
  7. package/lib/es/RelayFormsTypes.js +1 -0
  8. package/lib/es/Utils.d.ts +1 -1
  9. package/lib/es/index.js +3 -1
  10. package/lib/es/relay/RelayModernStore.js +1 -2
  11. package/lib/es/relay/RelayReader.js +0 -1
  12. package/lib/es/relay/RelayStoreProvider.d.ts +1 -1
  13. package/lib/es/relay/RelayTypes.d.ts +7 -7
  14. package/lib/es/relay/RelayTypes.js +1 -0
  15. package/lib/es/relay/queries.js +0 -1
  16. package/lib/es/relay/queryErrorsFieldQuery.graphql.d.ts +27 -0
  17. package/lib/es/relay/queryErrorsFieldQuery.graphql.js +101 -0
  18. package/lib/es/relay/queryFieldFragment.graphql.d.ts +17 -0
  19. package/lib/es/relay/queryFieldFragment.graphql.js +27 -0
  20. package/lib/es/relay/queryFieldQuery.graphql.d.ts +24 -0
  21. package/lib/es/relay/queryFieldQuery.graphql.js +83 -0
  22. package/lib/es/relay/queryValueFieldFragment.graphql.d.ts +19 -0
  23. package/lib/es/relay/queryValueFieldFragment.graphql.js +39 -0
  24. package/lib/es/useForm.js +6 -2
  25. package/lib/es/useFormField.d.ts +1 -1
  26. package/lib/es/useFormField.js +48 -10
  27. package/lib/es/useFormState.d.ts +2 -12
  28. package/lib/index.js +70 -8
  29. package/lib/relay/RelayModernRecord.js +2 -1
  30. package/lib/relay/RelayModernSelector.js +1 -0
  31. package/lib/relay/RelayModernStore.js +7 -7
  32. package/lib/relay/RelayReader.js +1 -1
  33. package/lib/relay/RelayRecordProxy.js +1 -0
  34. package/lib/relay/RelayRecordSource.js +1 -0
  35. package/lib/relay/RelayRecordSourceMutator.js +1 -0
  36. package/lib/relay/RelayRecordSourceProxy.js +1 -0
  37. package/lib/relay/RelayReferenceMarker.js +1 -0
  38. package/lib/relay/RelayStoreProvider.d.ts +1 -1
  39. package/lib/relay/RelayStoreProvider.js +3 -1
  40. package/lib/relay/RelayStoreUtils.js +1 -0
  41. package/lib/relay/RelayTypes.d.ts +7 -7
  42. package/lib/relay/queries.js +1 -1
  43. package/lib/relay/queryErrorsFieldQuery.graphql.d.ts +27 -0
  44. package/lib/relay/queryErrorsFieldQuery.graphql.js +106 -0
  45. package/lib/relay/queryFieldFragment.graphql.d.ts +17 -0
  46. package/lib/relay/queryFieldFragment.graphql.js +32 -0
  47. package/lib/relay/queryFieldQuery.graphql.d.ts +24 -0
  48. package/lib/relay/queryFieldQuery.graphql.js +88 -0
  49. package/lib/relay/queryValueFieldFragment.graphql.d.ts +19 -0
  50. package/lib/relay/queryValueFieldFragment.graphql.js +44 -0
  51. package/lib/umd/relay-forms-nodeps.js +136 -69
  52. package/lib/umd/relay-forms-nodeps.js.map +1 -1
  53. package/lib/umd/relay-forms-nodeps.min.js +1 -1
  54. package/lib/umd/relay-forms-nodeps.min.js.map +1 -1
  55. package/lib/useForceUpdate.js +2 -1
  56. package/lib/useForm.js +17 -11
  57. package/lib/useFormField.d.ts +1 -1
  58. package/lib/useFormField.js +56 -17
  59. package/lib/useFormState.d.ts +2 -12
  60. package/lib/useFormState.js +5 -3
  61. package/lib/useFormValue.js +3 -2
  62. package/package.json +106 -102
  63. package/rollup.config.js +92 -92
  64. package/yarn-error.log +127 -127
@@ -3,9 +3,10 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.useForceUpdate = void 0;
6
7
  var react_1 = require("react");
7
8
  function useForceUpdate() {
8
- var _a = react_1.useReducer(function (x) {
9
+ var _a = (0, react_1.useReducer)(function (x) {
9
10
  return x + 1;
10
11
  }, 0),
11
12
  forceUpdate = _a[1];
package/lib/useForm.js CHANGED
@@ -3,6 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.useForm = void 0;
6
7
  var React = require("react");
7
8
  var RelayStoreProvider_1 = require("./relay/RelayStoreProvider");
8
9
  var RelayStoreUtils_1 = require("./relay/RelayStoreUtils");
@@ -10,7 +11,9 @@ var useFormField_1 = require("./useFormField");
10
11
  var Utils_1 = require("./Utils");
11
12
  function logicSubmit(environment, onSubmit) {
12
13
  function dispose() {
13
- subscription && subscription.dispose();
14
+ if (subscription) {
15
+ subscription.dispose();
16
+ }
14
17
  subscription = undefined;
15
18
  }
16
19
  var isSubmitting = false;
@@ -18,14 +21,14 @@ function logicSubmit(environment, onSubmit) {
18
21
  function execute(snapshot) {
19
22
  var disposeSubmit = function () {
20
23
  isSubmitting = false;
21
- Utils_1.commit(environment, function (_, form) {
24
+ (0, Utils_1.commit)(environment, function (_, form) {
22
25
  form.setValue(false, 'isSubmitting');
23
26
  });
24
27
  };
25
28
  var data = snapshot.data;
26
29
  var entries = data.form.entries;
27
30
  var filtered = entries.filter(function (value) {
28
- return useFormField_1.isDone(value.check);
31
+ return (0, useFormField_1.isDone)(value.check);
29
32
  });
30
33
  var isValidating = filtered.length !== entries.length;
31
34
  var errors = entries.filter(function (value) {
@@ -34,7 +37,7 @@ function logicSubmit(environment, onSubmit) {
34
37
  return value.id;
35
38
  });
36
39
  var isValid = !isValidating && errors.length === 0;
37
- Utils_1.commit(environment, function (store, form) {
40
+ (0, Utils_1.commit)(environment, function (store, form) {
38
41
  form.setValue(isValidating, 'isValidating').setValue(isValid, 'isValid');
39
42
  var errorFields = [];
40
43
  errors.forEach(function (id) {
@@ -49,7 +52,7 @@ function logicSubmit(environment, onSubmit) {
49
52
  result_1[entry.key] = entry.value;
50
53
  });
51
54
  var submit_1 = onSubmit(result_1);
52
- if (RelayStoreUtils_1.isPromise(submit_1)) {
55
+ if ((0, RelayStoreUtils_1.isPromise)(submit_1)) {
53
56
  submit_1.then(disposeSubmit).catch(disposeSubmit);
54
57
  return;
55
58
  }
@@ -60,7 +63,7 @@ function logicSubmit(environment, onSubmit) {
60
63
  function reset() {
61
64
  if (!isSubmitting) {
62
65
  dispose();
63
- Utils_1.commit(environment, function (_, form) {
66
+ (0, Utils_1.commit)(environment, function (_, form) {
64
67
  form.setValue(false, 'isSubmitting').setValue(false, 'isValidating').setLinkedRecords([], 'errors').getLinkedRecords('entries').forEach(function (entry) {
65
68
  return entry.setValue(useFormField_1.RESET, 'check').setValue(undefined, 'error');
66
69
  });
@@ -68,7 +71,7 @@ function logicSubmit(environment, onSubmit) {
68
71
  }
69
72
  }
70
73
  function validate() {
71
- Utils_1.commit(environment, function (_, form) {
74
+ (0, Utils_1.commit)(environment, function (_, form) {
72
75
  var tobeValitating = form.setValue(isSubmitting, 'isSubmitting').getLinkedRecords('entries').filter(function (value) {
73
76
  return value.getValue('check') === useFormField_1.TOBEVALIDATE;
74
77
  });
@@ -86,7 +89,9 @@ function logicSubmit(environment, onSubmit) {
86
89
  execute(snapshot);
87
90
  }
88
91
  function submit(event) {
89
- event && event.preventDefault();
92
+ if (event) {
93
+ event.preventDefault();
94
+ }
90
95
  if (!isSubmitting) {
91
96
  isSubmitting = true;
92
97
  validate();
@@ -112,9 +117,9 @@ function logicSubmit(environment, onSubmit) {
112
117
  getData: getData
113
118
  };
114
119
  }
115
- exports.useForm = function (_a) {
120
+ var useForm = function (_a) {
116
121
  var onSubmit = _a.onSubmit;
117
- var environment = RelayStoreProvider_1.useStore();
122
+ var environment = (0, RelayStoreProvider_1.useStore)();
118
123
  var resolver = React.useMemo(function () {
119
124
  return logicSubmit(environment, onSubmit);
120
125
  }, [environment, onSubmit]);
@@ -122,4 +127,5 @@ exports.useForm = function (_a) {
122
127
  return resolver.subscribe();
123
128
  }, [resolver]);
124
129
  return resolver.getData();
125
- };
130
+ };
131
+ exports.useForm = useForm;
@@ -3,4 +3,4 @@ export declare const TOBEVALIDATE = 1;
3
3
  export declare const VALIDATING = 2;
4
4
  export declare const RESET = 5;
5
5
  export declare function isDone(check: any): boolean;
6
- export declare function useFormField<ValueType>({ key, initialValue, validate, validateOnChange, label, }: FormSetValueOptions<ValueType>): FormSetValueReturn<ValueType>;
6
+ export declare function useFormField<ValueType>({ key, initialValue, validate, validateOnChange, label, dependsOn, }: FormSetValueOptions<ValueType>): FormSetValueReturn<ValueType>;
@@ -1,10 +1,22 @@
1
1
  "use strict";
2
2
 
3
+ var __assign = this && this.__assign || function () {
4
+ __assign = Object.assign || function (t) {
5
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
6
+ s = arguments[i];
7
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
3
13
  Object.defineProperty(exports, "__esModule", {
4
14
  value: true
5
15
  });
16
+ exports.useFormField = exports.isDone = exports.RESET = exports.VALIDATING = exports.TOBEVALIDATE = void 0;
6
17
  var React = require("react");
7
18
  var queries_1 = require("./relay/queries");
19
+ var queryValueFieldFragment_graphql_1 = require("./relay/queryValueFieldFragment.graphql");
8
20
  var RelayStoreProvider_1 = require("./relay/RelayStoreProvider");
9
21
  var RelayStoreUtils_1 = require("./relay/RelayStoreUtils");
10
22
  var useForceUpdate_1 = require("./useForceUpdate");
@@ -28,10 +40,15 @@ function logicSetValue(params) {
28
40
  initialValue = params.initialValue,
29
41
  forceUpdate = params.forceUpdate,
30
42
  validateOnChange = params.validateOnChange,
31
- label = params.label;
43
+ label = params.label,
44
+ dependsOn = params.dependsOn;
32
45
  var validate = undefined;
33
46
  var firstSet = true;
34
- var localId = Utils_1.getFieldId(key);
47
+ var deps = {};
48
+ var localId = (0, Utils_1.getFieldId)(key);
49
+ function getDeps() {
50
+ return deps;
51
+ }
35
52
  function getValidate() {
36
53
  return validate;
37
54
  }
@@ -47,7 +64,7 @@ function logicSetValue(params) {
47
64
  if (commitValue === void 0) {
48
65
  commitValue = true;
49
66
  }
50
- Utils_1.commit(environment, function (store, form) {
67
+ (0, Utils_1.commit)(environment, function (store, form) {
51
68
  var field = store.get(localId);
52
69
  if (!field) {
53
70
  field = store.create(localId).setValue(localId, 'id').setValue(label, 'label').setValue(key, 'key');
@@ -106,25 +123,26 @@ function logicSetValue(params) {
106
123
  }
107
124
  commitField(false);
108
125
  }
109
- function internalValidate(value, validateFunction) {
126
+ function internalValidate(value, validateFunction, depsValidation) {
110
127
  ref.isChecking = true;
111
- var result = validateFunction(value);
128
+ var result = validateFunction(value, deps);
112
129
  function internalFinalize(error) {
113
130
  var validate = getValidate();
114
- if (value !== dataResult.value || validate !== validateFunction) {
115
- internalValidate(dataResult.value, validate);
131
+ var deps = getDeps();
132
+ if (value !== dataResult.value || validate !== validateFunction || deps !== depsValidation) {
133
+ internalValidate(dataResult.value, validate, deps);
116
134
  return;
117
135
  }
118
136
  finalizeCheck(error);
119
137
  }
120
- if (RelayStoreUtils_1.isPromise(result)) {
138
+ if ((0, RelayStoreUtils_1.isPromise)(result)) {
121
139
  result.then(internalFinalize).catch(internalFinalize);
122
140
  } else {
123
141
  internalFinalize(result);
124
142
  }
125
143
  }
126
144
  function subscribe() {
127
- var snapshot = Utils_1.getSnapshot(environment, queries_1.FragmentSet, key);
145
+ var snapshot = (0, Utils_1.getSnapshot)(environment, queries_1.FragmentSet, key);
128
146
  var disposeSubscrition = environment.subscribe(snapshot, function (s) {
129
147
  var data = s.data;
130
148
  var dataCheck = data.check;
@@ -136,12 +154,28 @@ function logicSetValue(params) {
136
154
  ref.check = getInitCheck(validate);
137
155
  setValueInternal(initialValue);
138
156
  } else if (isValidating && !ref.isChecking) {
139
- internalValidate(dataResult.value, validate);
157
+ internalValidate(dataResult.value, validate, deps);
140
158
  }
141
159
  }).dispose;
160
+ var disposeDeps = [];
161
+ if (dependsOn != null) {
162
+ dependsOn.forEach(function (depKey) {
163
+ var snapshot = (0, Utils_1.getSnapshot)(environment, queryValueFieldFragment_graphql_1.default, depKey);
164
+ var disposeDep = environment.subscribe(snapshot, function (s) {
165
+ var _a;
166
+ var data = s.data;
167
+ deps = __assign(__assign({}, deps), (_a = {}, _a[depKey] = data, _a));
168
+ if (ref.check == DONEVALIDATED && !ref.isChecking) {
169
+ ref.check = exports.VALIDATING;
170
+ commitField(false);
171
+ }
172
+ }).dispose;
173
+ disposeDeps.push(disposeDep);
174
+ });
175
+ }
142
176
  var dispose = function () {
143
177
  disposeSubscrition();
144
- Utils_1.commit(environment, function (store, form) {
178
+ (0, Utils_1.commit)(environment, function (store, form) {
145
179
  var entriesArray = form.getLinkedRecords('entries');
146
180
  var newEntries = entriesArray.filter(function (value) {
147
181
  return value.getDataID() != localId;
@@ -149,9 +183,12 @@ function logicSetValue(params) {
149
183
  form.setLinkedRecords(newEntries, 'entries');
150
184
  store.delete(localId);
151
185
  });
186
+ disposeDeps.forEach(function (dispose) {
187
+ return dispose;
188
+ });
152
189
  };
153
190
  if (validateOnChange) {
154
- internalValidate(initialValue, getValidate());
191
+ internalValidate(initialValue, getValidate(), deps);
155
192
  }
156
193
  return dispose;
157
194
  }
@@ -167,9 +204,10 @@ function useFormField(_a) {
167
204
  initialValue = _a.initialValue,
168
205
  validate = _a.validate,
169
206
  validateOnChange = _a.validateOnChange,
170
- label = _a.label;
171
- var forceUpdate = useForceUpdate_1.useForceUpdate();
172
- var environment = RelayStoreProvider_1.useStore();
207
+ label = _a.label,
208
+ dependsOn = _a.dependsOn;
209
+ var forceUpdate = (0, useForceUpdate_1.useForceUpdate)();
210
+ var environment = (0, RelayStoreProvider_1.useStore)();
173
211
  var resolver = React.useMemo(function () {
174
212
  return logicSetValue({
175
213
  environment: environment,
@@ -177,9 +215,10 @@ function useFormField(_a) {
177
215
  label: label,
178
216
  initialValue: initialValue,
179
217
  forceUpdate: forceUpdate,
180
- validateOnChange: validateOnChange
218
+ validateOnChange: validateOnChange,
219
+ dependsOn: dependsOn
181
220
  });
182
- }, [environment, key, initialValue, forceUpdate, validateOnChange, label]);
221
+ }, [environment, key, initialValue, forceUpdate, validateOnChange, label, dependsOn]);
183
222
  resolver.setValidate(validate);
184
223
  React.useEffect(function () {
185
224
  return resolver.subscribe();
@@ -1,12 +1,2 @@
1
- export declare const useFormState: () => {
2
- readonly errors: readonly {
3
- readonly check: number;
4
- readonly error: string;
5
- readonly id: string;
6
- readonly key: string;
7
- readonly label: string;
8
- }[];
9
- readonly isSubmitting: boolean;
10
- readonly isValid: boolean;
11
- readonly isValidating: boolean;
12
- };
1
+ import { QueryErrorsData } from './relay/queries';
2
+ export declare const useFormState: () => QueryErrorsData['form'] | null;
@@ -3,11 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.useFormState = void 0;
6
7
  var React = require("react");
7
8
  var RelayStoreProvider_1 = require("./relay/RelayStoreProvider");
8
9
  var Utils_1 = require("./Utils");
9
- exports.useFormState = function () {
10
- var environment = RelayStoreProvider_1.useStore();
10
+ var useFormState = function () {
11
+ var environment = (0, RelayStoreProvider_1.useStore)();
11
12
  var snapshot = React.useMemo(function () {
12
13
  var s = environment.lookup(Utils_1.operationQueryErrorsForm.fragment);
13
14
  s.seenRecords.add('local:form');
@@ -23,4 +24,5 @@ exports.useFormState = function () {
23
24
  // eslint-disable-next-line react-hooks/exhaustive-deps
24
25
  }, [snapshot]);
25
26
  return data;
26
- };
27
+ };
28
+ exports.useFormState = useFormState;
@@ -3,14 +3,15 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.useFormValue = void 0;
6
7
  var React = require("react");
7
8
  var queries_1 = require("./relay/queries");
8
9
  var RelayStoreProvider_1 = require("./relay/RelayStoreProvider");
9
10
  var Utils_1 = require("./Utils");
10
11
  function useFormValue(key) {
11
- var environment = RelayStoreProvider_1.useStore();
12
+ var environment = (0, RelayStoreProvider_1.useStore)();
12
13
  var snapshot = React.useMemo(function () {
13
- return Utils_1.getSnapshot(environment, queries_1.FragmentValue, key);
14
+ return (0, Utils_1.getSnapshot)(environment, queries_1.FragmentValue, key);
14
15
  }, [key, environment]);
15
16
  var _a = React.useState(snapshot.data),
16
17
  data = _a[0],
package/package.json CHANGED
@@ -1,102 +1,106 @@
1
- {
2
- "name": "relay-forms-nodeps",
3
- "version": "2.0.0",
4
- "keywords": [
5
- "forms",
6
- "relay",
7
- "hooks",
8
- "react",
9
- "react-native",
10
- "validation"
11
- ],
12
- "main": "lib/index.js",
13
- "module": "./lib/es/index.js",
14
- "unpkg": "lib/umd/relay-forms-nodeps.min.js",
15
- "license": "MIT",
16
- "description": "Relay Forms Without Deps",
17
- "author": {
18
- "name": "morrys"
19
- },
20
- "homepage": "https://morrys.github.io/relay-forms/docs/relay-forms.html",
21
- "repository": {
22
- "type": "git",
23
- "url": "https://github.com/morrys/relay-forms"
24
- },
25
- "scripts": {
26
- "clean": "rimraf lib",
27
- "relay": "relay-compiler",
28
- "compile": "npm run clean && tsc && tsc --project tsconfig.esm.json && npm run build:js && npm run build:replace && npm run rollup",
29
- "build": "npm run compile && npm run test",
30
- "fast:test": "npm run clean && tsc && npm run test",
31
- "test": "cross-env NODE_ENV=test jest --coverage",
32
- "format": "prettier --write \"src/**/*.ts*\" \"!src/relay/**/*.ts\"",
33
- "format:ci": "prettier --list-different \"src/**/*.ts*\" \"!src/relay/**/*.ts\"",
34
- "eslint": "eslint ./src --ext .js,.jsx,.ts,.tsx",
35
- "prepublishOnly": "npm run build",
36
- "build:js": "babel lib --out-dir lib --extensions \".js,.jsx\" && babel lib/es --out-dir lib/es --extensions \".js,.jsx\"",
37
- "build:replace": "replace-in-file --configFile=replace.config.js",
38
- "rollup": "rollup -c"
39
- },
40
- "relay": {
41
- "src": "./compile/",
42
- "schema": "./forms.graphql",
43
- "excludes": [
44
- "__generated__",
45
- "node_modules"
46
- ],
47
- "language": "typescript",
48
- "artifactDirectory": "./src/relay",
49
- "persistConfig": {
50
- "file": "./ignore-queries.json"
51
- }
52
- },
53
- "peerDependencies": {
54
- "react": "^16.9.0 || ^17 || ^18"
55
- },
56
- "devDependencies": {
57
- "@babel/cli": "^7.8.3",
58
- "@babel/runtime": "7.20.7",
59
- "babel-preset-fbjs": "^3.3.0",
60
- "@types/babel__traverse": "7.18.2",
61
- "cross-env": "6.0.3",
62
- "typescript": "3.8.3",
63
- "react": "^18.0.0",
64
- "react-dom": "^18.0.0",
65
- "graphql": "^14.2.0",
66
- "@types/react": "18.0.26",
67
- "@types/react-dom": "18.0.10",
68
- "relay-compiler": "^14.0.0",
69
- "replace-in-file": "6.2.0",
70
- "react-test-renderer": "^18.0.0",
71
- "relay-test-utils": "^14.0.0",
72
- "relay-test-utils-internal": "^14.0.0",
73
- "@types/jest": "24.0.18",
74
- "ts-jest": "^26.5.6",
75
- "jest": "^26.0.0",
76
- "promise-polyfill": "6.1.0",
77
- "@typescript-eslint/eslint-plugin": "2.25.0",
78
- "@typescript-eslint/parser": "2.25.0",
79
- "eslint": "6.8.0",
80
- "eslint-config-prettier": "6.10.1",
81
- "eslint-import-resolver-typescript": "2.0.0",
82
- "eslint-plugin-import": "2.20.1",
83
- "eslint-plugin-json": "2.1.1",
84
- "eslint-plugin-jsx-a11y": "6.2.3",
85
- "eslint-plugin-prettier": "3.1.2",
86
- "eslint-plugin-react": "7.19.0",
87
- "eslint-plugin-react-hooks": "3.0.0",
88
- "prettier": "1.19.1",
89
- "rimraf": "^2.5.4",
90
- "@types/node": "13.9.3",
91
- "relay-compiler-language-typescript": "12.0.0",
92
- "@testing-library/react": "13.4.0",
93
- "rollup": "^2.23.0",
94
- "rollup-plugin-sourcemaps": "0.6.2",
95
- "rollup-plugin-terser": "^6.1.0",
96
- "rollup-plugin-typescript2": "^0.27.1",
97
- "@rollup/plugin-commonjs": "14.0.0",
98
- "@rollup/plugin-node-resolve": "^8.4.0",
99
- "@rollup/plugin-replace": "^2.3.3",
100
- "@rollup/plugin-babel": "5.2.2"
101
- }
102
- }
1
+ {
2
+ "name": "relay-forms-nodeps",
3
+ "version": "2.3.0",
4
+ "keywords": [
5
+ "forms",
6
+ "relay",
7
+ "hooks",
8
+ "react",
9
+ "react-native",
10
+ "validation"
11
+ ],
12
+ "main": "lib/index.js",
13
+ "module": "./lib/es/index.js",
14
+ "unpkg": "lib/umd/relay-forms-nodeps.min.js",
15
+ "license": "MIT",
16
+ "description": "Relay Forms Without Deps",
17
+ "author": {
18
+ "name": "morrys"
19
+ },
20
+ "homepage": "https://morrys.github.io/relay-forms/docs/relay-forms.html",
21
+ "repository": {
22
+ "type": "git",
23
+ "url": "https://github.com/morrys/relay-forms"
24
+ },
25
+ "scripts": {
26
+ "clean": "rimraf lib",
27
+ "relay": "relay-compiler",
28
+ "compile": "npm run clean && tsc && tsc --project tsconfig.esm.json && npm run build:js && npm run build:replace && npm run rollup",
29
+ "build": "npm run compile && npm run test",
30
+ "fast:test": "npm run clean && tsc && npm run test",
31
+ "test": "cross-env NODE_ENV=test jest --coverage",
32
+ "format": "prettier --write \"src/**/*.ts*\" \"!src/relay/**/*.ts\"",
33
+ "format:ci": "prettier --list-different \"src/**/*.ts*\" \"!src/relay/**/*.ts\"",
34
+ "eslint": "eslint ./src",
35
+ "prepublishOnly": "npm run build",
36
+ "build:js": "babel lib --out-dir lib --extensions \".js,.jsx\" && babel lib/es --out-dir lib/es --extensions \".js,.jsx\"",
37
+ "build:replace": "replace-in-file --configFile=replace.config.js",
38
+ "rollup": "rollup -c"
39
+ },
40
+ "relay": {
41
+ "src": "./compile/",
42
+ "schema": "./forms.graphql",
43
+ "excludes": [
44
+ "__generated__",
45
+ "node_modules"
46
+ ],
47
+ "language": "typescript",
48
+ "artifactDirectory": "./src/relay",
49
+ "persistConfig": {
50
+ "file": "./ignore-queries.json"
51
+ }
52
+ },
53
+ "peerDependencies": {
54
+ "react": "^16.9.0 || ^17 || ^18 || ^19"
55
+ },
56
+ "devDependencies": {
57
+ "@babel/cli": "^7.8.3",
58
+ "@babel/runtime": "7.20.7",
59
+ "@eslint/js": "^9.39.4",
60
+ "@rollup/plugin-babel": "5.2.2",
61
+ "@rollup/plugin-commonjs": "14.0.0",
62
+ "@rollup/plugin-node-resolve": "^8.4.0",
63
+ "@rollup/plugin-replace": "^2.3.3",
64
+ "@testing-library/react": "^16.3.2",
65
+ "@types/babel__traverse": "7.18.2",
66
+ "@types/jest": "24.0.18",
67
+ "@types/node": "13.9.3",
68
+ "@types/react": "^19.0.26",
69
+ "@types/react-dom": "^19.0.10",
70
+ "@typescript-eslint/eslint-plugin": "^8.62.1",
71
+ "@typescript-eslint/parser": "^8.62.1",
72
+ "babel-preset-fbjs": "^3.3.0",
73
+ "cross-env": "6.0.3",
74
+ "eslint": "^9.39.4",
75
+ "eslint-config-prettier": "^10.1.8",
76
+ "eslint-import-resolver-typescript": "4.4.5",
77
+ "eslint-plugin-import": "2.32.0",
78
+ "eslint-plugin-json": "4.0.1",
79
+ "eslint-plugin-jsx-a11y": "6.10.2",
80
+ "eslint-plugin-prettier": "5.5.6",
81
+ "eslint-plugin-react": "7.37.5",
82
+ "eslint-plugin-react-hooks": "7.1.1",
83
+ "graphql": "^14.2.0",
84
+ "jest": "^26.0.0",
85
+ "prettier": "^3.9.4",
86
+ "promise-polyfill": "6.1.0",
87
+ "react": "^19.0.0",
88
+ "react-dom": "^19.0.0",
89
+ "react-test-renderer": "^19.2.7",
90
+ "relay-compiler": "^21.0.0",
91
+ "relay-compiler-language-typescript": "12.0.0",
92
+ "relay-hooks": "^10.0.0",
93
+ "relay-runtime": "^21.0.0",
94
+ "relay-test-utils": "^21.0.0",
95
+ "relay-test-utils-internal": "^21.0.0",
96
+ "replace-in-file": "6.2.0",
97
+ "rimraf": "^2.5.4",
98
+ "rollup": "^2.23.0",
99
+ "rollup-plugin-sourcemaps": "0.6.2",
100
+ "rollup-plugin-terser": "^6.1.0",
101
+ "rollup-plugin-typescript2": "^0.27.1",
102
+ "ts-jest": "^26.5.6",
103
+ "tslib": "^2.8.1",
104
+ "typescript": "^4.0.0"
105
+ }
106
+ }