Initial commit from monorepo

This commit is contained in:
Ruslan Bakiev
2026-01-07 09:10:35 +07:00
commit 3db50d9637
371 changed files with 43223 additions and 0 deletions

44
eslint.config.mjs Normal file
View File

@@ -0,0 +1,44 @@
// @ts-check
import withNuxt from './.nuxt/eslint.config.mjs'
import tseslint from 'typescript-eslint'
import * as pluginVue from 'eslint-plugin-vue'
// NOTE: eslint-plugin-tailwindcss does not support Tailwind CSS 4 yet.
// When v4 support lands, we can enable it back.
// Base Nuxt config
const baseConfig = withNuxt()
// Add ban on Cyrillic in code (use only i18n keys)
/** @type {import('eslint').Linter.FlatConfig[]} */
const hardcodedI18nGuard = [
{
name: 'no-cyrillic-hardcode',
files: ['app/**/*.{ts,tsx,vue}', 'modules/**/*.{ts,tsx,vue}', 'server/**/*.{ts,tsx}'],
plugins: {
vue: pluginVue,
},
languageOptions: {
parser: tseslint.parser,
parserOptions: {
ecmaVersion: 'latest',
sourceType: 'module',
},
},
rules: {
'no-restricted-syntax': [
'error',
{
selector: "Literal[value][typeof value === 'string'][/\\p{Script=Cyrillic}/u.test(value)]",
message: 'Use i18n keys instead of hardcoded Russian text',
},
{
selector: "TemplateElement[value.raw][/\\p{Script=Cyrillic}/u.test(value.raw)]",
message: 'Use i18n keys instead of hardcoded Russian text',
},
],
},
},
]
export default [...baseConfig, ...hardcodedI18nGuard]