From 1980c0ba6ffd3a74d77385171aca5a2de1fa8b8e Mon Sep 17 00:00:00 2001 From: liuxingbaoyu <30521560+liuxingbaoyu@users.noreply.github.com> Date: Fri, 10 Mar 2023 00:47:17 +0800 Subject: [PATCH 1/2] jsonCompatibleStrings --- packages/babel-generator/src/generators/types.ts | 10 +--------- packages/babel-generator/src/index.ts | 3 +++ packages/babel-generator/src/printer.ts | 3 +++ 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/packages/babel-generator/src/generators/types.ts b/packages/babel-generator/src/generators/types.ts index 30d98f99a2f9..7375e9bd0472 100644 --- a/packages/babel-generator/src/generators/types.ts +++ b/packages/babel-generator/src/generators/types.ts @@ -209,15 +209,7 @@ export function StringLiteral(this: Printer, node: t.StringLiteral) { return; } - const val = jsesc( - node.value, - process.env.BABEL_8_BREAKING - ? this.format.jsescOption - : Object.assign( - this.format.jsescOption, - this.format.jsonCompatibleStrings && { json: true }, - ), - ); + const val = jsesc(node.value, this.format.jsescOption); return this.token(val); } diff --git a/packages/babel-generator/src/index.ts b/packages/babel-generator/src/index.ts index cc4d7e6d4892..78bf55aeedb0 100644 --- a/packages/babel-generator/src/index.ts +++ b/packages/babel-generator/src/index.ts @@ -78,6 +78,9 @@ function normalizeOptions( if (!process.env.BABEL_8_BREAKING) { format.decoratorsBeforeExport = opts.decoratorsBeforeExport; format.jsonCompatibleStrings = opts.jsonCompatibleStrings; + if (format.jsonCompatibleStrings) { + format.jsescOption.json = true; + } } if (format.minified) { diff --git a/packages/babel-generator/src/printer.ts b/packages/babel-generator/src/printer.ts index 95f237bd6612..16098e5640cd 100644 --- a/packages/babel-generator/src/printer.ts +++ b/packages/babel-generator/src/printer.ts @@ -64,6 +64,9 @@ export type Format = { }; recordAndTupleSyntaxType: RecordAndTuplePluginOptions["syntaxType"]; jsescOption: jsescOptions; + /** + * @deprecated Removed in Babel 8, use `jsescOption` instead + */ jsonCompatibleStrings?: boolean; /** * For use with the Hack-style pipe operator. From c93c0728375e634876afbbd150cf1b84760c42d5 Mon Sep 17 00:00:00 2001 From: liuxingbaoyu <30521560+liuxingbaoyu@users.noreply.github.com> Date: Fri, 10 Mar 2023 00:52:00 +0800 Subject: [PATCH 2/2] Update packages/babel-generator/src/index.ts --- packages/babel-generator/src/index.ts | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/packages/babel-generator/src/index.ts b/packages/babel-generator/src/index.ts index 78bf55aeedb0..8fa75ebb2e50 100644 --- a/packages/babel-generator/src/index.ts +++ b/packages/babel-generator/src/index.ts @@ -77,10 +77,7 @@ function normalizeOptions( if (!process.env.BABEL_8_BREAKING) { format.decoratorsBeforeExport = opts.decoratorsBeforeExport; - format.jsonCompatibleStrings = opts.jsonCompatibleStrings; - if (format.jsonCompatibleStrings) { - format.jsescOption.json = true; - } + format.jsescOption.json = opts.jsonCompatibleStrings; } if (format.minified) {