mirror of
https://github.com/danny-avila/LibreChat.git
synced 2026-01-08 11:38:51 +01:00
ci(backend-review.yml): add linter step to the backend review workflow (#625)
* ci(backend-review.yml): add linter step to the backend review workflow * chore(backend-review.yml): remove prettier from lint-action configuration * chore: apply new linting workflow * chore(lint-staged.config.js): reorder lint-staged tasks for JavaScript and TypeScript files * chore(eslint): update ignorePatterns in .eslintrc.js chore(lint-action): remove prettier option in backend-review.yml chore(package.json): add lint and lint:fix scripts * chore(lint-staged.config.js): remove prettier --write command for js, jsx, ts, tsx files * chore(titleConvo.js): remove unnecessary console.log statement chore(titleConvo.js): add missing comma in options object * chore: apply linting to all files * chore(lint-staged.config.js): update lint-staged configuration to include prettier formatting
This commit is contained in:
parent
637bb6bc11
commit
e5336039fc
231 changed files with 1688 additions and 1526 deletions
|
|
@ -14,7 +14,7 @@ function PluginAuthForm({ plugin, onSubmit }: TPluginAuthFormProps) {
|
|||
const {
|
||||
register,
|
||||
handleSubmit,
|
||||
formState: { errors, isDirty, isValid, isSubmitting }
|
||||
formState: { errors, isDirty, isValid, isSubmitting },
|
||||
} = useForm();
|
||||
|
||||
return (
|
||||
|
|
@ -24,7 +24,7 @@ function PluginAuthForm({ plugin, onSubmit }: TPluginAuthFormProps) {
|
|||
className="col-span-1 flex w-full flex-col items-start justify-start gap-2"
|
||||
method="POST"
|
||||
onSubmit={handleSubmit((auth) =>
|
||||
onSubmit({ pluginKey: plugin!.pluginKey, action: 'install', auth })
|
||||
onSubmit({ pluginKey: plugin!.pluginKey, action: 'install', auth }),
|
||||
)}
|
||||
>
|
||||
{plugin!.authConfig?.map((config: TPluginAuthConfig, i: number) => (
|
||||
|
|
@ -49,8 +49,8 @@ function PluginAuthForm({ plugin, onSubmit }: TPluginAuthFormProps) {
|
|||
required: `${config.label} is required.`,
|
||||
minLength: {
|
||||
value: 10,
|
||||
message: `${config.label} must be at least 10 characters long`
|
||||
}
|
||||
message: `${config.label} must be at least 10 characters long`,
|
||||
},
|
||||
})}
|
||||
className="flex h-10 max-h-10 w-full resize-none rounded-md border border-gray-200 bg-transparent px-3 py-2 text-sm text-gray-700 shadow-[0_0_10px_rgba(0,0,0,0.05)] outline-none placeholder:text-gray-400 focus:border-slate-400 focus:bg-gray-50 focus:outline-none focus:ring-0 focus:ring-gray-400 focus:ring-opacity-0 focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 dark:border-gray-500 dark:bg-gray-700 dark:text-gray-50 dark:shadow-[0_0_15px_rgba(0,0,0,0.10)] dark:focus:border-gray-400 focus:dark:bg-gray-600 dark:focus:outline-none dark:focus:ring-0 dark:focus:ring-gray-400 dark:focus:ring-offset-0"
|
||||
/>
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ type TPluginPaginationProps = {
|
|||
const PluginPagination: React.FC<TPluginPaginationProps> = ({
|
||||
currentPage,
|
||||
maxPage,
|
||||
onChangePage
|
||||
onChangePage,
|
||||
}) => {
|
||||
const pages = [...Array(maxPage).keys()].map((i) => i + 1);
|
||||
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import { PluginStoreItem, PluginPagination, PluginAuthForm } from '.';
|
|||
import {
|
||||
useAvailablePluginsQuery,
|
||||
useUpdateUserPluginsMutation,
|
||||
TPlugin
|
||||
TPlugin,
|
||||
} from '@librechat/data-provider';
|
||||
import { useAuthContext } from '~/hooks/AuthContext';
|
||||
|
||||
|
|
@ -51,7 +51,7 @@ function PluginStoreDialog({ isOpen, setIsOpen }: TPluginStoreDialogProps) {
|
|||
updateUserPlugins.mutate(pluginAction, {
|
||||
onError: (error) => {
|
||||
handleInstallError(error);
|
||||
}
|
||||
},
|
||||
});
|
||||
setShowPluginAuthForm(false);
|
||||
};
|
||||
|
|
@ -72,10 +72,10 @@ function PluginStoreDialog({ isOpen, setIsOpen }: TPluginStoreDialogProps) {
|
|||
localStorage.setItem('lastSelectedTools', JSON.stringify(tools));
|
||||
setConversation((prevState: any) => ({
|
||||
...prevState,
|
||||
tools
|
||||
tools,
|
||||
}));
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
);
|
||||
};
|
||||
|
||||
|
|
@ -119,7 +119,7 @@ function PluginStoreDialog({ isOpen, setIsOpen }: TPluginStoreDialogProps) {
|
|||
resizeObserver.observe(node);
|
||||
}
|
||||
},
|
||||
[itemsPerPage]
|
||||
[itemsPerPage],
|
||||
);
|
||||
|
||||
useEffect(() => {
|
||||
|
|
|
|||
|
|
@ -29,9 +29,9 @@ const pluginsQueryResult = [
|
|||
{
|
||||
authField: 'GOOGLE_CSE_ID',
|
||||
label: 'Google CSE ID',
|
||||
description: 'This is your Google Custom Search Engine ID.'
|
||||
}
|
||||
]
|
||||
description: 'This is your Google Custom Search Engine ID.',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: 'Wolfram',
|
||||
|
|
@ -43,66 +43,66 @@ const pluginsQueryResult = [
|
|||
{
|
||||
authField: 'WOLFRAM_APP_ID',
|
||||
label: 'Wolfram App ID',
|
||||
description: 'An AppID must be supplied in all calls to the Wolfram|Alpha API.'
|
||||
}
|
||||
]
|
||||
description: 'An AppID must be supplied in all calls to the Wolfram|Alpha API.',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: 'Calculator',
|
||||
pluginKey: 'calculator',
|
||||
description: 'A simple calculator plugin',
|
||||
icon: 'https://i.imgur.com/SMmVkNB.png',
|
||||
authConfig: []
|
||||
authConfig: [],
|
||||
},
|
||||
{
|
||||
name: 'Plugin 1',
|
||||
pluginKey: 'plugin1',
|
||||
description: 'description for Plugin 1.',
|
||||
icon: 'mock-icon',
|
||||
authConfig: []
|
||||
authConfig: [],
|
||||
},
|
||||
{
|
||||
name: 'Plugin 2',
|
||||
pluginKey: 'plugin2',
|
||||
description: 'description for Plugin 2.',
|
||||
icon: 'mock-icon',
|
||||
authConfig: []
|
||||
authConfig: [],
|
||||
},
|
||||
{
|
||||
name: 'Plugin 3',
|
||||
pluginKey: 'plugin3',
|
||||
description: 'description for Plugin 3.',
|
||||
icon: 'mock-icon',
|
||||
authConfig: []
|
||||
authConfig: [],
|
||||
},
|
||||
{
|
||||
name: 'Plugin 4',
|
||||
pluginKey: 'plugin4',
|
||||
description: 'description for Plugin 4.',
|
||||
icon: 'mock-icon',
|
||||
authConfig: []
|
||||
authConfig: [],
|
||||
},
|
||||
{
|
||||
name: 'Plugin 5',
|
||||
pluginKey: 'plugin5',
|
||||
description: 'description for Plugin 5.',
|
||||
icon: 'mock-icon',
|
||||
authConfig: []
|
||||
authConfig: [],
|
||||
},
|
||||
{
|
||||
name: 'Plugin 6',
|
||||
pluginKey: 'plugin6',
|
||||
description: 'description for Plugin 6.',
|
||||
icon: 'mock-icon',
|
||||
authConfig: []
|
||||
authConfig: [],
|
||||
},
|
||||
{
|
||||
name: 'Plugin 7',
|
||||
pluginKey: 'plugin7',
|
||||
description: 'description for Plugin 7.',
|
||||
icon: 'mock-icon',
|
||||
authConfig: []
|
||||
}
|
||||
authConfig: [],
|
||||
},
|
||||
];
|
||||
|
||||
const setup = ({
|
||||
|
|
@ -110,20 +110,20 @@ const setup = ({
|
|||
isLoading: false,
|
||||
isError: false,
|
||||
data: {
|
||||
plugins: ['wolfram']
|
||||
}
|
||||
plugins: ['wolfram'],
|
||||
},
|
||||
},
|
||||
useAvailablePluginsQueryReturnValue = {
|
||||
isLoading: false,
|
||||
isError: false,
|
||||
data: pluginsQueryResult
|
||||
data: pluginsQueryResult,
|
||||
},
|
||||
useUpdateUserPluginsMutationReturnValue = {
|
||||
isLoading: false,
|
||||
isError: false,
|
||||
mutate: jest.fn(),
|
||||
data: {}
|
||||
}
|
||||
data: {},
|
||||
},
|
||||
} = {}) => {
|
||||
const mockUseAvailablePluginsQuery = jest
|
||||
.spyOn(mockDataProvider, 'useAvailablePluginsQuery')
|
||||
|
|
@ -145,7 +145,7 @@ const setup = ({
|
|||
mockUseGetUserQuery,
|
||||
mockUseAvailablePluginsQuery,
|
||||
mockUseUpdateUserPluginsMutation,
|
||||
mockSetIsOpen
|
||||
mockSetIsOpen,
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue