@front-cmdt/format 1.2.1 → 1.3.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.
package/CHANGELOG.md ADDED
@@ -0,0 +1,16 @@
1
+ # Changelog
2
+
3
+ Все значимые изменения этого проекта будут задокументированы в этом файле.
4
+
5
+ ## [1.2.2] - 2025-01-30
6
+
7
+ ### Добавлено
8
+
9
+ - Автоматическая сортировка Tailwind CSS классов через `prettier-plugin-tailwindcss`
10
+
11
+ ---
12
+
13
+ ## [1.2.1] и ранее
14
+
15
+ - Сортировка импортов через `@trivago/prettier-plugin-sort-imports`
16
+ - Базовая конфигурация Prettier для проектов
package/README.md CHANGED
@@ -1,6 +1,9 @@
1
1
  # @front-cmdt/format
2
2
 
3
- Общий **Prettier config** для проектов. Включает сортировку импортов через `@trivago/prettier-plugin-sort-imports`.
3
+ Общий **Prettier config** для проектов. Включает:
4
+
5
+ - Сортировку импортов через `@trivago/prettier-plugin-sort-imports`
6
+ - Автоматическую сортировку Tailwind CSS классов через `prettier-plugin-tailwindcss`
4
7
 
5
8
  ## Требования
6
9
 
@@ -41,7 +44,10 @@ export default config
41
44
 
42
45
  # @front-cmdt/format (EN)
43
46
 
44
- Shared **Prettier config** for projects. Includes import sorting via `@trivago/prettier-plugin-sort-imports`.
47
+ Shared **Prettier config** for projects. Includes:
48
+
49
+ - Import sorting via `@trivago/prettier-plugin-sort-imports`
50
+ - Automatic Tailwind CSS class sorting via `prettier-plugin-tailwindcss`
45
51
 
46
52
  ## Requirements
47
53
 
@@ -0,0 +1,82 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // src/prettier.config.mjs
20
+ var prettier_config_exports = {};
21
+ __export(prettier_config_exports, {
22
+ default: () => prettier_config_default
23
+ });
24
+ module.exports = __toCommonJS(prettier_config_exports);
25
+ var prettier_config_default = {
26
+ // Запятые в конце: "none" - без запятых, "es5" - где допустимо в ES5, "all" - везде
27
+ trailingComma: "none",
28
+ // Количество пробелов для отступа
29
+ tabWidth: 2,
30
+ // Использовать табы вместо пробелов
31
+ useTabs: false,
32
+ // Добавлять точку с запятой в конце выражений
33
+ semi: false,
34
+ // Использовать одинарные кавычки вместо двойных
35
+ singleQuote: true,
36
+ // Одинарные кавычки в JSX
37
+ jsxSingleQuote: true,
38
+ // Скобки вокруг единственного параметра стрелочной функции: "avoid" - убирать, "always" - всегда
39
+ arrowParens: "avoid",
40
+ // Максимальная длина строки перед переносом
41
+ printWidth: 120,
42
+ // Пробелы внутри фигурных скобок объектов: { foo: bar }
43
+ bracketSpacing: true,
44
+ // Кавычки вокруг ключей объекта: "as-needed" - только когда необходимо
45
+ quoteProps: "as-needed",
46
+ // Закрывающая скобка > на той же строке что и последний атрибут
47
+ bracketSameLine: false,
48
+ // Чувствительность к пробелам в HTML: "css" - как в CSS display свойстве
49
+ htmlWhitespaceSensitivity: "css",
50
+ // --- Настройки плагина сортировки импортов (@trivago/prettier-plugin-sort-imports) ---
51
+ // Добавлять пустую строку между группами импортов
52
+ importOrderSeparation: true,
53
+ // Каждый атрибут JSX на отдельной строке
54
+ singleAttributePerLine: true,
55
+ // Сортировать спецификаторы внутри импорта: import { a, b, c } from 'module'
56
+ importOrderSortSpecifiers: true,
57
+ // Сортировка без учёта регистра
58
+ importOrderCaseInsensitive: true,
59
+ // Плагины парсера для корректной обработки синтаксиса
60
+ importOrderParserPlugins: ["classProperties", "decorators-legacy", "typescript", "jsx"],
61
+ // Порядок группировки импортов (регулярные выражения)
62
+ importOrder: [
63
+ "<THIRD_PARTY_MODULES>",
64
+ // Сторонние модули (node_modules)
65
+ "^react$",
66
+ // React отдельно
67
+ // "^@/app/(.*)$",
68
+ // "^@/pages/(.*)$",
69
+ // "^@/widgets/(.*)$",
70
+ // "^@/features/(.*)$",
71
+ // "^@/entities/(.*)$",
72
+ // "^@/shared/(.*)$",
73
+ "^@/(.*)$",
74
+ // Алиасы проекта (@/)
75
+ "^../(.*)$",
76
+ // Относительные импорты из родительских директорий
77
+ "^./(.*)$"
78
+ // Относительные импорты из текущей директории
79
+ ],
80
+ // Подключённые плагины Prettier
81
+ plugins: ["@trivago/prettier-plugin-sort-imports", "prettier-plugin-tailwindcss"]
82
+ };
@@ -1,6 +1,6 @@
1
1
  /** @type {import("prettier").Config} */
2
2
 
3
- export default {
3
+ var prettier_config = {
4
4
  // Запятые в конце: "none" - без запятых, "es5" - где допустимо в ES5, "all" - везде
5
5
  trailingComma: "none",
6
6
  // Количество пробелов для отступа
@@ -12,7 +12,7 @@ export default {
12
12
  // Использовать одинарные кавычки вместо двойных
13
13
  singleQuote: true,
14
14
  // Одинарные кавычки в JSX
15
- jsSingleQuote: true,
15
+ jsxSingleQuote: true,
16
16
  // Скобки вокруг единственного параметра стрелочной функции: "avoid" - убирать, "always" - всегда
17
17
  arrowParens: "avoid",
18
18
  // Максимальная длина строки перед переносом
@@ -34,9 +34,9 @@ export default {
34
34
  // Сортировать спецификаторы внутри импорта: import { a, b, c } from 'module'
35
35
  importOrderSortSpecifiers: true,
36
36
  // Сортировка без учёта регистра
37
- importOrderInsensitive: true,
37
+ importOrderCaseInsensitive: true,
38
38
  // Плагины парсера для корректной обработки синтаксиса
39
- importOrderParserPlugins: ["classProperties", "decorators-legacy", "typescript"],
39
+ importOrderParserPlugins: ["classProperties", "decorators-legacy", "typescript", "jsx"],
40
40
  // Порядок группировки импортов (регулярные выражения)
41
41
  importOrder: [
42
42
  "<THIRD_PARTY_MODULES>", // Сторонние модули (node_modules)
@@ -52,14 +52,7 @@ export default {
52
52
  "^./(.*)$", // Относительные импорты из текущей директории
53
53
  ],
54
54
  // Подключённые плагины Prettier
55
- plugins: ["@trivago/prettier-plugin-sort-imports", "prettier-plugin-astro"],
56
- // Переопределения для конкретных типов файлов
57
- overrides: [
58
- {
59
- files: "*.astro",
60
- options: {
61
- parser: "astro", // Использовать Astro парсер для .astro файлов
62
- },
63
- },
64
- ],
65
- }
55
+ plugins: ["@trivago/prettier-plugin-sort-imports", "prettier-plugin-tailwindcss"],
56
+ };
57
+
58
+ export { prettier_config as default };
@@ -0,0 +1,58 @@
1
+ /** @type {import("prettier").Config} */
2
+
3
+ var prettier_config = {
4
+ // Запятые в конце: "none" - без запятых, "es5" - где допустимо в ES5, "all" - везде
5
+ trailingComma: "none",
6
+ // Количество пробелов для отступа
7
+ tabWidth: 2,
8
+ // Использовать табы вместо пробелов
9
+ useTabs: false,
10
+ // Добавлять точку с запятой в конце выражений
11
+ semi: false,
12
+ // Использовать одинарные кавычки вместо двойных
13
+ singleQuote: true,
14
+ // Одинарные кавычки в JSX
15
+ jsxSingleQuote: true,
16
+ // Скобки вокруг единственного параметра стрелочной функции: "avoid" - убирать, "always" - всегда
17
+ arrowParens: "avoid",
18
+ // Максимальная длина строки перед переносом
19
+ printWidth: 120,
20
+ // Пробелы внутри фигурных скобок объектов: { foo: bar }
21
+ bracketSpacing: true,
22
+ // Кавычки вокруг ключей объекта: "as-needed" - только когда необходимо
23
+ quoteProps: "as-needed",
24
+ // Закрывающая скобка > на той же строке что и последний атрибут
25
+ bracketSameLine: false,
26
+ // Чувствительность к пробелам в HTML: "css" - как в CSS display свойстве
27
+ htmlWhitespaceSensitivity: "css",
28
+
29
+ // --- Настройки плагина сортировки импортов (@trivago/prettier-plugin-sort-imports) ---
30
+ // Добавлять пустую строку между группами импортов
31
+ importOrderSeparation: true,
32
+ // Каждый атрибут JSX на отдельной строке
33
+ singleAttributePerLine: true,
34
+ // Сортировать спецификаторы внутри импорта: import { a, b, c } from 'module'
35
+ importOrderSortSpecifiers: true,
36
+ // Сортировка без учёта регистра
37
+ importOrderCaseInsensitive: true,
38
+ // Плагины парсера для корректной обработки синтаксиса
39
+ importOrderParserPlugins: ["classProperties", "decorators-legacy", "typescript", "jsx"],
40
+ // Порядок группировки импортов (регулярные выражения)
41
+ importOrder: [
42
+ "<THIRD_PARTY_MODULES>", // Сторонние модули (node_modules)
43
+ "^react$", // React отдельно
44
+ // "^@/app/(.*)$",
45
+ // "^@/pages/(.*)$",
46
+ // "^@/widgets/(.*)$",
47
+ // "^@/features/(.*)$",
48
+ // "^@/entities/(.*)$",
49
+ // "^@/shared/(.*)$",
50
+ "^@/(.*)$", // Алиасы проекта (@/)
51
+ "^../(.*)$", // Относительные импорты из родительских директорий
52
+ "^./(.*)$", // Относительные импорты из текущей директории
53
+ ],
54
+ // Подключённые плагины Prettier
55
+ plugins: ["@trivago/prettier-plugin-sort-imports", "prettier-plugin-tailwindcss"],
56
+ };
57
+
58
+ export { prettier_config as default };
@@ -0,0 +1,62 @@
1
+ // src/prettier.config.mjs
2
+ var prettier_config_default = {
3
+ // Запятые в конце: "none" - без запятых, "es5" - где допустимо в ES5, "all" - везде
4
+ trailingComma: "none",
5
+ // Количество пробелов для отступа
6
+ tabWidth: 2,
7
+ // Использовать табы вместо пробелов
8
+ useTabs: false,
9
+ // Добавлять точку с запятой в конце выражений
10
+ semi: false,
11
+ // Использовать одинарные кавычки вместо двойных
12
+ singleQuote: true,
13
+ // Одинарные кавычки в JSX
14
+ jsxSingleQuote: true,
15
+ // Скобки вокруг единственного параметра стрелочной функции: "avoid" - убирать, "always" - всегда
16
+ arrowParens: "avoid",
17
+ // Максимальная длина строки перед переносом
18
+ printWidth: 120,
19
+ // Пробелы внутри фигурных скобок объектов: { foo: bar }
20
+ bracketSpacing: true,
21
+ // Кавычки вокруг ключей объекта: "as-needed" - только когда необходимо
22
+ quoteProps: "as-needed",
23
+ // Закрывающая скобка > на той же строке что и последний атрибут
24
+ bracketSameLine: false,
25
+ // Чувствительность к пробелам в HTML: "css" - как в CSS display свойстве
26
+ htmlWhitespaceSensitivity: "css",
27
+ // --- Настройки плагина сортировки импортов (@trivago/prettier-plugin-sort-imports) ---
28
+ // Добавлять пустую строку между группами импортов
29
+ importOrderSeparation: true,
30
+ // Каждый атрибут JSX на отдельной строке
31
+ singleAttributePerLine: true,
32
+ // Сортировать спецификаторы внутри импорта: import { a, b, c } from 'module'
33
+ importOrderSortSpecifiers: true,
34
+ // Сортировка без учёта регистра
35
+ importOrderCaseInsensitive: true,
36
+ // Плагины парсера для корректной обработки синтаксиса
37
+ importOrderParserPlugins: ["classProperties", "decorators-legacy", "typescript", "jsx"],
38
+ // Порядок группировки импортов (регулярные выражения)
39
+ importOrder: [
40
+ "<THIRD_PARTY_MODULES>",
41
+ // Сторонние модули (node_modules)
42
+ "^react$",
43
+ // React отдельно
44
+ // "^@/app/(.*)$",
45
+ // "^@/pages/(.*)$",
46
+ // "^@/widgets/(.*)$",
47
+ // "^@/features/(.*)$",
48
+ // "^@/entities/(.*)$",
49
+ // "^@/shared/(.*)$",
50
+ "^@/(.*)$",
51
+ // Алиасы проекта (@/)
52
+ "^../(.*)$",
53
+ // Относительные импорты из родительских директорий
54
+ "^./(.*)$"
55
+ // Относительные импорты из текущей директории
56
+ ],
57
+ // Подключённые плагины Prettier
58
+ plugins: ["@trivago/prettier-plugin-sort-imports", "prettier-plugin-tailwindcss"]
59
+ };
60
+ export {
61
+ prettier_config_default as default
62
+ };
package/package.json CHANGED
@@ -1,10 +1,12 @@
1
1
  {
2
2
  "name": "@front-cmdt/format",
3
- "version": "1.2.1",
3
+ "version": "1.3.0",
4
4
  "keywords": [
5
5
  "prettier",
6
6
  "trivago",
7
7
  "prettier-plugin-sort-imports",
8
+ "tailwindcss",
9
+ "prettier-plugin-tailwindcss",
8
10
  "lint",
9
11
  "linting",
10
12
  "format",
@@ -23,15 +25,48 @@
23
25
  },
24
26
  "dependencies": {
25
27
  "@trivago/prettier-plugin-sort-imports": "^5.2.2",
26
- "prettier-plugin-astro": "^0.14.1"
28
+ "prettier-plugin-tailwindcss": "^0.7.2"
27
29
  },
30
+ "main": "./dist/prettier.config.cjs",
31
+ "module": "./dist/prettier.config.js",
32
+ "types": "./dist/prettier.config.d.ts",
33
+ "files": [
34
+ "dist",
35
+ "CHANGELOG.md"
36
+ ],
28
37
  "scripts": {
29
- "release:patch": "npm version patch -m \"release: v%s\" && git push --follow-tags",
30
- "release:minor": "npm version minor -m \"release: v%s\" && git push --follow-tags",
31
- "release:major": "npm version major -m \"release: v%s\" && git push --follow-tags",
32
- "release:push": "git push --follow-tags"
38
+ "build": "tsup src/prettier.config.mjs --format esm,cjs --dts --clean",
39
+ "release:patch": "yarn build && npm version patch -m \"release: v%s\" && git push --follow-tags",
40
+ "release:minor": "yarn build && npm version minor -m \"release: v%s\" && git push --follow-tags",
41
+ "release:major": "yarn build && npm version major -m \"release: v%s\" && git push --follow-tags",
42
+ "release:push": "git push --follow-tags",
43
+ "pub:local": "npm run build && yalc push"
33
44
  },
34
45
  "exports": {
35
- "./prettier": "./src/prettier.config.mjs"
46
+ ".": {
47
+ "import": {
48
+ "types": "./dist/prettier.config.d.ts",
49
+ "default": "./dist/prettier.config.js"
50
+ },
51
+ "require": {
52
+ "types": "./dist/prettier.config.d.cts",
53
+ "default": "./dist/prettier.config.cjs"
54
+ }
55
+ },
56
+ "./prettier": {
57
+ "import": {
58
+ "types": "./dist/prettier.config.d.ts",
59
+ "default": "./dist/prettier.config.js"
60
+ },
61
+ "require": {
62
+ "types": "./dist/prettier.config.d.cts",
63
+ "default": "./dist/prettier.config.cjs"
64
+ }
65
+ }
66
+ },
67
+ "devDependencies": {
68
+ "tsup": "^8.5.1",
69
+ "typescript": "^5.9.3",
70
+ "yalc": "^1.0.0-pre.53"
36
71
  }
37
72
  }