relay-forms-nodeps 2.2.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 (61) hide show
  1. package/.vscode/settings.json +10 -0
  2. package/eslint.config.js +84 -0
  3. package/lib/RelayFormsTypes.d.ts +13 -10
  4. package/lib/Utils.d.ts +1 -1
  5. package/lib/Utils.js +4 -3
  6. package/lib/es/RelayFormsTypes.d.ts +13 -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 +4 -5
  17. package/lib/es/relay/queryErrorsFieldQuery.graphql.js +4 -6
  18. package/lib/es/relay/queryFieldFragment.graphql.d.ts +3 -4
  19. package/lib/es/relay/queryFieldFragment.graphql.js +1 -2
  20. package/lib/es/relay/queryFieldQuery.graphql.d.ts +4 -5
  21. package/lib/es/relay/queryFieldQuery.graphql.js +4 -6
  22. package/lib/es/relay/queryValueFieldFragment.graphql.d.ts +3 -4
  23. package/lib/es/relay/queryValueFieldFragment.graphql.js +1 -2
  24. package/lib/es/useForm.js +6 -2
  25. package/lib/es/useFormState.d.ts +2 -12
  26. package/lib/index.js +70 -8
  27. package/lib/relay/RelayModernRecord.js +2 -1
  28. package/lib/relay/RelayModernSelector.js +1 -0
  29. package/lib/relay/RelayModernStore.js +7 -7
  30. package/lib/relay/RelayReader.js +1 -1
  31. package/lib/relay/RelayRecordProxy.js +1 -0
  32. package/lib/relay/RelayRecordSource.js +1 -0
  33. package/lib/relay/RelayRecordSourceMutator.js +1 -0
  34. package/lib/relay/RelayRecordSourceProxy.js +1 -0
  35. package/lib/relay/RelayReferenceMarker.js +1 -0
  36. package/lib/relay/RelayStoreProvider.d.ts +1 -1
  37. package/lib/relay/RelayStoreProvider.js +3 -1
  38. package/lib/relay/RelayStoreUtils.js +1 -0
  39. package/lib/relay/RelayTypes.d.ts +7 -7
  40. package/lib/relay/queries.js +1 -1
  41. package/lib/relay/queryErrorsFieldQuery.graphql.d.ts +4 -5
  42. package/lib/relay/queryErrorsFieldQuery.graphql.js +4 -6
  43. package/lib/relay/queryFieldFragment.graphql.d.ts +3 -4
  44. package/lib/relay/queryFieldFragment.graphql.js +1 -2
  45. package/lib/relay/queryFieldQuery.graphql.d.ts +4 -5
  46. package/lib/relay/queryFieldQuery.graphql.js +4 -6
  47. package/lib/relay/queryValueFieldFragment.graphql.d.ts +3 -4
  48. package/lib/relay/queryValueFieldFragment.graphql.js +1 -2
  49. package/lib/umd/relay-forms-nodeps.js +17 -12
  50. package/lib/umd/relay-forms-nodeps.js.map +1 -1
  51. package/lib/umd/relay-forms-nodeps.min.js +1 -1
  52. package/lib/umd/relay-forms-nodeps.min.js.map +1 -1
  53. package/lib/useForceUpdate.js +2 -1
  54. package/lib/useForm.js +17 -11
  55. package/lib/useFormField.js +9 -8
  56. package/lib/useFormState.d.ts +2 -12
  57. package/lib/useFormState.js +5 -3
  58. package/lib/useFormValue.js +3 -2
  59. package/package.json +106 -102
  60. package/rollup.config.js +92 -92
  61. package/yarn-error.log +127 -127
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;
@@ -13,6 +13,7 @@ var __assign = this && this.__assign || function () {
13
13
  Object.defineProperty(exports, "__esModule", {
14
14
  value: true
15
15
  });
16
+ exports.useFormField = exports.isDone = exports.RESET = exports.VALIDATING = exports.TOBEVALIDATE = void 0;
16
17
  var React = require("react");
17
18
  var queries_1 = require("./relay/queries");
18
19
  var queryValueFieldFragment_graphql_1 = require("./relay/queryValueFieldFragment.graphql");
@@ -44,7 +45,7 @@ function logicSetValue(params) {
44
45
  var validate = undefined;
45
46
  var firstSet = true;
46
47
  var deps = {};
47
- var localId = Utils_1.getFieldId(key);
48
+ var localId = (0, Utils_1.getFieldId)(key);
48
49
  function getDeps() {
49
50
  return deps;
50
51
  }
@@ -63,7 +64,7 @@ function logicSetValue(params) {
63
64
  if (commitValue === void 0) {
64
65
  commitValue = true;
65
66
  }
66
- Utils_1.commit(environment, function (store, form) {
67
+ (0, Utils_1.commit)(environment, function (store, form) {
67
68
  var field = store.get(localId);
68
69
  if (!field) {
69
70
  field = store.create(localId).setValue(localId, 'id').setValue(label, 'label').setValue(key, 'key');
@@ -134,14 +135,14 @@ function logicSetValue(params) {
134
135
  }
135
136
  finalizeCheck(error);
136
137
  }
137
- if (RelayStoreUtils_1.isPromise(result)) {
138
+ if ((0, RelayStoreUtils_1.isPromise)(result)) {
138
139
  result.then(internalFinalize).catch(internalFinalize);
139
140
  } else {
140
141
  internalFinalize(result);
141
142
  }
142
143
  }
143
144
  function subscribe() {
144
- var snapshot = Utils_1.getSnapshot(environment, queries_1.FragmentSet, key);
145
+ var snapshot = (0, Utils_1.getSnapshot)(environment, queries_1.FragmentSet, key);
145
146
  var disposeSubscrition = environment.subscribe(snapshot, function (s) {
146
147
  var data = s.data;
147
148
  var dataCheck = data.check;
@@ -159,7 +160,7 @@ function logicSetValue(params) {
159
160
  var disposeDeps = [];
160
161
  if (dependsOn != null) {
161
162
  dependsOn.forEach(function (depKey) {
162
- var snapshot = Utils_1.getSnapshot(environment, queryValueFieldFragment_graphql_1.default, depKey);
163
+ var snapshot = (0, Utils_1.getSnapshot)(environment, queryValueFieldFragment_graphql_1.default, depKey);
163
164
  var disposeDep = environment.subscribe(snapshot, function (s) {
164
165
  var _a;
165
166
  var data = s.data;
@@ -174,7 +175,7 @@ function logicSetValue(params) {
174
175
  }
175
176
  var dispose = function () {
176
177
  disposeSubscrition();
177
- Utils_1.commit(environment, function (store, form) {
178
+ (0, Utils_1.commit)(environment, function (store, form) {
178
179
  var entriesArray = form.getLinkedRecords('entries');
179
180
  var newEntries = entriesArray.filter(function (value) {
180
181
  return value.getDataID() != localId;
@@ -205,8 +206,8 @@ function useFormField(_a) {
205
206
  validateOnChange = _a.validateOnChange,
206
207
  label = _a.label,
207
208
  dependsOn = _a.dependsOn;
208
- var forceUpdate = useForceUpdate_1.useForceUpdate();
209
- var environment = RelayStoreProvider_1.useStore();
209
+ var forceUpdate = (0, useForceUpdate_1.useForceUpdate)();
210
+ var environment = (0, RelayStoreProvider_1.useStore)();
210
211
  var resolver = React.useMemo(function () {
211
212
  return logicSetValue({
212
213
  environment: environment,
@@ -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.2.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": "^17.0.0",
69
- "replace-in-file": "6.2.0",
70
- "react-test-renderer": "^18.0.0",
71
- "relay-test-utils": "^17.0.0",
72
- "relay-test-utils-internal": "^17.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
+ }
package/rollup.config.js CHANGED
@@ -1,92 +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')];
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')];