Skip to content

Commit d1f6561

Browse files
Shane32petyosi
andauthored
chore: improve windows compatibility for development
* fix: update scripts to use cross-env for environment variable management * fix: normalize line endings and improve list handling in tests * Ignore .vs * Split Ladle config from library Vite config * Simplify Windows-compatible config and normalize line endings --------- Co-authored-by: Petyo Ivanov <underlog@gmail.com>
1 parent 8bfc151 commit d1f6561

9 files changed

Lines changed: 174 additions & 139 deletions

File tree

.gitattributes

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Enforce LF line endings for text files across platforms.
2+
* text=auto eol=lf
3+
4+
# Binary files - no line ending conversion
5+
*.png binary
6+
*.jpg binary
7+
*.jpeg binary
8+
*.gif binary
9+
*.ico binary
10+
*.svg binary
11+
*.woff binary
12+
*.woff2 binary
13+
*.ttf binary
14+
*.eot binary

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,4 @@ uploads
99
tsdoc-metadata.json
1010
.vscode
1111
.env
12+
.vs

.ladle/config.mjs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
export default {
22
stories: ['src/examples/*.tsx', '!src/examples/_boilerplate.tsx'],
3+
viteConfig: './vite.ladle.config.ts',
34
}

.prettierrc.cjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@ module.exports = {
22
printWidth: 140,
33
semi: false,
44
singleQuote: true,
5-
trailingComma: 'none',
5+
trailingComma: 'none'
66
}

locales/ru-ru/translation.json

Lines changed: 119 additions & 119 deletions
Original file line numberDiff line numberDiff line change
@@ -1,120 +1,120 @@
1-
{
2-
"frontmatterEditor": {
3-
"title": "Редактировать метаданные документа",
4-
"key": "Ключ",
5-
"value": "Значение",
6-
"addEntry": "Добавить запись"
7-
},
8-
"dialogControls": {
9-
"save": "Сохранить",
10-
"cancel": "Отмена"
11-
},
12-
"uploadImage": {
13-
"dialogTitle": "Загрузить изображение",
14-
"uploadInstructions": "Загрузить изображение с устройства:",
15-
"addViaUrlInstructions": "Или добавить изображение по URL:",
16-
"autoCompletePlaceholder": "Выбрать или вставить ссылку на изображение",
17-
"alt": "Альтернативный заголовок:",
18-
"title": "Заголовок:",
19-
"width": "Ширина:",
20-
"height": "Высота:"
21-
},
22-
"imageEditor": {
23-
"deleteImage": "Удалить изображение",
24-
"editImage": "Редактировать изображение"
25-
},
26-
"createLink": {
27-
"url": "URL",
28-
"urlPlaceholder": "Выбрать или вставить URL",
29-
"text": "Текст ссылки",
30-
"textTooltip": "Текст, который будет отображаться для ссылки",
31-
"title": "Заголовок",
32-
"titleTooltip": "Атрибут title ссылки, отображаемый при наведении",
33-
"saveTooltip": "Задать URL",
34-
"cancelTooltip": "Отменить выбор"
35-
},
36-
"linkPreview": {
37-
"open": "Открыть {{url}} в новом окне",
38-
"edit": "Редактировать URL ссылку",
39-
"copyToClipboard": "Скопировать в буфер",
40-
"copied": "Скопировано!",
41-
"remove": "Удалить ссылку"
42-
},
43-
"table": {
44-
"deleteTable": "Удалить таблицу",
45-
"columnMenu": "Меню столбца",
46-
"textAlignment": "Выравнивание текста",
47-
"alignLeft": "По левому краю",
48-
"alignCenter": "По центру",
49-
"alignRight": "По правому краю",
50-
"insertColumnLeft": "Вставить столбец слева",
51-
"insertColumnRight": "Вставить столбец справа",
52-
"deleteColumn": "Удалить этот столбец",
53-
"rowMenu": "Меню строки",
54-
"insertRowAbove": "Вставить строку выше",
55-
"insertRowBelow": "Вставить строку ниже",
56-
"deleteRow": "Удалить эту строку"
57-
},
58-
"toolbar": {
59-
"blockTypes": {
60-
"paragraph": "Абзац",
61-
"quote": "Цитата",
62-
"heading": "Заголовок {{level}}"
63-
},
64-
"blockTypeSelect": {
65-
"selectBlockTypeTooltip": "Выбрать тип блока",
66-
"placeholder": "Тип блока"
67-
},
68-
"toggleGroup": "Группа переключателей",
69-
"removeBold": "Убрать жирный",
70-
"bold": "Жирный",
71-
"removeItalic": "Убрать курсив",
72-
"italic": "Курсив",
73-
"underline": "Подчеркнутый",
74-
"removeUnderline": "Убрать подчеркивание",
75-
"removeInlineCode": "Удалить форматирование кода",
76-
"inlineCode": "Формат inline-кода",
77-
"link": "Создать ссылку",
78-
"richText": "Форматированный текст",
79-
"diffMode": "Режим сравнения",
80-
"source": "Исходный код",
81-
"admonition": "Вставить примечание",
82-
"codeBlock": "Вставить блок кода",
83-
"editFrontmatter": "Редактировать метаданные",
84-
"insertFrontmatter": "Вставить метаданные",
85-
"image": "Вставить изображение",
86-
"insertSandpack": "Вставить Sandpack",
87-
"table": "Вставить таблицу",
88-
"thematicBreak": "Вставить тематический разделитель",
89-
"bulletedList": "Маркированный список",
90-
"numberedList": "Нумерованный список",
91-
"checkList": "Контрольный список",
92-
"deleteSandpack": "Удалить этот блок кода",
93-
"undo": "Отменить {{shortcut}}",
94-
"redo": "Вернуть {{shortcut}}",
95-
"highlight": "Выделить",
96-
"removeHighlight": "Убрать выделение",
97-
"superscript": "Надстрочный",
98-
"subscript": "Подстрочный",
99-
"strikethrough": "Зачёркнутый",
100-
"removeSubscript": "Убрать подстрочный",
101-
"removeSuperscript": "Убрать надстрочный",
102-
"removeStrikethrough": "Убрать зачёркивание"
103-
},
104-
"admonitions": {
105-
"note": "Примечание",
106-
"tip": "Подсказка",
107-
"danger": "Опасность",
108-
"info": "Информация",
109-
"caution": "Предостережение",
110-
"changeType": "Выберите тип примечания",
111-
"placeholder": "Тип примечания"
112-
},
113-
"codeBlock": {
114-
"language": "Язык блока кода",
115-
"selectLanguage": "Выбрать язык блока кода"
116-
},
117-
"contentArea": {
118-
"editableMarkdown": "редактируемый markdown"
119-
}
1+
{
2+
"frontmatterEditor": {
3+
"title": "Редактировать метаданные документа",
4+
"key": "Ключ",
5+
"value": "Значение",
6+
"addEntry": "Добавить запись"
7+
},
8+
"dialogControls": {
9+
"save": "Сохранить",
10+
"cancel": "Отмена"
11+
},
12+
"uploadImage": {
13+
"dialogTitle": "Загрузить изображение",
14+
"uploadInstructions": "Загрузить изображение с устройства:",
15+
"addViaUrlInstructions": "Или добавить изображение по URL:",
16+
"autoCompletePlaceholder": "Выбрать или вставить ссылку на изображение",
17+
"alt": "Альтернативный заголовок:",
18+
"title": "Заголовок:",
19+
"width": "Ширина:",
20+
"height": "Высота:"
21+
},
22+
"imageEditor": {
23+
"deleteImage": "Удалить изображение",
24+
"editImage": "Редактировать изображение"
25+
},
26+
"createLink": {
27+
"url": "URL",
28+
"urlPlaceholder": "Выбрать или вставить URL",
29+
"text": "Текст ссылки",
30+
"textTooltip": "Текст, который будет отображаться для ссылки",
31+
"title": "Заголовок",
32+
"titleTooltip": "Атрибут title ссылки, отображаемый при наведении",
33+
"saveTooltip": "Задать URL",
34+
"cancelTooltip": "Отменить выбор"
35+
},
36+
"linkPreview": {
37+
"open": "Открыть {{url}} в новом окне",
38+
"edit": "Редактировать URL ссылку",
39+
"copyToClipboard": "Скопировать в буфер",
40+
"copied": "Скопировано!",
41+
"remove": "Удалить ссылку"
42+
},
43+
"table": {
44+
"deleteTable": "Удалить таблицу",
45+
"columnMenu": "Меню столбца",
46+
"textAlignment": "Выравнивание текста",
47+
"alignLeft": "По левому краю",
48+
"alignCenter": "По центру",
49+
"alignRight": "По правому краю",
50+
"insertColumnLeft": "Вставить столбец слева",
51+
"insertColumnRight": "Вставить столбец справа",
52+
"deleteColumn": "Удалить этот столбец",
53+
"rowMenu": "Меню строки",
54+
"insertRowAbove": "Вставить строку выше",
55+
"insertRowBelow": "Вставить строку ниже",
56+
"deleteRow": "Удалить эту строку"
57+
},
58+
"toolbar": {
59+
"blockTypes": {
60+
"paragraph": "Абзац",
61+
"quote": "Цитата",
62+
"heading": "Заголовок {{level}}"
63+
},
64+
"blockTypeSelect": {
65+
"selectBlockTypeTooltip": "Выбрать тип блока",
66+
"placeholder": "Тип блока"
67+
},
68+
"toggleGroup": "Группа переключателей",
69+
"removeBold": "Убрать жирный",
70+
"bold": "Жирный",
71+
"removeItalic": "Убрать курсив",
72+
"italic": "Курсив",
73+
"underline": "Подчеркнутый",
74+
"removeUnderline": "Убрать подчеркивание",
75+
"removeInlineCode": "Удалить форматирование кода",
76+
"inlineCode": "Формат inline-кода",
77+
"link": "Создать ссылку",
78+
"richText": "Форматированный текст",
79+
"diffMode": "Режим сравнения",
80+
"source": "Исходный код",
81+
"admonition": "Вставить примечание",
82+
"codeBlock": "Вставить блок кода",
83+
"editFrontmatter": "Редактировать метаданные",
84+
"insertFrontmatter": "Вставить метаданные",
85+
"image": "Вставить изображение",
86+
"insertSandpack": "Вставить Sandpack",
87+
"table": "Вставить таблицу",
88+
"thematicBreak": "Вставить тематический разделитель",
89+
"bulletedList": "Маркированный список",
90+
"numberedList": "Нумерованный список",
91+
"checkList": "Контрольный список",
92+
"deleteSandpack": "Удалить этот блок кода",
93+
"undo": "Отменить {{shortcut}}",
94+
"redo": "Вернуть {{shortcut}}",
95+
"highlight": "Выделить",
96+
"removeHighlight": "Убрать выделение",
97+
"superscript": "Надстрочный",
98+
"subscript": "Подстрочный",
99+
"strikethrough": "Зачёркнутый",
100+
"removeSubscript": "Убрать подстрочный",
101+
"removeSuperscript": "Убрать надстрочный",
102+
"removeStrikethrough": "Убрать зачёркивание"
103+
},
104+
"admonitions": {
105+
"note": "Примечание",
106+
"tip": "Подсказка",
107+
"danger": "Опасность",
108+
"info": "Информация",
109+
"caution": "Предостережение",
110+
"changeType": "Выберите тип примечания",
111+
"placeholder": "Тип примечания"
112+
},
113+
"codeBlock": {
114+
"language": "Язык блока кода",
115+
"selectLanguage": "Выбрать язык блока кода"
116+
},
117+
"contentArea": {
118+
"editableMarkdown": "редактируемый markdown"
119+
}
120120
}

package-lock.json

Lines changed: 4 additions & 11 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@
1616
"scripts": {
1717
"build": "vite build",
1818
"build:docs:api": "typedoc",
19-
"start": "LADLE=true ladle dev",
20-
"dev": "LADLE=true ladle dev",
19+
"start": "ladle dev",
20+
"dev": "ladle dev",
2121
"typecheck": "tsc --noEmit",
2222
"lint": "eslint src --ext .ts,.tsx",
23-
"test": "NODE_ENV=development vitest",
24-
"test:once": "NODE_ENV=development vitest --run",
23+
"test": "vitest",
24+
"test:once": "vitest --run",
2525
"semantic-release": "semantic-release",
2626
"image-upload-backend": "node ./src/examples/file-backend.js",
2727
"export-icons": "node ./scripts/export-figma-icons.mjs"
@@ -105,7 +105,7 @@
105105
"@babel/plugin-transform-typescript": "^7.23.6",
106106
"@babel/preset-react": "^7.23.3",
107107
"@babel/preset-typescript": "^7.23.3",
108-
"@ladle/react": "^5.0.2",
108+
"@ladle/react": "^5.1.1",
109109
"@ngneat/falso": "^6.4.0",
110110
"@testing-library/dom": "^10.4.1",
111111
"@testing-library/jest-dom": "^6.1.6",

vite.config.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@ const packageJson = JSON.parse(readFileSync('./package.json', 'utf-8')) as {
1616
peerDependencies: Record<string, string>
1717
}
1818

19-
const IN_LADLE = process.env['LADLE']
20-
2119
const externalPackages = [
2220
...Object.keys(packageJson.dependencies),
2321
...Object.keys(packageJson.peerDependencies),
@@ -29,7 +27,7 @@ const externalPackages = [
2927
// https://vitejs.dev/config/
3028
export default defineConfig({
3129
plugins: [
32-
react(IN_LADLE ? {} : { jsxRuntime: 'classic' } as const),
30+
react({ jsxRuntime: 'classic' } as const),
3331
dts({
3432
rollupTypes: true,
3533
staticImport: true,

vite.ladle.config.ts

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import { defineConfig } from 'vite'
2+
import react from '@vitejs/plugin-react'
3+
import svgr from 'vite-plugin-svgr'
4+
import tsconfigPaths from 'vite-tsconfig-paths'
5+
6+
export default defineConfig({
7+
plugins: [
8+
react({}),
9+
svgr({
10+
svgrOptions: {
11+
svgo: true,
12+
replaceAttrValues: { 'black': 'currentColor' }
13+
}
14+
}),
15+
tsconfigPaths()
16+
],
17+
server: {
18+
proxy: {
19+
'/uploads': 'http://localhost:65432'
20+
},
21+
},
22+
css: {
23+
modules: {
24+
scopeBehaviour: 'local',
25+
localsConvention: 'camelCaseOnly'
26+
}
27+
}
28+
})

0 commit comments

Comments
 (0)