prettier-plugin-embed 0.0.6 → 0.2.0

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.
Files changed (62) hide show
  1. package/README.bak +211 -0
  2. package/README.md +208 -3
  3. package/dist/embedded/css/embedded-language.d.ts +6 -0
  4. package/dist/embedded/css/embedder.d.ts +9 -0
  5. package/dist/embedded/css/index.d.ts +3 -0
  6. package/dist/embedded/css/options.d.ts +37 -0
  7. package/dist/embedded/es/embedded-language.d.ts +6 -0
  8. package/dist/embedded/es/embedder.d.ts +9 -0
  9. package/dist/embedded/es/index.d.ts +3 -0
  10. package/dist/embedded/es/options.d.ts +48 -0
  11. package/dist/embedded/glsl/embedded-language.d.ts +6 -0
  12. package/dist/embedded/glsl/embedder.d.ts +9 -0
  13. package/dist/embedded/glsl/index.d.ts +3 -0
  14. package/dist/embedded/glsl/options.d.ts +37 -0
  15. package/dist/embedded/html/embedded-language.d.ts +6 -0
  16. package/dist/embedded/html/embedder.d.ts +9 -0
  17. package/dist/embedded/html/index.d.ts +3 -0
  18. package/dist/embedded/html/options.d.ts +37 -0
  19. package/dist/embedded/index.d.ts +2 -1
  20. package/dist/embedded/markdown/embedded-language.d.ts +6 -0
  21. package/dist/embedded/markdown/embedder.d.ts +9 -0
  22. package/dist/embedded/markdown/index.d.ts +3 -0
  23. package/dist/embedded/markdown/options.d.ts +38 -0
  24. package/dist/embedded/noop/embedded-language.d.ts +6 -0
  25. package/dist/embedded/noop/index.d.ts +2 -2
  26. package/dist/embedded/noop/options.d.ts +24 -0
  27. package/dist/embedded/php/embedded-language.d.ts +6 -0
  28. package/dist/embedded/php/embedder.d.ts +2 -2
  29. package/dist/embedded/php/index.d.ts +2 -2
  30. package/dist/embedded/php/options.d.ts +40 -0
  31. package/dist/embedded/register.d.ts +13 -6
  32. package/dist/embedded/ruby/embedded-language.d.ts +6 -0
  33. package/dist/embedded/ruby/embedder.d.ts +9 -0
  34. package/dist/embedded/ruby/index.d.ts +3 -0
  35. package/dist/embedded/ruby/options.d.ts +60 -0
  36. package/dist/embedded/sql/embedded-language.d.ts +6 -0
  37. package/dist/embedded/sql/embedder.d.ts +2 -2
  38. package/dist/embedded/sql/index.d.ts +2 -2
  39. package/dist/embedded/sql/options.d.ts +38 -0
  40. package/dist/embedded/ts/embedded-language.d.ts +6 -0
  41. package/dist/embedded/ts/embedder.d.ts +9 -0
  42. package/dist/embedded/ts/index.d.ts +3 -0
  43. package/dist/embedded/ts/options.d.ts +48 -0
  44. package/dist/embedded/types.d.ts +10 -9
  45. package/dist/embedded/utils.d.ts +17 -4
  46. package/dist/embedded/xml/embedded-language.d.ts +6 -0
  47. package/dist/embedded/xml/embedder.d.ts +3 -3
  48. package/dist/embedded/xml/index.d.ts +2 -2
  49. package/dist/embedded/xml/options.d.ts +51 -0
  50. package/dist/embedded/xml/parser.d.ts +3 -5
  51. package/dist/index.js +1191 -338
  52. package/dist/options.d.ts +178 -5
  53. package/dist/types.d.ts +1 -1
  54. package/package.json +28 -17
  55. package/dist/embedded/noop/name.d.ts +0 -6
  56. package/dist/embedded/noop/option.d.ts +0 -11
  57. package/dist/embedded/php/name.d.ts +0 -6
  58. package/dist/embedded/php/option.d.ts +0 -20
  59. package/dist/embedded/sql/name.d.ts +0 -6
  60. package/dist/embedded/sql/option.d.ts +0 -21
  61. package/dist/embedded/xml/name.d.ts +0 -6
  62. package/dist/embedded/xml/option.d.ts +0 -21
package/dist/options.d.ts CHANGED
@@ -1,13 +1,186 @@
1
- import type { SupportOptions } from "prettier";
2
- import { PrettierPluginEmbedOptions } from "./embedded/index.js";
3
- export declare const options: SupportOptions;
1
+ import { PrettierPluginEmbedOptions, EmbeddedDefaultIdentifier, AutocompleteStringList } from "./embedded/index.js";
2
+ type EmbeddedIdentifiers = AutocompleteStringList<EmbeddedDefaultIdentifier[]>;
3
+ declare const NO_EMBEDDED_IDENTIFICATION_BY_COMMENT = "noEmbeddedIdentificationByComment";
4
+ declare const NO_EMBEDDED_IDENTIFICATION_BY_TAG = "noEmbeddedIdentificationByTag";
5
+ declare const PRESERVE_EMBEDDED_EXTERIOR_WHITESPACES = "preserveEmbeddedExteriorWhitespaces";
6
+ declare const NO_EMBEDDED_MULTI_LINE_INDENTATION = "noEmbeddedMultiLineIndentation";
7
+ export declare const options: {
8
+ noEmbeddedIdentificationByComment: {
9
+ category: "Global";
10
+ type: "string";
11
+ array: true;
12
+ default: {
13
+ value: never[];
14
+ }[];
15
+ description: string;
16
+ };
17
+ noEmbeddedIdentificationByTag: {
18
+ category: "Global";
19
+ type: "string";
20
+ array: true;
21
+ default: {
22
+ value: never[];
23
+ }[];
24
+ description: string;
25
+ };
26
+ preserveEmbeddedExteriorWhitespaces: {
27
+ category: "Config";
28
+ type: "string";
29
+ array: true;
30
+ default: {
31
+ value: never[];
32
+ }[];
33
+ description: string;
34
+ };
35
+ noEmbeddedMultiLineIndentation: {
36
+ category: "Global";
37
+ type: "string";
38
+ array: true;
39
+ default: {
40
+ value: never[];
41
+ }[];
42
+ description: string;
43
+ };
44
+ embeddedNoopIdentifiers: {
45
+ category: "Global";
46
+ type: "string";
47
+ array: true;
48
+ default: {
49
+ value: never[];
50
+ }[];
51
+ description: string;
52
+ };
53
+ embeddedCssIdentifiers: {
54
+ category: "Global";
55
+ type: "string";
56
+ array: true;
57
+ default: {
58
+ value: "css"[];
59
+ }[];
60
+ description: string;
61
+ };
62
+ embeddedEsIdentifiers: {
63
+ category: "Global";
64
+ type: "string";
65
+ array: true;
66
+ default: {
67
+ value: ("js" | "es" | "es6" | "mjs" | "cjs" | "pac" | "javascript")[];
68
+ }[];
69
+ description: string;
70
+ };
71
+ embeddedEsParser: {
72
+ category: "Global";
73
+ type: "string";
74
+ array: false;
75
+ default: string;
76
+ description: string;
77
+ };
78
+ embeddedGlslIdentifiers: {
79
+ category: "Global";
80
+ type: "string";
81
+ array: true;
82
+ default: {
83
+ value: ("glsl" | "fp" | "frag" | "frg" | "fs" | "fsh" | "fshader" | "geo" | "geom" | "glslf" | "glslv" | "gs" | "gshader" | "rchit" | "rmiss" | "shader" | "tesc" | "tese" | "vert" | "vrx" | "vsh" | "vshader")[];
84
+ }[];
85
+ description: string;
86
+ };
87
+ embeddedHtmlIdentifiers: {
88
+ category: "Global";
89
+ type: "string";
90
+ array: true;
91
+ default: {
92
+ value: ("html" | "htm" | "shtml" | "xhtml" | "xht" | "mdoc" | "jsp" | "asp" | "aspx" | "jshtm" | "volt" | "rhtml")[];
93
+ }[];
94
+ description: string;
95
+ };
96
+ embeddedMarkdownIdentifiers: {
97
+ category: "Global";
98
+ type: "string";
99
+ array: true;
100
+ default: {
101
+ value: ("md" | "livemd" | "markdown" | "mdown" | "mdwn" | "mkd" | "mkdn" | "mkdown" | "ronn" | "scd" | "workbook")[];
102
+ }[];
103
+ description: string;
104
+ };
105
+ embeddedPhpIdentifiers: {
106
+ category: "Global";
107
+ type: "string";
108
+ array: true;
109
+ default: {
110
+ value: ("php" | "php5" | "phtml" | "ctp")[];
111
+ }[];
112
+ description: string;
113
+ };
114
+ embeddedRubyIdentifiers: {
115
+ category: "Global";
116
+ type: "string";
117
+ array: true;
118
+ default: {
119
+ value: ("ruby" | "rbs" | "haml" | "arb" | "axlsx" | "builder" | "eye" | "fcgi" | "gemfile" | "gemspec" | "god" | "jb" | "jbuilder" | "mspec" | "opal" | "pluginspec" | "podspec" | "rabl" | "rake" | "rb" | "rbi" | "rbuild" | "rbw" | "rbx" | "ru" | "thor" | "watchr")[];
120
+ }[];
121
+ description: string;
122
+ };
123
+ embeddedRubyParser: {
124
+ category: "Global";
125
+ type: "string";
126
+ array: false;
127
+ default: undefined;
128
+ description: string;
129
+ };
130
+ embeddedSqlIdentifiers: {
131
+ category: "Global";
132
+ type: "string";
133
+ array: true;
134
+ default: {
135
+ value: ("sql" | "bigquery" | "hive" | "mariadb" | "mysql" | "postgresql" | "db2" | "plsql" | "n1ql" | "redshift" | "singlestoredb" | "spark" | "sqlite" | "transactsql" | "tsql" | "trino")[];
136
+ }[];
137
+ description: string;
138
+ };
139
+ embeddedTsIdentifiers: {
140
+ category: "Global";
141
+ type: "string";
142
+ array: true;
143
+ default: {
144
+ value: ("ts" | "cts" | "mts" | "typescript")[];
145
+ }[];
146
+ description: string;
147
+ };
148
+ embeddedTsParser: {
149
+ category: "Global";
150
+ type: "string";
151
+ array: false;
152
+ default: string;
153
+ description: string;
154
+ };
155
+ embeddedXmlIdentifiers: {
156
+ category: "Global";
157
+ type: "string";
158
+ array: true;
159
+ default: {
160
+ value: ("xml" | "xsd" | "ascx" | "atom" | "axml" | "axaml" | "bpmn" | "cpt" | "csl" | "csproj" | "dita" | "ditamap" | "dtd" | "ent" | "mod" | "dtml" | "fsproj" | "fxml" | "iml" | "isml" | "jmx" | "launch" | "menu" | "nuspec" | "opml" | "owl" | "proj" | "props" | "pt" | "publishsettings" | "pubxml" | "rbxlx" | "rbxmx" | "rdf" | "rng" | "rss" | "shproj" | "storyboard" | "svg" | "targets" | "tld" | "tmx" | "vbproj" | "vcxproj" | "wsdl" | "wxi" | "wxl" | "wxs" | "xaml" | "xbl" | "xib" | "xlf" | "xliff" | "xpdl" | "xul" | "xoml")[];
161
+ }[];
162
+ description: string;
163
+ };
164
+ __embeddedXmlFragmentRecoverIndex: {
165
+ category: "Global";
166
+ type: "int";
167
+ array: true;
168
+ default: {
169
+ value: never[];
170
+ }[];
171
+ description: string;
172
+ };
173
+ };
4
174
  declare module "./embedded/types.js" {
5
175
  interface PrettierPluginEmbedOptions {
6
- noEmbeddedDetectionByComment?: string[];
7
- noEmbeddedDetectionByTag?: string[];
176
+ [NO_EMBEDDED_IDENTIFICATION_BY_COMMENT]?: EmbeddedIdentifiers;
177
+ [NO_EMBEDDED_IDENTIFICATION_BY_TAG]?: EmbeddedIdentifiers;
178
+ [PRESERVE_EMBEDDED_EXTERIOR_WHITESPACES]?: EmbeddedIdentifiers;
179
+ [NO_EMBEDDED_MULTI_LINE_INDENTATION]?: EmbeddedIdentifiers;
8
180
  }
9
181
  }
10
182
  declare module "prettier" {
11
183
  interface Options extends PrettierPluginEmbedOptions {
12
184
  }
13
185
  }
186
+ export {};
package/dist/types.d.ts CHANGED
@@ -8,4 +8,4 @@ export type PrettierNode = EsTreeNode & {
8
8
  })[];
9
9
  };
10
10
  export type InternalPrintFun = (selector?: string | number | (string | number)[] | AstPath<TemplateLiteral>) => Doc;
11
- export type Embedder<T extends Options = Options> = (textToDoc: (text: string, options: T) => Promise<Doc>, print: InternalPrintFun, path: AstPath<TemplateLiteral>, options: T, lang: string, langs: string[]) => Promise<Doc>;
11
+ export type Embedder<T extends Options = Options> = (textToDoc: (text: string, options: T) => Promise<Doc>, print: InternalPrintFun, path: AstPath<TemplateLiteral>, options: T, identifier: string, identifiers: string[]) => Promise<Doc>;
package/package.json CHANGED
@@ -1,12 +1,14 @@
1
1
  {
2
2
  "name": "prettier-plugin-embed",
3
- "description": "A prettier plugin to format embedded languages in js/ts files.",
3
+ "description": "A configurable Prettier plugin to format embedded languages in js/ts files.",
4
4
  "private": false,
5
- "version": "0.0.6",
5
+ "version": "0.2.0",
6
6
  "type": "module",
7
7
  "files": [
8
8
  "./dist"
9
9
  ],
10
+ "main": "./dist/index.js",
11
+ "module": "./dist/index.js",
10
12
  "exports": {
11
13
  ".": {
12
14
  "import": "./dist/index.js",
@@ -51,36 +53,45 @@
51
53
  "test": "vitest",
52
54
  "test:ui": "vitest --ui",
53
55
  "preview": "vite preview",
54
- "prepublishOnly": "npm run build",
56
+ "process-readme": "tsx ./scripts/process-readme",
57
+ "restore-readme": "tsx ./scripts/restore-readme",
58
+ "prepublishOnly": "npm run build && npm run process-readme",
59
+ "postpublish": "npm run restore-readme",
55
60
  "ncu": "npx npm-check-updates -u",
56
61
  "postncu": "npm i"
57
62
  },
58
63
  "devDependencies": {
59
- "@commitlint/cli": "^17.7.2",
60
- "@commitlint/config-conventional": "^17.7.0",
61
- "@prettier/plugin-php": "^0.20.1",
62
- "@prettier/plugin-xml": "^3.2.1",
64
+ "@commitlint/cli": "^18.0.0",
65
+ "@commitlint/config-conventional": "^18.0.0",
63
66
  "@semantic-release/git": "^10.0.1",
64
- "@types/estree": "^1.0.2",
65
- "@typescript-eslint/eslint-plugin": "^6.7.4",
66
- "@typescript-eslint/parser": "^6.7.4",
67
+ "@types/estree": "^1.0.3",
68
+ "@typescript-eslint/eslint-plugin": "^6.8.0",
69
+ "@typescript-eslint/parser": "^6.8.0",
67
70
  "@vitest/browser": "^0.34.6",
68
71
  "@vitest/coverage-istanbul": "^0.34.6",
69
72
  "@vitest/ui": "^0.34.6",
70
73
  "code-tag": "^1.1.0",
71
- "eslint": "^8.50.0",
74
+ "eslint": "^8.51.0",
72
75
  "fast-glob": "^3.3.1",
73
- "npm-check-updates": "^16.14.5",
74
- "playwright": "^1.38.1",
75
- "prettier-plugin-sql": "^0.15.1",
76
+ "npm-check-updates": "^16.14.6",
77
+ "playwright": "^1.39.0",
76
78
  "semantic-release": "^22.0.5",
77
- "tsx": "^3.13.0",
79
+ "tsx": "^3.14.0",
78
80
  "typescript": "^5.2.2",
79
- "vite": "^4.4.11",
81
+ "vite": "^4.5.0",
80
82
  "vitest": "^0.34.6"
81
83
  },
82
84
  "peerDependencies": {
85
+ "@prettier/plugin-php": "^0.20.1",
86
+ "@prettier/plugin-ruby": "^4.0.2",
87
+ "@prettier/plugin-xml": "^3.2.1",
83
88
  "@xml-tools/parser": "^1.0.11",
84
- "prettier": "^3.0.3"
89
+ "chevrotain": "7.1.1",
90
+ "prettier": "^3.0.3",
91
+ "prettier-plugin-glsl": "^0.1.2",
92
+ "prettier-plugin-sql": "^0.15.1"
93
+ },
94
+ "dependencies": {
95
+ "short-unique-id": "^5.0.3"
85
96
  }
86
97
  }
@@ -1,6 +0,0 @@
1
- export declare const name = "embeddedNoop";
2
- declare module "../types.js" {
3
- interface EmbeddedNamesHolder {
4
- [name]: void;
5
- }
6
- }
@@ -1,11 +0,0 @@
1
- import type { SupportOption } from "prettier";
2
- import { name } from "./name.js";
3
- export declare const option: SupportOption;
4
- declare module "../types.js" {
5
- interface EmbeddedOptions {
6
- [name]: typeof option;
7
- }
8
- interface PrettierPluginEmbedOptions {
9
- [name]?: string[];
10
- }
11
- }
@@ -1,6 +0,0 @@
1
- export declare const name = "embeddedPhp";
2
- declare module "../types.js" {
3
- interface EmbeddedNamesHolder {
4
- [name]: void;
5
- }
6
- }
@@ -1,20 +0,0 @@
1
- import type { SupportOption } from "prettier";
2
- import { name } from "./name.js";
3
- export declare const option: SupportOption;
4
- export interface PrettierPluginDepsOptions {
5
- 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";
6
- trailingCommaPHP?: boolean;
7
- braceStyle?: "psr-2" | "per-cs" | "1tbs";
8
- }
9
- declare module "../types.js" {
10
- interface EmbeddedOptions {
11
- [name]: typeof option;
12
- }
13
- interface PrettierPluginEmbedOptions {
14
- [name]?: string[];
15
- }
16
- }
17
- declare module "prettier" {
18
- interface Options extends PrettierPluginDepsOptions {
19
- }
20
- }
@@ -1,6 +0,0 @@
1
- export declare const name = "embeddedSql";
2
- declare module "../types.js" {
3
- interface EmbeddedNamesHolder {
4
- [name]: void;
5
- }
6
- }
@@ -1,21 +0,0 @@
1
- import type { SupportOption } from "prettier";
2
- import type { SqlBaseOptions as PrettierPluginDepsOptions } from "prettier-plugin-sql";
3
- import { name } from "./name.js";
4
- export declare const option: SupportOption;
5
- export declare const SQL_FORMATTER_LANGUAGES: readonly ["sql", "bigquery", "hive", "mariadb", "mysql", "postgresql", "db2", "plsql", "n1ql", "redshift", "singlestoredb", "spark", "sqlite", "transactsql", "tsql", "trino"];
6
- export declare const NODE_SQL_PARSER_DATABASES: readonly ["bigquery", "db2", "hive", "mariadb", "mysql", "postgresql", "transactsql", "flinksql"];
7
- export type SqlFormatterLanguage = (typeof SQL_FORMATTER_LANGUAGES)[number];
8
- export type NodeSqlParserDataBase = (typeof NODE_SQL_PARSER_DATABASES)[number];
9
- export { PrettierPluginDepsOptions };
10
- declare module "../types.js" {
11
- interface EmbeddedOptions {
12
- [name]: typeof option;
13
- }
14
- interface PrettierPluginEmbedOptions {
15
- [name]?: SqlFormatterLanguage[] | NodeSqlParserDataBase[] | string[];
16
- }
17
- }
18
- declare module "prettier" {
19
- interface Options extends PrettierPluginDepsOptions {
20
- }
21
- }
@@ -1,6 +0,0 @@
1
- export declare const name = "embeddedXml";
2
- declare module "../types.js" {
3
- interface EmbeddedNamesHolder {
4
- [name]: void;
5
- }
6
- }
@@ -1,21 +0,0 @@
1
- import type { SupportOption } from "prettier";
2
- import { name } from "./name.js";
3
- export declare const option: SupportOption;
4
- export interface PrettierPluginDepsOptions {
5
- xmlSelfClosingSpace?: boolean;
6
- xmlWhitespaceSensitivity?: "strict" | "preserve" | "ignore";
7
- xmlSortAttributesByKey?: boolean;
8
- xmlQuoteAttributes?: "preserve" | "single" | "double";
9
- }
10
- declare module "../types.js" {
11
- interface EmbeddedOptions {
12
- [name]: typeof option;
13
- }
14
- interface PrettierPluginEmbedOptions {
15
- [name]?: string[];
16
- }
17
- }
18
- declare module "prettier" {
19
- interface Options extends PrettierPluginDepsOptions {
20
- }
21
- }