Add jsonCompatibleStrings option to generator (#4827)
This commit is contained in:
parent
8475b6ec02
commit
cf3a38fb40
@ -143,10 +143,14 @@ export function StringLiteral(node: Object, parent: Object) {
|
||||
}
|
||||
|
||||
// ensure the output is ASCII-safe
|
||||
let val = jsesc(node.value, {
|
||||
const opts = {
|
||||
quotes: t.isJSX(parent) ? "double" : this.format.quotes,
|
||||
wrap: true
|
||||
});
|
||||
};
|
||||
if (this.format.jsonCompatibleStrings) {
|
||||
opts.json = true;
|
||||
}
|
||||
let val = jsesc(node.value, opts);
|
||||
|
||||
return this.token(val);
|
||||
}
|
||||
|
||||
@ -59,6 +59,7 @@ function normalizeOptions(code, opts, tokens): Format {
|
||||
minified: opts.minified,
|
||||
concise: opts.concise,
|
||||
quotes: opts.quotes || findCommonStringDelimiter(code, tokens),
|
||||
jsonCompatibleStrings: opts.jsonCompatibleStrings,
|
||||
indent: {
|
||||
adjustMultilineComment: true,
|
||||
style: style,
|
||||
|
||||
1
packages/babel-generator/test/fixtures/escapes/jsonEscape/actual.js
vendored
Normal file
1
packages/babel-generator/test/fixtures/escapes/jsonEscape/actual.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
"©";
|
||||
1
packages/babel-generator/test/fixtures/escapes/jsonEscape/expected.js
vendored
Normal file
1
packages/babel-generator/test/fixtures/escapes/jsonEscape/expected.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
"\u00A9";
|
||||
4
packages/babel-generator/test/fixtures/escapes/options.json
vendored
Normal file
4
packages/babel-generator/test/fixtures/escapes/options.json
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"minified": true,
|
||||
"jsonCompatibleStrings": true
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user