From c57bca62c2d720a8528cee3d90727d2f58fe21f7 Mon Sep 17 00:00:00 2001
From: Bogdan Savluk
Date: Fri, 14 Jul 2023 14:52:30 +0200
Subject: [PATCH 01/16] move snapTests from core to separate package
---
package-lock.json | 76 +++++++++++--------
package.json | 3 +-
packages/antd/package.json | 1 +
packages/antd/test/Array.test.tsx | 2 +-
packages/antd/test/Form.test.tsx | 2 +-
packages/antd/test/Object.test.tsx | 2 +-
packages/bootstrap-4/package.json | 1 +
packages/bootstrap-4/test/Array.test.tsx | 2 +-
packages/bootstrap-4/test/Form.test.tsx | 2 +-
packages/bootstrap-4/test/Object.test.tsx | 2 +-
packages/chakra-ui/package.json | 1 +
packages/chakra-ui/test/Array.test.tsx | 2 +-
packages/chakra-ui/test/Form.test.tsx | 2 +-
packages/chakra-ui/test/Object.test.tsx | 2 +-
packages/core/package.json | 7 +-
packages/core/test/ArraySnap.test.jsx | 2 +-
packages/core/test/FormSnap.test.jsx | 2 +-
packages/core/test/ObjectSnap.test.jsx | 2 +-
packages/docs/docs/contributing.md | 8 +-
packages/fluent-ui/package.json | 1 +
packages/fluent-ui/test/Array.test.tsx | 2 +-
packages/fluent-ui/test/Form.test.tsx | 2 +-
packages/fluent-ui/test/Object.test.tsx | 2 +-
packages/fluentui-rc/package.json | 18 ++---
packages/fluentui-rc/test/Array.test.tsx | 2 +-
packages/fluentui-rc/test/Form.test.tsx | 2 +-
packages/fluentui-rc/test/Object.test.tsx | 2 +-
packages/material-ui/package.json | 1 +
packages/material-ui/test/Array.test.tsx | 2 +-
packages/material-ui/test/Form.test.tsx | 2 +-
packages/material-ui/test/Object.test.tsx | 2 +-
packages/mui/package.json | 1 +
packages/mui/test/Array.test.tsx | 2 +-
packages/mui/test/Form.test.tsx | 2 +-
packages/mui/test/Object.test.tsx | 2 +-
packages/semantic-ui/package.json | 1 +
packages/semantic-ui/test/Array.test.tsx | 2 +-
packages/semantic-ui/test/Form.test.tsx | 2 +-
packages/semantic-ui/test/Object.test.tsx | 2 +-
packages/snapshot-tests/.eslintrc | 4 +
packages/snapshot-tests/.npmignore | 0
packages/snapshot-tests/README.md | 1 +
packages/snapshot-tests/package.json | 66 ++++++++++++++++
.../src}/arrayTests.tsx | 4 +-
.../src}/formTests.tsx | 4 +-
packages/snapshot-tests/src/index.ts | 11 +++
.../src}/objectTests.tsx | 4 +-
packages/snapshot-tests/tsconfig.json | 11 +++
48 files changed, 193 insertions(+), 85 deletions(-)
create mode 100644 packages/snapshot-tests/.eslintrc
create mode 100644 packages/snapshot-tests/.npmignore
create mode 100644 packages/snapshot-tests/README.md
create mode 100644 packages/snapshot-tests/package.json
rename packages/{core/testSnap => snapshot-tests/src}/arrayTests.tsx (98%)
rename packages/{core/testSnap => snapshot-tests/src}/formTests.tsx (98%)
create mode 100644 packages/snapshot-tests/src/index.ts
rename packages/{core/testSnap => snapshot-tests/src}/objectTests.tsx (98%)
create mode 100644 packages/snapshot-tests/tsconfig.json
diff --git a/package-lock.json b/package-lock.json
index 9dec41b902..b589331835 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -20,7 +20,8 @@
"packages/semantic-ui",
"packages/utils",
"packages/validator-ajv6",
- "packages/validator-ajv8"
+ "packages/validator-ajv8",
+ "packages/snapshot-tests"
],
"devDependencies": {
"@babel/eslint-parser": "^7.22.15",
@@ -9662,6 +9663,10 @@
"resolved": "packages/semantic-ui",
"link": true
},
+ "node_modules/@rjsf/snapshot-tests": {
+ "resolved": "packages/snapshot-tests",
+ "link": true
+ },
"node_modules/@rjsf/utils": {
"resolved": "packages/utils",
"link": true
@@ -33535,6 +33540,7 @@
"@babel/preset-react": "^7.22.15",
"@babel/preset-typescript": "^7.22.15",
"@rjsf/core": "^5.13.6",
+ "@rjsf/snapshot-tests": "^5.13.6",
"@rjsf/utils": "^5.13.6",
"@rjsf/validator-ajv8": "^5.13.6",
"@rollup/plugin-replace": "^5.0.2",
@@ -34193,6 +34199,7 @@
"@babel/preset-react": "^7.22.15",
"@babel/preset-typescript": "^7.22.15",
"@rjsf/core": "^5.13.6",
+ "@rjsf/snapshot-tests": "^5.13.6",
"@rjsf/utils": "^5.13.6",
"@rjsf/validator-ajv8": "^5.13.6",
"@types/react": "^17.0.65",
@@ -34243,6 +34250,7 @@
"@emotion/react": "^11.11.1",
"@emotion/styled": "^11.11.0",
"@rjsf/core": "^5.13.6",
+ "@rjsf/snapshot-tests": "^5.13.6",
"@rjsf/utils": "^5.13.6",
"@rjsf/validator-ajv8": "^5.13.6",
"@types/react": "^17.0.65",
@@ -34336,6 +34344,7 @@
"@babel/preset-env": "^7.22.15",
"@babel/preset-react": "^7.22.15",
"@babel/preset-typescript": "^7.22.15",
+ "@rjsf/snapshot-tests": "^5.13.6",
"@rjsf/utils": "^5.13.6",
"@rjsf/validator-ajv6": "^5.13.6",
"@rjsf/validator-ajv8": "^5.13.6",
@@ -34452,6 +34461,7 @@
"@babel/preset-typescript": "^7.22.15",
"@fluentui/react": "^8.111.2",
"@rjsf/core": "^5.13.6",
+ "@rjsf/snapshot-tests": "^5.13.6",
"@rjsf/utils": "^5.13.6",
"@rjsf/validator-ajv8": "^5.13.6",
"@types/lodash": "^4.14.198",
@@ -34496,28 +34506,23 @@
"@babel/preset-env": "^7.22.15",
"@babel/preset-react": "^7.22.15",
"@babel/preset-typescript": "^7.22.15",
- "@rjsf/core": "^5.13.2",
- "@rjsf/utils": "^5.13.0",
- "@rjsf/validator-ajv8": "^5.13.0",
+ "@rjsf/core": "^5.13.6",
+ "@rjsf/snapshot-tests": "^5.13.6",
+ "@rjsf/utils": "^5.13.6",
+ "@rjsf/validator-ajv8": "^5.13.6",
"@types/react": "^17.0.65",
"@types/react-dom": "^17.0.20",
"@types/react-test-renderer": "^17.0.3",
- "ajv": "^8.12.0",
"babel-jest": "^29.6.4",
- "chai": "^3.5.0",
"esbuild": "^0.18.20",
"eslint": "^8.48.0",
"jest": "^29.6.4",
"jest-environment-jsdom": "^29.6.4",
- "jsdom": "^20.0.3",
- "mocha": "^10.2.0",
"react": "^17.0.2",
"react-dom": "^17.0.2",
- "react-portal": "^4.2.2",
"react-test-renderer": "^17.0.2",
"rimraf": "^5.0.1",
"rollup": "^3.29.0",
- "sinon": "^9.2.4",
"typescript": "^4.9.5"
},
"engines": {
@@ -34528,28 +34533,6 @@
"react": "^16.14.0 || >=17"
}
},
- "packages/fluentui-rc/node_modules/ajv": {
- "version": "8.12.0",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
- "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
- "dev": true,
- "dependencies": {
- "fast-deep-equal": "^3.1.1",
- "json-schema-traverse": "^1.0.0",
- "require-from-string": "^2.0.2",
- "uri-js": "^4.2.2"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
- }
- },
- "packages/fluentui-rc/node_modules/json-schema-traverse": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
- "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
- "dev": true
- },
"packages/material-ui": {
"name": "@rjsf/material-ui",
"version": "5.13.6",
@@ -34564,6 +34547,7 @@
"@material-ui/core": "^4.12.4",
"@material-ui/icons": "^4.11.3",
"@rjsf/core": "^5.13.6",
+ "@rjsf/snapshot-tests": "^5.13.6",
"@rjsf/utils": "^5.13.6",
"@rjsf/validator-ajv8": "^5.13.6",
"@types/react": "^17.0.65",
@@ -34609,6 +34593,7 @@
"@mui/icons-material": "^5.14.8",
"@mui/material": "^5.14.8",
"@rjsf/core": "^5.13.6",
+ "@rjsf/snapshot-tests": "^5.13.6",
"@rjsf/utils": "^5.13.6",
"@rjsf/validator-ajv8": "^5.13.6",
"@types/react": "^17.0.65",
@@ -34793,6 +34778,7 @@
"@babel/preset-react": "^7.22.15",
"@babel/preset-typescript": "^7.22.15",
"@rjsf/core": "^5.13.6",
+ "@rjsf/snapshot-tests": "^5.13.6",
"@rjsf/utils": "^5.13.6",
"@rjsf/validator-ajv8": "^5.13.6",
"@types/lodash": "^4.14.198",
@@ -34823,6 +34809,32 @@
"semantic-ui-react": "^1.3.1"
}
},
+ "packages/snapshot-tests": {
+ "name": "@rjsf/snapshot-tests",
+ "version": "5.13.6",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@rjsf/core": "^5.10.0",
+ "@rjsf/utils": "^5.10.0",
+ "@rjsf/validator-ajv8": "^5.10.0"
+ },
+ "devDependencies": {
+ "@types/jest": "^29.5.3",
+ "@types/react": "^17.0.62",
+ "@types/react-dom": "^17.0.20",
+ "@types/react-test-renderer": "^17.0.2",
+ "react": "^17.0.2",
+ "react-test-renderer": "^17.0.2",
+ "typescript": "^4.9.5"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "peerDependencies": {
+ "react": "^16.14.0 || >=17",
+ "react-test-renderer": "^17.0.2"
+ }
+ },
"packages/utils": {
"name": "@rjsf/utils",
"version": "5.13.6",
diff --git a/package.json b/package.json
index 5d59d58036..82498696b0 100644
--- a/package.json
+++ b/package.json
@@ -73,6 +73,7 @@
"packages/semantic-ui",
"packages/utils",
"packages/validator-ajv6",
- "packages/validator-ajv8"
+ "packages/validator-ajv8",
+ "packages/snapshot-tests"
]
}
diff --git a/packages/antd/package.json b/packages/antd/package.json
index 6403e4c59d..faf817a32b 100644
--- a/packages/antd/package.json
+++ b/packages/antd/package.json
@@ -57,6 +57,7 @@
"@babel/preset-react": "^7.22.15",
"@babel/preset-typescript": "^7.22.15",
"@rjsf/core": "^5.13.6",
+ "@rjsf/snapshot-tests": "^5.13.6",
"@rjsf/utils": "^5.13.6",
"@rjsf/validator-ajv8": "^5.13.6",
"@rollup/plugin-replace": "^5.0.2",
diff --git a/packages/antd/test/Array.test.tsx b/packages/antd/test/Array.test.tsx
index e8648cfe4c..2ae40788e3 100644
--- a/packages/antd/test/Array.test.tsx
+++ b/packages/antd/test/Array.test.tsx
@@ -1,4 +1,4 @@
-import arrayTests, { CHECKBOXES_CUSTOMIZE } from '@rjsf/core/testSnap/arrayTests';
+import { arrayTests, CHECKBOXES_CUSTOMIZE } from '@rjsf/snapshot-tests';
import '../__mocks__/matchMedia.mock';
import Form from '../src';
diff --git a/packages/antd/test/Form.test.tsx b/packages/antd/test/Form.test.tsx
index ca4a92cdd9..005ed52a46 100644
--- a/packages/antd/test/Form.test.tsx
+++ b/packages/antd/test/Form.test.tsx
@@ -1,7 +1,7 @@
import renderer from 'react-test-renderer';
import validator from '@rjsf/validator-ajv8';
import { RJSFSchema } from '@rjsf/utils';
-import formTests, { SELECT_CUSTOMIZE } from '@rjsf/core/testSnap/formTests';
+import { formTests, SELECT_CUSTOMIZE } from '@rjsf/snapshot-tests';
import '../__mocks__/matchMedia.mock';
import Form from '../src';
diff --git a/packages/antd/test/Object.test.tsx b/packages/antd/test/Object.test.tsx
index fd12052c8e..fc9655bca3 100644
--- a/packages/antd/test/Object.test.tsx
+++ b/packages/antd/test/Object.test.tsx
@@ -1,4 +1,4 @@
-import objectTests from '@rjsf/core/testSnap/objectTests';
+import { objectTests } from '@rjsf/snapshot-tests';
import '../__mocks__/matchMedia.mock';
import Form from '../src';
diff --git a/packages/bootstrap-4/package.json b/packages/bootstrap-4/package.json
index e0beff7e35..da3b4e7d76 100644
--- a/packages/bootstrap-4/package.json
+++ b/packages/bootstrap-4/package.json
@@ -50,6 +50,7 @@
"@babel/preset-react": "^7.22.15",
"@babel/preset-typescript": "^7.22.15",
"@rjsf/core": "^5.13.6",
+ "@rjsf/snapshot-tests": "^5.13.6",
"@rjsf/utils": "^5.13.6",
"@rjsf/validator-ajv8": "^5.13.6",
"@types/react": "^17.0.65",
diff --git a/packages/bootstrap-4/test/Array.test.tsx b/packages/bootstrap-4/test/Array.test.tsx
index 7709a7a692..a17060201a 100644
--- a/packages/bootstrap-4/test/Array.test.tsx
+++ b/packages/bootstrap-4/test/Array.test.tsx
@@ -1,4 +1,4 @@
-import arrayTests from '@rjsf/core/testSnap/arrayTests';
+import { arrayTests } from '@rjsf/snapshot-tests';
import Form from '../src';
diff --git a/packages/bootstrap-4/test/Form.test.tsx b/packages/bootstrap-4/test/Form.test.tsx
index 8aac502b3e..c96826c914 100644
--- a/packages/bootstrap-4/test/Form.test.tsx
+++ b/packages/bootstrap-4/test/Form.test.tsx
@@ -1,4 +1,4 @@
-import formTests from '@rjsf/core/testSnap/formTests';
+import { formTests } from '@rjsf/snapshot-tests';
import Form from '../src';
diff --git a/packages/bootstrap-4/test/Object.test.tsx b/packages/bootstrap-4/test/Object.test.tsx
index 3caaa69282..dabe023e32 100644
--- a/packages/bootstrap-4/test/Object.test.tsx
+++ b/packages/bootstrap-4/test/Object.test.tsx
@@ -1,4 +1,4 @@
-import objectTests from '@rjsf/core/testSnap/objectTests';
+import { objectTests } from '@rjsf/snapshot-tests';
import Form from '../src';
diff --git a/packages/chakra-ui/package.json b/packages/chakra-ui/package.json
index 4c0e5e9f58..89d1200e1c 100644
--- a/packages/chakra-ui/package.json
+++ b/packages/chakra-ui/package.json
@@ -69,6 +69,7 @@
"@emotion/react": "^11.11.1",
"@emotion/styled": "^11.11.0",
"@rjsf/core": "^5.13.6",
+ "@rjsf/snapshot-tests": "^5.13.6",
"@rjsf/utils": "^5.13.6",
"@rjsf/validator-ajv8": "^5.13.6",
"@types/react": "^17.0.65",
diff --git a/packages/chakra-ui/test/Array.test.tsx b/packages/chakra-ui/test/Array.test.tsx
index 7709a7a692..a17060201a 100644
--- a/packages/chakra-ui/test/Array.test.tsx
+++ b/packages/chakra-ui/test/Array.test.tsx
@@ -1,4 +1,4 @@
-import arrayTests from '@rjsf/core/testSnap/arrayTests';
+import { arrayTests } from '@rjsf/snapshot-tests';
import Form from '../src';
diff --git a/packages/chakra-ui/test/Form.test.tsx b/packages/chakra-ui/test/Form.test.tsx
index 8aac502b3e..c96826c914 100644
--- a/packages/chakra-ui/test/Form.test.tsx
+++ b/packages/chakra-ui/test/Form.test.tsx
@@ -1,4 +1,4 @@
-import formTests from '@rjsf/core/testSnap/formTests';
+import { formTests } from '@rjsf/snapshot-tests';
import Form from '../src';
diff --git a/packages/chakra-ui/test/Object.test.tsx b/packages/chakra-ui/test/Object.test.tsx
index 3caaa69282..dabe023e32 100644
--- a/packages/chakra-ui/test/Object.test.tsx
+++ b/packages/chakra-ui/test/Object.test.tsx
@@ -1,4 +1,4 @@
-import objectTests from '@rjsf/core/testSnap/objectTests';
+import { objectTests } from '@rjsf/snapshot-tests';
import Form from '../src';
diff --git a/packages/core/package.json b/packages/core/package.json
index 4634d82fab..fe995bab67 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -8,8 +8,8 @@
"build:esm": "esbuild ./src/index.ts --bundle --outfile=dist/index.esm.js --sourcemap --packages=external --format=esm",
"build:umd": "rollup dist/index.esm.js --format=umd --file=dist/core.umd.js --name=JSONSchemaForm",
"build": "rimraf dist && npm run build:ts && npm run build:cjs && npm run build:esm && npm run build:umd",
- "cs-check": "prettier -l \"{src,test,testSnap}/**/*.[jt]s?(x)\"",
- "cs-format": "prettier \"{src,test,testSnap}/**/*.[jt]s?(x)\" --write",
+ "cs-check": "prettier -l \"{src,test}/**/*.[jt]s?(x)\"",
+ "cs-format": "prettier \"{src,test}/**/*.[jt]s?(x)\" --write",
"lint": "eslint src test",
"precommit": "lint-staged",
"publish-to-npm": "npm run build && npm publish",
@@ -20,7 +20,7 @@
"test-coverage": "jest --coverage"
},
"lint-staged": {
- "{src,test,testSnap}/**/*.[jt]s?(x)": [
+ "{src,test}/**/*.[jt]s?(x)": [
"eslint --fix"
]
},
@@ -54,6 +54,7 @@
"@babel/preset-env": "^7.22.15",
"@babel/preset-react": "^7.22.15",
"@babel/preset-typescript": "^7.22.15",
+ "@rjsf/snapshot-tests": "^5.13.6",
"@rjsf/utils": "^5.13.6",
"@rjsf/validator-ajv6": "^5.13.6",
"@rjsf/validator-ajv8": "^5.13.6",
diff --git a/packages/core/test/ArraySnap.test.jsx b/packages/core/test/ArraySnap.test.jsx
index 540590fe99..93046e87f1 100644
--- a/packages/core/test/ArraySnap.test.jsx
+++ b/packages/core/test/ArraySnap.test.jsx
@@ -1,4 +1,4 @@
import Form from '../src';
-import arrayTests from '../testSnap/arrayTests';
+import { arrayTests } from '@rjsf/snapshot-tests';
arrayTests(Form);
diff --git a/packages/core/test/FormSnap.test.jsx b/packages/core/test/FormSnap.test.jsx
index 19ed866c93..65498a69b4 100644
--- a/packages/core/test/FormSnap.test.jsx
+++ b/packages/core/test/FormSnap.test.jsx
@@ -1,4 +1,4 @@
import Form from '../src';
-import formTests from '../testSnap/formTests';
+import { formTests } from '@rjsf/snapshot-tests';
formTests(Form);
diff --git a/packages/core/test/ObjectSnap.test.jsx b/packages/core/test/ObjectSnap.test.jsx
index 45f4895a62..3721817572 100644
--- a/packages/core/test/ObjectSnap.test.jsx
+++ b/packages/core/test/ObjectSnap.test.jsx
@@ -1,4 +1,4 @@
import Form from '../src';
-import objectTests from '../testSnap/objectTests';
+import { objectTests } from '@rjsf/snapshot-tests';
objectTests(Form);
diff --git a/packages/docs/docs/contributing.md b/packages/docs/docs/contributing.md
index 4f0fc2bac8..99fcb0145c 100644
--- a/packages/docs/docs/contributing.md
+++ b/packages/docs/docs/contributing.md
@@ -73,9 +73,9 @@ There are functions in the `testSnap` directory: `arrayTests`, `formTests` and `
Each theme will basically run these functions by creating a `Xxx.test.tsx` file (where `Xxx` is `Array`, `Form` or `Object`) that looks like the following:
```tsx
-import arrayTests from '@rjsf/core/testSnap/arrayTests'; // OR
-// import arrayTests from '@rjsf/core/testSnap/formTests'
-// import arrayTests from '@rjsf/core/testSnap/objectTests'
+import { arrayTests } from '@rjsf/snapshot-tests'; // OR
+// import { formTests } from '@rjsf/snapshot-tests';
+// import { objectTests } from '@rjsf/snapshot-tests';
import Form from '../src';
@@ -90,7 +90,7 @@ For example:
```tsx
import { RJSFSchema, UiSchema } from '@rjsf/utils';
-import arrayTests from '@rjsf/core/testSnap/formTests';
+import { arrayTests } from '@rjsf/snapshot-tests';
import Form from '../src';
diff --git a/packages/fluent-ui/package.json b/packages/fluent-ui/package.json
index 03cbd58f65..4efea34b5e 100644
--- a/packages/fluent-ui/package.json
+++ b/packages/fluent-ui/package.json
@@ -47,6 +47,7 @@
"@babel/preset-typescript": "^7.22.15",
"@fluentui/react": "^8.111.2",
"@rjsf/core": "^5.13.6",
+ "@rjsf/snapshot-tests": "^5.13.6",
"@rjsf/utils": "^5.13.6",
"@rjsf/validator-ajv8": "^5.13.6",
"@types/lodash": "^4.14.198",
diff --git a/packages/fluent-ui/test/Array.test.tsx b/packages/fluent-ui/test/Array.test.tsx
index 7709a7a692..a17060201a 100644
--- a/packages/fluent-ui/test/Array.test.tsx
+++ b/packages/fluent-ui/test/Array.test.tsx
@@ -1,4 +1,4 @@
-import arrayTests from '@rjsf/core/testSnap/arrayTests';
+import { arrayTests } from '@rjsf/snapshot-tests';
import Form from '../src';
diff --git a/packages/fluent-ui/test/Form.test.tsx b/packages/fluent-ui/test/Form.test.tsx
index 8aac502b3e..c96826c914 100644
--- a/packages/fluent-ui/test/Form.test.tsx
+++ b/packages/fluent-ui/test/Form.test.tsx
@@ -1,4 +1,4 @@
-import formTests from '@rjsf/core/testSnap/formTests';
+import { formTests } from '@rjsf/snapshot-tests';
import Form from '../src';
diff --git a/packages/fluent-ui/test/Object.test.tsx b/packages/fluent-ui/test/Object.test.tsx
index 3caaa69282..dabe023e32 100644
--- a/packages/fluent-ui/test/Object.test.tsx
+++ b/packages/fluent-ui/test/Object.test.tsx
@@ -1,4 +1,4 @@
-import objectTests from '@rjsf/core/testSnap/objectTests';
+import { objectTests } from '@rjsf/snapshot-tests';
import Form from '../src';
diff --git a/packages/fluentui-rc/package.json b/packages/fluentui-rc/package.json
index a3384d1c76..d6e6d1fa0b 100644
--- a/packages/fluentui-rc/package.json
+++ b/packages/fluentui-rc/package.json
@@ -20,9 +20,8 @@
"test-coverage": "jest --coverage"
},
"lint-staged": {
- "{src,test,testSnap}/**/*.[jt]s?(x)": [
- "eslint --fix",
- "prettier --write"
+ "{src,test}/**/*.[jt]s?(x)": [
+ "eslint --fix"
]
},
"main": "dist/index.js",
@@ -53,28 +52,23 @@
"@babel/preset-env": "^7.22.15",
"@babel/preset-react": "^7.22.15",
"@babel/preset-typescript": "^7.22.15",
- "@rjsf/core": "^5.13.2",
- "@rjsf/utils": "^5.13.0",
- "@rjsf/validator-ajv8": "^5.13.0",
+ "@rjsf/core": "^5.13.6",
+ "@rjsf/snapshot-tests": "^5.13.6",
+ "@rjsf/utils": "^5.13.6",
+ "@rjsf/validator-ajv8": "^5.13.6",
"@types/react": "^17.0.65",
"@types/react-dom": "^17.0.20",
"@types/react-test-renderer": "^17.0.3",
- "ajv": "^8.12.0",
"babel-jest": "^29.6.4",
- "chai": "^3.5.0",
"esbuild": "^0.18.20",
"eslint": "^8.48.0",
"jest": "^29.6.4",
"jest-environment-jsdom": "^29.6.4",
- "jsdom": "^20.0.3",
- "mocha": "^10.2.0",
"react": "^17.0.2",
"react-dom": "^17.0.2",
- "react-portal": "^4.2.2",
"react-test-renderer": "^17.0.2",
"rimraf": "^5.0.1",
"rollup": "^3.29.0",
- "sinon": "^9.2.4",
"typescript": "^4.9.5"
},
"directories": {
diff --git a/packages/fluentui-rc/test/Array.test.tsx b/packages/fluentui-rc/test/Array.test.tsx
index 7709a7a692..a17060201a 100644
--- a/packages/fluentui-rc/test/Array.test.tsx
+++ b/packages/fluentui-rc/test/Array.test.tsx
@@ -1,4 +1,4 @@
-import arrayTests from '@rjsf/core/testSnap/arrayTests';
+import { arrayTests } from '@rjsf/snapshot-tests';
import Form from '../src';
diff --git a/packages/fluentui-rc/test/Form.test.tsx b/packages/fluentui-rc/test/Form.test.tsx
index 8aac502b3e..c96826c914 100644
--- a/packages/fluentui-rc/test/Form.test.tsx
+++ b/packages/fluentui-rc/test/Form.test.tsx
@@ -1,4 +1,4 @@
-import formTests from '@rjsf/core/testSnap/formTests';
+import { formTests } from '@rjsf/snapshot-tests';
import Form from '../src';
diff --git a/packages/fluentui-rc/test/Object.test.tsx b/packages/fluentui-rc/test/Object.test.tsx
index 3caaa69282..dabe023e32 100644
--- a/packages/fluentui-rc/test/Object.test.tsx
+++ b/packages/fluentui-rc/test/Object.test.tsx
@@ -1,4 +1,4 @@
-import objectTests from '@rjsf/core/testSnap/objectTests';
+import { objectTests } from '@rjsf/snapshot-tests';
import Form from '../src';
diff --git a/packages/material-ui/package.json b/packages/material-ui/package.json
index 4c9b912c46..45ef362070 100644
--- a/packages/material-ui/package.json
+++ b/packages/material-ui/package.json
@@ -48,6 +48,7 @@
"@material-ui/core": "^4.12.4",
"@material-ui/icons": "^4.11.3",
"@rjsf/core": "^5.13.6",
+ "@rjsf/snapshot-tests": "^5.13.6",
"@rjsf/utils": "^5.13.6",
"@rjsf/validator-ajv8": "^5.13.6",
"@types/react": "^17.0.65",
diff --git a/packages/material-ui/test/Array.test.tsx b/packages/material-ui/test/Array.test.tsx
index 7709a7a692..a17060201a 100644
--- a/packages/material-ui/test/Array.test.tsx
+++ b/packages/material-ui/test/Array.test.tsx
@@ -1,4 +1,4 @@
-import arrayTests from '@rjsf/core/testSnap/arrayTests';
+import { arrayTests } from '@rjsf/snapshot-tests';
import Form from '../src';
diff --git a/packages/material-ui/test/Form.test.tsx b/packages/material-ui/test/Form.test.tsx
index 6829f8aa97..bdcb9b0bdd 100644
--- a/packages/material-ui/test/Form.test.tsx
+++ b/packages/material-ui/test/Form.test.tsx
@@ -1,4 +1,4 @@
-import formTests, { SLIDER_CUSTOMIZE } from '@rjsf/core/testSnap/formTests';
+import { formTests, SLIDER_CUSTOMIZE } from '@rjsf/snapshot-tests';
import Form from '../src';
diff --git a/packages/material-ui/test/Object.test.tsx b/packages/material-ui/test/Object.test.tsx
index 3caaa69282..dabe023e32 100644
--- a/packages/material-ui/test/Object.test.tsx
+++ b/packages/material-ui/test/Object.test.tsx
@@ -1,4 +1,4 @@
-import objectTests from '@rjsf/core/testSnap/objectTests';
+import { objectTests } from '@rjsf/snapshot-tests';
import Form from '../src';
diff --git a/packages/mui/package.json b/packages/mui/package.json
index 37fa1a1cb6..064b4f2953 100644
--- a/packages/mui/package.json
+++ b/packages/mui/package.json
@@ -53,6 +53,7 @@
"@mui/icons-material": "^5.14.8",
"@mui/material": "^5.14.8",
"@rjsf/core": "^5.13.6",
+ "@rjsf/snapshot-tests": "^5.13.6",
"@rjsf/utils": "^5.13.6",
"@rjsf/validator-ajv8": "^5.13.6",
"@types/react": "^17.0.65",
diff --git a/packages/mui/test/Array.test.tsx b/packages/mui/test/Array.test.tsx
index 7709a7a692..a17060201a 100644
--- a/packages/mui/test/Array.test.tsx
+++ b/packages/mui/test/Array.test.tsx
@@ -1,4 +1,4 @@
-import arrayTests from '@rjsf/core/testSnap/arrayTests';
+import { arrayTests } from '@rjsf/snapshot-tests';
import Form from '../src';
diff --git a/packages/mui/test/Form.test.tsx b/packages/mui/test/Form.test.tsx
index 444a933de5..fdc2b75b9e 100644
--- a/packages/mui/test/Form.test.tsx
+++ b/packages/mui/test/Form.test.tsx
@@ -1,4 +1,4 @@
-import formTests, { SLIDER_CUSTOMIZE, TEXTAREA_CUSTOMIZE } from '@rjsf/core/testSnap/formTests';
+import { formTests, SLIDER_CUSTOMIZE, TEXTAREA_CUSTOMIZE } from '@rjsf/snapshot-tests';
import Form from '../src';
diff --git a/packages/mui/test/Object.test.tsx b/packages/mui/test/Object.test.tsx
index 3caaa69282..dabe023e32 100644
--- a/packages/mui/test/Object.test.tsx
+++ b/packages/mui/test/Object.test.tsx
@@ -1,4 +1,4 @@
-import objectTests from '@rjsf/core/testSnap/objectTests';
+import { objectTests } from '@rjsf/snapshot-tests';
import Form from '../src';
diff --git a/packages/semantic-ui/package.json b/packages/semantic-ui/package.json
index f296b4e3cc..a86610c1ea 100644
--- a/packages/semantic-ui/package.json
+++ b/packages/semantic-ui/package.json
@@ -46,6 +46,7 @@
"@babel/preset-react": "^7.22.15",
"@babel/preset-typescript": "^7.22.15",
"@rjsf/core": "^5.13.6",
+ "@rjsf/snapshot-tests": "^5.13.6",
"@rjsf/utils": "^5.13.6",
"@rjsf/validator-ajv8": "^5.13.6",
"@types/lodash": "^4.14.198",
diff --git a/packages/semantic-ui/test/Array.test.tsx b/packages/semantic-ui/test/Array.test.tsx
index 7b658bca59..468ee40fab 100644
--- a/packages/semantic-ui/test/Array.test.tsx
+++ b/packages/semantic-ui/test/Array.test.tsx
@@ -1,4 +1,4 @@
-import arrayTests from '@rjsf/core/testSnap/arrayTests';
+import { arrayTests } from '@rjsf/snapshot-tests';
import Form from '../src';
diff --git a/packages/semantic-ui/test/Form.test.tsx b/packages/semantic-ui/test/Form.test.tsx
index 4750719e94..7d5de6fe89 100644
--- a/packages/semantic-ui/test/Form.test.tsx
+++ b/packages/semantic-ui/test/Form.test.tsx
@@ -1,7 +1,7 @@
import { RJSFSchema } from '@rjsf/utils';
import validator from '@rjsf/validator-ajv8';
import renderer from 'react-test-renderer';
-import formTests from '@rjsf/core/testSnap/formTests';
+import { formTests } from '@rjsf/snapshot-tests';
import Form from '../src';
diff --git a/packages/semantic-ui/test/Object.test.tsx b/packages/semantic-ui/test/Object.test.tsx
index 6a9ed1d5b0..0b8142fd2a 100644
--- a/packages/semantic-ui/test/Object.test.tsx
+++ b/packages/semantic-ui/test/Object.test.tsx
@@ -1,4 +1,4 @@
-import objectTests from '@rjsf/core/testSnap/objectTests';
+import { objectTests } from '@rjsf/snapshot-tests';
import Form from '../src';
diff --git a/packages/snapshot-tests/.eslintrc b/packages/snapshot-tests/.eslintrc
new file mode 100644
index 0000000000..731b36bae0
--- /dev/null
+++ b/packages/snapshot-tests/.eslintrc
@@ -0,0 +1,4 @@
+{
+ "extends": ["../../.eslintrc"],
+ "plugins": ["@typescript-eslint", "jsx-a11y", "react", "import"]
+}
diff --git a/packages/snapshot-tests/.npmignore b/packages/snapshot-tests/.npmignore
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/packages/snapshot-tests/README.md b/packages/snapshot-tests/README.md
new file mode 100644
index 0000000000..6b2b9f2d84
--- /dev/null
+++ b/packages/snapshot-tests/README.md
@@ -0,0 +1 @@
+# Package with snapshot test suits for testing themes for RJSF
diff --git a/packages/snapshot-tests/package.json b/packages/snapshot-tests/package.json
new file mode 100644
index 0000000000..b41e131857
--- /dev/null
+++ b/packages/snapshot-tests/package.json
@@ -0,0 +1,66 @@
+{
+ "name": "@rjsf/snapshot-tests",
+ "version": "5.13.6",
+ "description": "A set of snapshot tests to be used for testing RJSF theme.",
+ "scripts": {
+ "build": "rimraf lib && tsc",
+ "cs-check": "prettier -l \"src/**/*.[jt]s?(x)\"",
+ "cs-format": "prettier \"src/**/*.[jt]s?(x)\" --write",
+ "lint": "eslint src",
+ "precommit": "lint-staged",
+ "publish-to-npm": "npm run build && npm publish",
+ "test": "echo 'OK'",
+ "test-coverage": "echo 'OK'"
+ },
+ "lint-staged": {
+ "src/**/*.[jt]s?(x)": [
+ "eslint --fix"
+ ]
+ },
+ "main": "lib/index.js",
+ "typings": "lib/index.d.ts",
+ "files": [
+ "dist",
+ "lib"
+ ],
+ "engineStrict": false,
+ "engines": {
+ "node": ">=14"
+ },
+ "peerDependencies": {
+ "react": "^16.14.0 || >=17",
+ "react-test-renderer": "^17.0.2"
+ },
+ "dependencies": {
+ "@rjsf/utils": "^5.10.0",
+ "@rjsf/validator-ajv8": "^5.10.0",
+ "@rjsf/core": "^5.10.0"
+ },
+ "devDependencies": {
+ "@types/jest": "^29.5.3",
+ "@types/react": "^17.0.62",
+ "@types/react-dom": "^17.0.20",
+ "@types/react-test-renderer": "^17.0.2",
+ "react": "^17.0.2",
+ "react-test-renderer": "^17.0.2",
+ "typescript": "^4.9.5"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/rjsf-team/react-jsonschema-form.git"
+ },
+ "author": "Nicolas Perriault ",
+ "contributors": [
+ "Heath Chiavettone , customOptions: ArrayRenderCustomOptions = {}) {
+export function arrayTests(Form: ComponentType, customOptions: ArrayRenderCustomOptions = {}) {
describe('array fields', () => {
test('array', () => {
const schema: RJSFSchema = {
diff --git a/packages/core/testSnap/formTests.tsx b/packages/snapshot-tests/src/formTests.tsx
similarity index 98%
rename from packages/core/testSnap/formTests.tsx
rename to packages/snapshot-tests/src/formTests.tsx
index 92d6a24eb7..4ffa74c13b 100644
--- a/packages/core/testSnap/formTests.tsx
+++ b/packages/snapshot-tests/src/formTests.tsx
@@ -3,7 +3,7 @@ import renderer, { TestRendererOptions } from 'react-test-renderer';
import { RJSFSchema, ErrorSchema } from '@rjsf/utils';
import validator from '@rjsf/validator-ajv8';
-import { FormProps } from '../src';
+import { FormProps } from '@rjsf/core';
export const SELECT_CUSTOMIZE = 'selectMulti';
export const SLIDER_CUSTOMIZE = 'slider';
@@ -15,7 +15,7 @@ export type FormRenderCustomOptions = {
textarea?: TestRendererOptions;
};
-export default function formTests(Form: ComponentType, customOptions: FormRenderCustomOptions = {}) {
+export function formTests(Form: ComponentType, customOptions: FormRenderCustomOptions = {}) {
describe('single fields', () => {
describe('string field', () => {
test('regular', () => {
diff --git a/packages/snapshot-tests/src/index.ts b/packages/snapshot-tests/src/index.ts
new file mode 100644
index 0000000000..dd85ece8e0
--- /dev/null
+++ b/packages/snapshot-tests/src/index.ts
@@ -0,0 +1,11 @@
+export { type ArrayRenderCustomOptions, CHECKBOXES_CUSTOMIZE, arrayTests } from './arrayTests';
+
+export {
+ type FormRenderCustomOptions,
+ formTests,
+ SELECT_CUSTOMIZE,
+ SLIDER_CUSTOMIZE,
+ TEXTAREA_CUSTOMIZE,
+} from './formTests';
+
+export { objectTests } from './objectTests';
diff --git a/packages/core/testSnap/objectTests.tsx b/packages/snapshot-tests/src/objectTests.tsx
similarity index 98%
rename from packages/core/testSnap/objectTests.tsx
rename to packages/snapshot-tests/src/objectTests.tsx
index dcdfedea7c..0d1d1a577b 100644
--- a/packages/core/testSnap/objectTests.tsx
+++ b/packages/snapshot-tests/src/objectTests.tsx
@@ -3,7 +3,7 @@ import renderer from 'react-test-renderer';
import { RJSFSchema, UiSchema } from '@rjsf/utils';
import validator from '@rjsf/validator-ajv8';
-import { FormProps } from '../src';
+import { FormProps } from '@rjsf/core';
const titleAndDesc = {
title: 'Test field',
@@ -33,7 +33,7 @@ const labelsOff: UiSchema = {
'ui:globalOptions': { label: false },
};
-export default function arrayTests(Form: ComponentType) {
+export function objectTests(Form: ComponentType) {
describe('object fields', () => {
test('object', () => {
const schema: RJSFSchema = {
diff --git a/packages/snapshot-tests/tsconfig.json b/packages/snapshot-tests/tsconfig.json
new file mode 100644
index 0000000000..06eba766e4
--- /dev/null
+++ b/packages/snapshot-tests/tsconfig.json
@@ -0,0 +1,11 @@
+{
+ "extends": "../../tsconfig.base.json",
+ "include": ["src"],
+ "compilerOptions": {
+ "module": "CommonJS",
+ "baseUrl": "./",
+ "rootDir": "./src",
+ "outDir": "./lib",
+ "jsx": "react-jsx"
+ }
+}
From 32e93a29c86152d6cf298c8e3dff96c09e406d24 Mon Sep 17 00:00:00 2001
From: Bogdan Savluk
Date: Tue, 25 Jul 2023 15:11:54 +0200
Subject: [PATCH 02/16] nx fix cycle
---
nx.json | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/nx.json b/nx.json
index 4977839da8..f836e8d38c 100644
--- a/nx.json
+++ b/nx.json
@@ -25,7 +25,11 @@
},
"targetDefaults": {
"build": {
- "dependsOn": ["^build"]
+ "dependsOn": [{
+ "//": "use only dependencies to avoid cycle @rjsf/core:build --> @rjsf/snapshot-tests:build --> @rjsf/core:build",
+ "projects": "dependencies",
+ "target": "^build"
+ }]
}
},
"affected": {
From 4b4f42d99efcf9ee33ad6717b5078624c1b6686c Mon Sep 17 00:00:00 2001
From: Bogdan Savluk
Date: Thu, 13 Jul 2023 02:18:56 +0200
Subject: [PATCH 03/16] wip references
---
.gitignore | 3 ++
package-lock.json | 1 +
packages/antd/package.json | 4 +--
packages/antd/tsconfig.json | 13 +++++++-
packages/bootstrap-4/package.json | 4 +--
packages/bootstrap-4/tsconfig.json | 13 +++++++-
packages/chakra-ui/package.json | 4 +--
packages/chakra-ui/tsconfig.json | 13 +++++++-
packages/core/package.json | 4 +--
packages/core/tsconfig.json | 13 +++++++-
packages/fluent-ui/package.json | 4 +--
packages/fluent-ui/tsconfig.json | 13 +++++++-
packages/fluentui-rc/package.json | 4 +--
packages/fluentui-rc/tsconfig.json | 13 +++++++-
packages/material-ui/package.json | 4 +--
packages/material-ui/tsconfig.json | 13 +++++++-
packages/mui/package.json | 4 +--
packages/mui/tsconfig.json | 13 +++++++-
packages/playground/package.json | 1 +
packages/playground/src/app.tsx | 1 +
packages/playground/tsconfig.json | 17 +++++++++-
packages/semantic-ui/package.json | 4 +--
packages/semantic-ui/tsconfig.json | 13 +++++++-
packages/snapshot-tests/package.json | 2 +-
packages/snapshot-tests/tsconfig.json | 16 ++++++++-
packages/utils/package.json | 4 +--
packages/validator-ajv6/package.json | 4 +--
packages/validator-ajv6/tsconfig.json | 7 +++-
packages/validator-ajv8/package.json | 4 +--
packages/validator-ajv8/tsconfig.json | 7 +++-
tsconfig.base.json | 1 +
tsconfig.json | 47 +++++++++++++++++++++++++++
32 files changed, 230 insertions(+), 38 deletions(-)
create mode 100644 tsconfig.json
diff --git a/.gitignore b/.gitignore
index c3e05d6f25..bbd8fe162e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -137,3 +137,6 @@ coverage
venv
*.orig
out/
+
+# typescript tsbuildinfo
+*.tsbuildinfo
diff --git a/package-lock.json b/package-lock.json
index b589331835..4858cd5e40 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -34702,6 +34702,7 @@
"react-transform-hmr": "^1.0.4",
"rimraf": "^5.0.1",
"source-map-loader": "^4.0.1",
+ "typescript": "^4.9.5",
"vite": "^4.4.9"
},
"engines": {
diff --git a/packages/antd/package.json b/packages/antd/package.json
index faf817a32b..d240827025 100644
--- a/packages/antd/package.json
+++ b/packages/antd/package.json
@@ -6,11 +6,11 @@
"module": "lib/index.js",
"typings": "lib/index.d.ts",
"scripts": {
- "build:ts": "rimraf lib && tsc",
+ "build:ts": "tsc -b",
"build:cjs": "esbuild ./src/index.ts --bundle --outfile=dist/index.js --sourcemap --packages=external --format=cjs",
"build:esm": "esbuild ./src/index.ts --bundle --outfile=dist/antd.esm.js --sourcemap --packages=external --format=esm",
"build:umd": "rollup dist/antd.esm.js --format=umd --file=dist/antd.umd.js --name=@rjsf/antd",
- "build": "rimraf dist && npm run build:ts && npm run build:cjs && npm run build:esm && npm run build:umd",
+ "build": "npm run build:ts && npm run build:cjs && npm run build:esm && npm run build:umd",
"cs-check": "prettier -l \"{src,test}/**/*.ts?(x)\"",
"cs-format": "prettier \"{src,test}/**/*.ts?(x)\" --write",
"lint": "eslint src test",
diff --git a/packages/antd/tsconfig.json b/packages/antd/tsconfig.json
index 0786a3f6bf..f687076020 100644
--- a/packages/antd/tsconfig.json
+++ b/packages/antd/tsconfig.json
@@ -6,5 +6,16 @@
"outDir": "./lib",
"baseUrl": "./",
"jsx": "react-jsx"
- }
+ },
+ "references": [
+ {
+ "path": "../core"
+ },
+ {
+ "path": "../utils"
+ },
+ {
+ "path": "../validator-ajv8"
+ }
+ ]
}
diff --git a/packages/bootstrap-4/package.json b/packages/bootstrap-4/package.json
index da3b4e7d76..c972576f1b 100644
--- a/packages/bootstrap-4/package.json
+++ b/packages/bootstrap-4/package.json
@@ -15,11 +15,11 @@
"url": ""
},
"scripts": {
- "build:ts": "rimraf lib && tsc",
+ "build:ts": "tsc -b",
"build:cjs": "esbuild ./src/index.ts --bundle --outfile=dist/index.js --sourcemap --packages=external --format=cjs",
"build:esm": "esbuild ./src/index.ts --bundle --outfile=dist/bootstrap-4.esm.js --sourcemap --packages=external --format=esm",
"build:umd": "rollup dist/bootstrap-4.esm.js --format=umd --file=dist/bootstrap-4.umd.js --name=@rjsf/bootstrap-4",
- "build": "rimraf dist && npm run build:ts && npm run build:cjs && npm run build:esm && npm run build:umd",
+ "build": "npm run build:ts && npm run build:cjs && npm run build:esm && npm run build:umd",
"cs-check": "prettier -l \"{src,test}/**/*.ts?(x)\"",
"cs-format": "prettier \"{src,test}/**/*.ts?(x)\" --write",
"lint": "eslint src test",
diff --git a/packages/bootstrap-4/tsconfig.json b/packages/bootstrap-4/tsconfig.json
index 0786a3f6bf..f687076020 100644
--- a/packages/bootstrap-4/tsconfig.json
+++ b/packages/bootstrap-4/tsconfig.json
@@ -6,5 +6,16 @@
"outDir": "./lib",
"baseUrl": "./",
"jsx": "react-jsx"
- }
+ },
+ "references": [
+ {
+ "path": "../core"
+ },
+ {
+ "path": "../utils"
+ },
+ {
+ "path": "../validator-ajv8"
+ }
+ ]
}
diff --git a/packages/chakra-ui/package.json b/packages/chakra-ui/package.json
index 89d1200e1c..a880caab4e 100644
--- a/packages/chakra-ui/package.json
+++ b/packages/chakra-ui/package.json
@@ -11,11 +11,11 @@
"src"
],
"scripts": {
- "build:ts": "rimraf lib && tsc",
+ "build:ts": "tsc -b",
"build:cjs": "esbuild ./src/index.ts --bundle --outfile=dist/index.js --sourcemap --packages=external --format=cjs",
"build:esm": "esbuild ./src/index.ts --bundle --outfile=dist/chakra-ui.esm.js --sourcemap --packages=external --format=esm",
"build:umd": "rollup dist/chakra-ui.esm.js --format=umd --file=dist/chakra-ui.umd.js --name=@rjsf/chakra-ui",
- "build": "rimraf dist && npm run build:ts && npm run build:cjs && npm run build:esm && npm run build:umd",
+ "build": "npm run build:ts && npm run build:cjs && npm run build:esm && npm run build:umd",
"cs-check": "prettier -l \"{src,test}/**/*.ts?(x)\"",
"cs-format": "prettier \"{src,test}/**/*.ts?(x)\" --write",
"lint": "eslint src test",
diff --git a/packages/chakra-ui/tsconfig.json b/packages/chakra-ui/tsconfig.json
index 0230c34710..91d8c465f1 100644
--- a/packages/chakra-ui/tsconfig.json
+++ b/packages/chakra-ui/tsconfig.json
@@ -9,5 +9,16 @@
// There are type errors in @chakra-ui/menu type definitions because of which skipLibCheck had to be added
// @chakra-ui/menu/dist/declarations/src/use-menu.d.ts:986:61 - error TS2694: Namespace '"node_modules/csstype/index".Property' has no exported member 'ColorAdjust'.
"skipLibCheck": true
- }
+ },
+ "references": [
+ {
+ "path": "../core"
+ },
+ {
+ "path": "../utils"
+ },
+ {
+ "path": "../validator-ajv8"
+ }
+ ]
}
diff --git a/packages/core/package.json b/packages/core/package.json
index fe995bab67..4a797845c8 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -3,11 +3,11 @@
"version": "5.13.6",
"description": "A simple React component capable of building HTML forms out of a JSON schema.",
"scripts": {
- "build:ts": "rimraf lib && tsc",
+ "build:ts": "tsc -b",
"build:cjs": "esbuild ./src/index.ts --bundle --outfile=dist/index.js --sourcemap --packages=external --format=cjs",
"build:esm": "esbuild ./src/index.ts --bundle --outfile=dist/index.esm.js --sourcemap --packages=external --format=esm",
"build:umd": "rollup dist/index.esm.js --format=umd --file=dist/core.umd.js --name=JSONSchemaForm",
- "build": "rimraf dist && npm run build:ts && npm run build:cjs && npm run build:esm && npm run build:umd",
+ "build": "npm run build:ts && npm run build:cjs && npm run build:esm && npm run build:umd",
"cs-check": "prettier -l \"{src,test}/**/*.[jt]s?(x)\"",
"cs-format": "prettier \"{src,test}/**/*.[jt]s?(x)\" --write",
"lint": "eslint src test",
diff --git a/packages/core/tsconfig.json b/packages/core/tsconfig.json
index 0786a3f6bf..de97216aac 100644
--- a/packages/core/tsconfig.json
+++ b/packages/core/tsconfig.json
@@ -6,5 +6,16 @@
"outDir": "./lib",
"baseUrl": "./",
"jsx": "react-jsx"
- }
+ },
+ "references": [
+ {
+ "path": "../utils"
+ },
+ {
+ "path": "../validator-ajv6"
+ },
+ {
+ "path": "../validator-ajv8"
+ }
+ ]
}
diff --git a/packages/fluent-ui/package.json b/packages/fluent-ui/package.json
index 4efea34b5e..fcad2f5a73 100644
--- a/packages/fluent-ui/package.json
+++ b/packages/fluent-ui/package.json
@@ -11,11 +11,11 @@
"src"
],
"scripts": {
- "build:ts": "rimraf lib && tsc",
+ "build:ts": "tsc -b",
"build:cjs": "esbuild ./src/index.ts --bundle --outfile=dist/index.js --sourcemap --packages=external --format=cjs",
"build:esm": "esbuild ./src/index.ts --bundle --outfile=dist/fluent-ui.esm.js --sourcemap --packages=external --format=esm",
"build:umd": "rollup dist/fluent-ui.esm.js --format=umd --file=dist/fluent-ui.umd.js --name=@rjsf/fluent-ui",
- "build": "rimraf dist && npm run build:ts && npm run build:cjs && npm run build:esm && npm run build:umd",
+ "build": "npm run build:ts && npm run build:cjs && npm run build:esm && npm run build:umd",
"cs-check": "prettier -l \"{src,test}/**/*.ts?(x)\"",
"cs-format": "prettier \"{src,test}/**/*.ts?(x)\" --write",
"lint": "eslint src test",
diff --git a/packages/fluent-ui/tsconfig.json b/packages/fluent-ui/tsconfig.json
index 9738c553a3..206f98e5dd 100644
--- a/packages/fluent-ui/tsconfig.json
+++ b/packages/fluent-ui/tsconfig.json
@@ -12,5 +12,16 @@
// @fluentui/react/lib/components/SelectedItemsList/BaseSelectedItemsList.d.ts
// @fluentui/utilities/lib/styled.d.ts
"skipLibCheck": true
- }
+ },
+ "references": [
+ {
+ "path": "../core"
+ },
+ {
+ "path": "../utils"
+ },
+ {
+ "path": "../validator-ajv8"
+ }
+ ]
}
diff --git a/packages/fluentui-rc/package.json b/packages/fluentui-rc/package.json
index d6e6d1fa0b..4161fc3ab7 100644
--- a/packages/fluentui-rc/package.json
+++ b/packages/fluentui-rc/package.json
@@ -3,11 +3,11 @@
"version": "5.13.6",
"description": "FluentUI React Components theme, fields and widgets for react-jsonschema-form",
"scripts": {
- "build:ts": "rimraf lib && tsc",
+ "build:ts": "tsc -b",
"build:cjs": "esbuild ./src/index.ts --bundle --outfile=dist/index.js --sourcemap --packages=external --format=cjs",
"build:esm": "esbuild ./src/index.ts --bundle --outfile=dist/index.esm.js --sourcemap --packages=external --format=esm",
"build:umd": "rollup dist/index.esm.js --format=umd --file=dist/core.umd.js --name=JSONSchemaForm",
- "build": "rimraf dist && npm run build:ts && npm run build:cjs && npm run build:esm && npm run build:umd",
+ "build": "npm run build:ts && npm run build:cjs && npm run build:esm && npm run build:umd",
"cs-check": "prettier -l \"{src,test,testSnap}/**/*.[jt]s?(x)\"",
"cs-format": "prettier \"{src,test,testSnap}/**/*.[jt]s?(x)\" --write",
"lint": "eslint src test",
diff --git a/packages/fluentui-rc/tsconfig.json b/packages/fluentui-rc/tsconfig.json
index a0a7c6e7bd..77e127b0ed 100644
--- a/packages/fluentui-rc/tsconfig.json
+++ b/packages/fluentui-rc/tsconfig.json
@@ -7,5 +7,16 @@
"baseUrl": "./",
"jsx": "react-jsx",
"skipLibCheck": true
- }
+ },
+ "references": [
+ {
+ "path": "../core"
+ },
+ {
+ "path": "../utils"
+ },
+ {
+ "path": "../validator-ajv8"
+ }
+ ]
}
diff --git a/packages/material-ui/package.json b/packages/material-ui/package.json
index 45ef362070..328dd8768e 100644
--- a/packages/material-ui/package.json
+++ b/packages/material-ui/package.json
@@ -11,11 +11,11 @@
"src"
],
"scripts": {
- "build:ts": "rimraf lib && tsc",
+ "build:ts": "tsc -b",
"build:cjs": "esbuild ./src/index.ts --bundle --outfile=dist/index.js --sourcemap --packages=external --format=cjs",
"build:esm": "esbuild ./src/index.ts --bundle --outfile=dist/material-ui.esm.js --sourcemap --packages=external --format=esm",
"build:umd": "rollup dist/material-ui.esm.js --format=umd --file=dist/material-ui.umd.js --name=@rjsf/material-ui",
- "build": "rimraf dist && npm run build:ts && npm run build:cjs && npm run build:esm && npm run build:umd",
+ "build": "npm run build:ts && npm run build:cjs && npm run build:esm && npm run build:umd",
"cs-check": "prettier -l \"{src,test}/**/*.ts?(x)\"",
"cs-format": "prettier \"{src,test}/**/*.ts?(x)\" --write",
"lint": "eslint src test",
diff --git a/packages/material-ui/tsconfig.json b/packages/material-ui/tsconfig.json
index 0786a3f6bf..f687076020 100644
--- a/packages/material-ui/tsconfig.json
+++ b/packages/material-ui/tsconfig.json
@@ -6,5 +6,16 @@
"outDir": "./lib",
"baseUrl": "./",
"jsx": "react-jsx"
- }
+ },
+ "references": [
+ {
+ "path": "../core"
+ },
+ {
+ "path": "../utils"
+ },
+ {
+ "path": "../validator-ajv8"
+ }
+ ]
}
diff --git a/packages/mui/package.json b/packages/mui/package.json
index 064b4f2953..73dc0d65db 100644
--- a/packages/mui/package.json
+++ b/packages/mui/package.json
@@ -11,11 +11,11 @@
"src"
],
"scripts": {
- "build:ts": "rimraf lib && tsc",
+ "build:ts": "tsc -b",
"build:cjs": "esbuild ./src/index.ts --bundle --outfile=dist/index.js --sourcemap --packages=external --format=cjs",
"build:esm": "esbuild ./src/index.ts --bundle --outfile=dist/mui.esm.js --sourcemap --packages=external --format=esm",
"build:umd": "rollup dist/mui.esm.js --format=umd --file=dist/mui.umd.js --name=@rjsf/mui",
- "build": "rimraf dist && npm run build:ts && npm run build:cjs && npm run build:esm && npm run build:umd",
+ "build": "npm run build:ts && npm run build:cjs && npm run build:esm && npm run build:umd",
"cs-check": "prettier -l \"{src,test}/**/*.ts?(x)\"",
"cs-format": "prettier \"{src,test}/**/*.ts?(x)\" --write",
"lint": "eslint src test",
diff --git a/packages/mui/tsconfig.json b/packages/mui/tsconfig.json
index 0786a3f6bf..f687076020 100644
--- a/packages/mui/tsconfig.json
+++ b/packages/mui/tsconfig.json
@@ -6,5 +6,16 @@
"outDir": "./lib",
"baseUrl": "./",
"jsx": "react-jsx"
- }
+ },
+ "references": [
+ {
+ "path": "../core"
+ },
+ {
+ "path": "../utils"
+ },
+ {
+ "path": "../validator-ajv8"
+ }
+ ]
}
diff --git a/packages/playground/package.json b/packages/playground/package.json
index 7bbc813eaf..b35857ce2e 100644
--- a/packages/playground/package.json
+++ b/packages/playground/package.json
@@ -105,6 +105,7 @@
"react-transform-hmr": "^1.0.4",
"rimraf": "^5.0.1",
"source-map-loader": "^4.0.1",
+ "typescript": "^4.9.5",
"vite": "^4.4.9"
},
"directories": {
diff --git a/packages/playground/src/app.tsx b/packages/playground/src/app.tsx
index 20cd676f3d..43ccb289d9 100644
--- a/packages/playground/src/app.tsx
+++ b/packages/playground/src/app.tsx
@@ -14,6 +14,7 @@ import Ajv2020 from 'ajv/dist/2020.js';
import Layout from './layout';
import Playground, { PlaygroundProps } from './components';
+// @ts-expect-error todo: error TS2345: Argument of type 'Localize' is not assignable to parameter of type 'Localizer'.
const esV8Validator = customizeValidator({}, localize_es);
const AJV8_2019 = customizeValidator({ AjvClass: Ajv2019 });
const AJV8_2020 = customizeValidator({ AjvClass: Ajv2020 });
diff --git a/packages/playground/tsconfig.json b/packages/playground/tsconfig.json
index 3c9b7c805d..87371a11d7 100644
--- a/packages/playground/tsconfig.json
+++ b/packages/playground/tsconfig.json
@@ -1,6 +1,8 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
+ "rootDir": "./src",
+ "baseUrl": "./",
"target": "ESNext",
"useDefineForClassFields": true,
"lib": ["DOM", "DOM.Iterable", "ESNext"],
@@ -19,5 +21,18 @@
"types": ["vite/client"]
},
"include": ["src"],
- "references": [{ "path": "./tsconfig.node.json" }]
+ "references": [
+// { "path": "./tsconfig.node.json" },
+ { "path": "../antd" },
+ { "path": "../bootstrap-4" },
+ { "path": "../chakra-ui" },
+ { "path": "../core" },
+ { "path": "../fluent-ui" },
+ { "path": "../material-ui" },
+ { "path": "../mui" },
+ { "path": "../semantic-ui" },
+ { "path": "../utils" },
+ { "path": "../validator-ajv6" },
+ { "path": "../validator-ajv8" }
+ ]
}
diff --git a/packages/semantic-ui/package.json b/packages/semantic-ui/package.json
index a86610c1ea..4b0db3d82a 100644
--- a/packages/semantic-ui/package.json
+++ b/packages/semantic-ui/package.json
@@ -15,11 +15,11 @@
"node": ">=14"
},
"scripts": {
- "build:ts": "rimraf lib && tsc",
+ "build:ts": "tsc -b",
"build:cjs": "esbuild ./src/index.ts --bundle --outfile=dist/index.js --sourcemap --packages=external --format=cjs",
"build:esm": "esbuild ./src/index.ts --bundle --outfile=dist/semantic-ui.esm.js --sourcemap --packages=external --format=esm",
"build:umd": "rollup dist/semantic-ui.esm.js --format=umd --file=dist/semantic-ui.umd.js --name=@rjsf/semantic-ui",
- "build": "rimraf dist && npm run build:ts && npm run build:cjs && npm run build:esm && npm run build:umd",
+ "build": "npm run build:ts && npm run build:cjs && npm run build:esm && npm run build:umd",
"cs-check": "prettier -l \"{src,test}/**/*.ts?(x)\"",
"cs-format": "prettier \"{src,test}/**/*.ts?(x)\" --write",
"lint": "eslint src test",
diff --git a/packages/semantic-ui/tsconfig.json b/packages/semantic-ui/tsconfig.json
index a88ff5a3e8..fc23c8b17f 100644
--- a/packages/semantic-ui/tsconfig.json
+++ b/packages/semantic-ui/tsconfig.json
@@ -9,5 +9,16 @@
// There are type errors in semantic-ui-react type definitions because of which skipLibCheck had to be added
// semantic-ui-react/dist/commonjs/generic.d.ts(73,73): error TS2344: Type 'TProps' does not satisfy the constraint 'Record'.
"skipLibCheck": true
- }
+ },
+ "references": [
+ {
+ "path": "../core"
+ },
+ {
+ "path": "../utils"
+ },
+ {
+ "path": "../validator-ajv8"
+ }
+ ]
}
diff --git a/packages/snapshot-tests/package.json b/packages/snapshot-tests/package.json
index b41e131857..01a5f5602f 100644
--- a/packages/snapshot-tests/package.json
+++ b/packages/snapshot-tests/package.json
@@ -3,7 +3,7 @@
"version": "5.13.6",
"description": "A set of snapshot tests to be used for testing RJSF theme.",
"scripts": {
- "build": "rimraf lib && tsc",
+ "build": "tsc -b .",
"cs-check": "prettier -l \"src/**/*.[jt]s?(x)\"",
"cs-format": "prettier \"src/**/*.[jt]s?(x)\" --write",
"lint": "eslint src",
diff --git a/packages/snapshot-tests/tsconfig.json b/packages/snapshot-tests/tsconfig.json
index 06eba766e4..d13380177b 100644
--- a/packages/snapshot-tests/tsconfig.json
+++ b/packages/snapshot-tests/tsconfig.json
@@ -7,5 +7,19 @@
"rootDir": "./src",
"outDir": "./lib",
"jsx": "react-jsx"
- }
+ },
+ "references": [
+ {
+ "path": "../core/src"
+ },
+ {
+ "path": "../utils"
+ },
+ {
+ "path": "../validator-ajv6"
+ },
+ {
+ "path": "../validator-ajv8"
+ }
+ ]
}
diff --git a/packages/utils/package.json b/packages/utils/package.json
index be54ced67d..ce19d9fe81 100644
--- a/packages/utils/package.json
+++ b/packages/utils/package.json
@@ -15,11 +15,11 @@
"node": ">=14"
},
"scripts": {
- "build:ts": "rimraf lib && tsc",
+ "build:ts": "tsc -b",
"build:cjs": "esbuild ./src/index.ts --bundle --outfile=dist/index.js --sourcemap --packages=external --format=cjs",
"build:esm": "esbuild ./src/index.ts --bundle --outfile=dist/utils.esm.js --sourcemap --packages=external --format=esm",
"build:umd": "rollup dist/utils.esm.js --format=umd --file=dist/utils.umd.js --name=@rjsf/utils",
- "build": "rimraf dist && npm run build:ts && npm run build:cjs && npm run build:esm && npm run build:umd",
+ "build": "npm run build:ts && npm run build:cjs && npm run build:esm && npm run build:umd",
"cs-check": "prettier -l \"{src,test}/**/*.ts?(x)\"",
"cs-format": "prettier \"{src,test}/**/*.ts?(x)\" --write",
"lint": "eslint src test",
diff --git a/packages/validator-ajv6/package.json b/packages/validator-ajv6/package.json
index 3dfa5e0639..f4fdea480c 100644
--- a/packages/validator-ajv6/package.json
+++ b/packages/validator-ajv6/package.json
@@ -15,11 +15,11 @@
"node": ">=14"
},
"scripts": {
- "build:ts": "rimraf lib && tsc",
+ "build:ts": "tsc -b",
"build:cjs": "esbuild ./src/index.ts --bundle --outfile=dist/index.js --sourcemap --packages=external --format=cjs",
"build:esm": "esbuild ./src/index.ts --bundle --outfile=dist/validator-ajv6.esm.js --sourcemap --packages=external --format=esm",
"build:umd": "rollup dist/validator-ajv6.esm.js --format=umd --file=dist/validator-ajv6.umd.js --name=@rjsf/validator-ajv6",
- "build": "rimraf dist && npm run build:ts && npm run build:cjs && npm run build:esm && npm run build:umd",
+ "build": "npm run build:ts && npm run build:cjs && npm run build:esm && npm run build:umd",
"cs-check": "prettier -l \"{src,test}/**/*.ts?(x)\"",
"cs-format": "prettier \"{src,test}/**/*.ts?(x)\" --write",
"lint": "eslint src test",
diff --git a/packages/validator-ajv6/tsconfig.json b/packages/validator-ajv6/tsconfig.json
index 0786a3f6bf..fb5bebb94c 100644
--- a/packages/validator-ajv6/tsconfig.json
+++ b/packages/validator-ajv6/tsconfig.json
@@ -6,5 +6,10 @@
"outDir": "./lib",
"baseUrl": "./",
"jsx": "react-jsx"
- }
+ },
+ "references": [
+ {
+ "path": "../utils"
+ }
+ ]
}
diff --git a/packages/validator-ajv8/package.json b/packages/validator-ajv8/package.json
index ad588c5c76..436325d9fd 100644
--- a/packages/validator-ajv8/package.json
+++ b/packages/validator-ajv8/package.json
@@ -15,11 +15,11 @@
"node": ">=14"
},
"scripts": {
- "build:ts": "rimraf lib && tsc",
+ "build:ts": "tsc -b",
"build:cjs": "esbuild ./src/index.ts --bundle --outfile=dist/index.js --sourcemap --packages=external --format=cjs && esbuild ./src/compileSchemaValidators.ts --bundle --outfile=dist/compileSchemaValidators.js --sourcemap --packages=external --format=cjs",
"build:esm": "esbuild ./src/index.ts --bundle --outfile=dist/validator-ajv8.esm.js --sourcemap --packages=external --format=esm && esbuild ./src/compileSchemaValidators.ts --bundle --outfile=dist/compileSchemaValidators.esm.js --sourcemap --packages=external --format=esm",
"build:umd": "rollup dist/validator-ajv8.esm.js --format=umd --file=dist/validator-ajv8.umd.js --name=@rjsf/validator-ajv8",
- "build": "rimraf dist && npm run build:ts && npm run build:cjs && npm run build:esm && npm run build:umd",
+ "build": "npm run build:ts && npm run build:cjs && npm run build:esm && npm run build:umd",
"cs-check": "prettier -l \"{src,test}/**/*.ts?(x)\"",
"cs-format": "prettier \"{src,test}/**/*.ts?(x)\" --write",
"lint": "eslint src test",
diff --git a/packages/validator-ajv8/tsconfig.json b/packages/validator-ajv8/tsconfig.json
index 1b1d75c204..3b8fddc6ad 100644
--- a/packages/validator-ajv8/tsconfig.json
+++ b/packages/validator-ajv8/tsconfig.json
@@ -7,5 +7,10 @@
"resolveJsonModule": true,
"baseUrl": "./",
"jsx": "react-jsx"
- }
+ },
+ "references": [
+ {
+ "path": "../utils"
+ }
+ ]
}
diff --git a/tsconfig.base.json b/tsconfig.base.json
index ebf463b2cd..49415e1249 100644
--- a/tsconfig.base.json
+++ b/tsconfig.base.json
@@ -1,5 +1,6 @@
{
"compilerOptions": {
+ "composite": true,
"target": "es6",
"module": "esnext",
"lib": ["dom", "esnext"],
diff --git a/tsconfig.json b/tsconfig.json
new file mode 100644
index 0000000000..f4ea64b91f
--- /dev/null
+++ b/tsconfig.json
@@ -0,0 +1,47 @@
+{
+ "files": [],
+ "references": [
+ {
+ "path": "./packages/antd"
+ },
+ {
+ "path": "./packages/bootstrap-4"
+ },
+ {
+ "path": "./packages/chakra-ui"
+ },
+ {
+ "path": "./packages/core"
+ },
+ {
+ "path": "./packages/snapshot-tests"
+ },
+ {
+ "path": "./packages/fluent-ui"
+ },
+ {
+ "path": "./packages/fluentui-rc"
+ },
+ {
+ "path": "./packages/material-ui"
+ },
+ {
+ "path": "./packages/mui"
+ },
+ {
+ "path": "./packages/playground"
+ },
+ {
+ "path": "./packages/semantic-ui"
+ },
+ {
+ "path": "./packages/utils"
+ },
+ {
+ "path": "./packages/validator-ajv6"
+ },
+ {
+ "path": "./packages/validator-ajv8"
+ }
+ ]
+}
From 6df562bea6039b5e58dd8604243d3b9ebcfbe729 Mon Sep 17 00:00:00 2001
From: Bogdan Savluk
Date: Fri, 14 Jul 2023 14:54:31 +0200
Subject: [PATCH 04/16] ts project references config for tests
---
packages/antd/src/tsconfig.json | 23 +++++++++++++++++
packages/antd/test/tsconfig.json | 18 ++++++++++++++
packages/antd/tsconfig.json | 15 +++--------
packages/bootstrap-4/src/tsconfig.json | 23 +++++++++++++++++
packages/bootstrap-4/test/tsconfig.json | 18 ++++++++++++++
packages/bootstrap-4/tsconfig.json | 15 +++--------
packages/chakra-ui/src/tsconfig.json | 26 +++++++++++++++++++
packages/chakra-ui/test/tsconfig.json | 21 ++++++++++++++++
packages/chakra-ui/tsconfig.json | 18 +++-----------
packages/core/src/tsconfig.json | 23 +++++++++++++++++
packages/core/test/tsconfig.json | 18 ++++++++++++++
packages/core/tsconfig.json | 15 +++--------
packages/fluent-ui/src/tsconfig.json | 29 ++++++++++++++++++++++
packages/fluent-ui/test/tsconfig.json | 18 ++++++++++++++
packages/fluent-ui/tsconfig.json | 21 +++-------------
packages/material-ui/src/tsconfig.json | 23 +++++++++++++++++
packages/material-ui/test/tsconfig.json | 18 ++++++++++++++
packages/material-ui/tsconfig.json | 15 +++--------
packages/mui/src/tsconfig.json | 23 +++++++++++++++++
packages/mui/test/tsconfig.json | 18 ++++++++++++++
packages/mui/tsconfig.json | 15 +++--------
packages/semantic-ui/src/tsconfig.json | 26 +++++++++++++++++++
packages/semantic-ui/test/tsconfig.json | 18 ++++++++++++++
packages/semantic-ui/tsconfig.json | 18 +++-----------
packages/utils/.gitignore | 1 +
packages/utils/src/tsconfig.json | 10 ++++++++
packages/utils/test/tsconfig.json | 18 ++++++++++++++
packages/utils/tsconfig.json | 16 ++++++------
packages/validator-ajv6/src/tsconfig.json | 17 +++++++++++++
packages/validator-ajv6/test/tsconfig.json | 18 ++++++++++++++
packages/validator-ajv6/tsconfig.json | 13 ++++------
packages/validator-ajv8/src/tsconfig.json | 15 +++++++++++
packages/validator-ajv8/test/tsconfig.json | 19 ++++++++++++++
packages/validator-ajv8/tsconfig.json | 14 ++++-------
34 files changed, 484 insertions(+), 132 deletions(-)
create mode 100644 packages/antd/src/tsconfig.json
create mode 100644 packages/antd/test/tsconfig.json
create mode 100644 packages/bootstrap-4/src/tsconfig.json
create mode 100644 packages/bootstrap-4/test/tsconfig.json
create mode 100644 packages/chakra-ui/src/tsconfig.json
create mode 100644 packages/chakra-ui/test/tsconfig.json
create mode 100644 packages/core/src/tsconfig.json
create mode 100644 packages/core/test/tsconfig.json
create mode 100644 packages/fluent-ui/src/tsconfig.json
create mode 100644 packages/fluent-ui/test/tsconfig.json
create mode 100644 packages/material-ui/src/tsconfig.json
create mode 100644 packages/material-ui/test/tsconfig.json
create mode 100644 packages/mui/src/tsconfig.json
create mode 100644 packages/mui/test/tsconfig.json
create mode 100644 packages/semantic-ui/src/tsconfig.json
create mode 100644 packages/semantic-ui/test/tsconfig.json
create mode 100644 packages/utils/.gitignore
create mode 100644 packages/utils/src/tsconfig.json
create mode 100644 packages/utils/test/tsconfig.json
create mode 100644 packages/validator-ajv6/src/tsconfig.json
create mode 100644 packages/validator-ajv6/test/tsconfig.json
create mode 100644 packages/validator-ajv8/src/tsconfig.json
create mode 100644 packages/validator-ajv8/test/tsconfig.json
diff --git a/packages/antd/src/tsconfig.json b/packages/antd/src/tsconfig.json
new file mode 100644
index 0000000000..01834bf1ab
--- /dev/null
+++ b/packages/antd/src/tsconfig.json
@@ -0,0 +1,23 @@
+{
+ "extends": "../../../tsconfig.base.json",
+ "include": [
+ "./"
+ ],
+ "compilerOptions": {
+ "rootDir": "./",
+ "outDir": "../lib",
+ "baseUrl": "../",
+ "jsx": "react-jsx"
+ },
+ "references": [
+ {
+ "path": "../../core"
+ },
+ {
+ "path": "../../utils"
+ },
+ {
+ "path": "../../validator-ajv8"
+ }
+ ]
+}
diff --git a/packages/antd/test/tsconfig.json b/packages/antd/test/tsconfig.json
new file mode 100644
index 0000000000..5db560d2c3
--- /dev/null
+++ b/packages/antd/test/tsconfig.json
@@ -0,0 +1,18 @@
+{
+ "extends": "../../../tsconfig.base.json",
+ "include": ["./"],
+ "compilerOptions": {
+ "rootDir": "./",
+ "baseUrl": "../",
+ "noEmit": true,
+ "jsx": "react-jsx"
+ },
+ "references": [
+ {
+ "path": "../src"
+ },
+ {
+ "path": "../../snapshot-tests"
+ }
+ ]
+}
diff --git a/packages/antd/tsconfig.json b/packages/antd/tsconfig.json
index f687076020..82462dfbeb 100644
--- a/packages/antd/tsconfig.json
+++ b/packages/antd/tsconfig.json
@@ -1,21 +1,12 @@
{
"extends": "../../tsconfig.base.json",
- "include": ["src"],
- "compilerOptions": {
- "rootDir": "./src",
- "outDir": "./lib",
- "baseUrl": "./",
- "jsx": "react-jsx"
- },
+ "files": [],
"references": [
{
- "path": "../core"
+ "path": "./src"
},
{
- "path": "../utils"
- },
- {
- "path": "../validator-ajv8"
+ "path": "./test"
}
]
}
diff --git a/packages/bootstrap-4/src/tsconfig.json b/packages/bootstrap-4/src/tsconfig.json
new file mode 100644
index 0000000000..01834bf1ab
--- /dev/null
+++ b/packages/bootstrap-4/src/tsconfig.json
@@ -0,0 +1,23 @@
+{
+ "extends": "../../../tsconfig.base.json",
+ "include": [
+ "./"
+ ],
+ "compilerOptions": {
+ "rootDir": "./",
+ "outDir": "../lib",
+ "baseUrl": "../",
+ "jsx": "react-jsx"
+ },
+ "references": [
+ {
+ "path": "../../core"
+ },
+ {
+ "path": "../../utils"
+ },
+ {
+ "path": "../../validator-ajv8"
+ }
+ ]
+}
diff --git a/packages/bootstrap-4/test/tsconfig.json b/packages/bootstrap-4/test/tsconfig.json
new file mode 100644
index 0000000000..5db560d2c3
--- /dev/null
+++ b/packages/bootstrap-4/test/tsconfig.json
@@ -0,0 +1,18 @@
+{
+ "extends": "../../../tsconfig.base.json",
+ "include": ["./"],
+ "compilerOptions": {
+ "rootDir": "./",
+ "baseUrl": "../",
+ "noEmit": true,
+ "jsx": "react-jsx"
+ },
+ "references": [
+ {
+ "path": "../src"
+ },
+ {
+ "path": "../../snapshot-tests"
+ }
+ ]
+}
diff --git a/packages/bootstrap-4/tsconfig.json b/packages/bootstrap-4/tsconfig.json
index f687076020..82462dfbeb 100644
--- a/packages/bootstrap-4/tsconfig.json
+++ b/packages/bootstrap-4/tsconfig.json
@@ -1,21 +1,12 @@
{
"extends": "../../tsconfig.base.json",
- "include": ["src"],
- "compilerOptions": {
- "rootDir": "./src",
- "outDir": "./lib",
- "baseUrl": "./",
- "jsx": "react-jsx"
- },
+ "files": [],
"references": [
{
- "path": "../core"
+ "path": "./src"
},
{
- "path": "../utils"
- },
- {
- "path": "../validator-ajv8"
+ "path": "./test"
}
]
}
diff --git a/packages/chakra-ui/src/tsconfig.json b/packages/chakra-ui/src/tsconfig.json
new file mode 100644
index 0000000000..794ef76faa
--- /dev/null
+++ b/packages/chakra-ui/src/tsconfig.json
@@ -0,0 +1,26 @@
+{
+ "extends": "../../../tsconfig.base.json",
+ "include": [
+ "./"
+ ],
+ "compilerOptions": {
+ "rootDir": "./",
+ "outDir": "../lib",
+ "baseUrl": "../",
+ "jsx": "react-jsx",
+ // There are type errors in @chakra-ui/menu type definitions because of which skipLibCheck had to be added
+ // @chakra-ui/menu/dist/declarations/src/use-menu.d.ts:986:61 - error TS2694: Namespace '"node_modules/csstype/index".Property' has no exported member 'ColorAdjust'.
+ "skipLibCheck": true
+ },
+ "references": [
+ {
+ "path": "../../core"
+ },
+ {
+ "path": "../../utils"
+ },
+ {
+ "path": "../../validator-ajv8"
+ }
+ ]
+}
diff --git a/packages/chakra-ui/test/tsconfig.json b/packages/chakra-ui/test/tsconfig.json
new file mode 100644
index 0000000000..d825800ca7
--- /dev/null
+++ b/packages/chakra-ui/test/tsconfig.json
@@ -0,0 +1,21 @@
+{
+ "extends": "../../../tsconfig.base.json",
+ "include": ["./"],
+ "compilerOptions": {
+ "rootDir": "./",
+ "baseUrl": "../",
+ "noEmit": true,
+ "jsx": "react-jsx",
+ // todo:
+ // ../../node_modules/@chakra-ui/menu/dist/declarations/src/use-menu.d.ts:986:61 - error TS2694: Namespace '"node_modules/csstype/index".Property' has no exported member 'ColorAdjust'.
+ "skipLibCheck": true
+ },
+ "references": [
+ {
+ "path": "../src"
+ },
+ {
+ "path": "../../snapshot-tests"
+ }
+ ]
+}
diff --git a/packages/chakra-ui/tsconfig.json b/packages/chakra-ui/tsconfig.json
index 91d8c465f1..82462dfbeb 100644
--- a/packages/chakra-ui/tsconfig.json
+++ b/packages/chakra-ui/tsconfig.json
@@ -1,24 +1,12 @@
{
"extends": "../../tsconfig.base.json",
- "include": ["src"],
- "compilerOptions": {
- "rootDir": "./src",
- "outDir": "./lib",
- "baseUrl": "./",
- "jsx": "react-jsx",
- // There are type errors in @chakra-ui/menu type definitions because of which skipLibCheck had to be added
- // @chakra-ui/menu/dist/declarations/src/use-menu.d.ts:986:61 - error TS2694: Namespace '"node_modules/csstype/index".Property' has no exported member 'ColorAdjust'.
- "skipLibCheck": true
- },
+ "files": [],
"references": [
{
- "path": "../core"
+ "path": "./src"
},
{
- "path": "../utils"
- },
- {
- "path": "../validator-ajv8"
+ "path": "./test"
}
]
}
diff --git a/packages/core/src/tsconfig.json b/packages/core/src/tsconfig.json
new file mode 100644
index 0000000000..d2e6a35741
--- /dev/null
+++ b/packages/core/src/tsconfig.json
@@ -0,0 +1,23 @@
+{
+ "extends": "../../../tsconfig.base.json",
+ "include": [
+ "./"
+ ],
+ "compilerOptions": {
+ "rootDir": "./",
+ "outDir": "../lib",
+ "baseUrl": "../",
+ "jsx": "react-jsx"
+ },
+ "references": [
+ {
+ "path": "../../utils"
+ },
+ {
+ "path": "../../validator-ajv6"
+ },
+ {
+ "path": "../../validator-ajv8"
+ }
+ ]
+}
diff --git a/packages/core/test/tsconfig.json b/packages/core/test/tsconfig.json
new file mode 100644
index 0000000000..3655ccd74d
--- /dev/null
+++ b/packages/core/test/tsconfig.json
@@ -0,0 +1,18 @@
+{
+ "extends": "../../../tsconfig.base.json",
+ "include": ["./"],
+ "compilerOptions": {
+ "rootDir": "./",
+ "baseUrl": "../",
+ "noEmit": true,
+ "jsx": "react-jsx"
+ },
+ "references": [
+ {
+ "path": "../src"
+ },
+ {
+ "path": "../../snapshot-tests"
+ },
+ ]
+}
diff --git a/packages/core/tsconfig.json b/packages/core/tsconfig.json
index de97216aac..82462dfbeb 100644
--- a/packages/core/tsconfig.json
+++ b/packages/core/tsconfig.json
@@ -1,21 +1,12 @@
{
"extends": "../../tsconfig.base.json",
- "include": ["src"],
- "compilerOptions": {
- "rootDir": "./src",
- "outDir": "./lib",
- "baseUrl": "./",
- "jsx": "react-jsx"
- },
+ "files": [],
"references": [
{
- "path": "../utils"
+ "path": "./src"
},
{
- "path": "../validator-ajv6"
- },
- {
- "path": "../validator-ajv8"
+ "path": "./test"
}
]
}
diff --git a/packages/fluent-ui/src/tsconfig.json b/packages/fluent-ui/src/tsconfig.json
new file mode 100644
index 0000000000..36a20a539a
--- /dev/null
+++ b/packages/fluent-ui/src/tsconfig.json
@@ -0,0 +1,29 @@
+{
+ "extends": "../../../tsconfig.base.json",
+ "include": [
+ "./"
+ ],
+ "compilerOptions": {
+ "rootDir": "./",
+ "outDir": "../lib",
+ "baseUrl": "../",
+ "jsx": "react-jsx",
+ // There are type errors in @fluentui type definitions because of which skipLibCheck had to be added
+ // @fluentui/font-icons-mdl2/lib/IconNames.d.ts
+ // @fluentui/merge-styles/lib/mergeStyleSets.d.ts
+ // @fluentui/react/lib/components/SelectedItemsList/BaseSelectedItemsList.d.ts
+ // @fluentui/utilities/lib/styled.d.ts
+ "skipLibCheck": true
+ },
+ "references": [
+ {
+ "path": "../../core"
+ },
+ {
+ "path": "../../utils"
+ },
+ {
+ "path": "../../validator-ajv8"
+ }
+ ]
+}
diff --git a/packages/fluent-ui/test/tsconfig.json b/packages/fluent-ui/test/tsconfig.json
new file mode 100644
index 0000000000..5db560d2c3
--- /dev/null
+++ b/packages/fluent-ui/test/tsconfig.json
@@ -0,0 +1,18 @@
+{
+ "extends": "../../../tsconfig.base.json",
+ "include": ["./"],
+ "compilerOptions": {
+ "rootDir": "./",
+ "baseUrl": "../",
+ "noEmit": true,
+ "jsx": "react-jsx"
+ },
+ "references": [
+ {
+ "path": "../src"
+ },
+ {
+ "path": "../../snapshot-tests"
+ }
+ ]
+}
diff --git a/packages/fluent-ui/tsconfig.json b/packages/fluent-ui/tsconfig.json
index 206f98e5dd..82462dfbeb 100644
--- a/packages/fluent-ui/tsconfig.json
+++ b/packages/fluent-ui/tsconfig.json
@@ -1,27 +1,12 @@
{
"extends": "../../tsconfig.base.json",
- "include": ["src"],
- "compilerOptions": {
- "rootDir": "./src",
- "outDir": "./lib",
- "baseUrl": "./",
- "jsx": "react-jsx",
- // There are type errors in @fluentui type definitions because of which skipLibCheck had to be added
- // @fluentui/font-icons-mdl2/lib/IconNames.d.ts
- // @fluentui/merge-styles/lib/mergeStyleSets.d.ts
- // @fluentui/react/lib/components/SelectedItemsList/BaseSelectedItemsList.d.ts
- // @fluentui/utilities/lib/styled.d.ts
- "skipLibCheck": true
- },
+ "files": [],
"references": [
{
- "path": "../core"
+ "path": "./src"
},
{
- "path": "../utils"
- },
- {
- "path": "../validator-ajv8"
+ "path": "./test"
}
]
}
diff --git a/packages/material-ui/src/tsconfig.json b/packages/material-ui/src/tsconfig.json
new file mode 100644
index 0000000000..01834bf1ab
--- /dev/null
+++ b/packages/material-ui/src/tsconfig.json
@@ -0,0 +1,23 @@
+{
+ "extends": "../../../tsconfig.base.json",
+ "include": [
+ "./"
+ ],
+ "compilerOptions": {
+ "rootDir": "./",
+ "outDir": "../lib",
+ "baseUrl": "../",
+ "jsx": "react-jsx"
+ },
+ "references": [
+ {
+ "path": "../../core"
+ },
+ {
+ "path": "../../utils"
+ },
+ {
+ "path": "../../validator-ajv8"
+ }
+ ]
+}
diff --git a/packages/material-ui/test/tsconfig.json b/packages/material-ui/test/tsconfig.json
new file mode 100644
index 0000000000..5db560d2c3
--- /dev/null
+++ b/packages/material-ui/test/tsconfig.json
@@ -0,0 +1,18 @@
+{
+ "extends": "../../../tsconfig.base.json",
+ "include": ["./"],
+ "compilerOptions": {
+ "rootDir": "./",
+ "baseUrl": "../",
+ "noEmit": true,
+ "jsx": "react-jsx"
+ },
+ "references": [
+ {
+ "path": "../src"
+ },
+ {
+ "path": "../../snapshot-tests"
+ }
+ ]
+}
diff --git a/packages/material-ui/tsconfig.json b/packages/material-ui/tsconfig.json
index f687076020..82462dfbeb 100644
--- a/packages/material-ui/tsconfig.json
+++ b/packages/material-ui/tsconfig.json
@@ -1,21 +1,12 @@
{
"extends": "../../tsconfig.base.json",
- "include": ["src"],
- "compilerOptions": {
- "rootDir": "./src",
- "outDir": "./lib",
- "baseUrl": "./",
- "jsx": "react-jsx"
- },
+ "files": [],
"references": [
{
- "path": "../core"
+ "path": "./src"
},
{
- "path": "../utils"
- },
- {
- "path": "../validator-ajv8"
+ "path": "./test"
}
]
}
diff --git a/packages/mui/src/tsconfig.json b/packages/mui/src/tsconfig.json
new file mode 100644
index 0000000000..01834bf1ab
--- /dev/null
+++ b/packages/mui/src/tsconfig.json
@@ -0,0 +1,23 @@
+{
+ "extends": "../../../tsconfig.base.json",
+ "include": [
+ "./"
+ ],
+ "compilerOptions": {
+ "rootDir": "./",
+ "outDir": "../lib",
+ "baseUrl": "../",
+ "jsx": "react-jsx"
+ },
+ "references": [
+ {
+ "path": "../../core"
+ },
+ {
+ "path": "../../utils"
+ },
+ {
+ "path": "../../validator-ajv8"
+ }
+ ]
+}
diff --git a/packages/mui/test/tsconfig.json b/packages/mui/test/tsconfig.json
new file mode 100644
index 0000000000..5db560d2c3
--- /dev/null
+++ b/packages/mui/test/tsconfig.json
@@ -0,0 +1,18 @@
+{
+ "extends": "../../../tsconfig.base.json",
+ "include": ["./"],
+ "compilerOptions": {
+ "rootDir": "./",
+ "baseUrl": "../",
+ "noEmit": true,
+ "jsx": "react-jsx"
+ },
+ "references": [
+ {
+ "path": "../src"
+ },
+ {
+ "path": "../../snapshot-tests"
+ }
+ ]
+}
diff --git a/packages/mui/tsconfig.json b/packages/mui/tsconfig.json
index f687076020..82462dfbeb 100644
--- a/packages/mui/tsconfig.json
+++ b/packages/mui/tsconfig.json
@@ -1,21 +1,12 @@
{
"extends": "../../tsconfig.base.json",
- "include": ["src"],
- "compilerOptions": {
- "rootDir": "./src",
- "outDir": "./lib",
- "baseUrl": "./",
- "jsx": "react-jsx"
- },
+ "files": [],
"references": [
{
- "path": "../core"
+ "path": "./src"
},
{
- "path": "../utils"
- },
- {
- "path": "../validator-ajv8"
+ "path": "./test"
}
]
}
diff --git a/packages/semantic-ui/src/tsconfig.json b/packages/semantic-ui/src/tsconfig.json
new file mode 100644
index 0000000000..ea4f988573
--- /dev/null
+++ b/packages/semantic-ui/src/tsconfig.json
@@ -0,0 +1,26 @@
+{
+ "extends": "../../../tsconfig.base.json",
+ "include": [
+ "./"
+ ],
+ "compilerOptions": {
+ "rootDir": "./",
+ "outDir": "../lib",
+ "baseUrl": "../",
+ "jsx": "react-jsx",
+ // There are type errors in semantic-ui-react type definitions because of which skipLibCheck had to be added
+ // semantic-ui-react/dist/commonjs/generic.d.ts(73,73): error TS2344: Type 'TProps' does not satisfy the constraint 'Record'.
+ "skipLibCheck": true
+ },
+ "references": [
+ {
+ "path": "../../core"
+ },
+ {
+ "path": "../../utils"
+ },
+ {
+ "path": "../../validator-ajv8"
+ }
+ ]
+}
diff --git a/packages/semantic-ui/test/tsconfig.json b/packages/semantic-ui/test/tsconfig.json
new file mode 100644
index 0000000000..5db560d2c3
--- /dev/null
+++ b/packages/semantic-ui/test/tsconfig.json
@@ -0,0 +1,18 @@
+{
+ "extends": "../../../tsconfig.base.json",
+ "include": ["./"],
+ "compilerOptions": {
+ "rootDir": "./",
+ "baseUrl": "../",
+ "noEmit": true,
+ "jsx": "react-jsx"
+ },
+ "references": [
+ {
+ "path": "../src"
+ },
+ {
+ "path": "../../snapshot-tests"
+ }
+ ]
+}
diff --git a/packages/semantic-ui/tsconfig.json b/packages/semantic-ui/tsconfig.json
index fc23c8b17f..82462dfbeb 100644
--- a/packages/semantic-ui/tsconfig.json
+++ b/packages/semantic-ui/tsconfig.json
@@ -1,24 +1,12 @@
{
"extends": "../../tsconfig.base.json",
- "include": ["src"],
- "compilerOptions": {
- "rootDir": "./src",
- "outDir": "./lib",
- "baseUrl": "./",
- "jsx": "react-jsx",
- // There are type errors in semantic-ui-react type definitions because of which skipLibCheck had to be added
- // semantic-ui-react/dist/commonjs/generic.d.ts(73,73): error TS2344: Type 'TProps' does not satisfy the constraint 'Record'.
- "skipLibCheck": true
- },
+ "files": [],
"references": [
{
- "path": "../core"
+ "path": "./src"
},
{
- "path": "../utils"
- },
- {
- "path": "../validator-ajv8"
+ "path": "./test"
}
]
}
diff --git a/packages/utils/.gitignore b/packages/utils/.gitignore
new file mode 100644
index 0000000000..70bcb98f15
--- /dev/null
+++ b/packages/utils/.gitignore
@@ -0,0 +1 @@
+lib-test
diff --git a/packages/utils/src/tsconfig.json b/packages/utils/src/tsconfig.json
new file mode 100644
index 0000000000..7ae2e0ab42
--- /dev/null
+++ b/packages/utils/src/tsconfig.json
@@ -0,0 +1,10 @@
+{
+ "extends": "../../../tsconfig.base.json",
+ "include": ["./"],
+ "compilerOptions": {
+ "rootDir": "./",
+ "outDir": "../lib",
+ "baseUrl": "../",
+ "jsx": "react-jsx"
+ }
+}
diff --git a/packages/utils/test/tsconfig.json b/packages/utils/test/tsconfig.json
new file mode 100644
index 0000000000..a437f4ecba
--- /dev/null
+++ b/packages/utils/test/tsconfig.json
@@ -0,0 +1,18 @@
+{
+ "extends": "../../../tsconfig.base.json",
+ "include": ["./"],
+ "compilerOptions": {
+ "rootDir": "./",
+ "baseUrl": "../",
+ // todo: noEmit: true
+ // maybe better to move this to some separate package
+ // this is needed for packages/validator-ajv8/test/utilsTests
+ "outDir": "../lib-test",
+ "jsx": "react-jsx"
+ },
+ "references": [
+ {
+ "path": "../src"
+ }
+ ]
+}
diff --git a/packages/utils/tsconfig.json b/packages/utils/tsconfig.json
index 0786a3f6bf..82462dfbeb 100644
--- a/packages/utils/tsconfig.json
+++ b/packages/utils/tsconfig.json
@@ -1,10 +1,12 @@
{
"extends": "../../tsconfig.base.json",
- "include": ["src"],
- "compilerOptions": {
- "rootDir": "./src",
- "outDir": "./lib",
- "baseUrl": "./",
- "jsx": "react-jsx"
- }
+ "files": [],
+ "references": [
+ {
+ "path": "./src"
+ },
+ {
+ "path": "./test"
+ }
+ ]
}
diff --git a/packages/validator-ajv6/src/tsconfig.json b/packages/validator-ajv6/src/tsconfig.json
new file mode 100644
index 0000000000..2701b42ad7
--- /dev/null
+++ b/packages/validator-ajv6/src/tsconfig.json
@@ -0,0 +1,17 @@
+{
+ "extends": "../../../tsconfig.base.json",
+ "include": [
+ "./"
+ ],
+ "compilerOptions": {
+ "rootDir": "./",
+ "outDir": "../lib",
+ "baseUrl": "../",
+ "jsx": "react-jsx"
+ },
+ "references": [
+ {
+ "path": "../../utils"
+ }
+ ]
+}
diff --git a/packages/validator-ajv6/test/tsconfig.json b/packages/validator-ajv6/test/tsconfig.json
new file mode 100644
index 0000000000..ff0e009d67
--- /dev/null
+++ b/packages/validator-ajv6/test/tsconfig.json
@@ -0,0 +1,18 @@
+{
+ "extends": "../../../tsconfig.base.json",
+ "include": ["./", "./**/*.json"],
+ "compilerOptions": {
+ "rootDir": "./",
+ "noEmit": true,
+ "baseUrl": "../",
+ "jsx": "react-jsx"
+ },
+ "references": [
+ {
+ "path": "../src"
+ },
+ {
+ "path": "../../utils/test"
+ }
+ ]
+}
diff --git a/packages/validator-ajv6/tsconfig.json b/packages/validator-ajv6/tsconfig.json
index fb5bebb94c..82462dfbeb 100644
--- a/packages/validator-ajv6/tsconfig.json
+++ b/packages/validator-ajv6/tsconfig.json
@@ -1,15 +1,12 @@
{
"extends": "../../tsconfig.base.json",
- "include": ["src"],
- "compilerOptions": {
- "rootDir": "./src",
- "outDir": "./lib",
- "baseUrl": "./",
- "jsx": "react-jsx"
- },
+ "files": [],
"references": [
{
- "path": "../utils"
+ "path": "./src"
+ },
+ {
+ "path": "./test"
}
]
}
diff --git a/packages/validator-ajv8/src/tsconfig.json b/packages/validator-ajv8/src/tsconfig.json
new file mode 100644
index 0000000000..95445107e0
--- /dev/null
+++ b/packages/validator-ajv8/src/tsconfig.json
@@ -0,0 +1,15 @@
+{
+ "extends": "../../../tsconfig.base.json",
+ "include": ["./"],
+ "compilerOptions": {
+ "rootDir": "./",
+ "outDir": "../lib",
+ "baseUrl": "../",
+ "jsx": "react-jsx"
+ },
+ "references": [
+ {
+ "path": "../../utils"
+ }
+ ]
+}
diff --git a/packages/validator-ajv8/test/tsconfig.json b/packages/validator-ajv8/test/tsconfig.json
new file mode 100644
index 0000000000..4ccf928f2c
--- /dev/null
+++ b/packages/validator-ajv8/test/tsconfig.json
@@ -0,0 +1,19 @@
+{
+ "extends": "../../../tsconfig.base.json",
+ "include": ["./", "./**/*.json"],
+ "compilerOptions": {
+ "rootDir": "./",
+ "noEmit": true,
+ "resolveJsonModule": true,
+ "baseUrl": "../",
+ "jsx": "react-jsx"
+ },
+ "references": [
+ {
+ "path": "../src"
+ },
+ {
+ "path": "../../utils/test"
+ }
+ ]
+}
diff --git a/packages/validator-ajv8/tsconfig.json b/packages/validator-ajv8/tsconfig.json
index 3b8fddc6ad..82462dfbeb 100644
--- a/packages/validator-ajv8/tsconfig.json
+++ b/packages/validator-ajv8/tsconfig.json
@@ -1,16 +1,12 @@
{
"extends": "../../tsconfig.base.json",
- "include": ["src"],
- "compilerOptions": {
- "rootDir": "./src",
- "outDir": "./lib",
- "resolveJsonModule": true,
- "baseUrl": "./",
- "jsx": "react-jsx"
- },
+ "files": [],
"references": [
{
- "path": "../utils"
+ "path": "./src"
+ },
+ {
+ "path": "./test"
}
]
}
From c04659c5bc86aa771f67f660c904fce23aa24125 Mon Sep 17 00:00:00 2001
From: Bogdan Savluk
Date: Wed, 19 Jul 2023 03:44:21 +0200
Subject: [PATCH 05/16] @types/jest
---
package-lock.json | 18 +++++++++++++++---
packages/antd/package.json | 1 +
packages/bootstrap-4/package.json | 1 +
packages/chakra-ui/package.json | 1 +
packages/core/package.json | 1 +
packages/fluent-ui/package.json | 1 +
packages/fluentui-rc/package.json | 1 +
packages/material-ui/package.json | 1 +
packages/mui/package.json | 1 +
packages/semantic-ui/package.json | 1 +
packages/utils/package.json | 1 +
packages/validator-ajv6/package.json | 1 +
packages/validator-ajv8/package.json | 1 +
13 files changed, 27 insertions(+), 3 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 4858cd5e40..a245a7b0e0 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -10407,9 +10407,9 @@
}
},
"node_modules/@types/jest": {
- "version": "29.5.5",
- "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.5.tgz",
- "integrity": "sha512-ebylz2hnsWR9mYvmBFbXJXr+33UPc4+ZdxyDXh5w0FlPBTfCVN3wPL+kuOiQt3xvrK419v7XWeAs+AeOksafXg==",
+ "version": "29.5.8",
+ "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.8.tgz",
+ "integrity": "sha512-fXEFTxMV2Co8ZF5aYFJv+YeA08RTYJfhtN5c9JSv/mFEMe+xxjufCb+PHL+bJcMs/ebPUsBu+UNTEz+ydXrR6g==",
"dev": true,
"dependencies": {
"expect": "^29.0.0",
@@ -33544,6 +33544,7 @@
"@rjsf/utils": "^5.13.6",
"@rjsf/validator-ajv8": "^5.13.6",
"@rollup/plugin-replace": "^5.0.2",
+ "@types/jest": "^29.5.5",
"@types/lodash": "^4.14.198",
"@types/react": "^17.0.65",
"@types/react-dom": "^17.0.20",
@@ -34202,6 +34203,7 @@
"@rjsf/snapshot-tests": "^5.13.6",
"@rjsf/utils": "^5.13.6",
"@rjsf/validator-ajv8": "^5.13.6",
+ "@types/jest": "^29.5.7",
"@types/react": "^17.0.65",
"@types/react-dom": "^17.0.20",
"@types/react-test-renderer": "^17.0.3",
@@ -34253,6 +34255,7 @@
"@rjsf/snapshot-tests": "^5.13.6",
"@rjsf/utils": "^5.13.6",
"@rjsf/validator-ajv8": "^5.13.6",
+ "@types/jest": "^29.5.7",
"@types/react": "^17.0.65",
"@types/react-dom": "^17.0.20",
"@types/react-test-renderer": "^17.0.3",
@@ -34348,6 +34351,7 @@
"@rjsf/utils": "^5.13.6",
"@rjsf/validator-ajv6": "^5.13.6",
"@rjsf/validator-ajv8": "^5.13.6",
+ "@types/jest": "^29.5.7",
"@types/lodash": "^4.14.198",
"@types/react": "^17.0.65",
"@types/react-dom": "^17.0.20",
@@ -34464,6 +34468,7 @@
"@rjsf/snapshot-tests": "^5.13.6",
"@rjsf/utils": "^5.13.6",
"@rjsf/validator-ajv8": "^5.13.6",
+ "@types/jest": "^29.5.7",
"@types/lodash": "^4.14.198",
"@types/react": "^17.0.65",
"@types/react-dom": "^17.0.20",
@@ -34510,6 +34515,7 @@
"@rjsf/snapshot-tests": "^5.13.6",
"@rjsf/utils": "^5.13.6",
"@rjsf/validator-ajv8": "^5.13.6",
+ "@types/jest": "^29.5.7",
"@types/react": "^17.0.65",
"@types/react-dom": "^17.0.20",
"@types/react-test-renderer": "^17.0.3",
@@ -34550,6 +34556,7 @@
"@rjsf/snapshot-tests": "^5.13.6",
"@rjsf/utils": "^5.13.6",
"@rjsf/validator-ajv8": "^5.13.6",
+ "@types/jest": "^29.5.7",
"@types/react": "^17.0.65",
"@types/react-dom": "^17.0.20",
"@types/react-test-renderer": "^17.0.3",
@@ -34596,6 +34603,7 @@
"@rjsf/snapshot-tests": "^5.13.6",
"@rjsf/utils": "^5.13.6",
"@rjsf/validator-ajv8": "^5.13.6",
+ "@types/jest": "^29.5.7",
"@types/react": "^17.0.65",
"@types/react-dom": "^17.0.20",
"@types/react-test-renderer": "^17.0.3",
@@ -34782,6 +34790,7 @@
"@rjsf/snapshot-tests": "^5.13.6",
"@rjsf/utils": "^5.13.6",
"@rjsf/validator-ajv8": "^5.13.6",
+ "@types/jest": "^29.5.7",
"@types/lodash": "^4.14.198",
"@types/react": "^17.0.65",
"@types/react-dom": "^17.0.20",
@@ -34854,6 +34863,7 @@
"@babel/preset-env": "^7.22.15",
"@babel/preset-react": "^7.22.15",
"@babel/preset-typescript": "^7.22.15",
+ "@types/jest": "^29.5.5",
"@types/json-schema": "^7.0.12",
"@types/json-schema-merge-allof": "^0.6.1",
"@types/lodash": "^4.14.198",
@@ -34905,6 +34915,7 @@
"@babel/preset-react": "^7.22.15",
"@babel/preset-typescript": "^7.22.15",
"@rjsf/utils": "^5.13.6",
+ "@types/jest": "^29.5.7",
"@types/json-schema": "^7.0.12",
"@types/lodash": "^4.14.198",
"babel-jest": "^29.6.4",
@@ -34941,6 +34952,7 @@
"@babel/preset-react": "^7.22.15",
"@babel/preset-typescript": "^7.22.15",
"@rjsf/utils": "^5.13.6",
+ "@types/jest": "^29.5.7",
"@types/json-schema": "^7.0.12",
"@types/lodash": "^4.14.198",
"babel-jest": "^29.6.4",
diff --git a/packages/antd/package.json b/packages/antd/package.json
index d240827025..41b75ab940 100644
--- a/packages/antd/package.json
+++ b/packages/antd/package.json
@@ -61,6 +61,7 @@
"@rjsf/utils": "^5.13.6",
"@rjsf/validator-ajv8": "^5.13.6",
"@rollup/plugin-replace": "^5.0.2",
+ "@types/jest": "^29.5.5",
"@types/lodash": "^4.14.198",
"@types/react": "^17.0.65",
"@types/react-dom": "^17.0.20",
diff --git a/packages/bootstrap-4/package.json b/packages/bootstrap-4/package.json
index c972576f1b..7c8dba5f58 100644
--- a/packages/bootstrap-4/package.json
+++ b/packages/bootstrap-4/package.json
@@ -53,6 +53,7 @@
"@rjsf/snapshot-tests": "^5.13.6",
"@rjsf/utils": "^5.13.6",
"@rjsf/validator-ajv8": "^5.13.6",
+ "@types/jest": "^29.5.7",
"@types/react": "^17.0.65",
"@types/react-dom": "^17.0.20",
"@types/react-test-renderer": "^17.0.3",
diff --git a/packages/chakra-ui/package.json b/packages/chakra-ui/package.json
index a880caab4e..24139a9ac3 100644
--- a/packages/chakra-ui/package.json
+++ b/packages/chakra-ui/package.json
@@ -72,6 +72,7 @@
"@rjsf/snapshot-tests": "^5.13.6",
"@rjsf/utils": "^5.13.6",
"@rjsf/validator-ajv8": "^5.13.6",
+ "@types/jest": "^29.5.7",
"@types/react": "^17.0.65",
"@types/react-dom": "^17.0.20",
"@types/react-test-renderer": "^17.0.3",
diff --git a/packages/core/package.json b/packages/core/package.json
index 4a797845c8..84c230e7b1 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -58,6 +58,7 @@
"@rjsf/utils": "^5.13.6",
"@rjsf/validator-ajv6": "^5.13.6",
"@rjsf/validator-ajv8": "^5.13.6",
+ "@types/jest": "^29.5.7",
"@types/lodash": "^4.14.198",
"@types/react": "^17.0.65",
"@types/react-dom": "^17.0.20",
diff --git a/packages/fluent-ui/package.json b/packages/fluent-ui/package.json
index fcad2f5a73..a12f86cdc3 100644
--- a/packages/fluent-ui/package.json
+++ b/packages/fluent-ui/package.json
@@ -50,6 +50,7 @@
"@rjsf/snapshot-tests": "^5.13.6",
"@rjsf/utils": "^5.13.6",
"@rjsf/validator-ajv8": "^5.13.6",
+ "@types/jest": "^29.5.7",
"@types/lodash": "^4.14.198",
"@types/react": "^17.0.65",
"@types/react-dom": "^17.0.20",
diff --git a/packages/fluentui-rc/package.json b/packages/fluentui-rc/package.json
index 4161fc3ab7..7563e48c0e 100644
--- a/packages/fluentui-rc/package.json
+++ b/packages/fluentui-rc/package.json
@@ -56,6 +56,7 @@
"@rjsf/snapshot-tests": "^5.13.6",
"@rjsf/utils": "^5.13.6",
"@rjsf/validator-ajv8": "^5.13.6",
+ "@types/jest": "^29.5.7",
"@types/react": "^17.0.65",
"@types/react-dom": "^17.0.20",
"@types/react-test-renderer": "^17.0.3",
diff --git a/packages/material-ui/package.json b/packages/material-ui/package.json
index 328dd8768e..2ba3dfbb5d 100644
--- a/packages/material-ui/package.json
+++ b/packages/material-ui/package.json
@@ -51,6 +51,7 @@
"@rjsf/snapshot-tests": "^5.13.6",
"@rjsf/utils": "^5.13.6",
"@rjsf/validator-ajv8": "^5.13.6",
+ "@types/jest": "^29.5.7",
"@types/react": "^17.0.65",
"@types/react-dom": "^17.0.20",
"@types/react-test-renderer": "^17.0.3",
diff --git a/packages/mui/package.json b/packages/mui/package.json
index 73dc0d65db..e8bc300c17 100644
--- a/packages/mui/package.json
+++ b/packages/mui/package.json
@@ -56,6 +56,7 @@
"@rjsf/snapshot-tests": "^5.13.6",
"@rjsf/utils": "^5.13.6",
"@rjsf/validator-ajv8": "^5.13.6",
+ "@types/jest": "^29.5.7",
"@types/react": "^17.0.65",
"@types/react-dom": "^17.0.20",
"@types/react-test-renderer": "^17.0.3",
diff --git a/packages/semantic-ui/package.json b/packages/semantic-ui/package.json
index 4b0db3d82a..54157022d1 100644
--- a/packages/semantic-ui/package.json
+++ b/packages/semantic-ui/package.json
@@ -49,6 +49,7 @@
"@rjsf/snapshot-tests": "^5.13.6",
"@rjsf/utils": "^5.13.6",
"@rjsf/validator-ajv8": "^5.13.6",
+ "@types/jest": "^29.5.7",
"@types/lodash": "^4.14.198",
"@types/react": "^17.0.65",
"@types/react-dom": "^17.0.20",
diff --git a/packages/utils/package.json b/packages/utils/package.json
index ce19d9fe81..f8fb38432b 100644
--- a/packages/utils/package.json
+++ b/packages/utils/package.json
@@ -49,6 +49,7 @@
"@babel/preset-env": "^7.22.15",
"@babel/preset-react": "^7.22.15",
"@babel/preset-typescript": "^7.22.15",
+ "@types/jest": "^29.5.5",
"@types/json-schema": "^7.0.12",
"@types/json-schema-merge-allof": "^0.6.1",
"@types/lodash": "^4.14.198",
diff --git a/packages/validator-ajv6/package.json b/packages/validator-ajv6/package.json
index f4fdea480c..bd289fa186 100644
--- a/packages/validator-ajv6/package.json
+++ b/packages/validator-ajv6/package.json
@@ -47,6 +47,7 @@
"@babel/preset-react": "^7.22.15",
"@babel/preset-typescript": "^7.22.15",
"@rjsf/utils": "^5.13.6",
+ "@types/jest": "^29.5.7",
"@types/json-schema": "^7.0.12",
"@types/lodash": "^4.14.198",
"babel-jest": "^29.6.4",
diff --git a/packages/validator-ajv8/package.json b/packages/validator-ajv8/package.json
index 436325d9fd..43f6e1edac 100644
--- a/packages/validator-ajv8/package.json
+++ b/packages/validator-ajv8/package.json
@@ -49,6 +49,7 @@
"@babel/preset-react": "^7.22.15",
"@babel/preset-typescript": "^7.22.15",
"@rjsf/utils": "^5.13.6",
+ "@types/jest": "^29.5.7",
"@types/json-schema": "^7.0.12",
"@types/lodash": "^4.14.198",
"babel-jest": "^29.6.4",
From 9a51520ffa70ce6c54da676c954344bc3fb70f9d Mon Sep 17 00:00:00 2001
From: Bogdan Savluk
Date: Fri, 21 Jul 2023 18:21:40 +0200
Subject: [PATCH 06/16] ts-ignore
---
.../validator-ajv8/test/createPrecompiledValidator.test.ts | 2 ++
packages/validator-ajv8/test/harness/compileTestSchema.js | 1 +
packages/validator-ajv8/test/precompiledValidator.test.ts | 4 ++++
3 files changed, 7 insertions(+)
diff --git a/packages/validator-ajv8/test/createPrecompiledValidator.test.ts b/packages/validator-ajv8/test/createPrecompiledValidator.test.ts
index f8c9d28c18..37ae968371 100644
--- a/packages/validator-ajv8/test/createPrecompiledValidator.test.ts
+++ b/packages/validator-ajv8/test/createPrecompiledValidator.test.ts
@@ -2,6 +2,8 @@ import { RJSFSchema } from '@rjsf/utils';
import AJV8PrecompiledValidator from '../src/precompiledValidator';
import { Localizer, ValidatorFunctions } from '../src';
+// eslint-disable-next-line @typescript-eslint/ban-ts-comment
+// @ts-ignore file might be not yet generated by test/harness/compileTestSchema.js
import * as superSchemaFns from './harness/superSchema';
import superSchema from './harness/superSchema.json';
import createPrecompiledValidator from '../src/createPrecompiledValidator';
diff --git a/packages/validator-ajv8/test/harness/compileTestSchema.js b/packages/validator-ajv8/test/harness/compileTestSchema.js
index 5504056428..c404533543 100644
--- a/packages/validator-ajv8/test/harness/compileTestSchema.js
+++ b/packages/validator-ajv8/test/harness/compileTestSchema.js
@@ -9,6 +9,7 @@
* Then add the two updated `superSchema.js` and `superSchemaOptions.js` files to your PR
*/
+// @ts-ignore todo: update this to use sources directly
const compileSchemaValidators = require('../../dist/compileSchemaValidators').default;
const superSchema = require('./superSchema.json');
diff --git a/packages/validator-ajv8/test/precompiledValidator.test.ts b/packages/validator-ajv8/test/precompiledValidator.test.ts
index cc23f54615..0be3395f44 100644
--- a/packages/validator-ajv8/test/precompiledValidator.test.ts
+++ b/packages/validator-ajv8/test/precompiledValidator.test.ts
@@ -12,7 +12,11 @@ import {
import AJV8PrecompiledValidator from '../src/precompiledValidator';
import { Localizer, ValidatorFunctions } from '../src';
+// eslint-disable-next-line @typescript-eslint/ban-ts-comment
+// @ts-ignore file might be not yet generated by test/harness/compileTestSchema.js
import * as superSchemaFns from './harness/superSchema';
+// eslint-disable-next-line @typescript-eslint/ban-ts-comment
+// @ts-ignore file might be not yet generated by test/harness/compileTestSchema.js
import * as superSchemaOptionsFns from './harness/superSchemaOptions';
import superSchema from './harness/superSchema.json';
From d906254090c5b1414d924c10d7a326d8d2933d4c Mon Sep 17 00:00:00 2001
From: Bogdan Savluk
Date: Fri, 4 Aug 2023 03:32:11 +0200
Subject: [PATCH 07/16] fix types for withIdRefPrefix
---
packages/utils/src/withIdRefPrefix.ts | 4 +++-
packages/utils/test/withIdRef.test.ts | 6 +++---
2 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/packages/utils/src/withIdRefPrefix.ts b/packages/utils/src/withIdRefPrefix.ts
index e0c7b26c04..68039f5295 100644
--- a/packages/utils/src/withIdRefPrefix.ts
+++ b/packages/utils/src/withIdRefPrefix.ts
@@ -38,7 +38,9 @@ function withIdRefPrefixArray(node: S[]
* @param schemaNode - The object node to which a ROOT_SCHEMA_PREFIX is added when a REF_KEY is part of it
* @returns - A copy of the `schemaNode` with updated `$ref`s
*/
-export default function withIdRefPrefix(schemaNode: S): S | S[] {
+export default function withIdRefPrefix(
+ schemaNode: S | S[] | S[keyof S]
+): S | S[] | S[keyof S] {
if (Array.isArray(schemaNode)) {
return withIdRefPrefixArray([...schemaNode]);
}
diff --git a/packages/utils/test/withIdRef.test.ts b/packages/utils/test/withIdRef.test.ts
index 17a63dbfb0..609068c4ea 100644
--- a/packages/utils/test/withIdRef.test.ts
+++ b/packages/utils/test/withIdRef.test.ts
@@ -34,8 +34,8 @@ describe('withIdRefPrefix()', () => {
expect(withIdRefPrefix(schema)).toEqual(schema);
});
- it('should handle null schema', () => {
- const schema: RJSFSchema = null;
- expect(withIdRefPrefix(schema)).toEqual(schema);
+ it('should handle null schemaNode', () => {
+ const schemaNode = null;
+ expect(withIdRefPrefix(schemaNode)).toEqual(schemaNode);
});
});
From c5bfe6cdfdb14850d9f180bafacef1f19f622dee Mon Sep 17 00:00:00 2001
From: Bogdan Savluk
Date: Fri, 4 Aug 2023 03:35:01 +0200
Subject: [PATCH 08/16] type fixes around some deepFreeze usages
---
packages/utils/test/testUtils/testData.ts | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/packages/utils/test/testUtils/testData.ts b/packages/utils/test/testUtils/testData.ts
index 14b3f29030..9066dd1a2a 100644
--- a/packages/utils/test/testUtils/testData.ts
+++ b/packages/utils/test/testUtils/testData.ts
@@ -206,7 +206,7 @@ export const oneOfSchema: RJSFSchema = deepFreeze({
export const ONE_OF_SCHEMA_OPTIONS = oneOfSchema[ONE_OF_KEY]! as RJSFSchema[];
export const FIRST_ONE_OF: RJSFSchema = ONE_OF_SCHEMA_OPTIONS[0];
export const SECOND_ONE_OF: RJSFSchema = ONE_OF_SCHEMA_OPTIONS[1];
-export const OPTIONAL_ONE_OF_SCHEMA: RJSFSchema = deepFreeze({
+export const OPTIONAL_ONE_OF_SCHEMA: RJSFSchema = deepFreeze({
oneOf: [
{
type: 'object',
@@ -668,7 +668,7 @@ export const SCHEMA_WITH_SINGLE_CONDITION: RJSFSchema = deepFreeze({
},
});
-export const SCHEMA_WITH_MULTIPLE_CONDITIONS: RJSFSchema = deepFreeze({
+export const SCHEMA_WITH_MULTIPLE_CONDITIONS: RJSFSchema = deepFreeze({
type: 'object',
properties: {
Animal: {
@@ -774,7 +774,7 @@ export const SCHEMA_WITH_MULTIPLE_CONDITIONS: RJSFSchema = deepFreeze({
required: ['Animal'],
});
-export const SCHEMA_WITH_NESTED_CONDITIONS: RJSFSchema = deepFreeze({
+export const SCHEMA_WITH_NESTED_CONDITIONS: RJSFSchema = deepFreeze({
type: 'object',
properties: {
country: {
@@ -835,7 +835,7 @@ export const SCHEMA_WITH_NESTED_CONDITIONS: RJSFSchema = deepFreeze({
},
});
-export const SCHEMA_WITH_ARRAY_CONDITION: RJSFSchema = deepFreeze({
+export const SCHEMA_WITH_ARRAY_CONDITION: RJSFSchema = deepFreeze({
type: 'object',
properties: {
list: {
@@ -845,7 +845,7 @@ export const SCHEMA_WITH_ARRAY_CONDITION: RJSFSchema = deepFreeze({
},
});
-export const SCHEMA_WITH_ALLOF_CANNOT_MERGE: RJSFSchema = deepFreeze({
+export const SCHEMA_WITH_ALLOF_CANNOT_MERGE: RJSFSchema = deepFreeze({
type: 'object',
properties: {
animal: {
From fb8ca5e02f35844f026e6305969ecfffbb2987ae Mon Sep 17 00:00:00 2001
From: Bogdan Savluk
Date: Fri, 4 Aug 2023 17:25:04 +0200
Subject: [PATCH 09/16] cleanup
---
packages/playground/tsconfig.json | 1 -
packages/playground/tsconfig.node.json | 9 ---------
2 files changed, 10 deletions(-)
delete mode 100644 packages/playground/tsconfig.node.json
diff --git a/packages/playground/tsconfig.json b/packages/playground/tsconfig.json
index 87371a11d7..25dd7e04d0 100644
--- a/packages/playground/tsconfig.json
+++ b/packages/playground/tsconfig.json
@@ -22,7 +22,6 @@
},
"include": ["src"],
"references": [
-// { "path": "./tsconfig.node.json" },
{ "path": "../antd" },
{ "path": "../bootstrap-4" },
{ "path": "../chakra-ui" },
diff --git a/packages/playground/tsconfig.node.json b/packages/playground/tsconfig.node.json
deleted file mode 100644
index 9d31e2aed9..0000000000
--- a/packages/playground/tsconfig.node.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "compilerOptions": {
- "composite": true,
- "module": "ESNext",
- "moduleResolution": "Node",
- "allowSyntheticDefaultImports": true
- },
- "include": ["vite.config.ts"]
-}
From f0a4089d25187a165dd4f1ab7017cf27b889ff7e Mon Sep 17 00:00:00 2001
From: Bogdan Savluk
Date: Fri, 4 Aug 2023 17:25:45 +0200
Subject: [PATCH 10/16] add readme for snapshots-test
---
packages/snapshot-tests/README.md | 107 +++++++++++++++++++++++++++++-
1 file changed, 106 insertions(+), 1 deletion(-)
diff --git a/packages/snapshot-tests/README.md b/packages/snapshot-tests/README.md
index 6b2b9f2d84..2c39654674 100644
--- a/packages/snapshot-tests/README.md
+++ b/packages/snapshot-tests/README.md
@@ -1 +1,106 @@
-# Package with snapshot test suits for testing themes for RJSF
+[![Build Status][build-shield]][build-url]
+[![npm][npm-shield]][npm-url]
+[![npm downloads][npm-dl-shield]][npm-dl-url]
+[![Contributors][contributors-shield]][contributors-url]
+[![Apache 2.0 License][license-shield]][license-url]
+
+
+
+
+
+
+
+
@rjsf/snapshot-tests
+
+
+ Core logic and classic Bootstrap 3 theme for react-jsonschema-form
.
+
+ Explore the docs »
+
+
+ View Playground
+ ·
+ Report Bug
+ ·
+ Request Feature
+
+
+
+
+
+## Table of Contents
+
+- [Table of Contents](#table-of-contents)
+- [About The Project](#about-the-project)
+ - [Built With](#built-with)
+- [Getting Started](#getting-started)
+ - [Prerequisites](#prerequisites)
+ - [Installation](#installation)
+- [Usage](#usage)
+- [Roadmap](#roadmap)
+- [Contributing](#contributing)
+- [Contact](#contact)
+
+
+
+## About The Project
+
+Package with snapshot test suits for testing themes for `react-jsonschema-form`.
+
+
+
+## Getting Started
+
+### Installation
+
+```sh
+npm install @rjsf/snapshot-tests
+```
+
+## Usage
+
+```tsx
+import { arrayTests } from '@rjsf/snapshot-tests'; // OR
+// import { formTests } from '@rjsf/snapshot-tests';
+// import { objectTests } from '@rjsf/snapshot-tests';
+
+import Form from '../src';
+
+arrayTests(Form); // OR
+// formTests(Form);
+// objectTests(Form);
+```
+
+
+## Roadmap
+
+See the general [open issues](https://github.com/rjsf-team/react-jsonschema-form/issues).
+
+
+
+## Contributing
+
+Read our [contributors' guide](https://rjsf-team.github.io/react-jsonschema-form/docs/contributing/) to get started.
+
+
+
+## Contact
+
+rjsf team: [https://github.com/orgs/rjsf-team/people](https://github.com/orgs/rjsf-team/people)
+
+GitHub repository: [https://github.com/rjsf-team/react-jsonschema-form](https://github.com/rjsf-team/react-jsonschema-form)
+
+
+
+
+[build-shield]: https://github.com/rjsf-team/react-jsonschema-form/workflows/CI/badge.svg
+[build-url]: https://github.com/rjsf-team/react-jsonschema-form/actions
+[contributors-shield]: https://img.shields.io/github/contributors/rjsf-team/react-jsonschema-form.svg
+[contributors-url]: https://github.com/rjsf-team/react-jsonschema-form/graphs/contributors
+[license-shield]: https://img.shields.io/badge/license-Apache%202.0-blue.svg?style=flat-square
+[license-url]: https://choosealicense.com/licenses/apache-2.0/
+[npm-shield]: https://img.shields.io/npm/v/@rjsf/snapshot-tests/latest.svg?style=flat-square
+[npm-url]: https://www.npmjs.com/package/@rjsf/snapshot-tests
+[npm-dl-shield]: https://img.shields.io/npm/dm/@rjsf/snapshot-tests.svg?style=flat-square
+[npm-dl-url]: https://www.npmjs.com/package/@rjsf/snapshot-tests
+[product-screenshot]: https://raw.githubusercontent.com/rjsf-team/react-jsonschema-form/59a8206e148474bea854bbb004f624143fbcbac8/packages/snapshot-tests/screenshot.png
From 2c585241b81fdbd701949d4a32e788c3057ed140 Mon Sep 17 00:00:00 2001
From: Bogdan Savluk
Date: Fri, 4 Aug 2023 17:28:12 +0200
Subject: [PATCH 11/16] update changelog
---
CHANGELOG.md | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index ea4b36f55f..3380ab4ecf 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -17,6 +17,14 @@ should change the heading of the (upcoming) version to include a major version b
-->
# 5.14.0
+## Dev / playground
+
+- update configuration to use typescript project references, start type checking the tests
+
+## @rjsf/snapshot-tests
+
+Move theme snapshot tests into separate package
+
## @rjsf/fluentui-rc
- Added theme for Fluent UI v9 (React Components), fixing [#3659](https://github.com/rjsf-team/react-jsonschema-form/issues/3659)
From f492d6d93a4b732235d0553c9a0b3dfcdac699d5 Mon Sep 17 00:00:00 2001
From: Bogdan Savluk
Date: Wed, 1 Nov 2023 19:10:45 +0100
Subject: [PATCH 12/16] random type fixes
---
packages/utils/test/testUtils/testData.ts | 4 ++--
packages/utils/test/toErrorList.test.ts | 1 +
.../test/compileSchemaValidatorsCode.test.ts | 8 ++++----
.../test/createPrecompiledValidator.test.ts | 2 +-
packages/validator-ajv8/test/precompiledValidator.test.ts | 2 +-
5 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/packages/utils/test/testUtils/testData.ts b/packages/utils/test/testUtils/testData.ts
index 9066dd1a2a..9249a08e4f 100644
--- a/packages/utils/test/testUtils/testData.ts
+++ b/packages/utils/test/testUtils/testData.ts
@@ -406,7 +406,7 @@ export const TEST_ERROR_LIST_OUTPUT: RJSFValidationError[] = reduce(
[]
);
-export const SUPER_SCHEMA: RJSFSchema = deepFreeze({
+export const SUPER_SCHEMA: RJSFSchema = deepFreeze({
[ID_KEY]: 'super-schema',
definitions: {
test: {
@@ -506,7 +506,7 @@ export const SUPER_SCHEMA: RJSFSchema = deepFreeze({
},
},
],
-});
+} satisfies RJSFSchema);
export const PROPERTY_DEPENDENCIES: RJSFSchema = deepFreeze({
type: 'object',
diff --git a/packages/utils/test/toErrorList.test.ts b/packages/utils/test/toErrorList.test.ts
index cc468df01d..9b21cfd058 100644
--- a/packages/utils/test/toErrorList.test.ts
+++ b/packages/utils/test/toErrorList.test.ts
@@ -9,6 +9,7 @@ describe('toErrorList()', () => {
expect(toErrorList({})).toEqual([]);
});
it('Returns an empty array when an object with a non-plain child object is provided', () => {
+ // @ts-expect-error testing unexpected argument handling
expect(toErrorList({ nonObject: new Error('non-object') })).toEqual([]);
});
it('Returns the expected list of errors when given an ErrorSchema', () => {
diff --git a/packages/validator-ajv8/test/compileSchemaValidatorsCode.test.ts b/packages/validator-ajv8/test/compileSchemaValidatorsCode.test.ts
index 93b655f1d4..641d7d0e52 100644
--- a/packages/validator-ajv8/test/compileSchemaValidatorsCode.test.ts
+++ b/packages/validator-ajv8/test/compileSchemaValidatorsCode.test.ts
@@ -17,9 +17,9 @@ describe('compileSchemaValidatorsCode()', () => {
describe('compiling without additional options', () => {
let schemas: RJSFSchema[];
beforeAll(() => {
- schemas = Object.values(schemaParser(superSchema as RJSFSchema));
+ schemas = Object.values(schemaParser(superSchema as unknown as RJSFSchema));
expectedCode = readFileSync('./test/harness/superSchema.js').toString();
- generatedCode = compileSchemaValidatorsCode(superSchema as RJSFSchema);
+ generatedCode = compileSchemaValidatorsCode(superSchema as unknown as RJSFSchema);
});
it('create AJV instance was called with the expected options', () => {
const expectedCompileOpts = { code: { source: true, lines: true }, schemas };
@@ -33,9 +33,9 @@ describe('compileSchemaValidatorsCode()', () => {
let schemas: RJSFSchema[];
let expectedCode: string;
beforeAll(() => {
- schemas = Object.values(schemaParser(superSchema as RJSFSchema));
+ schemas = Object.values(schemaParser(superSchema as unknown as RJSFSchema));
expectedCode = readFileSync('./test/harness/superSchemaOptions.js').toString();
- generatedCode = compileSchemaValidatorsCode(superSchema as RJSFSchema, {
+ generatedCode = compileSchemaValidatorsCode(superSchema as unknown as RJSFSchema, {
...CUSTOM_OPTIONS,
ajvOptionsOverrides: { ...CUSTOM_OPTIONS.ajvOptionsOverrides, code: { lines: false } },
});
diff --git a/packages/validator-ajv8/test/createPrecompiledValidator.test.ts b/packages/validator-ajv8/test/createPrecompiledValidator.test.ts
index 37ae968371..346d74d15e 100644
--- a/packages/validator-ajv8/test/createPrecompiledValidator.test.ts
+++ b/packages/validator-ajv8/test/createPrecompiledValidator.test.ts
@@ -16,7 +16,7 @@ type TestType = {
};
const validateFns = superSchemaFns as ValidatorFunctions;
-const rootSchema = superSchema as RJSFSchema;
+const rootSchema = superSchema as unknown as RJSFSchema;
const mockedValidator = jest.mocked(AJV8PrecompiledValidator);
describe('createPrecompiledValidator()', () => {
diff --git a/packages/validator-ajv8/test/precompiledValidator.test.ts b/packages/validator-ajv8/test/precompiledValidator.test.ts
index 0be3395f44..02662002a0 100644
--- a/packages/validator-ajv8/test/precompiledValidator.test.ts
+++ b/packages/validator-ajv8/test/precompiledValidator.test.ts
@@ -22,7 +22,7 @@ import superSchema from './harness/superSchema.json';
const validateFns = superSchemaFns as ValidatorFunctions;
const validateOptionsFns = superSchemaOptionsFns as ValidatorFunctions;
-const rootSchema = superSchema as RJSFSchema;
+const rootSchema = superSchema as unknown as RJSFSchema;
describe('AJV8PrecompiledValidator', () => {
let builder: ErrorSchemaBuilder;
From c846f0ee0bd80ceea5818cefb9de327636647717 Mon Sep 17 00:00:00 2001
From: Bogdan Savluk
Date: Fri, 10 Nov 2023 20:08:32 +0100
Subject: [PATCH 13/16] more type fixes in playground
---
packages/playground/src/components/Playground.tsx | 2 +-
packages/playground/src/components/Selector.tsx | 8 ++++----
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/packages/playground/src/components/Playground.tsx b/packages/playground/src/components/Playground.tsx
index 2f7a8d7840..8152d003e8 100644
--- a/packages/playground/src/components/Playground.tsx
+++ b/packages/playground/src/components/Playground.tsx
@@ -20,7 +20,7 @@ export interface PlaygroundProps {
export default function Playground({ themes, validators }: PlaygroundProps) {
const [loaded, setLoaded] = useState(false);
const [schema, setSchema] = useState(samples.Simple.schema as RJSFSchema);
- const [uiSchema, setUiSchema] = useState(samples.Simple.uiSchema);
+ const [uiSchema, setUiSchema] = useState(samples.Simple.uiSchema!);
const [formData, setFormData] = useState(samples.Simple.formData);
const [extraErrors, setExtraErrors] = useState();
const [shareURL, setShareURL] = useState(null);
diff --git a/packages/playground/src/components/Selector.tsx b/packages/playground/src/components/Selector.tsx
index 91f9111da1..9e9707cc2b 100644
--- a/packages/playground/src/components/Selector.tsx
+++ b/packages/playground/src/components/Selector.tsx
@@ -1,14 +1,14 @@
import { useState, MouseEvent } from 'react';
-import { Sample, samples } from '../samples';
+import { samples } from '../samples';
interface SelectorProps {
onSelected: (data: any) => void;
}
export default function Selector({ onSelected }: SelectorProps) {
- const [current, setCurrent] = useState('Simple');
+ const [current, setCurrent] = useState('Simple');
- function onLabelClick(label: Sample) {
+ function onLabelClick(label: string) {
return (event: MouseEvent) => {
event.preventDefault();
setCurrent(label);
@@ -21,7 +21,7 @@ export default function Selector({ onSelected }: SelectorProps) {
{Object.keys(samples).map((label, i) => {
return (
-
+
{label}
From e4b4f6d7f473c1b346943c5cdf0862dab78e6606 Mon Sep 17 00:00:00 2001
From: Bogdan Savluk
Date: Fri, 10 Nov 2023 21:01:14 +0100
Subject: [PATCH 14/16] update changelog
---
CHANGELOG.md | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3380ab4ecf..d33ca1990a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -17,17 +17,18 @@ should change the heading of the (upcoming) version to include a major version b
-->
# 5.14.0
-## Dev / playground
+## @rjsf/fluentui-rc
-- update configuration to use typescript project references, start type checking the tests
+- Added theme for Fluent UI v9 (React Components), fixing [#3659](https://github.com/rjsf-team/react-jsonschema-form/issues/3659)
## @rjsf/snapshot-tests
Move theme snapshot tests into separate package
-## @rjsf/fluentui-rc
+## Dev / playground
+
+- update configuration to use typescript project references, start type checking the tests
-- Added theme for Fluent UI v9 (React Components), fixing [#3659](https://github.com/rjsf-team/react-jsonschema-form/issues/3659)
# 5.13.6
From afde26e5f1c11bab922958b06b8a996432f4adf1 Mon Sep 17 00:00:00 2001
From: Bogdan Savluk
Date: Fri, 10 Nov 2023 21:12:45 +0100
Subject: [PATCH 15/16] update readme for snapshots package
---
packages/snapshot-tests/README.md | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/packages/snapshot-tests/README.md b/packages/snapshot-tests/README.md
index 2c39654674..17ecf40df0 100644
--- a/packages/snapshot-tests/README.md
+++ b/packages/snapshot-tests/README.md
@@ -13,7 +13,7 @@
@rjsf/snapshot-tests
- Core logic and classic Bootstrap 3 theme for react-jsonschema-form
.
+ A set of snapshot tests to be used for testing RJSF theme.
Explore the docs »
@@ -32,9 +32,7 @@
- [Table of Contents](#table-of-contents)
- [About The Project](#about-the-project)
- - [Built With](#built-with)
- [Getting Started](#getting-started)
- - [Prerequisites](#prerequisites)
- [Installation](#installation)
- [Usage](#usage)
- [Roadmap](#roadmap)
From bf98a547fdd12681adcf95462eb63a28a0217e78 Mon Sep 17 00:00:00 2001
From: Bogdan Savluk
Date: Fri, 10 Nov 2023 21:14:20 +0100
Subject: [PATCH 16/16] update readme for snapshots package
---
packages/snapshot-tests/README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/snapshot-tests/README.md b/packages/snapshot-tests/README.md
index 17ecf40df0..7cdf42ab83 100644
--- a/packages/snapshot-tests/README.md
+++ b/packages/snapshot-tests/README.md
@@ -13,7 +13,7 @@
@rjsf/snapshot-tests
- A set of snapshot tests to be used for testing RJSF theme.
+ A set of snapshot tests to be used for testing RJSF themes.
Explore the docs »