relay-forms-nodeps 1.0.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.
- package/.babelrc.js +5 -0
- package/LICENSE +21 -0
- package/README.md +124 -0
- package/lib/RelayFormsTypes.d.ts +37 -0
- package/lib/RelayFormsTypes.js +5 -0
- package/lib/Utils.d.ts +11 -0
- package/lib/Utils.js +87 -0
- package/lib/es/RelayFormsTypes.d.ts +37 -0
- package/lib/es/RelayFormsTypes.js +0 -0
- package/lib/es/Utils.d.ts +11 -0
- package/lib/es/Utils.js +81 -0
- package/lib/es/index.d.ts +9 -0
- package/lib/es/index.js +7 -0
- package/lib/es/relay/RelayModernRecord.d.ts +107 -0
- package/lib/es/relay/RelayModernRecord.js +183 -0
- package/lib/es/relay/RelayModernSelector.d.ts +11 -0
- package/lib/es/relay/RelayModernSelector.js +29 -0
- package/lib/es/relay/RelayModernStore.d.ts +51 -0
- package/lib/es/relay/RelayModernStore.js +355 -0
- package/lib/es/relay/RelayReader.d.ts +14 -0
- package/lib/es/relay/RelayReader.js +86 -0
- package/lib/es/relay/RelayRecordProxy.d.ts +28 -0
- package/lib/es/relay/RelayRecordProxy.js +57 -0
- package/lib/es/relay/RelayRecordSource.d.ts +28 -0
- package/lib/es/relay/RelayRecordSource.js +70 -0
- package/lib/es/relay/RelayRecordSourceMutator.d.ts +36 -0
- package/lib/es/relay/RelayRecordSourceMutator.js +75 -0
- package/lib/es/relay/RelayRecordSourceProxy.d.ts +25 -0
- package/lib/es/relay/RelayRecordSourceProxy.js +52 -0
- package/lib/es/relay/RelayReferenceMarker.d.ts +10 -0
- package/lib/es/relay/RelayReferenceMarker.js +54 -0
- package/lib/es/relay/RelayStoreProvider.d.ts +7 -0
- package/lib/es/relay/RelayStoreProvider.js +16 -0
- package/lib/es/relay/RelayStoreUtils.d.ts +51 -0
- package/lib/es/relay/RelayStoreUtils.js +199 -0
- package/lib/es/relay/RelayTypes.d.ts +92 -0
- package/lib/es/relay/RelayTypes.js +0 -0
- package/lib/es/relay/queries.d.ts +86 -0
- package/lib/es/relay/queries.js +68 -0
- package/lib/es/useForceUpdate.d.ts +1 -0
- package/lib/es/useForceUpdate.js +8 -0
- package/lib/es/useFormSetValue.d.ts +2 -0
- package/lib/es/useFormSetValue.js +84 -0
- package/lib/es/useFormState.d.ts +2 -0
- package/lib/es/useFormState.js +49 -0
- package/lib/es/useFormSubmit.d.ts +2 -0
- package/lib/es/useFormSubmit.js +105 -0
- package/lib/es/useFormValue.d.ts +2 -0
- package/lib/es/useFormValue.js +19 -0
- package/lib/index.d.ts +9 -0
- package/lib/index.js +20 -0
- package/lib/relay/RelayModernRecord.d.ts +107 -0
- package/lib/relay/RelayModernRecord.js +188 -0
- package/lib/relay/RelayModernSelector.d.ts +11 -0
- package/lib/relay/RelayModernSelector.js +36 -0
- package/lib/relay/RelayModernStore.d.ts +51 -0
- package/lib/relay/RelayModernStore.js +359 -0
- package/lib/relay/RelayReader.d.ts +14 -0
- package/lib/relay/RelayReader.js +92 -0
- package/lib/relay/RelayRecordProxy.d.ts +28 -0
- package/lib/relay/RelayRecordProxy.js +60 -0
- package/lib/relay/RelayRecordSource.d.ts +28 -0
- package/lib/relay/RelayRecordSource.js +75 -0
- package/lib/relay/RelayRecordSourceMutator.d.ts +36 -0
- package/lib/relay/RelayRecordSourceMutator.js +80 -0
- package/lib/relay/RelayRecordSourceProxy.d.ts +25 -0
- package/lib/relay/RelayRecordSourceProxy.js +57 -0
- package/lib/relay/RelayReferenceMarker.d.ts +10 -0
- package/lib/relay/RelayReferenceMarker.js +60 -0
- package/lib/relay/RelayStoreProvider.d.ts +7 -0
- package/lib/relay/RelayStoreProvider.js +22 -0
- package/lib/relay/RelayStoreUtils.d.ts +51 -0
- package/lib/relay/RelayStoreUtils.js +208 -0
- package/lib/relay/RelayTypes.d.ts +92 -0
- package/lib/relay/RelayTypes.js +5 -0
- package/lib/relay/queries.d.ts +86 -0
- package/lib/relay/queries.js +73 -0
- package/lib/umd/relay-forms-nodeps.js +1478 -0
- package/lib/umd/relay-forms-nodeps.js.map +1 -0
- package/lib/umd/relay-forms-nodeps.min.js +2 -0
- package/lib/umd/relay-forms-nodeps.min.js.map +1 -0
- package/lib/useForceUpdate.d.ts +1 -0
- package/lib/useForceUpdate.js +14 -0
- package/lib/useFormSetValue.d.ts +2 -0
- package/lib/useFormSetValue.js +90 -0
- package/lib/useFormState.d.ts +2 -0
- package/lib/useFormState.js +54 -0
- package/lib/useFormSubmit.d.ts +2 -0
- package/lib/useFormSubmit.js +110 -0
- package/lib/useFormValue.d.ts +2 -0
- package/lib/useFormValue.js +25 -0
- package/package.json +89 -0
- package/replace.config.js +5 -0
- package/rollup.config.js +92 -0
- package/tsconfig.esm.json +7 -0
- package/yarn-error.log +127 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var react_1 = require("react");
|
|
7
|
+
function useForceUpdate() {
|
|
8
|
+
var _a = react_1.useReducer(function (x) {
|
|
9
|
+
return x + 1;
|
|
10
|
+
}, 0),
|
|
11
|
+
forceUpdate = _a[1];
|
|
12
|
+
return forceUpdate;
|
|
13
|
+
}
|
|
14
|
+
exports.useForceUpdate = useForceUpdate;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var React = require("react");
|
|
7
|
+
var queries_1 = require("./relay/queries");
|
|
8
|
+
var RelayStoreProvider_1 = require("./relay/RelayStoreProvider");
|
|
9
|
+
var RelayStoreUtils_1 = require("./relay/RelayStoreUtils");
|
|
10
|
+
var useForceUpdate_1 = require("./useForceUpdate");
|
|
11
|
+
var Utils_1 = require("./Utils");
|
|
12
|
+
function useFormSetValue(_a) {
|
|
13
|
+
var key = _a.key,
|
|
14
|
+
initialValue = _a.initialValue,
|
|
15
|
+
validate = _a.validate,
|
|
16
|
+
validateOnChange = _a.validateOnChange;
|
|
17
|
+
var forceUpdate = useForceUpdate_1.useForceUpdate();
|
|
18
|
+
var environment = RelayStoreProvider_1.useStore();
|
|
19
|
+
var ref = React.useRef({
|
|
20
|
+
value: initialValue,
|
|
21
|
+
error: undefined,
|
|
22
|
+
check: validate ? 'INIT' : 'DONE',
|
|
23
|
+
isChecking: false
|
|
24
|
+
});
|
|
25
|
+
var setValue = React.useCallback(function (newValue) {
|
|
26
|
+
ref.current.value = newValue;
|
|
27
|
+
if (ref.current.check === 'DONE' && validate) {
|
|
28
|
+
ref.current.check = 'START';
|
|
29
|
+
}
|
|
30
|
+
Utils_1.commitValue(key, newValue, ref.current.check, environment);
|
|
31
|
+
forceUpdate();
|
|
32
|
+
}, [environment, key, validate, forceUpdate]);
|
|
33
|
+
React.useEffect(function () {
|
|
34
|
+
//commitResetField(environment, key);
|
|
35
|
+
Utils_1.commitValue(key, initialValue, ref.current.check, environment);
|
|
36
|
+
var snapshot = Utils_1.getSnapshot(environment, queries_1.FragmentSet, key);
|
|
37
|
+
var disposeSubscrition = environment.subscribe(snapshot, function (s) {
|
|
38
|
+
var check = s.data.check;
|
|
39
|
+
var isStart = check === 'START';
|
|
40
|
+
var isReset = check === 'RESET';
|
|
41
|
+
ref.current.check = check;
|
|
42
|
+
if (isReset) {
|
|
43
|
+
ref.current.check = validate ? 'INIT' : 'DONE';
|
|
44
|
+
setValue(initialValue);
|
|
45
|
+
} else {
|
|
46
|
+
if (!validate) {
|
|
47
|
+
Utils_1.commitErrorIntoRelay(key, undefined, environment);
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
if (isStart && !ref.current.isChecking) {
|
|
51
|
+
internalValidate(ref.current.value);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}).dispose;
|
|
55
|
+
var dispose = function () {
|
|
56
|
+
disposeSubscrition();
|
|
57
|
+
Utils_1.commitResetField(environment, key);
|
|
58
|
+
};
|
|
59
|
+
function finalizeCheck(error) {
|
|
60
|
+
ref.current.isChecking = false;
|
|
61
|
+
if (ref.current.error !== error) {
|
|
62
|
+
ref.current.error = error;
|
|
63
|
+
forceUpdate();
|
|
64
|
+
}
|
|
65
|
+
Utils_1.commitErrorIntoRelay(key, error, environment);
|
|
66
|
+
}
|
|
67
|
+
function internalValidate(value) {
|
|
68
|
+
ref.current.isChecking = true;
|
|
69
|
+
var result = validate(value);
|
|
70
|
+
function internalFinalize(error) {
|
|
71
|
+
if (value !== ref.current.value) {
|
|
72
|
+
internalValidate(ref.current.value);
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
finalizeCheck(error);
|
|
76
|
+
}
|
|
77
|
+
if (RelayStoreUtils_1.isPromise(result)) {
|
|
78
|
+
result.then(internalFinalize).catch(internalFinalize);
|
|
79
|
+
} else {
|
|
80
|
+
internalFinalize(result);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
if (validateOnChange) {
|
|
84
|
+
internalValidate(initialValue);
|
|
85
|
+
}
|
|
86
|
+
return dispose;
|
|
87
|
+
}, [environment, initialValue, key, setValue, validate, validateOnChange, forceUpdate]);
|
|
88
|
+
return [ref.current, setValue];
|
|
89
|
+
}
|
|
90
|
+
exports.useFormSetValue = useFormSetValue;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var React = require("react");
|
|
7
|
+
var RelayStoreProvider_1 = require("./relay/RelayStoreProvider");
|
|
8
|
+
var RelayStoreUtils_1 = require("./relay/RelayStoreUtils");
|
|
9
|
+
var useForceUpdate_1 = require("./useForceUpdate");
|
|
10
|
+
var Utils_1 = require("./Utils");
|
|
11
|
+
exports.useFormState = function () {
|
|
12
|
+
var ref = React.useRef({
|
|
13
|
+
errors: undefined,
|
|
14
|
+
isValidating: false,
|
|
15
|
+
isSubmitting: false,
|
|
16
|
+
isValid: false
|
|
17
|
+
});
|
|
18
|
+
var forceUpdate = useForceUpdate_1.useForceUpdate();
|
|
19
|
+
var environment = RelayStoreProvider_1.useStore();
|
|
20
|
+
React.useEffect(function () {
|
|
21
|
+
function checkError(s) {
|
|
22
|
+
var data = s.data;
|
|
23
|
+
var form = data.form;
|
|
24
|
+
var entries = form.entries;
|
|
25
|
+
var current = ref.current;
|
|
26
|
+
var entryErrors = entries.filter(function (value) {
|
|
27
|
+
return !!value.error;
|
|
28
|
+
});
|
|
29
|
+
var entryValidated = entries.filter(function (value) {
|
|
30
|
+
return value.check === 'DONE';
|
|
31
|
+
});
|
|
32
|
+
var errors = entryErrors.length > 0 ? entryErrors : undefined;
|
|
33
|
+
var isValidating = form.isValidating;
|
|
34
|
+
var isSubmitting = form.isSubmitting;
|
|
35
|
+
var isValid = entries.length === entryValidated.length && (!errors || Object.keys(errors).length === 0);
|
|
36
|
+
var newState = {
|
|
37
|
+
errors: errors,
|
|
38
|
+
isValid: isValid,
|
|
39
|
+
isValidating: isValidating,
|
|
40
|
+
isSubmitting: isSubmitting
|
|
41
|
+
};
|
|
42
|
+
if (!RelayStoreUtils_1.areEqual(current, newState)) {
|
|
43
|
+
ref.current = newState;
|
|
44
|
+
forceUpdate();
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
var snapshot = environment.lookup(Utils_1.operationQueryErrorsForm.fragment);
|
|
48
|
+
checkError(snapshot);
|
|
49
|
+
return environment.subscribe(snapshot, function (s) {
|
|
50
|
+
checkError(s);
|
|
51
|
+
}).dispose;
|
|
52
|
+
}, [environment, forceUpdate]);
|
|
53
|
+
return ref.current;
|
|
54
|
+
};
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var React = require("react");
|
|
7
|
+
var RelayStoreProvider_1 = require("./relay/RelayStoreProvider");
|
|
8
|
+
var RelayStoreUtils_1 = require("./relay/RelayStoreUtils");
|
|
9
|
+
var Utils_1 = require("./Utils");
|
|
10
|
+
exports.useFormSubmit = function (_a) {
|
|
11
|
+
var onSubmit = _a.onSubmit;
|
|
12
|
+
var environment = RelayStoreProvider_1.useStore();
|
|
13
|
+
React.useEffect(function () {
|
|
14
|
+
return environment.retain(Utils_1.operationQueryForm).dispose;
|
|
15
|
+
}, [environment]);
|
|
16
|
+
var ref = React.useRef({
|
|
17
|
+
isSubmitting: false,
|
|
18
|
+
isValidating: false,
|
|
19
|
+
error: undefined,
|
|
20
|
+
subscription: undefined
|
|
21
|
+
});
|
|
22
|
+
var internalValidate = React.useCallback(function (snapshot, isSubmitting) {
|
|
23
|
+
ref.current.isValidating = true;
|
|
24
|
+
var data = snapshot.data;
|
|
25
|
+
var filtered = data.form.entries.filter(function (value) {
|
|
26
|
+
return value.check === 'INIT';
|
|
27
|
+
});
|
|
28
|
+
Utils_1.commitValidateIntoRelay(filtered, isSubmitting, environment);
|
|
29
|
+
}, [environment]);
|
|
30
|
+
var execute = React.useCallback(function (environment, snapshot, dispose, onSubmit) {
|
|
31
|
+
var data = snapshot.data;
|
|
32
|
+
var entries = data.form.entries;
|
|
33
|
+
var filtered = entries.filter(function (value) {
|
|
34
|
+
return value.check === 'DONE';
|
|
35
|
+
});
|
|
36
|
+
if (filtered.length === entries.length) {
|
|
37
|
+
var errors = entries.filter(function (value) {
|
|
38
|
+
return !!value.error;
|
|
39
|
+
});
|
|
40
|
+
Utils_1.commitValidateEndRelay(environment);
|
|
41
|
+
ref.current.isValidating = false;
|
|
42
|
+
var internalDispose = function () {
|
|
43
|
+
dispose();
|
|
44
|
+
if (ref.current.isSubmitting) {
|
|
45
|
+
ref.current.isSubmitting = false;
|
|
46
|
+
Utils_1.commitSubmitEndRelay(environment);
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
if (ref.current.isSubmitting && onSubmit && errors.length === 0) {
|
|
50
|
+
var result_1 = {};
|
|
51
|
+
entries.forEach(function (entry) {
|
|
52
|
+
result_1[entry.key] = entry.value;
|
|
53
|
+
});
|
|
54
|
+
var submit_1 = onSubmit(result_1);
|
|
55
|
+
if (RelayStoreUtils_1.isPromise(submit_1)) {
|
|
56
|
+
submit_1.then(internalDispose).catch(internalDispose);
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
internalDispose();
|
|
61
|
+
}
|
|
62
|
+
}, []);
|
|
63
|
+
var reset = React.useCallback(function () {
|
|
64
|
+
var snapshot = environment.lookup(Utils_1.operationQueryForm.fragment);
|
|
65
|
+
if (ref.current.isValidating && ref.current.isSubmitting) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
var data = snapshot.data;
|
|
69
|
+
Utils_1.commitResetIntoRelay(data.form.entries, environment);
|
|
70
|
+
}, [environment]);
|
|
71
|
+
var subscribe = React.useCallback(function (submit) {
|
|
72
|
+
if (submit === void 0) {
|
|
73
|
+
submit = false;
|
|
74
|
+
}
|
|
75
|
+
var snapshot = environment.lookup(Utils_1.operationQueryForm.fragment);
|
|
76
|
+
var subscription = ref.current.subscription;
|
|
77
|
+
subscription && subscription.dispose();
|
|
78
|
+
function dispose() {
|
|
79
|
+
subscription && subscription.dispose();
|
|
80
|
+
ref.current.subscription = null;
|
|
81
|
+
}
|
|
82
|
+
ref.current.subscription = environment.subscribe(snapshot, function (s) {
|
|
83
|
+
return execute(environment, s, dispose, onSubmit);
|
|
84
|
+
});
|
|
85
|
+
internalValidate(snapshot, submit);
|
|
86
|
+
execute(environment, snapshot, dispose, onSubmit);
|
|
87
|
+
}, [environment, internalValidate, execute, onSubmit]);
|
|
88
|
+
var validate = React.useCallback(function () {
|
|
89
|
+
if (!ref.current.isValidating) {
|
|
90
|
+
subscribe(false);
|
|
91
|
+
}
|
|
92
|
+
}, [subscribe]);
|
|
93
|
+
var submit = React.useCallback(function (event) {
|
|
94
|
+
if (event) {
|
|
95
|
+
event.preventDefault();
|
|
96
|
+
}
|
|
97
|
+
if (!ref.current.isSubmitting) {
|
|
98
|
+
ref.current.isSubmitting = true;
|
|
99
|
+
subscribe(true);
|
|
100
|
+
}
|
|
101
|
+
}, [subscribe]);
|
|
102
|
+
var result = React.useMemo(function () {
|
|
103
|
+
return {
|
|
104
|
+
submit: submit,
|
|
105
|
+
validate: validate,
|
|
106
|
+
reset: reset
|
|
107
|
+
};
|
|
108
|
+
}, [submit, validate, reset]);
|
|
109
|
+
return result;
|
|
110
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var React = require("react");
|
|
7
|
+
var queries_1 = require("./relay/queries");
|
|
8
|
+
var RelayStoreProvider_1 = require("./relay/RelayStoreProvider");
|
|
9
|
+
var Utils_1 = require("./Utils");
|
|
10
|
+
function useFormValue(key) {
|
|
11
|
+
var environment = RelayStoreProvider_1.useStore();
|
|
12
|
+
var snapshot = React.useMemo(function () {
|
|
13
|
+
return Utils_1.getSnapshot(environment, queries_1.FragmentValue, key);
|
|
14
|
+
}, [key, environment]);
|
|
15
|
+
var _a = React.useState(snapshot.data),
|
|
16
|
+
data = _a[0],
|
|
17
|
+
setData = _a[1];
|
|
18
|
+
React.useEffect(function () {
|
|
19
|
+
return environment.subscribe(snapshot, function (s) {
|
|
20
|
+
setData(s.data);
|
|
21
|
+
}).dispose;
|
|
22
|
+
}, [environment, snapshot, setData]);
|
|
23
|
+
return data;
|
|
24
|
+
}
|
|
25
|
+
exports.useFormValue = useFormValue;
|
package/package.json
ADDED
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "relay-forms-nodeps",
|
|
3
|
+
"version": "1.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 --src ./compile/ --schema ./forms.graphql --language typescript --artifactDirectory ./src/relay --persist-output ./ignore-queries.json",
|
|
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
|
+
"peerDependencies": {
|
|
41
|
+
"react": "^16.9.0 || ^17 || ^18"
|
|
42
|
+
},
|
|
43
|
+
"devDependencies": {
|
|
44
|
+
"@babel/cli": "^7.8.3",
|
|
45
|
+
"@babel/runtime": "7.20.7",
|
|
46
|
+
"babel-preset-fbjs": "^3.3.0",
|
|
47
|
+
"@types/babel__traverse": "7.18.2",
|
|
48
|
+
"cross-env": "6.0.3",
|
|
49
|
+
"typescript": "3.8.3",
|
|
50
|
+
"react": "^18.0.0",
|
|
51
|
+
"react-dom": "^18.0.0",
|
|
52
|
+
"graphql": "^14.2.0",
|
|
53
|
+
"@types/react": "18.0.26",
|
|
54
|
+
"@types/react-dom": "18.0.10",
|
|
55
|
+
"relay-compiler": "^14.0.0",
|
|
56
|
+
"replace-in-file": "6.2.0",
|
|
57
|
+
"react-test-renderer": "^18.0.0",
|
|
58
|
+
"relay-test-utils": "^14.0.0",
|
|
59
|
+
"relay-test-utils-internal": "^14.0.0",
|
|
60
|
+
"@types/jest": "24.0.18",
|
|
61
|
+
"ts-jest": "^26.5.6",
|
|
62
|
+
"jest": "^26.0.0",
|
|
63
|
+
"promise-polyfill": "6.1.0",
|
|
64
|
+
"@typescript-eslint/eslint-plugin": "2.25.0",
|
|
65
|
+
"@typescript-eslint/parser": "2.25.0",
|
|
66
|
+
"eslint": "6.8.0",
|
|
67
|
+
"eslint-config-prettier": "6.10.1",
|
|
68
|
+
"eslint-import-resolver-typescript": "2.0.0",
|
|
69
|
+
"eslint-plugin-import": "2.20.1",
|
|
70
|
+
"eslint-plugin-json": "2.1.1",
|
|
71
|
+
"eslint-plugin-jsx-a11y": "6.2.3",
|
|
72
|
+
"eslint-plugin-prettier": "3.1.2",
|
|
73
|
+
"eslint-plugin-react": "7.19.0",
|
|
74
|
+
"eslint-plugin-react-hooks": "3.0.0",
|
|
75
|
+
"prettier": "1.19.1",
|
|
76
|
+
"rimraf": "^2.5.4",
|
|
77
|
+
"@types/node": "13.9.3",
|
|
78
|
+
"relay-compiler-language-typescript": "12.0.0",
|
|
79
|
+
"@testing-library/react": "13.4.0",
|
|
80
|
+
"rollup": "^2.23.0",
|
|
81
|
+
"rollup-plugin-sourcemaps": "0.6.2",
|
|
82
|
+
"rollup-plugin-terser": "^6.1.0",
|
|
83
|
+
"rollup-plugin-typescript2": "^0.27.1",
|
|
84
|
+
"@rollup/plugin-commonjs": "14.0.0",
|
|
85
|
+
"@rollup/plugin-node-resolve": "^8.4.0",
|
|
86
|
+
"@rollup/plugin-replace": "^2.3.3",
|
|
87
|
+
"@rollup/plugin-babel": "5.2.2"
|
|
88
|
+
}
|
|
89
|
+
}
|
package/rollup.config.js
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/explicit-function-return-type */
|
|
2
|
+
/* eslint-disable @typescript-eslint/camelcase */
|
|
3
|
+
/* eslint-disable import/no-default-export */
|
|
4
|
+
import babel from '@rollup/plugin-babel';
|
|
5
|
+
import commonjs from '@rollup/plugin-commonjs';
|
|
6
|
+
import nodeResolve from '@rollup/plugin-node-resolve';
|
|
7
|
+
import replace from '@rollup/plugin-replace';
|
|
8
|
+
import sourceMaps from 'rollup-plugin-sourcemaps';
|
|
9
|
+
import { terser } from 'rollup-plugin-terser';
|
|
10
|
+
import typescript from 'rollup-plugin-typescript2';
|
|
11
|
+
import pkg from './package.json';
|
|
12
|
+
|
|
13
|
+
const makeExternalPredicate = (externalArr) => {
|
|
14
|
+
if (externalArr.length === 0) {
|
|
15
|
+
return () => false;
|
|
16
|
+
}
|
|
17
|
+
const pattern = new RegExp(`^(${externalArr.join('|')})($|/)`);
|
|
18
|
+
return (id) => pattern.test(id);
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const extensions = ['.ts', '.tsx'];
|
|
22
|
+
|
|
23
|
+
function createConfigInternal({ format, production }) {
|
|
24
|
+
return {
|
|
25
|
+
input: 'src/index.ts',
|
|
26
|
+
output: {
|
|
27
|
+
file: 'lib/' + format + '/relay-forms-nodeps' + (production ? '.min' : '') + '.js',
|
|
28
|
+
format,
|
|
29
|
+
name: 'relay-forms-nodeps',
|
|
30
|
+
indent: false,
|
|
31
|
+
globals: {
|
|
32
|
+
react: 'React',
|
|
33
|
+
},
|
|
34
|
+
sourcemap: true,
|
|
35
|
+
exports: 'named',
|
|
36
|
+
},
|
|
37
|
+
external: makeExternalPredicate([
|
|
38
|
+
...Object.keys(pkg.dependencies || {}),
|
|
39
|
+
...Object.keys(pkg.peerDependencies || {}),
|
|
40
|
+
]),
|
|
41
|
+
plugins: [
|
|
42
|
+
nodeResolve({
|
|
43
|
+
extensions,
|
|
44
|
+
}),
|
|
45
|
+
replace({
|
|
46
|
+
'import * as ': 'import ',
|
|
47
|
+
}),
|
|
48
|
+
typescript({
|
|
49
|
+
tsconfigOverride: {
|
|
50
|
+
compilerOptions: {
|
|
51
|
+
declaration: false,
|
|
52
|
+
declarationMap: false,
|
|
53
|
+
module: 'es2015',
|
|
54
|
+
esModuleInterop: true,
|
|
55
|
+
sourceMap: true,
|
|
56
|
+
importHelpers: false,
|
|
57
|
+
},
|
|
58
|
+
},
|
|
59
|
+
}),
|
|
60
|
+
format === 'umd' &&
|
|
61
|
+
commonjs({
|
|
62
|
+
include: /\/node_modules\//,
|
|
63
|
+
}),
|
|
64
|
+
babel({ extensions, include: ['src/**/*'], babelHelpers: 'bundled' }),
|
|
65
|
+
replace({
|
|
66
|
+
'process.env.NODE_ENV': JSON.stringify(production ? 'production' : 'development'),
|
|
67
|
+
}),
|
|
68
|
+
sourceMaps(),
|
|
69
|
+
production &&
|
|
70
|
+
terser({
|
|
71
|
+
output: { comments: false },
|
|
72
|
+
compress: {
|
|
73
|
+
keep_infinity: true,
|
|
74
|
+
pure_getters: true,
|
|
75
|
+
passes: 10,
|
|
76
|
+
},
|
|
77
|
+
ecma: 5,
|
|
78
|
+
toplevel: format === 'cjs',
|
|
79
|
+
warnings: true,
|
|
80
|
+
}),
|
|
81
|
+
],
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
function createConfig(format) {
|
|
86
|
+
return [
|
|
87
|
+
createConfigInternal({ format, production: false }),
|
|
88
|
+
createConfigInternal({ format, production: true }),
|
|
89
|
+
];
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
export default [...createConfig('umd')];
|
package/yarn-error.log
ADDED
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
Arguments:
|
|
2
|
+
C:\Program Files\nodejs\node.exe C:\Users\lorenzo.digiacomo\AppData\Roaming\npm\node_modules\yarn\bin\yarn.js fast:test
|
|
3
|
+
|
|
4
|
+
PATH:
|
|
5
|
+
C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\app\lorenzo.digiacomo\product\11.2.0\client_1\bin;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\windows\System32\OpenSSH\;C:\Program Files\nodejs\;C:\gradle-5.6.4\bin;C:\apache-maven-3.6.3\bin;C:\Program Files\Docker\Docker\resources\bin;C:\ProgramData\DockerDesktop\version-bin;C:\Program Files\Git\cmd;C:\Program Files (x86)\NetSarang\Xshell 7\;C:\Program Files (x86)\NetSarang\Xftp 7\;C:\Program Files\TortoiseSVN\bin;C:\dev\flutter\bin;C:\Users\lorenzo.digiacomo\AppData\Local\Programs\Python\Python311\Scripts\;C:\Users\lorenzo.digiacomo\AppData\Local\Programs\Python\Python311\;C:\Users\lorenzo.digiacomo\AppData\Local\Microsoft\WindowsApps;C:\Users\lorenzo.digiacomo\AppData\Local\GitHubDesktop\bin;C:\Users\lorenzo.digiacomo\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\lorenzo.digiacomo\AppData\Roaming\npm;C:\dev\flutter\bin;
|
|
6
|
+
|
|
7
|
+
Yarn version:
|
|
8
|
+
1.22.18
|
|
9
|
+
|
|
10
|
+
Node version:
|
|
11
|
+
16.15.0
|
|
12
|
+
|
|
13
|
+
Platform:
|
|
14
|
+
win32 x64
|
|
15
|
+
|
|
16
|
+
Trace:
|
|
17
|
+
SyntaxError: C:\dev\GIT\TEMP\github\relay-forms\package.json: Unexpected string in JSON at position 991
|
|
18
|
+
at JSON.parse (<anonymous>)
|
|
19
|
+
at C:\Users\lorenzo.digiacomo\AppData\Roaming\npm\node_modules\yarn\lib\cli.js:1625:59
|
|
20
|
+
at Generator.next (<anonymous>)
|
|
21
|
+
at step (C:\Users\lorenzo.digiacomo\AppData\Roaming\npm\node_modules\yarn\lib\cli.js:310:30)
|
|
22
|
+
at C:\Users\lorenzo.digiacomo\AppData\Roaming\npm\node_modules\yarn\lib\cli.js:321:13
|
|
23
|
+
|
|
24
|
+
npm manifest:
|
|
25
|
+
{
|
|
26
|
+
"name": "react-relay-forms",
|
|
27
|
+
"version": "1.0.1",
|
|
28
|
+
"keywords": [
|
|
29
|
+
"forms",
|
|
30
|
+
"relay",
|
|
31
|
+
"hooks",
|
|
32
|
+
"react",
|
|
33
|
+
"react-native",
|
|
34
|
+
"validation"
|
|
35
|
+
],
|
|
36
|
+
"main": "lib/index.js",
|
|
37
|
+
"module": "./lib/es/index.js",
|
|
38
|
+
"unpkg": "lib/umd/react-relay-forms.min.js",
|
|
39
|
+
"license": "MIT",
|
|
40
|
+
"description": "React Relay Forms",
|
|
41
|
+
"author": {
|
|
42
|
+
"name": "morrys"
|
|
43
|
+
},
|
|
44
|
+
"homepage": "https://morrys.github.io/relay-forms/docs/relay-forms.html",
|
|
45
|
+
"repository": {
|
|
46
|
+
"type": "git",
|
|
47
|
+
"url": "https://github.com/morrys/relay-forms"
|
|
48
|
+
},
|
|
49
|
+
"scripts": {
|
|
50
|
+
"clean": "rimraf lib",
|
|
51
|
+
"relay": "relay-compiler --src ./compile/ --schema ./forms.graphql --language typescript --artifactDirectory ./src/relay --persist-output ./ignore-queries.json",
|
|
52
|
+
"compile": "npm run clean && tsc && tsc --project tsconfig.esm.json && npm run build:js && npm run build:replace && npm run rollup",
|
|
53
|
+
"build": "npm run compile && npm run test",
|
|
54
|
+
"fast:test": "npm run clean && tsc && npm run test"
|
|
55
|
+
"test": "cross-env NODE_ENV=test jest --coverage -t \"do again validation\"",
|
|
56
|
+
"format": "prettier --write \"src/**/*.ts*\" \"!src/relay/**/*.ts\"",
|
|
57
|
+
"format:ci": "prettier --list-different \"src/**/*.ts*\" \"!src/relay/**/*.ts\"",
|
|
58
|
+
"eslint": "eslint ./src --ext .js,.jsx,.ts,.tsx",
|
|
59
|
+
"prepublishOnly": "npm run build",
|
|
60
|
+
"build:js": "babel lib --out-dir lib --extensions \".js,.jsx\" && babel lib/es --out-dir lib/es --extensions \".js,.jsx\"",
|
|
61
|
+
"build:replace": "replace-in-file --configFile=replace.config.js",
|
|
62
|
+
"rollup": "rollup -c"
|
|
63
|
+
},
|
|
64
|
+
"dependencies": {
|
|
65
|
+
"fbjs": "^1.0.0"
|
|
66
|
+
},
|
|
67
|
+
"peerDependencies": {
|
|
68
|
+
"react": "^16.9.0 || ^17 || ^18",
|
|
69
|
+
"relay-runtime": "^13.0.2 || ^14.0.0",
|
|
70
|
+
"react-relay": "^14.1.0"
|
|
71
|
+
},
|
|
72
|
+
"devDependencies": {
|
|
73
|
+
"@babel/cli": "^7.8.3",
|
|
74
|
+
"@babel/runtime": "7.20.7",
|
|
75
|
+
"babel-preset-fbjs": "^3.3.0",
|
|
76
|
+
"@types/babel__traverse": "7.18.2",
|
|
77
|
+
"cross-env": "6.0.3",
|
|
78
|
+
"typescript": "3.8.3",
|
|
79
|
+
"react": "^18.0.0",
|
|
80
|
+
"react-dom": "^18.0.0",
|
|
81
|
+
"graphql": "^14.2.0",
|
|
82
|
+
"@types/react": "18.0.26",
|
|
83
|
+
"@types/react-dom": "18.0.10",
|
|
84
|
+
"@types/relay-runtime": "^14.0.0",
|
|
85
|
+
"relay-runtime": "^14.0.0",
|
|
86
|
+
"relay-compiler": "^14.0.0",
|
|
87
|
+
"react-relay": "^14.1.0",
|
|
88
|
+
"replace-in-file": "6.2.0",
|
|
89
|
+
"react-test-renderer": "^18.0.0",
|
|
90
|
+
"relay-test-utils": "^14.0.0",
|
|
91
|
+
"relay-test-utils-internal": "^14.0.0",
|
|
92
|
+
"@types/jest": "24.0.18",
|
|
93
|
+
"ts-jest": "^26.5.6",
|
|
94
|
+
"jest": "^26.0.0",
|
|
95
|
+
"promise-polyfill": "6.1.0",
|
|
96
|
+
"@typescript-eslint/eslint-plugin": "2.25.0",
|
|
97
|
+
"@typescript-eslint/parser": "2.25.0",
|
|
98
|
+
"eslint": "6.8.0",
|
|
99
|
+
"eslint-config-prettier": "6.10.1",
|
|
100
|
+
"eslint-import-resolver-typescript": "2.0.0",
|
|
101
|
+
"eslint-plugin-import": "2.20.1",
|
|
102
|
+
"eslint-plugin-json": "2.1.1",
|
|
103
|
+
"eslint-plugin-jsx-a11y": "6.2.3",
|
|
104
|
+
"eslint-plugin-prettier": "3.1.2",
|
|
105
|
+
"eslint-plugin-react": "7.19.0",
|
|
106
|
+
"eslint-plugin-react-hooks": "3.0.0",
|
|
107
|
+
"prettier": "1.19.1",
|
|
108
|
+
"rimraf": "^2.5.4",
|
|
109
|
+
"@types/node": "13.9.3",
|
|
110
|
+
"relay-compiler-language-typescript": "12.0.0",
|
|
111
|
+
"@testing-library/react": "13.4.0",
|
|
112
|
+
"rollup": "^2.23.0",
|
|
113
|
+
"rollup-plugin-sourcemaps": "0.6.2",
|
|
114
|
+
"rollup-plugin-terser": "^6.1.0",
|
|
115
|
+
"rollup-plugin-typescript2": "^0.27.1",
|
|
116
|
+
"@rollup/plugin-commonjs": "14.0.0",
|
|
117
|
+
"@rollup/plugin-node-resolve": "^8.4.0",
|
|
118
|
+
"@rollup/plugin-replace": "^2.3.3",
|
|
119
|
+
"@rollup/plugin-babel": "5.2.2"
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
yarn manifest:
|
|
124
|
+
No manifest
|
|
125
|
+
|
|
126
|
+
Lockfile:
|
|
127
|
+
No lockfile
|