UNPKG

prettier-plugin-embed

Version:

A configurable Prettier plugin to format embedded languages in JS/TS files.

141 lines (140 loc) 14.4 kB
import type { Expression, Node, TemplateLiteral } from "estree"; import { type AstPath, type Options, type Printer } from "prettier"; import { type EmbeddedComment, type EmbeddedLanguage, type EmbeddedTag } from "./embedded/index.js"; export declare function resolveEmbeddedOverrideOptions(embeddedOverridesString: string | undefined, { commentOrTag, kind, filepath, }: { commentOrTag: EmbeddedComment | EmbeddedTag; kind: "comment" | "tag"; filepath?: string; }): Promise<{ embeddedCssParser?: ("css" | "less" | "scss") | undefined; embeddedEsParser?: import("./embedded/es/options.js").EsParser | undefined; embeddedHtmlParser?: ("html" | "vue" | "angular" | "lwc") | undefined; embeddedJsonParser?: ("json" | "json5" | "jsonc" | "json-stringify") | undefined; embeddedMarkdownParser?: ("markdown" | "mdx" | "remark") | undefined; embeddedTsParser?: import("./embedded/ts/options.js").TsParser | undefined; embeddedRubyParser?: import("./embedded/ruby/options.js").RubyParser | undefined; embeddedSqlPlugin?: ("prettier-plugin-sql" | "prettier-plugin-sql-cst") | undefined; embeddedSqlParser?: ("bigquery" | "mariadb" | "mysql" | "postgresql" | "sqlite") | undefined; semi?: boolean | undefined; singleQuote?: boolean | undefined; jsxSingleQuote?: boolean | undefined; trailingComma?: "none" | "es5" | "all" | undefined; bracketSpacing?: boolean | undefined; objectWrap?: "preserve" | "collapse" | undefined; bracketSameLine?: boolean | undefined; rangeStart?: number | undefined; rangeEnd?: number | undefined; requirePragma?: boolean | undefined; insertPragma?: boolean | undefined; proseWrap?: "preserve" | "always" | "never" | undefined; arrowParens?: "always" | "avoid" | undefined; plugins?: (string | import("prettier").Plugin<any>)[] | undefined; htmlWhitespaceSensitivity?: "css" | "strict" | "ignore" | undefined; quoteProps?: "preserve" | "as-needed" | "consistent" | undefined; vueIndentScriptAndStyle?: boolean | undefined; singleAttributePerLine?: boolean | undefined; experimentalOperatorPosition?: "start" | "end" | undefined; experimentalTernaries?: boolean | undefined; jsxBracketSameLine?: boolean | undefined; alignDirectives?: boolean | undefined; alignUniversally?: boolean | undefined; wrapParameters?: boolean | undefined; continuationIndent?: number | undefined; locStart?: ((node: any) => number) | undefined; locEnd?: ((node: any) => number) | undefined; originalText?: string | undefined; keepComments?: boolean | undefined; stopAt?: string | undefined; variant?: import("sh-syntax").LangVariant | undefined; indent?: number | undefined; binaryNextLine?: boolean | undefined; switchCaseIndent?: boolean | undefined; spaceRedirects?: boolean | undefined; keepPadding?: boolean | undefined; minify?: boolean | undefined; functionNextLine?: boolean | undefined; experimentalWasm?: boolean | undefined; sqlKeywordCase?: "preserve" | "upper" | "lower" | undefined; sqlParamTypes?: import("sql-parser-cst/lib/ParserOptions.js").ParamType[] | undefined; sqlCanonicalSyntax?: boolean | undefined; sqlAcceptUnsupportedGrammar?: boolean | undefined; keywordCase?: import("sql-formatter").KeywordCase | undefined; identifierCase?: import("sql-formatter").KeywordCase | undefined; dataTypeCase?: import("sql-formatter").KeywordCase | undefined; functionCase?: import("sql-formatter").KeywordCase | undefined; indentStyle?: import("sql-formatter").IndentStyle | undefined; logicalOperatorNewline?: import("sql-formatter").LogicalOperatorNewline | undefined; expressionWidth?: number | undefined; linesBetweenQueries?: number | undefined; denseOperators?: boolean | undefined; newlineBeforeSemicolon?: boolean | undefined; params?: ((import("sql-formatter").ParamItems | string[]) & string) | undefined; paramTypes?: (import("sql-formatter").ParamTypes & string) | undefined; dialect?: string | undefined; language?: import("sql-formatter").SqlLanguage | undefined; database?: string | undefined; type?: string | undefined; formatter?: ("node-sql-parser" | "sql-cst" | "sql-formatter") | undefined; alignEntries?: boolean | undefined; alignComments?: boolean | undefined; arrayAutoExpand?: boolean | undefined; arrayAutoCollapse?: boolean | undefined; compactArrays?: boolean | undefined; compactInlineTables?: boolean | undefined; compactEntries?: boolean | undefined; indentTables?: boolean | undefined; indentEntries?: boolean | undefined; reorderKeys?: boolean | undefined; allowedBlankLines?: number | undefined; iniSpaceAroundEquals?: boolean | undefined; entrypoint?: "arrayInitializer" | "variableInitializerList" | "block" | "blockStatements" | "blockStatement" | "localVariableDeclarationStatement" | "localVariableDeclaration" | "localVariableType" | "statement" | "statementWithoutTrailingSubstatement" | "emptyStatement" | "labeledStatement" | "expressionStatement" | "statementExpression" | "ifStatement" | "assertStatement" | "switchStatement" | "switchBlock" | "switchBlockStatementGroup" | "switchLabel" | "switchRule" | "caseConstant" | "whileStatement" | "doStatement" | "forStatement" | "basicForStatement" | "forInit" | "forUpdate" | "statementExpressionList" | "enhancedForStatement" | "breakStatement" | "continueStatement" | "returnStatement" | "throwStatement" | "synchronizedStatement" | "tryStatement" | "catches" | "catchClause" | "catchFormalParameter" | "catchType" | "finally" | "tryWithResourcesStatement" | "resourceSpecification" | "resourceList" | "resource" | "yieldStatement" | "variableAccess" | "classDeclaration" | "normalClassDeclaration" | "classModifier" | "typeParameters" | "typeParameterList" | "superclass" | "superinterfaces" | "interfaceTypeList" | "classPermits" | "classBody" | "classBodyDeclaration" | "classMemberDeclaration" | "fieldDeclaration" | "fieldModifier" | "variableDeclaratorList" | "variableDeclarator" | "variableDeclaratorId" | "variableInitializer" | "unannType" | "unannPrimitiveTypeWithOptionalDimsSuffix" | "unannPrimitiveType" | "unannReferenceType" | "unannClassOrInterfaceType" | "unannClassType" | "unannInterfaceType" | "unannTypeVariable" | "methodDeclaration" | "methodModifier" | "methodHeader" | "result" | "methodDeclarator" | "receiverParameter" | "formalParameterList" | "formalParameter" | "variableParaRegularParameter" | "variableArityParameter" | "variableModifier" | "throws" | "exceptionTypeList" | "exceptionType" | "methodBody" | "instanceInitializer" | "staticInitializer" | "constructorDeclaration" | "constructorModifier" | "constructorDeclarator" | "simpleTypeName" | "constructorBody" | "explicitConstructorInvocation" | "unqualifiedExplicitConstructorInvocation" | "qualifiedExplicitConstructorInvocation" | "enumDeclaration" | "enumBody" | "enumConstantList" | "enumConstant" | "enumConstantModifier" | "enumBodyDeclarations" | "recordDeclaration" | "recordHeader" | "recordComponentList" | "recordComponent" | "variableArityRecordComponent" | "recordComponentModifier" | "recordBody" | "recordBodyDeclaration" | "compactConstructorDeclaration" | "isDims" | "expression" | "lambdaExpression" | "lambdaParameters" | "lambdaParametersWithBraces" | "lambdaParameterList" | "inferredLambdaParameterList" | "explicitLambdaParameterList" | "lambdaParameter" | "regularLambdaParameter" | "lambdaParameterType" | "lambdaBody" | "ternaryExpression" | "binaryExpression" | "unaryExpression" | "unaryExpressionNotPlusMinus" | "primary" | "primaryPrefix" | "primarySuffix" | "fqnOrRefType" | "fqnOrRefTypePartRest" | "fqnOrRefTypePartCommon" | "fqnOrRefTypePartFirst" | "parenthesisExpression" | "castExpression" | "primitiveCastExpression" | "referenceTypeCastExpression" | "newExpression" | "unqualifiedClassInstanceCreationExpression" | "classOrInterfaceTypeToInstantiate" | "typeArgumentsOrDiamond" | "diamond" | "methodInvocationSuffix" | "argumentList" | "arrayCreationExpression" | "arrayCreationDefaultInitSuffix" | "arrayCreationExplicitInitSuffix" | "dimExprs" | "dimExpr" | "classLiteralSuffix" | "arrayAccessSuffix" | "methodReferenceSuffix" | "pattern" | "typePattern" | "recordPattern" | "componentPatternList" | "componentPattern" | "unnamedPattern" | "guard" | "isRefTypeInMethodRef" | "interfaceDeclaration" | "normalInterfaceDeclaration" | "interfaceModifier" | "extendsInterfaces" | "interfacePermits" | "interfaceBody" | "interfaceMemberDeclaration" | "constantDeclaration" | "constantModifier" | "interfaceMethodDeclaration" | "interfaceMethodModifier" | "annotationTypeDeclaration" | "annotationTypeBody" | "annotationTypeMemberDeclaration" | "annotationTypeElementDeclaration" | "annotationTypeElementModifier" | "defaultValue" | "annotation" | "elementValuePairList" | "elementValuePair" | "elementValue" | "elementValueArrayInitializer" | "elementValueList" | "literal" | "integerLiteral" | "floatingPointLiteral" | "booleanLiteral" | "moduleName" | "packageName" | "typeName" | "expressionName" | "methodName" | "packageOrTypeName" | "ambiguousName" | "compilationUnit" | "ordinaryCompilationUnit" | "modularCompilationUnit" | "packageDeclaration" | "packageModifier" | "importDeclaration" | "typeDeclaration" | "moduleDeclaration" | "moduleDirective" | "requiresModuleDirective" | "exportsModuleDirective" | "opensModuleDirective" | "usesModuleDirective" | "providesModuleDirective" | "requiresModifier" | "primitiveType" | "numericType" | "integralType" | "floatingPointType" | "referenceType" | "classOrInterfaceType" | "classType" | "interfaceType" | "typeVariable" | "dims" | "typeParameter" | "typeParameterModifier" | "typeBound" | "additionalBound" | "typeArguments" | "typeArgumentList" | "typeArgument" | "wildcard" | "wildcardBounds" | undefined; actionParser?: (import("./embedded/es/options.js").EsParser | import("./embedded/ts/options.js").TsParser) | undefined; phpVersion?: "5.0" | "5.1" | "5.2" | "5.3" | "5.4" | "5.5" | "5.6" | "7.0" | "7.1" | "7.2" | "7.3" | "7.4" | "8.0" | "8.1" | "8.2" | undefined; trailingCommaPHP?: boolean | undefined; braceStyle?: "psr-2" | "per-cs" | "1tbs" | undefined; escapeNonLatin1?: boolean | undefined; keySeparator?: " " | ":" | "=" | ": " | "= " | " : " | " = " | undefined; pugPrintWidth?: number | undefined; pugSingleQuote?: boolean | undefined; pugTabWidth?: number | undefined; pugUseTabs?: boolean | undefined; pugBracketSpacing?: boolean | undefined; pugArrowParens?: "avoid" | "always" | undefined; pugSemi?: boolean | undefined; pugBracketSameLine?: boolean | undefined; pugAttributeSeparator?: "always" | "as-needed" | "none" | undefined; pugCommentPreserveSpaces?: "keep-all" | "keep-leading" | "trim-all" | undefined; pugSortAttributes?: "asc" | "desc" | "as-is" | undefined; pugSortAttributesBeginning?: string[] | undefined; pugSortAttributesEnd?: string[] | undefined; pugWrapAttributesThreshold?: number | undefined; pugWrapAttributesPattern?: string | undefined; pugClassLocation?: "before-attributes" | "after-attributes" | undefined; pugClassNotation?: "literal" | "attribute" | "as-is" | undefined; pugIdNotation?: "literal" | "as-is" | undefined; pugEmptyAttributes?: "as-is" | "none" | "all" | undefined; pugEmptyAttributesForceQuotes?: "as-is" | "none" | "all" | undefined; pugSingleFileComponentIndentation?: boolean | undefined; pugFramework?: "auto" | "vue" | "svelte" | "angular" | undefined; pugExplicitDiv?: boolean | undefined; pugPreserveAttributeBrackets?: boolean | undefined; rubyPlugins?: import("./embedded/utils.js").AutocompleteStringList<"plugin/single_quotes" | "plugin/trailing_comma" | "plugin/disable_auto_ternary"> | undefined; rubySingleQuote?: boolean | undefined; rubyExecutablePath?: string | undefined; xmlSelfClosingSpace?: boolean | undefined; xmlWhitespaceSensitivity?: "strict" | "preserve" | "ignore" | undefined; xmlSortAttributesByKey?: boolean | undefined; xmlQuoteAttributes?: "preserve" | "single" | "double" | undefined; } | undefined>; export declare const compareTagExpressionToTagString: (tagExpression: Expression, tagString: string, parse: (text: string) => Node | Promise<Node>) => boolean; export declare function parseCommentFromTemplateLiteralAstPath({ node, parent, }: AstPath<Node> & { node: TemplateLiteral; }): string | undefined; export declare function parseTagFromTemplateLiteralAstPath({ parent, }: AstPath<Node> & { node: TemplateLiteral; }): string | TemplateLiteral | import("estree").ArrayExpression | import("estree").ArrowFunctionExpression | import("estree").AssignmentExpression | import("estree").AwaitExpression | import("estree").BinaryExpression | import("estree").CallExpression | import("estree").ChainExpression | import("estree").ClassExpression | import("estree").ConditionalExpression | import("estree").FunctionExpression | import("estree").ImportExpression | import("estree").Literal | import("estree").LogicalExpression | import("estree").MemberExpression | import("estree").MetaProperty | import("estree").ObjectExpression | import("estree").SequenceExpression | import("estree").TaggedTemplateExpression | import("estree").ThisExpression | import("estree").UnaryExpression | import("estree").UpdateExpression | import("estree").YieldExpression | undefined; export declare function createCommentsInOptionsGenerator(options: Options, comment: string): (_: EmbeddedLanguage) => Generator<string, void, undefined>; export declare function createTagsInOptionsGenerator(options: Options, tag?: string): (_: EmbeddedLanguage) => Generator<string, void, undefined>; export declare function createEmbeddedDoc(node: TemplateLiteral, embeddedLanguage: EmbeddedLanguage, commentOrTag: EmbeddedComment | EmbeddedTag, kind: "comment" | "tag", options: Options): ReturnType<Exclude<Printer["embed"], undefined>>; export declare function assumeAs<T>(_: unknown): asserts _ is T; export declare function compareObjects<T1 extends Record<string | number | symbol, unknown>, T2 extends Record<string | number | symbol, unknown>>(value1: T1, value2: T2, ignoreSet?: Set<keyof T1 | keyof T2>): boolean;