From 6a7cb1dca0dd8f2fec182ceadc8d832eeaa6a2ca Mon Sep 17 00:00:00 2001 From: Nick Grosenbacher Date: Fri, 13 Jan 2023 16:40:54 -0500 Subject: [PATCH] Re-fix #3228 and related follow-up issues - Upgrade vite to 4.0.4 - Remove ajv8 alias for validator-ajv8 (will fix issues in skypack) - Change vite mode to production (fixes issue where vite/esbuild mix up ajv v6 and v8) --- CHANGELOG.md | 8 ++++++++ packages/playground/vite.config.ts | 1 + packages/validator-ajv8/package.json | 2 +- packages/validator-ajv8/src/createAjvInstance.ts | 2 +- packages/validator-ajv8/src/types.ts | 2 +- packages/validator-ajv8/src/validator.ts | 2 +- packages/validator-ajv8/test/createAjvInstance.test.ts | 8 ++++---- 7 files changed, 17 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4655ab8b35..ffdd8964ca 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,14 @@ it according to semantic versioning. For example, if your PR adds a breaking cha should change the heading of the (upcoming) version to include a major version bump. --> +# 5.0.0-beta-17 + +## @rjsf/playground +- Change Vite `mode` to `'production'`, which provides an alternative fix for [#3228](https://github.com/rjsf-team/react-jsonschema-form/issues/3228) since the prior fix caused [#3215](https://github.com/rjsf-team/react-jsonschema-form/issues/3215). + +## @rjsf/validator-ajv8 +- Remove alias for ajv -> ajv8 in package.json. This fixes [#3215](https://github.com/rjsf-team/react-jsonschema-form/issues/3215). + # 5.0.0-beta-16 ## @rjsf/antd diff --git a/packages/playground/vite.config.ts b/packages/playground/vite.config.ts index d1559903ca..cedb9465d9 100644 --- a/packages/playground/vite.config.ts +++ b/packages/playground/vite.config.ts @@ -11,6 +11,7 @@ export default defineConfig({ open: process.env.NODE_ENV !== "production", }, // maintain the old webpack behavior in dev plugins: [react()], + mode: "production", // Fixes https://github.com/rjsf-team/react-jsonschema-form/issues/3228 resolve: { alias: { // The following is needed to allow the material ui v4 and v5 themes to properly load the css diff --git a/packages/validator-ajv8/package.json b/packages/validator-ajv8/package.json index 642c7262a3..6869a24326 100644 --- a/packages/validator-ajv8/package.json +++ b/packages/validator-ajv8/package.json @@ -28,7 +28,7 @@ }, "dependencies": { "ajv-formats": "^2.1.1", - "ajv8": "npm:ajv@^8.11.0", + "ajv": "^8.11.0", "lodash": "^4.17.15", "lodash-es": "^4.17.15" }, diff --git a/packages/validator-ajv8/src/createAjvInstance.ts b/packages/validator-ajv8/src/createAjvInstance.ts index 0c4ec756dd..b1f8c01876 100644 --- a/packages/validator-ajv8/src/createAjvInstance.ts +++ b/packages/validator-ajv8/src/createAjvInstance.ts @@ -1,4 +1,4 @@ -import Ajv, { Options } from "ajv8"; +import Ajv, { Options } from "ajv"; import addFormats, { FormatsPluginOptions } from "ajv-formats"; import isObject from "lodash/isObject"; diff --git a/packages/validator-ajv8/src/types.ts b/packages/validator-ajv8/src/types.ts index d22238892e..633252b261 100644 --- a/packages/validator-ajv8/src/types.ts +++ b/packages/validator-ajv8/src/types.ts @@ -1,4 +1,4 @@ -import Ajv, { Options, ErrorObject } from "ajv8"; +import Ajv, { Options, ErrorObject } from "ajv"; import { FormatsPluginOptions } from "ajv-formats"; /** The type describing how to customize the AJV6 validator diff --git a/packages/validator-ajv8/src/validator.ts b/packages/validator-ajv8/src/validator.ts index 6259280d91..829a5de38a 100644 --- a/packages/validator-ajv8/src/validator.ts +++ b/packages/validator-ajv8/src/validator.ts @@ -1,4 +1,4 @@ -import Ajv, { ErrorObject, ValidateFunction } from "ajv8"; +import Ajv, { ErrorObject, ValidateFunction } from "ajv"; import toPath from "lodash/toPath"; import isObject from "lodash/isObject"; import clone from "lodash/clone"; diff --git a/packages/validator-ajv8/test/createAjvInstance.test.ts b/packages/validator-ajv8/test/createAjvInstance.test.ts index fc9df4a3e8..a8de968209 100644 --- a/packages/validator-ajv8/test/createAjvInstance.test.ts +++ b/packages/validator-ajv8/test/createAjvInstance.test.ts @@ -1,5 +1,5 @@ -import Ajv from "ajv8"; -import Ajv2019 from "ajv8/dist/2019"; +import Ajv from "ajv"; +import Ajv2019 from "ajv/dist/2019"; import addFormats from "ajv-formats"; import createAjvInstance, { @@ -9,8 +9,8 @@ import createAjvInstance, { } from "../src/createAjvInstance"; import { CustomValidatorOptionsType } from "../src"; -jest.mock("ajv8"); -jest.mock("ajv8/dist/2019"); +jest.mock("ajv"); +jest.mock("ajv/dist/2019"); jest.mock("ajv-formats"); export const CUSTOM_OPTIONS: CustomValidatorOptionsType = {