diff --git a/src/__tests__/__snapshots__/attr-conditional-expression.expected/auto.marko b/src/__tests__/__snapshots__/attr-conditional-expression.expected/auto.marko index b9405bb..2eb5b59 100644 --- a/src/__tests__/__snapshots__/attr-conditional-expression.expected/auto.marko +++ b/src/__tests__/__snapshots__/attr-conditional-expression.expected/auto.marko @@ -1 +1 @@ -
+
diff --git a/src/__tests__/__snapshots__/attr-conditional-expression.expected/concise.marko b/src/__tests__/__snapshots__/attr-conditional-expression.expected/concise.marko index 871e85a..b941698 100644 --- a/src/__tests__/__snapshots__/attr-conditional-expression.expected/concise.marko +++ b/src/__tests__/__snapshots__/attr-conditional-expression.expected/concise.marko @@ -1 +1 @@ -div data-foo=a ? b : c data-bar=a ? b : c +div data-foo=(a ? b : c) data-bar=(a ? b : c) diff --git a/src/__tests__/__snapshots__/attr-conditional-expression.expected/html.marko b/src/__tests__/__snapshots__/attr-conditional-expression.expected/html.marko index b9405bb..2eb5b59 100644 --- a/src/__tests__/__snapshots__/attr-conditional-expression.expected/html.marko +++ b/src/__tests__/__snapshots__/attr-conditional-expression.expected/html.marko @@ -1 +1 @@ -
+
diff --git a/src/__tests__/__snapshots__/scriptlet-multi-line.expected/auto.marko b/src/__tests__/__snapshots__/scriptlet-multi-line.expected/auto.marko index 0bb0780..a9bd6fa 100644 --- a/src/__tests__/__snapshots__/scriptlet-multi-line.expected/auto.marko +++ b/src/__tests__/__snapshots__/scriptlet-multi-line.expected/auto.marko @@ -1,3 +1,5 @@ -$ var foo = { - bar: "foo", -}; +$ { + var foo = { + bar: "foo", + }; +} diff --git a/src/__tests__/__snapshots__/scriptlet-multi-line.expected/concise.marko b/src/__tests__/__snapshots__/scriptlet-multi-line.expected/concise.marko index 0bb0780..a9bd6fa 100644 --- a/src/__tests__/__snapshots__/scriptlet-multi-line.expected/concise.marko +++ b/src/__tests__/__snapshots__/scriptlet-multi-line.expected/concise.marko @@ -1,3 +1,5 @@ -$ var foo = { - bar: "foo", -}; +$ { + var foo = { + bar: "foo", + }; +} diff --git a/src/__tests__/__snapshots__/scriptlet-multi-line.expected/html.marko b/src/__tests__/__snapshots__/scriptlet-multi-line.expected/html.marko index 0bb0780..a9bd6fa 100644 --- a/src/__tests__/__snapshots__/scriptlet-multi-line.expected/html.marko +++ b/src/__tests__/__snapshots__/scriptlet-multi-line.expected/html.marko @@ -1,3 +1,5 @@ -$ var foo = { - bar: "foo", -}; +$ { + var foo = { + bar: "foo", + }; +} diff --git a/src/__tests__/__snapshots__/scriptlet-multi-line.expected/with-parens.marko b/src/__tests__/__snapshots__/scriptlet-multi-line.expected/with-parens.marko index 0bb0780..a9bd6fa 100644 --- a/src/__tests__/__snapshots__/scriptlet-multi-line.expected/with-parens.marko +++ b/src/__tests__/__snapshots__/scriptlet-multi-line.expected/with-parens.marko @@ -1,3 +1,5 @@ -$ var foo = { - bar: "foo", -}; +$ { + var foo = { + bar: "foo", + }; +} diff --git a/src/index.ts b/src/index.ts index 8b04a58..5072741 100644 --- a/src/index.ts +++ b/src/index.ts @@ -115,6 +115,18 @@ export const parsers: Record> = { output: "source", sourceMaps: false, writeVersionComment: false, + babelConfig: { + caller: { name: "@marko/prettier" }, + babelrc: false, + configFile: false, + parserOpts: { + allowUndeclaredExports: true, + allowAwaitOutsideFunction: true, + allowReturnOutsideFunction: true, + allowImportExportEverywhere: true, + plugins: ["exportDefaultFrom", "importAssertions"], + }, + }, }); opts.originalText = text; @@ -322,6 +334,7 @@ export const printers: Record> = { t.isMarkoAttribute(childNode) && (childNode.name === "class" || childNode.name === "id") && t.isStringLiteral(childNode.value) && + !childNode.modifier && shorthandIdOrClassReg.test(childNode.value.value) ) { const symbol = childNode.name === "class" ? "." : "#"; diff --git a/src/utils/outer-code-matches.ts b/src/utils/outer-code-matches.ts index dfe4953..ce4b1fc 100644 --- a/src/utils/outer-code-matches.ts +++ b/src/utils/outer-code-matches.ts @@ -82,7 +82,7 @@ const unenclosedPatterns: Pattern[] = [ { // Symbol operators match: - /\s*(?:[\^~%:!]|\+{1,2}|\*{1,2}|-(?:-(?!\s))?|&{1,2}|\|{1,2}|\?{1,2}|[!=]={0,2}|<{2,3}|>{2,3}|<=?|>=)\s*/y, + /\s*(?:[\^~%!]|\+{1,2}|\*{1,2}|-(?:-(?!\s))?|&{1,2}|\|{1,2}|!={0,2}|===?|<{2,3}|>{2,3}|<=?|>=)\s*/y, }, ].concat(enclosedPatterns);