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] + +
+

+ + Logo + + +

@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 »