diff --git a/.eslintrc.js b/.eslintrc.js index 58ee6d20a2..f974204b86 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -67,6 +67,39 @@ module.exports = { 'react/display-name': ['off'], 'no-unused-vars': ['error', { varsIgnorePattern: '^_' }], quotes: ['error', 'single'], + 'import/order': [ + 'warn', + { + groups: [ + ['builtin'], // Node.js standard libraries, react + ['external'], // npm packages + ['type'], // Type imports (TypeScript) + [ + 'internal', // Internal alias imports eg.(~/Component) + 'parent', // Parent directory imports eg.(../ParentComponent) + 'sibling', // Sibling imports eg.(./components/MyComponent) + 'index', + 'object', + ], + ], + // 'newlines-between': 'always', // Enforce new lines between groups + pathGroups: [ + { + pattern: '{react,react-dom/**}', + group: 'builtin', + position: 'before', + }, + { + pattern: '~/**', + group: 'internal', + position: 'before', + }, + ], + pathGroupsExcludedImportTypes: ['builtin'], // Exclude these types from the path group rule + warnOnUnassignedImports: true, // Warn for unassigned imports + // alphabetize: { order: 'asc', caseInsensitive: true }, // Alphabetize imports within each group + }, + ], }, overrides: [ { diff --git a/api/server/index.js b/api/server/index.js index 6a6e135245..7fa2f6f461 100644 --- a/api/server/index.js +++ b/api/server/index.js @@ -6,16 +6,16 @@ const axios = require('axios'); const express = require('express'); const passport = require('passport'); const mongoSanitize = require('express-mongo-sanitize'); +const { jwtLogin, passportLogin } = require('~/strategies'); +const { connectDb, indexSync } = require('~/lib/db'); +const { isEnabled } = require('~/server/utils'); +const { ldapLogin } = require('~/strategies'); +const { logger } = require('~/config'); const validateImageRequest = require('./middleware/validateImageRequest'); const errorController = require('./controllers/ErrorController'); -const { jwtLogin, passportLogin } = require('~/strategies'); const configureSocialLogins = require('./socialLogins'); -const { connectDb, indexSync } = require('~/lib/db'); const AppService = require('./services/AppService'); const noIndex = require('./middleware/noIndex'); -const { isEnabled } = require('~/server/utils'); -const { logger } = require('~/config'); -const { ldapLogin } = require('~/strategies'); const routes = require('./routes'); const { PORT, HOST, ALLOW_SOCIAL_LOGIN } = process.env ?? {};