Skip to content

Commit

Permalink
Merge branch 'develop' of https://github.com/DonXavierdev/care_fe int…
Browse files Browse the repository at this point in the history
…o issues/7417/File-upload-enhancement
  • Loading branch information
DonXavierdev committed Jan 25, 2025
2 parents eb5b3c2 + 0c06afc commit 0c77702
Show file tree
Hide file tree
Showing 34 changed files with 1,282 additions and 4,072 deletions.
84 changes: 0 additions & 84 deletions .eslintrc.json

This file was deleted.

153 changes: 153 additions & 0 deletions eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,153 @@
import eslint from "@eslint/js";
import tseslint from "@typescript-eslint/eslint-plugin";
import tsParser from "@typescript-eslint/parser";
import i18nextPlugin from "eslint-plugin-i18next";
import noRelativeImportPaths from "eslint-plugin-no-relative-import-paths";
import eslintPluginPrettierRecommended from "eslint-plugin-prettier/recommended";
import reactPlugin from "eslint-plugin-react";
import reactHooksPlugin from "eslint-plugin-react-hooks";
import globals from "globals";

export default [
// Base configuration
{
ignores: [
"**/dist",
"**/public",
"**/lib",
"**/build",
"**/*.css",
"**/*.csv",
"**/Dockerfile",
],
},
eslint.configs.recommended,

// Global settings for all JavaScript/TypeScript files
{
files: ["**/*.{js,jsx,ts,tsx,mjs,mts}"],
languageOptions: {
ecmaVersion: 12,
sourceType: "module",
globals: {
...globals.browser,
...globals.node,
React: true,
},
parserOptions: {
ecmaFeatures: {
jsx: true,
},
},
},
settings: {
react: {
version: "detect",
},
},
linterOptions: {
reportUnusedDisableDirectives: true,
},
},

// TypeScript-specific rules
{
files: ["**/*.{ts,tsx}"],
plugins: {
"@typescript-eslint": tseslint,
},
languageOptions: {
parser: tsParser,
parserOptions: {
project: "./tsconfig.json",
},
},
rules: {
...tseslint.configs.recommended.rules,
"@typescript-eslint/no-unused-vars": [
"error",
{
argsIgnorePattern: "^_",
varsIgnorePattern: "^_",
caughtErrorsIgnorePattern: "^_",
},
],
"@typescript-eslint/no-unused-expressions": [
"error",
{ allowShortCircuit: true, allowTernary: true },
],
"@typescript-eslint/no-explicit-any": "warn",
"no-undef": "off",
},
},

// React-specific rules
{
files: ["**/*.{jsx,tsx}"],
plugins: {
react: reactPlugin,
"react-hooks": reactHooksPlugin,
},
rules: {
...reactPlugin.configs.recommended.rules,
...reactHooksPlugin.configs.recommended.rules,
"react/prop-types": "off",
"react/no-children-prop": "off",
"react/no-unescaped-entities": "off",
},
},
// No Relative import paths rule
{
files: ["**/*.{js,jsx,ts,tsx}"],
plugins: {
"no-relative-import-paths": noRelativeImportPaths,
},
rules: {
"no-relative-import-paths/no-relative-import-paths": [
"error",
{
allowSameFolder: true,
prefix: "@",
},
],
},
},

// i18next plugin rules
{
files: ["**/*.{js,jsx,ts,tsx}"],
plugins: {
i18next: i18nextPlugin,
},
rules: {
...i18nextPlugin.configs.recommended.rules,
"i18next/no-literal-string": [
"warn",
{
mode: "jsx-only",
"jsx-attributes": {
include: ["label", "placeholder", "error", "title"],
exclude: [".*"],
},
callees: {
exclude: [".*"],
},
},
],
},
},

// Cypress-specific rules
{
files: ["cypress/**/*.ts"],
languageOptions: {
parser: tsParser,
parserOptions: {
project: "./cypress/tsconfig.json",
},
},
},

// Add prettier recommended config last
eslintPluginPrettierRecommended,
];
Loading

0 comments on commit 0c77702

Please sign in to comment.