You've already forked AstralRinth
forked from didirus/AstralRinth
refactor: migrate to common eslint+prettier configs (#4168)
* refactor: migrate to common eslint+prettier configs * fix: prettier frontend * feat: config changes * fix: lint issues * fix: lint * fix: type imports * fix: cyclical import issue * fix: lockfile * fix: missing dep * fix: switch to tabs * fix: continue switch to tabs * fix: rustfmt parity * fix: moderation lint issue * fix: lint issues * fix: ui intl * fix: lint issues * Revert "fix: rustfmt parity" This reverts commit cb99d2376c321d813d4b7fc7e2a213bb30a54711. * feat: revert last rs
This commit is contained in:
20
packages/tooling-config/eslint/base.mjs
Normal file
20
packages/tooling-config/eslint/base.mjs
Normal file
@@ -0,0 +1,20 @@
|
||||
import eslint from '@eslint/js'
|
||||
import prettierEslint from 'eslint-plugin-prettier/recommended'
|
||||
import tseslint from 'typescript-eslint'
|
||||
|
||||
export default tseslint.config(
|
||||
eslint.configs.recommended,
|
||||
tseslint.configs.recommendedTypeChecked,
|
||||
prettierEslint,
|
||||
...common,
|
||||
{
|
||||
languageOptions: {
|
||||
parserOptions: {
|
||||
warnOnUnsupportedTypeScriptVersion: false,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
ignores: ['node_modules/', 'dist/', 'build/'],
|
||||
},
|
||||
)
|
||||
20
packages/tooling-config/eslint/common.mjs
Normal file
20
packages/tooling-config/eslint/common.mjs
Normal file
@@ -0,0 +1,20 @@
|
||||
import simpleImportSort from 'eslint-plugin-simple-import-sort'
|
||||
|
||||
export default [
|
||||
{
|
||||
plugins: {
|
||||
'simple-import-sort': simpleImportSort,
|
||||
},
|
||||
rules: {
|
||||
'simple-import-sort/imports': 'error',
|
||||
'simple-import-sort/exports': 'error',
|
||||
},
|
||||
},
|
||||
{
|
||||
rules: {
|
||||
'@typescript-eslint/no-type-alias': 'off',
|
||||
'@typescript-eslint/ban-ts-comment': 'off',
|
||||
'@typescript-eslint/prefer-literal-enum-member': 'off',
|
||||
},
|
||||
},
|
||||
]
|
||||
31
packages/tooling-config/eslint/nuxt.mjs
Normal file
31
packages/tooling-config/eslint/nuxt.mjs
Normal file
@@ -0,0 +1,31 @@
|
||||
import { fixupPluginRules } from '@eslint/compat'
|
||||
import { createConfigForNuxt } from '@nuxt/eslint-config/flat'
|
||||
import turboPlugin from 'eslint-plugin-turbo'
|
||||
import common from './common.mjs'
|
||||
|
||||
export const configurationNuxtToAppend = [
|
||||
...common,
|
||||
{
|
||||
name: 'turbo',
|
||||
plugins: {
|
||||
turbo: fixupPluginRules(turboPlugin),
|
||||
},
|
||||
rules: {
|
||||
'turbo/no-undeclared-env-vars': 'error',
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'modrinth',
|
||||
rules: {
|
||||
'vue/html-self-closing': 'off',
|
||||
'vue/multi-word-component-names': 'off',
|
||||
},
|
||||
languageOptions: {
|
||||
parserOptions: {
|
||||
warnOnUnsupportedTypeScriptVersion: false,
|
||||
},
|
||||
},
|
||||
},
|
||||
]
|
||||
|
||||
export default createConfigForNuxt().append(configurationNuxtToAppend)
|
||||
35
packages/tooling-config/package.json
Normal file
35
packages/tooling-config/package.json
Normal file
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"name": "@modrinth/tooling-config",
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"description": "Unified tooling configuration for Modrinth monorepo",
|
||||
"main": "./index.js",
|
||||
"exports": {
|
||||
"./eslint/*": "./eslint/*",
|
||||
"./typescript/*": "./typescript/*",
|
||||
"./prettier.config.js": "./prettier.config.js",
|
||||
"./prettier.nuxt.config.js": "./prettier.nuxt.config.js"
|
||||
},
|
||||
"files": [
|
||||
"eslint/",
|
||||
"typescript/",
|
||||
"prettier/",
|
||||
"index.js"
|
||||
],
|
||||
"peerDependencies": {
|
||||
"eslint": "^9.31.0",
|
||||
"prettier": "^3.6.2",
|
||||
"typescript": ">=5.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@eslint/js": "^9.32.0",
|
||||
"@vue/tsconfig": "^0.7.0",
|
||||
"eslint": "^9.32.0",
|
||||
"eslint-config-prettier": "^10.1.8",
|
||||
"eslint-plugin-prettier": "^5.5.3",
|
||||
"eslint-plugin-simple-import-sort": "^12.1.1",
|
||||
"eslint-plugin-vue": "^10.4.0",
|
||||
"globals": "^16.3.0",
|
||||
"typescript-eslint": "^8.38.0"
|
||||
}
|
||||
}
|
||||
10
packages/tooling-config/prettier.config.js
Normal file
10
packages/tooling-config/prettier.config.js
Normal file
@@ -0,0 +1,10 @@
|
||||
/**
|
||||
* @see https://prettier.io/docs/configuration
|
||||
* @type {import("prettier").Config}
|
||||
*/
|
||||
const config = {
|
||||
semi: false,
|
||||
singleQuote: true,
|
||||
};
|
||||
|
||||
module.exports = config;
|
||||
11
packages/tooling-config/prettier.nuxt.config.js
Normal file
11
packages/tooling-config/prettier.nuxt.config.js
Normal file
@@ -0,0 +1,11 @@
|
||||
/**
|
||||
* @see https://prettier.io/docs/configuration
|
||||
* @type {import("prettier").Config}
|
||||
*/
|
||||
const config = {
|
||||
semi: false,
|
||||
singleQuote: true,
|
||||
plugins: ["prettier-plugin-tailwindcss"]
|
||||
};
|
||||
|
||||
module.exports = config;
|
||||
17
packages/tooling-config/typescript/base.json
Normal file
17
packages/tooling-config/typescript/base.json
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"$schema": "https://json.schemastore.org/tsconfig",
|
||||
"compilerOptions": {
|
||||
"target": "ES2020",
|
||||
"module": "ESNext",
|
||||
"moduleResolution": "bundler",
|
||||
"strict": true,
|
||||
"esModuleInterop": true,
|
||||
"skipLibCheck": true,
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"resolveJsonModule": true,
|
||||
"isolatedModules": true,
|
||||
"noEmit": true,
|
||||
"lib": ["esnext", "dom"],
|
||||
"allowSyntheticDefaultImports": true
|
||||
}
|
||||
}
|
||||
9
packages/tooling-config/typescript/vue.json
Normal file
9
packages/tooling-config/typescript/vue.json
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"$schema": "https://json.schemastore.org/tsconfig",
|
||||
"extends": "@vue/tsconfig/tsconfig.dom.json",
|
||||
"compilerOptions": {
|
||||
"lib": ["ESNext", "DOM"],
|
||||
"moduleResolution": "bundler",
|
||||
"noImplicitAny": false
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user