mirror of
https://github.com/langgenius/dify.git
synced 2026-02-09 23:20:12 -05:00
chore: integrate @tanstack/eslint-plugin-query and fix service layer lint errors (#30444)
This commit is contained in:
@@ -110,7 +110,7 @@ const GotoAnything: FC<Props> = ({
|
|||||||
isWorkflowPage,
|
isWorkflowPage,
|
||||||
isRagPipelinePage,
|
isRagPipelinePage,
|
||||||
defaultLocale,
|
defaultLocale,
|
||||||
Object.keys(Actions).sort().join(','),
|
Actions,
|
||||||
],
|
],
|
||||||
queryFn: async () => {
|
queryFn: async () => {
|
||||||
const query = searchQueryDebouncedValue.toLowerCase()
|
const query = searchQueryDebouncedValue.toLowerCase()
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
// @ts-check
|
// @ts-check
|
||||||
import antfu from '@antfu/eslint-config'
|
import antfu from '@antfu/eslint-config'
|
||||||
|
import pluginQuery from '@tanstack/eslint-plugin-query'
|
||||||
import sonar from 'eslint-plugin-sonarjs'
|
import sonar from 'eslint-plugin-sonarjs'
|
||||||
import storybook from 'eslint-plugin-storybook'
|
import storybook from 'eslint-plugin-storybook'
|
||||||
import tailwind from 'eslint-plugin-tailwindcss'
|
import tailwind from 'eslint-plugin-tailwindcss'
|
||||||
@@ -79,6 +80,7 @@ export default antfu(
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
storybook.configs['flat/recommended'],
|
storybook.configs['flat/recommended'],
|
||||||
|
...pluginQuery.configs['flat/recommended'],
|
||||||
// sonar
|
// sonar
|
||||||
{
|
{
|
||||||
rules: {
|
rules: {
|
||||||
|
|||||||
@@ -165,6 +165,7 @@
|
|||||||
"@storybook/addon-themes": "9.1.13",
|
"@storybook/addon-themes": "9.1.13",
|
||||||
"@storybook/nextjs": "9.1.13",
|
"@storybook/nextjs": "9.1.13",
|
||||||
"@storybook/react": "9.1.13",
|
"@storybook/react": "9.1.13",
|
||||||
|
"@tanstack/eslint-plugin-query": "^5.91.2",
|
||||||
"@tanstack/react-devtools": "^0.9.0",
|
"@tanstack/react-devtools": "^0.9.0",
|
||||||
"@tanstack/react-form-devtools": "^0.2.9",
|
"@tanstack/react-form-devtools": "^0.2.9",
|
||||||
"@tanstack/react-query-devtools": "^5.90.2",
|
"@tanstack/react-query-devtools": "^5.90.2",
|
||||||
|
|||||||
30
web/pnpm-lock.yaml
generated
30
web/pnpm-lock.yaml
generated
@@ -406,6 +406,9 @@ importers:
|
|||||||
'@storybook/react':
|
'@storybook/react':
|
||||||
specifier: 9.1.13
|
specifier: 9.1.13
|
||||||
version: 9.1.13(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(storybook@9.1.17(@testing-library/dom@10.4.1)(vite@7.3.0(@types/node@18.15.0)(jiti@1.21.7)(sass@1.95.0)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)))(typescript@5.9.3)
|
version: 9.1.13(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(storybook@9.1.17(@testing-library/dom@10.4.1)(vite@7.3.0(@types/node@18.15.0)(jiti@1.21.7)(sass@1.95.0)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)))(typescript@5.9.3)
|
||||||
|
'@tanstack/eslint-plugin-query':
|
||||||
|
specifier: ^5.91.2
|
||||||
|
version: 5.91.2(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3)
|
||||||
'@tanstack/react-devtools':
|
'@tanstack/react-devtools':
|
||||||
specifier: ^0.9.0
|
specifier: ^0.9.0
|
||||||
version: 0.9.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(csstype@3.2.3)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(solid-js@1.9.10)
|
version: 0.9.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(csstype@3.2.3)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(solid-js@1.9.10)
|
||||||
@@ -3387,6 +3390,11 @@ packages:
|
|||||||
peerDependencies:
|
peerDependencies:
|
||||||
solid-js: '>=1.9.7'
|
solid-js: '>=1.9.7'
|
||||||
|
|
||||||
|
'@tanstack/eslint-plugin-query@5.91.2':
|
||||||
|
resolution: {integrity: sha512-UPeWKl/Acu1IuuHJlsN+eITUHqAaa9/04geHHPedY8siVarSaWprY0SVMKrkpKfk5ehRT7+/MZ5QwWuEtkWrFw==}
|
||||||
|
peerDependencies:
|
||||||
|
eslint: ^8.57.0 || ^9.0.0
|
||||||
|
|
||||||
'@tanstack/form-core@1.27.1':
|
'@tanstack/form-core@1.27.1':
|
||||||
resolution: {integrity: sha512-hPM+0tUnZ2C2zb2TE1lar1JJ0S0cbnQHlUwFcCnVBpMV3rjtUzkoM766gUpWrlmTGCzNad0GbJ0aTxVsjT6J8g==}
|
resolution: {integrity: sha512-hPM+0tUnZ2C2zb2TE1lar1JJ0S0cbnQHlUwFcCnVBpMV3rjtUzkoM766gUpWrlmTGCzNad0GbJ0aTxVsjT6J8g==}
|
||||||
|
|
||||||
@@ -10130,7 +10138,7 @@ snapshots:
|
|||||||
'@es-joy/jsdoccomment@0.76.0':
|
'@es-joy/jsdoccomment@0.76.0':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/estree': 1.0.8
|
'@types/estree': 1.0.8
|
||||||
'@typescript-eslint/types': 8.50.0
|
'@typescript-eslint/types': 8.50.1
|
||||||
comment-parser: 1.4.1
|
comment-parser: 1.4.1
|
||||||
esquery: 1.6.0
|
esquery: 1.6.0
|
||||||
jsdoc-type-pratt-parser: 6.10.0
|
jsdoc-type-pratt-parser: 6.10.0
|
||||||
@@ -10138,7 +10146,7 @@ snapshots:
|
|||||||
'@es-joy/jsdoccomment@0.78.0':
|
'@es-joy/jsdoccomment@0.78.0':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/estree': 1.0.8
|
'@types/estree': 1.0.8
|
||||||
'@typescript-eslint/types': 8.50.0
|
'@typescript-eslint/types': 8.50.1
|
||||||
comment-parser: 1.4.1
|
comment-parser: 1.4.1
|
||||||
esquery: 1.6.0
|
esquery: 1.6.0
|
||||||
jsdoc-type-pratt-parser: 7.0.0
|
jsdoc-type-pratt-parser: 7.0.0
|
||||||
@@ -11957,7 +11965,7 @@ snapshots:
|
|||||||
'@stylistic/eslint-plugin@5.6.1(eslint@9.39.2(jiti@1.21.7))':
|
'@stylistic/eslint-plugin@5.6.1(eslint@9.39.2(jiti@1.21.7))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@eslint-community/eslint-utils': 4.9.0(eslint@9.39.2(jiti@1.21.7))
|
'@eslint-community/eslint-utils': 4.9.0(eslint@9.39.2(jiti@1.21.7))
|
||||||
'@typescript-eslint/types': 8.49.0
|
'@typescript-eslint/types': 8.50.1
|
||||||
eslint: 9.39.2(jiti@1.21.7)
|
eslint: 9.39.2(jiti@1.21.7)
|
||||||
eslint-visitor-keys: 4.2.1
|
eslint-visitor-keys: 4.2.1
|
||||||
espree: 10.4.0
|
espree: 10.4.0
|
||||||
@@ -12039,6 +12047,14 @@ snapshots:
|
|||||||
- csstype
|
- csstype
|
||||||
- utf-8-validate
|
- utf-8-validate
|
||||||
|
|
||||||
|
'@tanstack/eslint-plugin-query@5.91.2(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3)':
|
||||||
|
dependencies:
|
||||||
|
'@typescript-eslint/utils': 8.50.1(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3)
|
||||||
|
eslint: 9.39.2(jiti@1.21.7)
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
|
- typescript
|
||||||
|
|
||||||
'@tanstack/form-core@1.27.1':
|
'@tanstack/form-core@1.27.1':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tanstack/devtools-event-client': 0.3.5
|
'@tanstack/devtools-event-client': 0.3.5
|
||||||
@@ -12512,8 +12528,8 @@ snapshots:
|
|||||||
|
|
||||||
'@typescript-eslint/project-service@8.50.0(typescript@5.9.3)':
|
'@typescript-eslint/project-service@8.50.0(typescript@5.9.3)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/tsconfig-utils': 8.50.0(typescript@5.9.3)
|
'@typescript-eslint/tsconfig-utils': 8.50.1(typescript@5.9.3)
|
||||||
'@typescript-eslint/types': 8.50.0
|
'@typescript-eslint/types': 8.50.1
|
||||||
debug: 4.4.3
|
debug: 4.4.3
|
||||||
typescript: 5.9.3
|
typescript: 5.9.3
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
@@ -12742,7 +12758,7 @@ snapshots:
|
|||||||
|
|
||||||
'@vitest/eslint-plugin@1.6.1(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3)(vitest@4.0.16(@types/node@18.15.0)(happy-dom@20.0.11)(jiti@1.21.7)(jsdom@27.3.0(canvas@3.2.0))(sass@1.95.0)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))':
|
'@vitest/eslint-plugin@1.6.1(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3)(vitest@4.0.16(@types/node@18.15.0)(happy-dom@20.0.11)(jiti@1.21.7)(jsdom@27.3.0(canvas@3.2.0))(sass@1.95.0)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/scope-manager': 8.49.0
|
'@typescript-eslint/scope-manager': 8.50.1
|
||||||
'@typescript-eslint/utils': 8.50.1(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3)
|
'@typescript-eslint/utils': 8.50.1(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3)
|
||||||
eslint: 9.39.2(jiti@1.21.7)
|
eslint: 9.39.2(jiti@1.21.7)
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
@@ -14240,7 +14256,7 @@ snapshots:
|
|||||||
|
|
||||||
eslint-plugin-perfectionist@4.15.1(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3):
|
eslint-plugin-perfectionist@4.15.1(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/types': 8.49.0
|
'@typescript-eslint/types': 8.50.1
|
||||||
'@typescript-eslint/utils': 8.50.1(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3)
|
'@typescript-eslint/utils': 8.50.1(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.3)
|
||||||
eslint: 9.39.2(jiti@1.21.7)
|
eslint: 9.39.2(jiti@1.21.7)
|
||||||
natural-orderby: 5.0.0
|
natural-orderby: 5.0.0
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ export const useUpdateAccessMode = () => {
|
|||||||
export const useGetUserCanAccessApp = ({ appId, isInstalledApp = true, enabled }: { appId?: string, isInstalledApp?: boolean, enabled?: boolean }) => {
|
export const useGetUserCanAccessApp = ({ appId, isInstalledApp = true, enabled }: { appId?: string, isInstalledApp?: boolean, enabled?: boolean }) => {
|
||||||
const systemFeatures = useGlobalPublicStore(s => s.systemFeatures)
|
const systemFeatures = useGlobalPublicStore(s => s.systemFeatures)
|
||||||
return useQuery({
|
return useQuery({
|
||||||
queryKey: [NAME_SPACE, 'user-can-access-app', appId],
|
queryKey: [NAME_SPACE, 'user-can-access-app', appId, systemFeatures.webapp_auth.enabled, isInstalledApp],
|
||||||
queryFn: () => {
|
queryFn: () => {
|
||||||
if (systemFeatures.webapp_auth.enabled)
|
if (systemFeatures.webapp_auth.enabled)
|
||||||
return getUserCanAccess(appId!, isInstalledApp)
|
return getUserCanAccess(appId!, isInstalledApp)
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ export const useDocumentList = (payload: {
|
|||||||
if (normalizedStatus && normalizedStatus !== 'all')
|
if (normalizedStatus && normalizedStatus !== 'all')
|
||||||
params.status = normalizedStatus
|
params.status = normalizedStatus
|
||||||
return useQuery<DocumentListResponse>({
|
return useQuery<DocumentListResponse>({
|
||||||
queryKey: [...useDocumentListKey, datasetId, keyword, page, limit, sort, normalizedStatus],
|
queryKey: [...useDocumentListKey, datasetId, params],
|
||||||
queryFn: () => get<DocumentListResponse>(`/datasets/${datasetId}/documents`, {
|
queryFn: () => get<DocumentListResponse>(`/datasets/${datasetId}/documents`, {
|
||||||
params,
|
params,
|
||||||
}),
|
}),
|
||||||
@@ -123,7 +123,7 @@ export const useDocumentDetail = (payload: {
|
|||||||
}) => {
|
}) => {
|
||||||
const { datasetId, documentId, params } = payload
|
const { datasetId, documentId, params } = payload
|
||||||
return useQuery<DocumentDetailResponse>({
|
return useQuery<DocumentDetailResponse>({
|
||||||
queryKey: [...useDocumentDetailKey, 'withoutMetaData', datasetId, documentId],
|
queryKey: [...useDocumentDetailKey, 'withoutMetaData', datasetId, documentId, params],
|
||||||
queryFn: () => get<DocumentDetailResponse>(`/datasets/${datasetId}/documents/${documentId}`, { params }),
|
queryFn: () => get<DocumentDetailResponse>(`/datasets/${datasetId}/documents/${documentId}`, { params }),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@@ -135,7 +135,7 @@ export const useDocumentMetadata = (payload: {
|
|||||||
}) => {
|
}) => {
|
||||||
const { datasetId, documentId, params } = payload
|
const { datasetId, documentId, params } = payload
|
||||||
return useQuery<DocumentDetailResponse>({
|
return useQuery<DocumentDetailResponse>({
|
||||||
queryKey: [...useDocumentDetailKey, 'onlyMetaData', datasetId, documentId],
|
queryKey: [...useDocumentDetailKey, 'onlyMetaData', datasetId, documentId, params],
|
||||||
queryFn: () => get<DocumentDetailResponse>(`/datasets/${datasetId}/documents/${documentId}`, { params }),
|
queryFn: () => get<DocumentDetailResponse>(`/datasets/${datasetId}/documents/${documentId}`, { params }),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,9 +32,9 @@ export const useSegmentList = (
|
|||||||
disable?: boolean,
|
disable?: boolean,
|
||||||
) => {
|
) => {
|
||||||
const { datasetId, documentId, params } = payload
|
const { datasetId, documentId, params } = payload
|
||||||
const { page, limit, keyword, enabled } = params
|
|
||||||
return useQuery<SegmentsResponse>({
|
return useQuery<SegmentsResponse>({
|
||||||
queryKey: [...useSegmentListKey, { datasetId, documentId, page, limit, keyword, enabled }],
|
queryKey: [...useSegmentListKey, datasetId, documentId, params],
|
||||||
queryFn: () => {
|
queryFn: () => {
|
||||||
return get<SegmentsResponse>(`/datasets/${datasetId}/documents/${documentId}/segments`, { params })
|
return get<SegmentsResponse>(`/datasets/${datasetId}/documents/${documentId}/segments`, { params })
|
||||||
},
|
},
|
||||||
@@ -111,9 +111,9 @@ export const useChildSegmentList = (
|
|||||||
disable?: boolean,
|
disable?: boolean,
|
||||||
) => {
|
) => {
|
||||||
const { datasetId, documentId, segmentId, params } = payload
|
const { datasetId, documentId, segmentId, params } = payload
|
||||||
const { page, limit, keyword } = params
|
|
||||||
return useQuery({
|
return useQuery({
|
||||||
queryKey: [...useChildSegmentListKey, { datasetId, documentId, segmentId, page, limit, keyword }],
|
queryKey: [...useChildSegmentListKey, datasetId, documentId, segmentId, params],
|
||||||
queryFn: () => {
|
queryFn: () => {
|
||||||
return get<ChildSegmentsResponse>(`/datasets/${datasetId}/documents/${documentId}/segments/${segmentId}/child_chunks`, { params })
|
return get<ChildSegmentsResponse>(`/datasets/${datasetId}/documents/${documentId}/segments/${segmentId}/child_chunks`, { params })
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ export const useUpdateAppPinStatus = () => {
|
|||||||
export const useGetInstalledAppAccessModeByAppId = (appId: string | null) => {
|
export const useGetInstalledAppAccessModeByAppId = (appId: string | null) => {
|
||||||
const systemFeatures = useGlobalPublicStore(s => s.systemFeatures)
|
const systemFeatures = useGlobalPublicStore(s => s.systemFeatures)
|
||||||
return useQuery({
|
return useQuery({
|
||||||
queryKey: [NAME_SPACE, 'appAccessMode', appId],
|
queryKey: [NAME_SPACE, 'appAccessMode', appId, systemFeatures.webapp_auth.enabled],
|
||||||
queryFn: () => {
|
queryFn: () => {
|
||||||
if (systemFeatures.webapp_auth.enabled === false) {
|
if (systemFeatures.webapp_auth.enabled === false) {
|
||||||
return {
|
return {
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ export const useGetModelCredential = (
|
|||||||
) => {
|
) => {
|
||||||
return useQuery({
|
return useQuery({
|
||||||
enabled,
|
enabled,
|
||||||
queryKey: [NAME_SPACE, 'model-list', provider, model, modelType, credentialId],
|
queryKey: [NAME_SPACE, 'model-list', provider, model, modelType, credentialId, configFrom],
|
||||||
queryFn: () => get<ModelCredential>(`/workspaces/current/model-providers/${provider}/models/credentials?model=${model}&model_type=${modelType}&config_from=${configFrom}${credentialId ? `&credential_id=${credentialId}` : ''}`),
|
queryFn: () => get<ModelCredential>(`/workspaces/current/model-providers/${provider}/models/credentials?model=${model}&model_type=${modelType}&config_from=${configFrom}${credentialId ? `&credential_id=${credentialId}` : ''}`),
|
||||||
staleTime: 0,
|
staleTime: 0,
|
||||||
gcTime: 0,
|
gcTime: 0,
|
||||||
|
|||||||
@@ -40,9 +40,8 @@ const NAME_SPACE = 'pipeline'
|
|||||||
|
|
||||||
export const PipelineTemplateListQueryKeyPrefix = [NAME_SPACE, 'template-list']
|
export const PipelineTemplateListQueryKeyPrefix = [NAME_SPACE, 'template-list']
|
||||||
export const usePipelineTemplateList = (params: PipelineTemplateListParams, enabled = true) => {
|
export const usePipelineTemplateList = (params: PipelineTemplateListParams, enabled = true) => {
|
||||||
const { type, language } = params
|
|
||||||
return useQuery<PipelineTemplateListResponse>({
|
return useQuery<PipelineTemplateListResponse>({
|
||||||
queryKey: [...PipelineTemplateListQueryKeyPrefix, type, language],
|
queryKey: [...PipelineTemplateListQueryKeyPrefix, params],
|
||||||
queryFn: () => {
|
queryFn: () => {
|
||||||
return get<PipelineTemplateListResponse>('/rag/pipeline/templates', { params })
|
return get<PipelineTemplateListResponse>('/rag/pipeline/templates', { params })
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -677,20 +677,21 @@ export const useMutationCheckDependencies = () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export const useModelInList = (currentProvider?: ModelProvider, modelId?: string) => {
|
export const useModelInList = (currentProvider?: ModelProvider, modelId?: string) => {
|
||||||
|
const provider = currentProvider?.provider
|
||||||
return useQuery({
|
return useQuery({
|
||||||
queryKey: ['modelInList', currentProvider?.provider, modelId],
|
queryKey: ['modelInList', provider, modelId],
|
||||||
queryFn: async () => {
|
queryFn: async () => {
|
||||||
if (!modelId || !currentProvider)
|
if (!modelId || !provider)
|
||||||
return false
|
return false
|
||||||
try {
|
try {
|
||||||
const modelsData = await fetchModelProviderModelList(`/workspaces/current/model-providers/${currentProvider?.provider}/models`)
|
const modelsData = await fetchModelProviderModelList(`/workspaces/current/model-providers/${provider}/models`)
|
||||||
return !!modelId && !!modelsData.data.find(item => item.model === modelId)
|
return !!modelId && !!modelsData.data.find(item => item.model === modelId)
|
||||||
}
|
}
|
||||||
catch {
|
catch {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
enabled: !!modelId && !!currentProvider,
|
enabled: !!modelId && !!provider,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -742,7 +743,7 @@ export const usePluginReadme = ({ plugin_unique_identifier, language }: { plugin
|
|||||||
export const usePluginReadmeAsset = ({ file_name, plugin_unique_identifier }: { file_name?: string, plugin_unique_identifier?: string }) => {
|
export const usePluginReadmeAsset = ({ file_name, plugin_unique_identifier }: { file_name?: string, plugin_unique_identifier?: string }) => {
|
||||||
const normalizedFileName = file_name?.replace(/(^\.\/_assets\/|^_assets\/)/, '')
|
const normalizedFileName = file_name?.replace(/(^\.\/_assets\/|^_assets\/)/, '')
|
||||||
return useQuery({
|
return useQuery({
|
||||||
queryKey: ['pluginReadmeAsset', plugin_unique_identifier, file_name],
|
queryKey: ['pluginReadmeAsset', plugin_unique_identifier, normalizedFileName],
|
||||||
queryFn: () => get<Blob>('/workspaces/current/plugin/asset', { params: { plugin_unique_identifier, file_name: normalizedFileName } }, { silent: true }),
|
queryFn: () => get<Blob>('/workspaces/current/plugin/asset', { params: { plugin_unique_identifier, file_name: normalizedFileName } }, { silent: true }),
|
||||||
enabled: !!plugin_unique_identifier && !!file_name && /(^\.\/_assets|^_assets)/.test(file_name),
|
enabled: !!plugin_unique_identifier && !!file_name && /(^\.\/_assets|^_assets)/.test(file_name),
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user