@tinacms/app 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/appFiles/node_modules/.package-lock.json +23 -23
- package/appFiles/node_modules/@babel/generator/lib/generators/methods.js +3 -1
- package/appFiles/node_modules/@babel/generator/lib/generators/methods.js.map +1 -1
- package/appFiles/node_modules/@babel/generator/lib/index.js +11 -0
- package/appFiles/node_modules/@babel/generator/lib/index.js.map +1 -1
- package/appFiles/node_modules/@babel/generator/lib/printer.js +38 -21
- package/appFiles/node_modules/@babel/generator/lib/printer.js.map +1 -1
- package/appFiles/node_modules/@babel/generator/package.json +3 -3
- package/appFiles/node_modules/@babel/parser/lib/index.js +164 -98
- package/appFiles/node_modules/@babel/parser/lib/index.js.map +1 -1
- package/appFiles/node_modules/@babel/parser/package.json +2 -2
- package/appFiles/node_modules/@babel/parser/typings/babel-parser.d.ts +1 -1
- package/appFiles/node_modules/@babel/runtime/helpers/checkInRHS.js +6 -0
- package/appFiles/node_modules/@babel/runtime/helpers/createClass.js +2 -1
- package/appFiles/node_modules/@babel/runtime/helpers/defineProperty.js +2 -0
- package/appFiles/node_modules/@babel/runtime/helpers/esm/checkInRHS.js +5 -0
- package/appFiles/node_modules/@babel/runtime/helpers/esm/createClass.js +2 -1
- package/appFiles/node_modules/@babel/runtime/helpers/esm/defineProperty.js +2 -0
- package/appFiles/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js +23 -18
- package/appFiles/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimitLoose.js +8 -7
- package/appFiles/node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js +3 -8
- package/appFiles/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js +23 -18
- package/appFiles/node_modules/@babel/runtime/helpers/iterableToArrayLimitLoose.js +8 -7
- package/appFiles/node_modules/@babel/runtime/helpers/regeneratorRuntime.js +3 -8
- package/appFiles/node_modules/@babel/runtime/package.json +29 -20
- package/appFiles/node_modules/@babel/traverse/lib/path/context.js +3 -2
- package/appFiles/node_modules/@babel/traverse/lib/path/context.js.map +1 -1
- package/appFiles/node_modules/@babel/traverse/lib/path/conversion.js +8 -4
- package/appFiles/node_modules/@babel/traverse/lib/path/conversion.js.map +1 -1
- package/appFiles/node_modules/@babel/traverse/lib/path/inference/inferer-reference.js +1 -0
- package/appFiles/node_modules/@babel/traverse/lib/path/inference/inferer-reference.js.map +1 -1
- package/appFiles/node_modules/@babel/traverse/lib/scope/index.js +1 -1
- package/appFiles/node_modules/@babel/traverse/lib/scope/index.js.map +1 -1
- package/appFiles/node_modules/@babel/traverse/package.json +4 -4
- package/appFiles/node_modules/@babel/types/lib/index.d.ts +64 -64
- package/appFiles/node_modules/@babel/types/package.json +3 -3
- package/appFiles/node_modules/regenerator-runtime/package.json +2 -2
- package/appFiles/node_modules/regenerator-runtime/runtime.js +18 -17
- package/appFiles/src/App.tsx +0 -12
- package/appFiles/src/fields/rich-text/monaco/mdx.js +0 -46
- package/appFiles/src/lib/machines/query-machine.ts +137 -2
- package/appFiles/src/preview.tsx +9 -15
- package/dist/index.js +7 -5
- package/package.json +3 -3
- package/appFiles/node_modules/@babel/parser/typings/babel-parser.source.d.ts +0 -151
|
@@ -14,11 +14,11 @@
|
|
|
14
14
|
}
|
|
15
15
|
},
|
|
16
16
|
"node_modules/@babel/generator": {
|
|
17
|
-
"version": "7.20.
|
|
18
|
-
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.
|
|
19
|
-
"integrity": "sha512-
|
|
17
|
+
"version": "7.20.5",
|
|
18
|
+
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.5.tgz",
|
|
19
|
+
"integrity": "sha512-jl7JY2Ykn9S0yj4DQP82sYvPU+T3g0HFcWTqDLqiuA9tGRNIj9VfbtXGAYTTkyNEnQk1jkMGOdYka8aG/lulCA==",
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@babel/types": "^7.20.
|
|
21
|
+
"@babel/types": "^7.20.5",
|
|
22
22
|
"@jridgewell/gen-mapping": "^0.3.2",
|
|
23
23
|
"jsesc": "^2.5.1"
|
|
24
24
|
},
|
|
@@ -120,9 +120,9 @@
|
|
|
120
120
|
}
|
|
121
121
|
},
|
|
122
122
|
"node_modules/@babel/parser": {
|
|
123
|
-
"version": "7.20.
|
|
124
|
-
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.
|
|
125
|
-
"integrity": "sha512-
|
|
123
|
+
"version": "7.20.5",
|
|
124
|
+
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.5.tgz",
|
|
125
|
+
"integrity": "sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA==",
|
|
126
126
|
"bin": {
|
|
127
127
|
"parser": "bin/babel-parser.js"
|
|
128
128
|
},
|
|
@@ -131,11 +131,11 @@
|
|
|
131
131
|
}
|
|
132
132
|
},
|
|
133
133
|
"node_modules/@babel/runtime": {
|
|
134
|
-
"version": "7.20.
|
|
135
|
-
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.
|
|
136
|
-
"integrity": "sha512-
|
|
134
|
+
"version": "7.20.6",
|
|
135
|
+
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.6.tgz",
|
|
136
|
+
"integrity": "sha512-Q+8MqP7TiHMWzSfwiJwXCjyf4GYA4Dgw3emg/7xmwsdLJOZUp+nMqcOwOzzYheuM1rhDu8FSj2l0aoMygEuXuA==",
|
|
137
137
|
"dependencies": {
|
|
138
|
-
"regenerator-runtime": "^0.13.
|
|
138
|
+
"regenerator-runtime": "^0.13.11"
|
|
139
139
|
},
|
|
140
140
|
"engines": {
|
|
141
141
|
"node": ">=6.9.0"
|
|
@@ -155,18 +155,18 @@
|
|
|
155
155
|
}
|
|
156
156
|
},
|
|
157
157
|
"node_modules/@babel/traverse": {
|
|
158
|
-
"version": "7.20.
|
|
159
|
-
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.
|
|
160
|
-
"integrity": "sha512-
|
|
158
|
+
"version": "7.20.5",
|
|
159
|
+
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.5.tgz",
|
|
160
|
+
"integrity": "sha512-WM5ZNN3JITQIq9tFZaw1ojLU3WgWdtkxnhM1AegMS+PvHjkM5IXjmYEGY7yukz5XS4sJyEf2VzWjI8uAavhxBQ==",
|
|
161
161
|
"dependencies": {
|
|
162
162
|
"@babel/code-frame": "^7.18.6",
|
|
163
|
-
"@babel/generator": "^7.20.
|
|
163
|
+
"@babel/generator": "^7.20.5",
|
|
164
164
|
"@babel/helper-environment-visitor": "^7.18.9",
|
|
165
165
|
"@babel/helper-function-name": "^7.19.0",
|
|
166
166
|
"@babel/helper-hoist-variables": "^7.18.6",
|
|
167
167
|
"@babel/helper-split-export-declaration": "^7.18.6",
|
|
168
|
-
"@babel/parser": "^7.20.
|
|
169
|
-
"@babel/types": "^7.20.
|
|
168
|
+
"@babel/parser": "^7.20.5",
|
|
169
|
+
"@babel/types": "^7.20.5",
|
|
170
170
|
"debug": "^4.1.0",
|
|
171
171
|
"globals": "^11.1.0"
|
|
172
172
|
},
|
|
@@ -175,9 +175,9 @@
|
|
|
175
175
|
}
|
|
176
176
|
},
|
|
177
177
|
"node_modules/@babel/types": {
|
|
178
|
-
"version": "7.20.
|
|
179
|
-
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.
|
|
180
|
-
"integrity": "sha512-
|
|
178
|
+
"version": "7.20.5",
|
|
179
|
+
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.5.tgz",
|
|
180
|
+
"integrity": "sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg==",
|
|
181
181
|
"dependencies": {
|
|
182
182
|
"@babel/helper-string-parser": "^7.19.4",
|
|
183
183
|
"@babel/helper-validator-identifier": "^7.19.1",
|
|
@@ -620,9 +620,9 @@
|
|
|
620
620
|
}
|
|
621
621
|
},
|
|
622
622
|
"node_modules/regenerator-runtime": {
|
|
623
|
-
"version": "0.13.
|
|
624
|
-
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.
|
|
625
|
-
"integrity": "sha512-
|
|
623
|
+
"version": "0.13.11",
|
|
624
|
+
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz",
|
|
625
|
+
"integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg=="
|
|
626
626
|
},
|
|
627
627
|
"node_modules/scheduler": {
|
|
628
628
|
"version": "0.20.2",
|
|
@@ -20,7 +20,9 @@ function _params(node) {
|
|
|
20
20
|
this.tokenChar(40);
|
|
21
21
|
this._parameters(node.params, node);
|
|
22
22
|
this.tokenChar(41);
|
|
23
|
-
|
|
23
|
+
const noLineTerminator = node.type === "ArrowFunctionExpression";
|
|
24
|
+
this.print(node.returnType, node, noLineTerminator);
|
|
25
|
+
this._noLineTerminator = noLineTerminator;
|
|
24
26
|
}
|
|
25
27
|
function _parameters(parameters, parent) {
|
|
26
28
|
const paramLength = parameters.length;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isIdentifier","_params","node","print","typeParameters","token","_parameters","params","
|
|
1
|
+
{"version":3,"names":["isIdentifier","_params","node","print","typeParameters","token","_parameters","params","noLineTerminator","type","returnType","_noLineTerminator","parameters","parent","paramLength","length","i","_param","space","parameter","printJoin","decorators","optional","typeAnnotation","_methodHead","kind","key","word","async","generator","computed","_predicate","noLineTerminatorAfter","predicate","_functionHead","_endsWithInnerRaw","id","FunctionExpression","body","ArrowFunctionExpression","firstParam","format","retainLines","hasTypesOrComments","printInnerComments","param","leadingComments","trailingComments"],"sources":["../../src/generators/methods.ts"],"sourcesContent":["import type Printer from \"../printer\";\nimport { isIdentifier } from \"@babel/types\";\nimport type * as t from \"@babel/types\";\n\nexport function _params(\n this: Printer,\n node: t.Function | t.TSDeclareMethod | t.TSDeclareFunction,\n) {\n this.print(node.typeParameters, node);\n this.token(\"(\");\n this._parameters(node.params, node);\n this.token(\")\");\n\n const noLineTerminator = node.type === \"ArrowFunctionExpression\";\n this.print(node.returnType, node, noLineTerminator);\n\n this._noLineTerminator = noLineTerminator;\n}\n\nexport function _parameters(\n this: Printer,\n parameters: t.Function[\"params\"],\n parent:\n | t.Function\n | t.TSIndexSignature\n | t.TSDeclareMethod\n | t.TSDeclareFunction\n | t.TSFunctionType\n | t.TSConstructorType,\n) {\n const paramLength = parameters.length;\n for (let i = 0; i < paramLength; i++) {\n this._param(parameters[i], parent);\n\n if (i < parameters.length - 1) {\n this.token(\",\");\n this.space();\n }\n }\n}\n\nexport function _param(\n this: Printer,\n parameter: t.Identifier | t.RestElement | t.Pattern | t.TSParameterProperty,\n parent?:\n | t.Function\n | t.TSIndexSignature\n | t.TSDeclareMethod\n | t.TSDeclareFunction\n | t.TSFunctionType\n | t.TSConstructorType,\n) {\n this.printJoin(parameter.decorators, parameter);\n this.print(parameter, parent);\n if (\n // @ts-expect-error optional is not in TSParameterProperty\n parameter.optional\n ) {\n this.token(\"?\"); // TS / flow\n }\n\n this.print(\n // @ts-expect-error typeAnnotation is not in TSParameterProperty\n parameter.typeAnnotation,\n parameter,\n ); // TS / flow\n}\n\nexport function _methodHead(this: Printer, node: t.Method | t.TSDeclareMethod) {\n const kind = node.kind;\n const key = node.key;\n\n if (kind === \"get\" || kind === \"set\") {\n this.word(kind);\n this.space();\n }\n\n if (node.async) {\n this.word(\"async\", true);\n this.space();\n }\n\n if (\n kind === \"method\" ||\n // @ts-expect-error Fixme: kind: \"init\" is not defined\n kind === \"init\"\n ) {\n if (node.generator) {\n this.token(\"*\");\n }\n }\n\n if (node.computed) {\n this.token(\"[\");\n this.print(key, node);\n this.token(\"]\");\n } else {\n this.print(key, node);\n }\n\n if (\n // @ts-expect-error optional is not in ObjectMethod\n node.optional\n ) {\n // TS\n this.token(\"?\");\n }\n\n this._params(node);\n}\n\nexport function _predicate(\n this: Printer,\n node:\n | t.FunctionDeclaration\n | t.FunctionExpression\n | t.ArrowFunctionExpression,\n noLineTerminatorAfter?: boolean,\n) {\n if (node.predicate) {\n if (!node.returnType) {\n this.token(\":\");\n }\n this.space();\n this.print(node.predicate, node, noLineTerminatorAfter);\n }\n}\n\nexport function _functionHead(\n this: Printer,\n node: t.FunctionDeclaration | t.FunctionExpression | t.TSDeclareFunction,\n) {\n if (node.async) {\n this.word(\"async\");\n // We prevent inner comments from being printed here,\n // so that they are always consistently printed in the\n // same place regardless of the function type.\n this._endsWithInnerRaw = false;\n this.space();\n }\n this.word(\"function\");\n if (node.generator) {\n // We prevent inner comments from being printed here,\n // so that they are always consistently printed in the\n // same place regardless of the function type.\n this._endsWithInnerRaw = false;\n this.token(\"*\");\n }\n\n this.space();\n if (node.id) {\n this.print(node.id, node);\n }\n\n this._params(node);\n if (node.type !== \"TSDeclareFunction\") {\n this._predicate(node);\n }\n}\n\nexport function FunctionExpression(this: Printer, node: t.FunctionExpression) {\n this._functionHead(node);\n this.space();\n this.print(node.body, node);\n}\n\nexport { FunctionExpression as FunctionDeclaration };\n\nexport function ArrowFunctionExpression(\n this: Printer,\n node: t.ArrowFunctionExpression,\n) {\n if (node.async) {\n this.word(\"async\", true);\n this.space();\n }\n\n // Try to avoid printing parens in simple cases, but only if we're pretty\n // sure that they aren't needed by type annotations or potential newlines.\n let firstParam;\n if (\n !this.format.retainLines &&\n node.params.length === 1 &&\n isIdentifier((firstParam = node.params[0])) &&\n !hasTypesOrComments(node, firstParam)\n ) {\n this.print(firstParam, node, true);\n } else {\n this._params(node);\n }\n\n this._predicate(node, true);\n this.space();\n // When printing (x)/*1*/=>{}, we remove the parentheses\n // and thus there aren't two contiguous inner tokens.\n // We forcefully print inner comments here.\n this.printInnerComments();\n this.token(\"=>\");\n\n this.space();\n\n this.print(node.body, node);\n}\n\nfunction hasTypesOrComments(\n node: t.ArrowFunctionExpression,\n param: t.Identifier,\n): boolean {\n return !!(\n node.typeParameters ||\n node.returnType ||\n node.predicate ||\n param.typeAnnotation ||\n param.optional ||\n // Flow does not support `foo /*: string*/ => {};`\n param.leadingComments?.length ||\n param.trailingComments?.length\n );\n}\n"],"mappings":"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"}
|
|
@@ -65,6 +65,17 @@ function normalizeOptions(code, opts) {
|
|
|
65
65
|
if (format.compact) {
|
|
66
66
|
format.indent.adjustMultilineComment = false;
|
|
67
67
|
}
|
|
68
|
+
const {
|
|
69
|
+
auxiliaryCommentBefore,
|
|
70
|
+
auxiliaryCommentAfter,
|
|
71
|
+
shouldPrintComment
|
|
72
|
+
} = format;
|
|
73
|
+
if (auxiliaryCommentBefore && !shouldPrintComment(auxiliaryCommentBefore)) {
|
|
74
|
+
format.auxiliaryCommentBefore = undefined;
|
|
75
|
+
}
|
|
76
|
+
if (auxiliaryCommentAfter && !shouldPrintComment(auxiliaryCommentAfter)) {
|
|
77
|
+
format.auxiliaryCommentAfter = undefined;
|
|
78
|
+
}
|
|
68
79
|
return format;
|
|
69
80
|
}
|
|
70
81
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Generator","Printer","constructor","ast","opts","code","format","normalizeOptions","map","sourceMaps","SourceMap","generate","auxiliaryCommentBefore","auxiliaryCommentAfter","shouldPrintComment","retainLines","retainFunctionParens","comments","compact","minified","concise","indent","adjustMultilineComment","style","jsescOption","quotes","wrap","minimal","recordAndTupleSyntaxType","topicToken","decoratorsBeforeExport","jsonCompatibleStrings","value","includes","length","console","error","filename","CodeGenerator","_generator","gen"],"sources":["../src/index.ts"],"sourcesContent":["import SourceMap from \"./source-map\";\nimport Printer from \"./printer\";\nimport type * as t from \"@babel/types\";\nimport type { Opts as jsescOptions } from \"jsesc\";\nimport type { Format } from \"./printer\";\nimport type {\n RecordAndTuplePluginOptions,\n PipelineOperatorPluginOptions,\n} from \"@babel/parser\";\nimport type { DecodedSourceMap, Mapping } from \"@jridgewell/gen-mapping\";\n\n/**\n * Babel's code generator, turns an ast into code, maintaining sourcemaps,\n * user preferences, and valid output.\n */\n\nclass Generator extends Printer {\n constructor(\n ast: t.Node,\n opts: GeneratorOptions = {},\n code: string | { [filename: string]: string },\n ) {\n const format = normalizeOptions(code, opts);\n const map = opts.sourceMaps ? new SourceMap(opts, code) : null;\n super(format, map);\n\n this.ast = ast;\n }\n\n ast: t.Node;\n\n /**\n * Generate code and sourcemap from ast.\n *\n * Appends comments that weren't attached to any node to the end of the generated output.\n */\n\n generate() {\n return super.generate(this.ast);\n }\n}\n\n/**\n * Normalize generator options, setting defaults.\n *\n * - Detects code indentation.\n * - If `opts.compact = \"auto\"` and the code is over 500KB, `compact` will be set to `true`.\n */\n\nfunction normalizeOptions(\n code: string | { [filename: string]: string },\n opts: GeneratorOptions,\n): Format {\n const format: Format = {\n auxiliaryCommentBefore: opts.auxiliaryCommentBefore,\n auxiliaryCommentAfter: opts.auxiliaryCommentAfter,\n shouldPrintComment: opts.shouldPrintComment,\n retainLines: opts.retainLines,\n retainFunctionParens: opts.retainFunctionParens,\n comments: opts.comments == null || opts.comments,\n compact: opts.compact,\n minified: opts.minified,\n concise: opts.concise,\n indent: {\n adjustMultilineComment: true,\n style: \" \",\n },\n jsescOption: {\n quotes: \"double\",\n wrap: true,\n minimal: process.env.BABEL_8_BREAKING ? true : false,\n ...opts.jsescOption,\n },\n recordAndTupleSyntaxType: opts.recordAndTupleSyntaxType,\n topicToken: opts.topicToken,\n };\n\n if (!process.env.BABEL_8_BREAKING) {\n format.decoratorsBeforeExport = !!opts.decoratorsBeforeExport;\n format.jsonCompatibleStrings = opts.jsonCompatibleStrings;\n }\n\n if (format.minified) {\n format.compact = true;\n\n format.shouldPrintComment =\n format.shouldPrintComment || (() => format.comments);\n } else {\n format.shouldPrintComment =\n format.shouldPrintComment ||\n (value =>\n format.comments ||\n value.includes(\"@license\") ||\n value.includes(\"@preserve\"));\n }\n\n if (format.compact === \"auto\") {\n format.compact = code.length > 500_000; // 500KB\n\n if (format.compact) {\n console.error(\n \"[BABEL] Note: The code generator has deoptimised the styling of \" +\n `${opts.filename} as it exceeds the max of ${\"500KB\"}.`,\n );\n }\n }\n\n if (format.compact) {\n format.indent.adjustMultilineComment = false;\n }\n\n return format;\n}\n\nexport interface GeneratorOptions {\n /**\n * Optional string to add as a block comment at the start of the output file.\n */\n auxiliaryCommentBefore?: string;\n\n /**\n * Optional string to add as a block comment at the end of the output file.\n */\n auxiliaryCommentAfter?: string;\n\n /**\n * Function that takes a comment (as a string) and returns true if the comment should be included in the output.\n * By default, comments are included if `opts.comments` is `true` or if `opts.minifed` is `false` and the comment\n * contains `@preserve` or `@license`.\n */\n shouldPrintComment?(comment: string): boolean;\n\n /**\n * Attempt to use the same line numbers in the output code as in the source code (helps preserve stack traces).\n * Defaults to `false`.\n */\n retainLines?: boolean;\n\n /**\n * Retain parens around function expressions (could be used to change engine parsing behavior)\n * Defaults to `false`.\n */\n retainFunctionParens?: boolean;\n\n /**\n * Should comments be included in output? Defaults to `true`.\n */\n comments?: boolean;\n\n /**\n * Set to true to avoid adding whitespace for formatting. Defaults to the value of `opts.minified`.\n */\n compact?: boolean | \"auto\";\n\n /**\n * Should the output be minified. Defaults to `false`.\n */\n minified?: boolean;\n\n /**\n * Set to true to reduce whitespace (but not as much as opts.compact). Defaults to `false`.\n */\n concise?: boolean;\n\n /**\n * Used in warning messages\n */\n filename?: string;\n\n /**\n * Enable generating source maps. Defaults to `false`.\n */\n sourceMaps?: boolean;\n\n /**\n * A root for all relative URLs in the source map.\n */\n sourceRoot?: string;\n\n /**\n * The filename for the source code (i.e. the code in the `code` argument).\n * This will only be used if `code` is a string.\n */\n sourceFileName?: string;\n\n /**\n * Set to true to run jsesc with \"json\": true to print \"\\u00A9\" vs. \"©\";\n * @deprecated use `jsescOptions: { json: true }` instead\n */\n jsonCompatibleStrings?: boolean;\n\n /**\n * Set to true to enable support for experimental decorators syntax before module exports.\n * Defaults to `false`.\n * @deprecated Removed in Babel 8\n */\n decoratorsBeforeExport?: boolean;\n\n /**\n * Options for outputting jsesc representation.\n */\n jsescOption?: jsescOptions;\n\n /**\n * For use with the recordAndTuple token.\n */\n recordAndTupleSyntaxType?: RecordAndTuplePluginOptions[\"syntaxType\"];\n /**\n * For use with the Hack-style pipe operator.\n * Changes what token is used for pipe bodies’ topic references.\n */\n topicToken?: PipelineOperatorPluginOptions[\"topicToken\"];\n}\n\nexport interface GeneratorResult {\n code: string;\n map: {\n version: number;\n sources: readonly string[];\n names: readonly string[];\n sourceRoot?: string;\n sourcesContent?: readonly string[];\n mappings: string;\n file?: string;\n } | null;\n decodedMap: DecodedSourceMap | undefined;\n rawMappings: Mapping[] | undefined;\n}\n\n/**\n * We originally exported the Generator class above, but to make it extra clear that it is a private API,\n * we have moved that to an internal class instance and simplified the interface to the two public methods\n * that we wish to support.\n */\n\nexport class CodeGenerator {\n private _generator: Generator;\n constructor(ast: t.Node, opts?: GeneratorOptions, code?: string) {\n this._generator = new Generator(ast, opts, code);\n }\n generate(): GeneratorResult {\n return this._generator.generate();\n }\n}\n\n/**\n * Turns an AST into code, maintaining sourcemaps, user preferences, and valid output.\n * @param ast - the abstract syntax tree from which to generate output code.\n * @param opts - used for specifying options for code generation.\n * @param code - the original source code, used for source maps.\n * @returns - an object containing the output code and source map.\n */\nexport default function generate(\n ast: t.Node,\n opts?: GeneratorOptions,\n code?: string | { [filename: string]: string },\n) {\n const gen = new Generator(ast, opts, code);\n return gen.generate();\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["Generator","Printer","constructor","ast","opts","code","format","normalizeOptions","map","sourceMaps","SourceMap","generate","auxiliaryCommentBefore","auxiliaryCommentAfter","shouldPrintComment","retainLines","retainFunctionParens","comments","compact","minified","concise","indent","adjustMultilineComment","style","jsescOption","quotes","wrap","minimal","recordAndTupleSyntaxType","topicToken","decoratorsBeforeExport","jsonCompatibleStrings","value","includes","length","console","error","filename","undefined","CodeGenerator","_generator","gen"],"sources":["../src/index.ts"],"sourcesContent":["import SourceMap from \"./source-map\";\nimport Printer from \"./printer\";\nimport type * as t from \"@babel/types\";\nimport type { Opts as jsescOptions } from \"jsesc\";\nimport type { Format } from \"./printer\";\nimport type {\n RecordAndTuplePluginOptions,\n PipelineOperatorPluginOptions,\n} from \"@babel/parser\";\nimport type { DecodedSourceMap, Mapping } from \"@jridgewell/gen-mapping\";\n\n/**\n * Babel's code generator, turns an ast into code, maintaining sourcemaps,\n * user preferences, and valid output.\n */\n\nclass Generator extends Printer {\n constructor(\n ast: t.Node,\n opts: GeneratorOptions = {},\n code: string | { [filename: string]: string },\n ) {\n const format = normalizeOptions(code, opts);\n const map = opts.sourceMaps ? new SourceMap(opts, code) : null;\n super(format, map);\n\n this.ast = ast;\n }\n\n ast: t.Node;\n\n /**\n * Generate code and sourcemap from ast.\n *\n * Appends comments that weren't attached to any node to the end of the generated output.\n */\n\n generate() {\n return super.generate(this.ast);\n }\n}\n\n/**\n * Normalize generator options, setting defaults.\n *\n * - Detects code indentation.\n * - If `opts.compact = \"auto\"` and the code is over 500KB, `compact` will be set to `true`.\n */\n\nfunction normalizeOptions(\n code: string | { [filename: string]: string },\n opts: GeneratorOptions,\n): Format {\n const format: Format = {\n auxiliaryCommentBefore: opts.auxiliaryCommentBefore,\n auxiliaryCommentAfter: opts.auxiliaryCommentAfter,\n shouldPrintComment: opts.shouldPrintComment,\n retainLines: opts.retainLines,\n retainFunctionParens: opts.retainFunctionParens,\n comments: opts.comments == null || opts.comments,\n compact: opts.compact,\n minified: opts.minified,\n concise: opts.concise,\n indent: {\n adjustMultilineComment: true,\n style: \" \",\n },\n jsescOption: {\n quotes: \"double\",\n wrap: true,\n minimal: process.env.BABEL_8_BREAKING ? true : false,\n ...opts.jsescOption,\n },\n recordAndTupleSyntaxType: opts.recordAndTupleSyntaxType,\n topicToken: opts.topicToken,\n };\n\n if (!process.env.BABEL_8_BREAKING) {\n format.decoratorsBeforeExport = !!opts.decoratorsBeforeExport;\n format.jsonCompatibleStrings = opts.jsonCompatibleStrings;\n }\n\n if (format.minified) {\n format.compact = true;\n\n format.shouldPrintComment =\n format.shouldPrintComment || (() => format.comments);\n } else {\n format.shouldPrintComment =\n format.shouldPrintComment ||\n (value =>\n format.comments ||\n value.includes(\"@license\") ||\n value.includes(\"@preserve\"));\n }\n\n if (format.compact === \"auto\") {\n format.compact = code.length > 500_000; // 500KB\n\n if (format.compact) {\n console.error(\n \"[BABEL] Note: The code generator has deoptimised the styling of \" +\n `${opts.filename} as it exceeds the max of ${\"500KB\"}.`,\n );\n }\n }\n\n if (format.compact) {\n format.indent.adjustMultilineComment = false;\n }\n\n const { auxiliaryCommentBefore, auxiliaryCommentAfter, shouldPrintComment } =\n format;\n\n if (auxiliaryCommentBefore && !shouldPrintComment(auxiliaryCommentBefore)) {\n format.auxiliaryCommentBefore = undefined;\n }\n if (auxiliaryCommentAfter && !shouldPrintComment(auxiliaryCommentAfter)) {\n format.auxiliaryCommentAfter = undefined;\n }\n\n return format;\n}\n\nexport interface GeneratorOptions {\n /**\n * Optional string to add as a block comment at the start of the output file.\n */\n auxiliaryCommentBefore?: string;\n\n /**\n * Optional string to add as a block comment at the end of the output file.\n */\n auxiliaryCommentAfter?: string;\n\n /**\n * Function that takes a comment (as a string) and returns true if the comment should be included in the output.\n * By default, comments are included if `opts.comments` is `true` or if `opts.minifed` is `false` and the comment\n * contains `@preserve` or `@license`.\n */\n shouldPrintComment?(comment: string): boolean;\n\n /**\n * Attempt to use the same line numbers in the output code as in the source code (helps preserve stack traces).\n * Defaults to `false`.\n */\n retainLines?: boolean;\n\n /**\n * Retain parens around function expressions (could be used to change engine parsing behavior)\n * Defaults to `false`.\n */\n retainFunctionParens?: boolean;\n\n /**\n * Should comments be included in output? Defaults to `true`.\n */\n comments?: boolean;\n\n /**\n * Set to true to avoid adding whitespace for formatting. Defaults to the value of `opts.minified`.\n */\n compact?: boolean | \"auto\";\n\n /**\n * Should the output be minified. Defaults to `false`.\n */\n minified?: boolean;\n\n /**\n * Set to true to reduce whitespace (but not as much as opts.compact). Defaults to `false`.\n */\n concise?: boolean;\n\n /**\n * Used in warning messages\n */\n filename?: string;\n\n /**\n * Enable generating source maps. Defaults to `false`.\n */\n sourceMaps?: boolean;\n\n /**\n * A root for all relative URLs in the source map.\n */\n sourceRoot?: string;\n\n /**\n * The filename for the source code (i.e. the code in the `code` argument).\n * This will only be used if `code` is a string.\n */\n sourceFileName?: string;\n\n /**\n * Set to true to run jsesc with \"json\": true to print \"\\u00A9\" vs. \"©\";\n * @deprecated use `jsescOptions: { json: true }` instead\n */\n jsonCompatibleStrings?: boolean;\n\n /**\n * Set to true to enable support for experimental decorators syntax before module exports.\n * Defaults to `false`.\n * @deprecated Removed in Babel 8\n */\n decoratorsBeforeExport?: boolean;\n\n /**\n * Options for outputting jsesc representation.\n */\n jsescOption?: jsescOptions;\n\n /**\n * For use with the recordAndTuple token.\n */\n recordAndTupleSyntaxType?: RecordAndTuplePluginOptions[\"syntaxType\"];\n /**\n * For use with the Hack-style pipe operator.\n * Changes what token is used for pipe bodies’ topic references.\n */\n topicToken?: PipelineOperatorPluginOptions[\"topicToken\"];\n}\n\nexport interface GeneratorResult {\n code: string;\n map: {\n version: number;\n sources: readonly string[];\n names: readonly string[];\n sourceRoot?: string;\n sourcesContent?: readonly string[];\n mappings: string;\n file?: string;\n } | null;\n decodedMap: DecodedSourceMap | undefined;\n rawMappings: Mapping[] | undefined;\n}\n\n/**\n * We originally exported the Generator class above, but to make it extra clear that it is a private API,\n * we have moved that to an internal class instance and simplified the interface to the two public methods\n * that we wish to support.\n */\n\nexport class CodeGenerator {\n private _generator: Generator;\n constructor(ast: t.Node, opts?: GeneratorOptions, code?: string) {\n this._generator = new Generator(ast, opts, code);\n }\n generate(): GeneratorResult {\n return this._generator.generate();\n }\n}\n\n/**\n * Turns an AST into code, maintaining sourcemaps, user preferences, and valid output.\n * @param ast - the abstract syntax tree from which to generate output code.\n * @param opts - used for specifying options for code generation.\n * @param code - the original source code, used for source maps.\n * @returns - an object containing the output code and source map.\n */\nexport default function generate(\n ast: t.Node,\n opts?: GeneratorOptions,\n code?: string | { [filename: string]: string },\n) {\n const gen = new Generator(ast, opts, code);\n return gen.generate();\n}\n"],"mappings":"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"}
|
|
@@ -340,7 +340,10 @@ class Printer {
|
|
|
340
340
|
} else {
|
|
341
341
|
shouldPrintParens = needsParens(node, parent, this._printStack);
|
|
342
342
|
}
|
|
343
|
-
if (shouldPrintParens)
|
|
343
|
+
if (shouldPrintParens) {
|
|
344
|
+
this.tokenChar(40);
|
|
345
|
+
this._endsWithInnerRaw = false;
|
|
346
|
+
}
|
|
344
347
|
this._lastCommentLine = 0;
|
|
345
348
|
this._printLeadingComments(node, parent);
|
|
346
349
|
const loc = nodeType === "Program" || nodeType === "File" ? null : node.loc;
|
|
@@ -436,9 +439,16 @@ class Printer {
|
|
|
436
439
|
this.print(node, parent);
|
|
437
440
|
}
|
|
438
441
|
_printTrailingComments(node, parent, lineOffset) {
|
|
439
|
-
const
|
|
440
|
-
|
|
441
|
-
|
|
442
|
+
const {
|
|
443
|
+
innerComments,
|
|
444
|
+
trailingComments
|
|
445
|
+
} = node;
|
|
446
|
+
if (innerComments != null && innerComments.length) {
|
|
447
|
+
this._printComments(2, innerComments, node, parent, lineOffset);
|
|
448
|
+
}
|
|
449
|
+
if (trailingComments != null && trailingComments.length) {
|
|
450
|
+
this._printComments(2, trailingComments, node, parent, lineOffset);
|
|
451
|
+
}
|
|
442
452
|
}
|
|
443
453
|
_printLeadingComments(node, parent) {
|
|
444
454
|
const comments = node.leadingComments;
|
|
@@ -503,15 +513,20 @@ class Printer {
|
|
|
503
513
|
}
|
|
504
514
|
}
|
|
505
515
|
|
|
506
|
-
|
|
507
|
-
if (comment.ignore) return
|
|
508
|
-
if (this._printedComments.has(comment)) return
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
return true;
|
|
516
|
+
_shouldPrintComment(comment) {
|
|
517
|
+
if (comment.ignore) return 0;
|
|
518
|
+
if (this._printedComments.has(comment)) return 0;
|
|
519
|
+
if (this._noLineTerminator && (HAS_NEWLINE.test(comment.value) || HAS_BlOCK_COMMENT_END.test(comment.value))) {
|
|
520
|
+
return 2;
|
|
512
521
|
}
|
|
513
|
-
if (!this.format.shouldPrintComment(comment.value)) return false;
|
|
514
522
|
this._printedComments.add(comment);
|
|
523
|
+
if (!this.format.shouldPrintComment(comment.value)) {
|
|
524
|
+
return 0;
|
|
525
|
+
}
|
|
526
|
+
return 1;
|
|
527
|
+
}
|
|
528
|
+
_printComment(comment, skipNewLines) {
|
|
529
|
+
const noLineTerminator = this._noLineTerminator;
|
|
515
530
|
const isBlockComment = comment.type === "CommentBlock";
|
|
516
531
|
|
|
517
532
|
const printNewLines = isBlockComment && skipNewLines !== 1 && !this._noLineTerminator;
|
|
@@ -553,7 +568,6 @@ class Printer {
|
|
|
553
568
|
if (printNewLines && skipNewLines !== 3) {
|
|
554
569
|
this.newline(1);
|
|
555
570
|
}
|
|
556
|
-
return false;
|
|
557
571
|
}
|
|
558
572
|
_printComments(type, comments, node, parent, lineOffset = 0) {
|
|
559
573
|
const nodeLoc = node.loc;
|
|
@@ -566,8 +580,12 @@ class Printer {
|
|
|
566
580
|
const maybeNewline = this._noLineTerminator ? function () {} : this.newline.bind(this);
|
|
567
581
|
for (let i = 0; i < len; i++) {
|
|
568
582
|
const comment = comments[i];
|
|
569
|
-
const
|
|
570
|
-
if (
|
|
583
|
+
const shouldPrint = this._shouldPrintComment(comment);
|
|
584
|
+
if (shouldPrint === 2) {
|
|
585
|
+
hasLoc = false;
|
|
586
|
+
break;
|
|
587
|
+
}
|
|
588
|
+
if (hasLoc && comment.loc && shouldPrint === 1) {
|
|
571
589
|
const commentStartLine = comment.loc.start.line;
|
|
572
590
|
const commentEndLine = comment.loc.end.line;
|
|
573
591
|
if (type === 0) {
|
|
@@ -590,7 +608,7 @@ class Printer {
|
|
|
590
608
|
const offset = commentStartLine - (i === 0 ? nodeStartLine : lastLine);
|
|
591
609
|
lastLine = commentEndLine;
|
|
592
610
|
maybeNewline(offset);
|
|
593
|
-
|
|
611
|
+
this._printComment(comment, 1);
|
|
594
612
|
if (i + 1 === len) {
|
|
595
613
|
maybeNewline(Math.min(1, nodeEndLine - lastLine));
|
|
596
614
|
lastLine = nodeEndLine;
|
|
@@ -603,7 +621,9 @@ class Printer {
|
|
|
603
621
|
}
|
|
604
622
|
} else {
|
|
605
623
|
hasLoc = false;
|
|
606
|
-
if (
|
|
624
|
+
if (shouldPrint !== 1) {
|
|
625
|
+
continue;
|
|
626
|
+
}
|
|
607
627
|
if (len === 1) {
|
|
608
628
|
const singleLine = comment.loc ? comment.loc.start.line === comment.loc.end.line : !HAS_NEWLINE.test(comment.value);
|
|
609
629
|
const shouldSkipNewline = singleLine && !isStatement(node) && !isClassBody(parent) && !isTSInterfaceBody(parent);
|
|
@@ -612,16 +632,13 @@ class Printer {
|
|
|
612
632
|
body: node
|
|
613
633
|
}) ? 1 : 0);
|
|
614
634
|
} else if (shouldSkipNewline && type === 2) {
|
|
615
|
-
|
|
616
|
-
break;
|
|
617
|
-
}
|
|
635
|
+
this._printComment(comment, 1);
|
|
618
636
|
} else {
|
|
619
637
|
this._printComment(comment, 0);
|
|
620
638
|
}
|
|
621
639
|
} else if (type === 1 && !(node.type === "ObjectExpression" && node.properties.length > 1) && node.type !== "ClassBody" && node.type !== "TSInterfaceBody") {
|
|
622
640
|
|
|
623
|
-
|
|
624
|
-
if (skippedDueToNewline) break;
|
|
641
|
+
this._printComment(comment, i === 0 ? 2 : i === len - 1 ? 3 : 0);
|
|
625
642
|
} else {
|
|
626
643
|
this._printComment(comment, 0);
|
|
627
644
|
}
|