chore(web): restrict legacy service fetch imports (#36701)

This commit is contained in:
yyh
2026-05-27 03:08:35 +00:00
committed by GitHub
parent 6e1e0d9439
commit fc773b9f57
3 changed files with 398 additions and 2 deletions
+16
View File
@@ -15,6 +15,8 @@ import {
HYOBAN_PREFER_TAILWIND_ICONS_OPTIONS,
NEXT_PLATFORM_RESTRICTED_IMPORT_PATHS,
WEB_RESTRICTED_IMPORT_PATTERNS,
WEB_SERVICE_BASE_RESTRICTED_IMPORT_PATTERNS,
WEB_SERVICE_FETCH_RESTRICTED_IMPORT_PATTERNS,
} from './eslint.constants.mjs'
import dify from './plugins/eslint/index.js'
@@ -163,4 +165,18 @@ export default antfu(
}],
},
},
{
name: 'dify/service-base-restricted-imports',
files: ['service/**/*.ts', 'service/**/*.tsx'],
rules: {
'no-restricted-imports': ['error', {
paths: NEXT_PLATFORM_RESTRICTED_IMPORT_PATHS,
patterns: [
...WEB_RESTRICTED_IMPORT_PATTERNS,
...WEB_SERVICE_BASE_RESTRICTED_IMPORT_PATTERNS,
...WEB_SERVICE_FETCH_RESTRICTED_IMPORT_PATTERNS,
],
}],
},
},
)
+54
View File
@@ -58,11 +58,65 @@ const LEGACY_WEB_INPUT_RESTRICTED_IMPORT_PATTERNS = [
},
]
const LEGACY_SERVICE_BASE_RESTRICTED_IMPORT_PATTERNS = [
{
group: [
'@/service/base',
'@/service/base/*',
'**/service/base',
'**/service/base/*',
],
message: 'Do not import legacy service/base fetch helpers. Use generated service clients or feature-specific service modules instead.',
},
]
const LEGACY_SERVICE_FETCH_RESTRICTED_IMPORT_PATTERNS = [
{
group: [
'@/service/fetch',
'@/service/fetch/*',
'**/service/fetch',
'**/service/fetch/*',
],
message: 'Do not import low-level service/fetch helpers directly. Use generated service clients or feature-specific service modules instead.',
},
]
export const WEB_SERVICE_BASE_RESTRICTED_IMPORT_PATTERNS = [
{
group: [
'./base',
'./base/*',
'../base',
'../base/*',
'../../base',
'../../base/*',
],
message: 'Do not import legacy service/base fetch helpers. Use generated service clients or feature-specific service modules instead.',
},
]
export const WEB_SERVICE_FETCH_RESTRICTED_IMPORT_PATTERNS = [
{
group: [
'./fetch',
'./fetch/*',
'../fetch',
'../fetch/*',
'../../fetch',
'../../fetch/*',
],
message: 'Do not import low-level service/fetch helpers directly. Use generated service clients or feature-specific service modules instead.',
},
]
export const WEB_RESTRICTED_IMPORT_PATTERNS = [
...NEXT_PLATFORM_RESTRICTED_IMPORT_PATTERNS,
...BASE_UI_RESTRICTED_IMPORT_PATTERNS,
...FLOATING_UI_RESTRICTED_IMPORT_PATTERNS,
...LEGACY_WEB_INPUT_RESTRICTED_IMPORT_PATTERNS,
...LEGACY_SERVICE_BASE_RESTRICTED_IMPORT_PATTERNS,
...LEGACY_SERVICE_FETCH_RESTRICTED_IMPORT_PATTERNS,
]
export const HYOBAN_PREFER_TAILWIND_ICONS_OPTIONS = {