From b24280462749db561108ffb648d16dfc3120dea5 Mon Sep 17 00:00:00 2001 From: Nick Grosenbacher Date: Sat, 14 Jan 2023 16:51:23 -0500 Subject: [PATCH] Undo ajv8 alias and fix Vite dev server (#3371) * 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) * Update lockfile * `preserveSymlinks` seems to fix rather than changing `mode` * Update CHANGELOG --- CHANGELOG.md | 8 +++++ packages/playground/vite.config.ts | 1 + packages/validator-ajv8/package-lock.json | 29 +------------------ packages/validator-ajv8/package.json | 2 +- .../validator-ajv8/src/createAjvInstance.ts | 2 +- packages/validator-ajv8/src/types.ts | 2 +- packages/validator-ajv8/src/validator.ts | 2 +- .../test/createAjvInstance.test.ts | 8 ++--- 8 files changed, 18 insertions(+), 36 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4655ab8b35..f5d89da1c8 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 `preserveSymlinks` to `true`, 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..023beccb5c 100644 --- a/packages/playground/vite.config.ts +++ b/packages/playground/vite.config.ts @@ -12,6 +12,7 @@ export default defineConfig({ }, // maintain the old webpack behavior in dev plugins: [react()], resolve: { + preserveSymlinks: true, // Fixes https://github.com/rjsf-team/react-jsonschema-form/issues/3228 alias: { // The following is needed to allow the material ui v4 and v5 themes to properly load the css "@mui/styles": path.resolve("./node_modules", "@mui/styles"), diff --git a/packages/validator-ajv8/package-lock.json b/packages/validator-ajv8/package-lock.json index fd915443fd..6ad245cccb 100644 --- a/packages/validator-ajv8/package-lock.json +++ b/packages/validator-ajv8/package-lock.json @@ -9,8 +9,8 @@ "version": "5.0.0-beta.16", "license": "Apache-2.0", "dependencies": { + "ajv": "^8.11.0", "ajv-formats": "^2.1.1", - "ajv8": "npm:ajv@^8.11.0", "lodash": "^4.17.15", "lodash-es": "^4.17.15" }, @@ -2953,22 +2953,6 @@ } } }, - "node_modules/ajv8": { - "name": "ajv", - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", - "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" - } - }, "node_modules/ansi-colors": { "version": "4.1.1", "dev": true, @@ -12351,17 +12335,6 @@ "ajv": "^8.0.0" } }, - "ajv8": { - "version": "npm:ajv@8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, "ansi-colors": { "version": "4.1.1", "dev": true 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 = {