refactor: plugin manager optimize & support keywords (#3467)
* refactor: plugin manager refactor * refactor: plugin manager keywords * refactor: plugin manager keywords * refactor: disabled plugin support seccend confirm * refactor: plugin manager * refactor: plugin manager * refactor: plugin manager * refactor: plugin manager * refactor: plugin manager * refactor: plugin manager * fix: styles * fix: 4 * refactor: plugin manger sort by display name * refactor: plugin manger homepage * refactor: plugin manger keyword --------- Co-authored-by: chenos <chenlinxh@gmail.com>
This commit is contained in:
parent
4d4a70b2f4
commit
44a70107af
@ -698,6 +698,7 @@
|
|||||||
"Plugin starting...": "Plugin starting...",
|
"Plugin starting...": "Plugin starting...",
|
||||||
"Plugin stopping...": "Plugin stopping...",
|
"Plugin stopping...": "Plugin stopping...",
|
||||||
"Are you sure to delete this plugin?": "Are you sure to delete this plugin?",
|
"Are you sure to delete this plugin?": "Are you sure to delete this plugin?",
|
||||||
|
"Are you sure to disable this plugin?": "Are you sure to disable this plugin?",
|
||||||
"re-download file": "re-download file",
|
"re-download file": "re-download file",
|
||||||
"Not enabled": "Not enabled",
|
"Not enabled": "Not enabled",
|
||||||
"Search plugin": "Search plugin",
|
"Search plugin": "Search plugin",
|
||||||
|
@ -661,6 +661,7 @@
|
|||||||
"Plugin starting...": "プラグインを起動しています...",
|
"Plugin starting...": "プラグインを起動しています...",
|
||||||
"Plugin stopping...": "プラグインを停止しています...",
|
"Plugin stopping...": "プラグインを停止しています...",
|
||||||
"Are you sure to delete this plugin?": "このプラグインを削除してもよろしいですか?",
|
"Are you sure to delete this plugin?": "このプラグインを削除してもよろしいですか?",
|
||||||
|
"Are you sure to delete this plugin":"本当にこのプラグインを無効にしますか?",
|
||||||
"re-download file": "ファイルを再ダウンロード",
|
"re-download file": "ファイルを再ダウンロード",
|
||||||
"Not enabled": "有効になっていません",
|
"Not enabled": "有効になっていません",
|
||||||
"Search plugin": "プラグインを検索",
|
"Search plugin": "プラグインを検索",
|
||||||
|
@ -651,6 +651,7 @@
|
|||||||
"Plugin starting...": "Plugin iniciando...",
|
"Plugin starting...": "Plugin iniciando...",
|
||||||
"Plugin stopping...": "Plugin parando...",
|
"Plugin stopping...": "Plugin parando...",
|
||||||
"Are you sure to delete this plugin?": "Tem certeza de que deseja excluir este plugin?",
|
"Are you sure to delete this plugin?": "Tem certeza de que deseja excluir este plugin?",
|
||||||
|
"Are you sure to delete this plugin":"Tem a certeza que deseja desactivar este plugin",
|
||||||
"re-download file": "re-fazer download do arquivo",
|
"re-download file": "re-fazer download do arquivo",
|
||||||
"Not enabled": "Não habilitado",
|
"Not enabled": "Não habilitado",
|
||||||
"Search plugin": "Pesquisar plugin",
|
"Search plugin": "Pesquisar plugin",
|
||||||
|
@ -201,7 +201,7 @@
|
|||||||
"Actions": "操作",
|
"Actions": "操作",
|
||||||
"Update": "更新",
|
"Update": "更新",
|
||||||
"Update record": "更新数据",
|
"Update record": "更新数据",
|
||||||
"Unnamed":"未命名",
|
"Unnamed": "未命名",
|
||||||
"View": "查看",
|
"View": "查看",
|
||||||
"View record": "查看数据",
|
"View record": "查看数据",
|
||||||
"Refresh": "刷新",
|
"Refresh": "刷新",
|
||||||
@ -225,7 +225,7 @@
|
|||||||
"General collection": "普通数据表",
|
"General collection": "普通数据表",
|
||||||
"SQL collection": "SQL数据表",
|
"SQL collection": "SQL数据表",
|
||||||
"Connect to database view": "连接数据库视图",
|
"Connect to database view": "连接数据库视图",
|
||||||
"Sync from database":"从数据库同步",
|
"Sync from database": "从数据库同步",
|
||||||
"Source collections": "来源数据表",
|
"Source collections": "来源数据表",
|
||||||
"Field source": "来源字段",
|
"Field source": "来源字段",
|
||||||
"Preview": "预览",
|
"Preview": "预览",
|
||||||
@ -715,6 +715,7 @@
|
|||||||
"Plugin starting...": "插件启动中...",
|
"Plugin starting...": "插件启动中...",
|
||||||
"Plugin stopping...": "插件停止中...",
|
"Plugin stopping...": "插件停止中...",
|
||||||
"Are you sure to delete this plugin?": "确定要删除此插件吗?",
|
"Are you sure to delete this plugin?": "确定要删除此插件吗?",
|
||||||
|
"Are you sure to disable this plugin?": "确定要禁用此插件吗?",
|
||||||
"re-download file": "重新下载文件",
|
"re-download file": "重新下载文件",
|
||||||
"Not enabled": "未启用",
|
"Not enabled": "未启用",
|
||||||
"Search plugin": "搜索插件",
|
"Search plugin": "搜索插件",
|
||||||
@ -841,6 +842,12 @@
|
|||||||
"Sign in with another account": "登录其他账号",
|
"Sign in with another account": "登录其他账号",
|
||||||
"Return to the main application": "返回主应用",
|
"Return to the main application": "返回主应用",
|
||||||
"Permission denied": "没有权限",
|
"Permission denied": "没有权限",
|
||||||
"Allow add new":"允许新增",
|
"Allow add new": "允许新增",
|
||||||
"Allow selection of existing records":"允许选择已有数据"
|
"Allow selection of existing records": "允许选择已有数据",
|
||||||
|
"Data model": "数据模型",
|
||||||
|
"Security": "认证与安全",
|
||||||
|
"Action": "操作",
|
||||||
|
"System": "系统管理",
|
||||||
|
"Other": "其他",
|
||||||
|
"Workflow":"工作流"
|
||||||
}
|
}
|
||||||
|
@ -20,7 +20,8 @@ interface IPluginInfo extends IPluginCard {
|
|||||||
function PluginInfo(props: IPluginInfo) {
|
function PluginInfo(props: IPluginInfo) {
|
||||||
const { data, onClick } = props;
|
const { data, onClick } = props;
|
||||||
const app = useApp();
|
const app = useApp();
|
||||||
const { name, displayName, isCompatible, packageName, updatable, builtIn, enabled, description, type, error } = data;
|
const { name, displayName, isCompatible, packageName, updatable, builtIn, enabled, description, error, homepage } =
|
||||||
|
data;
|
||||||
const { styles, theme } = useStyles();
|
const { styles, theme } = useStyles();
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
@ -78,7 +79,15 @@ function PluginInfo(props: IPluginInfo) {
|
|||||||
`}
|
`}
|
||||||
actions={[
|
actions={[
|
||||||
<Space split={<Divider type="vertical" />} key={'1'}>
|
<Space split={<Divider type="vertical" />} key={'1'}>
|
||||||
<a key={'5'}>
|
<a
|
||||||
|
key={'5'}
|
||||||
|
href={homepage}
|
||||||
|
target="_blank"
|
||||||
|
onClick={(event) => {
|
||||||
|
event.stopPropagation();
|
||||||
|
}}
|
||||||
|
rel="noreferrer"
|
||||||
|
>
|
||||||
<ReadOutlined /> {t('Docs')}
|
<ReadOutlined /> {t('Docs')}
|
||||||
</a>
|
</a>
|
||||||
{updatable && (
|
{updatable && (
|
||||||
@ -143,12 +152,26 @@ function PluginInfo(props: IPluginInfo) {
|
|||||||
message.error(t("Dependencies check failed, can't enable."));
|
message.error(t("Dependencies check failed, can't enable."));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
await api.request({
|
if (!checked) {
|
||||||
url: `pm:${checked ? 'enable' : 'disable'}`,
|
modal.confirm({
|
||||||
params: {
|
title: t('Are you sure to disable this plugin?'),
|
||||||
filterByTk: name,
|
onOk: async () => {
|
||||||
},
|
await api.request({
|
||||||
});
|
url: `pm:disable`,
|
||||||
|
params: {
|
||||||
|
filterByTk: name,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
},
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
await api.request({
|
||||||
|
url: `pm:enable`,
|
||||||
|
params: {
|
||||||
|
filterByTk: name,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
}}
|
}}
|
||||||
checked={enabledVal}
|
checked={enabledVal}
|
||||||
></Switch>,
|
></Switch>,
|
||||||
|
@ -111,90 +111,81 @@ export const PluginDetail: FC<IPluginDetail> = ({ plugin, onCancel }) => {
|
|||||||
label: t('Readme'),
|
label: t('Readme'),
|
||||||
children: (
|
children: (
|
||||||
<Row gutter={20}>
|
<Row gutter={20}>
|
||||||
<Col span={16}>
|
{plugin.name && (
|
||||||
{plugin?.readmeUrl ? (
|
<Col span={12}>
|
||||||
<PluginDocument url={plugin?.readmeUrl} packageName={plugin.packageName} />
|
<div className={styles.PluginDetailBaseInfo}>
|
||||||
) : (
|
<Typography.Text type="secondary">{t('Name')}</Typography.Text>
|
||||||
t('No README.md file')
|
<Typography.Text strong>{plugin.name}</Typography.Text>
|
||||||
)}
|
</div>
|
||||||
|
</Col>
|
||||||
|
)}
|
||||||
|
{plugin.displayName && (
|
||||||
|
<Col span={12}>
|
||||||
|
<div className={styles.PluginDetailBaseInfo}>
|
||||||
|
<Typography.Text type="secondary">{t('DisplayName')}</Typography.Text>
|
||||||
|
<Typography.Text strong>{plugin.displayName}</Typography.Text>
|
||||||
|
</div>
|
||||||
|
</Col>
|
||||||
|
)}
|
||||||
|
<Col span={24}>
|
||||||
|
<div className={styles.PluginDetailBaseInfo}>
|
||||||
|
<Typography.Text type="secondary">{t('PackageName')}</Typography.Text>
|
||||||
|
<Typography.Text strong>{plugin.packageName}</Typography.Text>
|
||||||
|
</div>
|
||||||
</Col>
|
</Col>
|
||||||
<Col span={8}>
|
{repository && (
|
||||||
<Row>
|
<Col span={24}>
|
||||||
{plugin.name && (
|
<div className={styles.PluginDetailBaseInfo}>
|
||||||
<Col span={12}>
|
<Typography.Text type="secondary">{t('Repository')}</Typography.Text>
|
||||||
<div className={styles.PluginDetailBaseInfo}>
|
<Typography.Text strong>{repository}</Typography.Text>
|
||||||
<Typography.Text type="secondary">{t('Name')}</Typography.Text>
|
</div>
|
||||||
<Typography.Text strong>{plugin.name}</Typography.Text>
|
</Col>
|
||||||
</div>
|
)}
|
||||||
</Col>
|
{data?.data?.packageJson.homepage && (
|
||||||
)}
|
<Col span={24}>
|
||||||
{plugin.displayName && (
|
<div className={styles.PluginDetailBaseInfo}>
|
||||||
<Col span={12}>
|
<Typography.Text type="secondary">{t('Homepage')}</Typography.Text>
|
||||||
<div className={styles.PluginDetailBaseInfo}>
|
<a href={data?.data?.packageJson.homepage} target="_blank" rel="noreferrer">
|
||||||
<Typography.Text type="secondary">{t('DisplayName')}</Typography.Text>
|
{data?.data?.packageJson.homepage}
|
||||||
<Typography.Text strong>{plugin.displayName}</Typography.Text>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</Col>
|
</Col>
|
||||||
)}
|
)}
|
||||||
<Col span={24}>
|
{plugin.description && (
|
||||||
<div className={styles.PluginDetailBaseInfo}>
|
<Col span={24}>
|
||||||
<Typography.Text type="secondary">{t('PackageName')}</Typography.Text>
|
<div className={styles.PluginDetailBaseInfo}>
|
||||||
<Typography.Text strong>{plugin.packageName}</Typography.Text>
|
<Typography.Text type="secondary">{t('Description')}</Typography.Text>
|
||||||
</div>
|
<Typography.Text strong>{plugin.description}</Typography.Text>
|
||||||
</Col>
|
</div>
|
||||||
{repository && (
|
</Col>
|
||||||
<Col span={24}>
|
)}
|
||||||
<div className={styles.PluginDetailBaseInfo}>
|
{data?.data?.packageJson.license && (
|
||||||
<Typography.Text type="secondary">{t('Repository')}</Typography.Text>
|
<Col span={12}>
|
||||||
<Typography.Text strong>{repository}</Typography.Text>
|
<div className={styles.PluginDetailBaseInfo}>
|
||||||
</div>
|
<Typography.Text type="secondary">{t('License')}</Typography.Text>
|
||||||
</Col>
|
<Typography.Text strong>{data?.data?.packageJson.license}</Typography.Text>
|
||||||
)}
|
</div>
|
||||||
{data?.data?.packageJson.homepage && (
|
</Col>
|
||||||
<Col span={24}>
|
)}
|
||||||
<div className={styles.PluginDetailBaseInfo}>
|
{author && (
|
||||||
<Typography.Text type="secondary">{t('Homepage')}</Typography.Text>
|
<Col span={12}>
|
||||||
<Typography.Text strong>{data?.data?.packageJson.homepage}</Typography.Text>
|
<div className={styles.PluginDetailBaseInfo}>
|
||||||
</div>
|
<Typography.Text type="secondary">{t('Author')}</Typography.Text>
|
||||||
</Col>
|
<Typography.Text strong>{author}</Typography.Text>
|
||||||
)}
|
</div>
|
||||||
{plugin.description && (
|
</Col>
|
||||||
<Col span={24}>
|
)}
|
||||||
<div className={styles.PluginDetailBaseInfo}>
|
<Col span={12}>
|
||||||
<Typography.Text type="secondary">{t('Description')}</Typography.Text>
|
<div className={styles.PluginDetailBaseInfo}>
|
||||||
<Typography.Text strong>{plugin.description}</Typography.Text>
|
<Typography.Text type="secondary">{t('Last updated')}</Typography.Text>
|
||||||
</div>
|
<Typography.Text strong>{dayjs(data?.data?.lastUpdated).fromNow()}</Typography.Text>
|
||||||
</Col>
|
</div>
|
||||||
)}
|
</Col>
|
||||||
{data?.data?.packageJson.license && (
|
<Col span={12}>
|
||||||
<Col span={12}>
|
<div className={styles.PluginDetailBaseInfo}>
|
||||||
<div className={styles.PluginDetailBaseInfo}>
|
<Typography.Text type="secondary">{t('Version')}</Typography.Text>
|
||||||
<Typography.Text type="secondary">{t('License')}</Typography.Text>
|
<Typography.Text strong>{plugin?.version}</Typography.Text>
|
||||||
<Typography.Text strong>{data?.data?.packageJson.license}</Typography.Text>
|
</div>
|
||||||
</div>
|
|
||||||
</Col>
|
|
||||||
)}
|
|
||||||
{author && (
|
|
||||||
<Col span={12}>
|
|
||||||
<div className={styles.PluginDetailBaseInfo}>
|
|
||||||
<Typography.Text type="secondary">{t('Author')}</Typography.Text>
|
|
||||||
<Typography.Text strong>{author}</Typography.Text>
|
|
||||||
</div>
|
|
||||||
</Col>
|
|
||||||
)}
|
|
||||||
<Col span={12}>
|
|
||||||
<div className={styles.PluginDetailBaseInfo}>
|
|
||||||
<Typography.Text type="secondary">{t('Last updated')}</Typography.Text>
|
|
||||||
<Typography.Text strong>{dayjs(data?.data?.lastUpdated).fromNow()}</Typography.Text>
|
|
||||||
</div>
|
|
||||||
</Col>
|
|
||||||
<Col span={12}>
|
|
||||||
<div className={styles.PluginDetailBaseInfo}>
|
|
||||||
<Typography.Text type="secondary">{t('Version')}</Typography.Text>
|
|
||||||
<Typography.Text strong>{plugin?.version}</Typography.Text>
|
|
||||||
</div>
|
|
||||||
</Col>
|
|
||||||
</Row>
|
|
||||||
</Col>
|
</Col>
|
||||||
</Row>
|
</Row>
|
||||||
),
|
),
|
||||||
@ -239,7 +230,7 @@ export const PluginDetail: FC<IPluginDetail> = ({ plugin, onCancel }) => {
|
|||||||
];
|
];
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Modal open={!!plugin} footer={false} destroyOnClose width={1200} onCancel={onCancel}>
|
<Modal open={!!plugin} footer={false} destroyOnClose width={600} onCancel={onCancel}>
|
||||||
{loading ? (
|
{loading ? (
|
||||||
<Spin />
|
<Spin />
|
||||||
) : (
|
) : (
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
export * from './PluginManagerLink';
|
export * from './PluginManagerLink';
|
||||||
import { PageHeader } from '@ant-design/pro-layout';
|
import { PageHeader } from '@ant-design/pro-layout';
|
||||||
import { useDebounce } from 'ahooks';
|
import { useDebounce } from 'ahooks';
|
||||||
import { Button, Divider, Input, Result, Space, Spin, Tabs } from 'antd';
|
import { Button, Col, Divider, Input, List, Result, Row, Space, Spin, Tabs } from 'antd';
|
||||||
import _ from 'lodash';
|
import _ from 'lodash';
|
||||||
import React, { useEffect, useMemo, useState } from 'react';
|
import React, { useEffect, useMemo, useState } from 'react';
|
||||||
import { useTranslation } from 'react-i18next';
|
import { useTranslation } from 'react-i18next';
|
||||||
@ -71,10 +71,50 @@ const LocalPlugins = () => {
|
|||||||
const [filterIndex, setFilterIndex] = useState(0);
|
const [filterIndex, setFilterIndex] = useState(0);
|
||||||
const [isShowAddForm, setShowAddForm] = useState(false);
|
const [isShowAddForm, setShowAddForm] = useState(false);
|
||||||
const [searchValue, setSearchValue] = useState('');
|
const [searchValue, setSearchValue] = useState('');
|
||||||
|
const [keyword, setKeyword] = useState(null);
|
||||||
const debouncedSearchValue = useDebounce(searchValue, { wait: 100 });
|
const debouncedSearchValue = useDebounce(searchValue, { wait: 100 });
|
||||||
|
|
||||||
|
const keywordList = useMemo(() => {
|
||||||
|
let keyWordlists = [];
|
||||||
|
data?.data.forEach((v) => {
|
||||||
|
if (v.keywords) {
|
||||||
|
keyWordlists = keyWordlists.concat(v.keywords);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
keyWordlists.sort((a, b) => {
|
||||||
|
if (a === 'data model') return -1;
|
||||||
|
if (b === 'data model') return 1;
|
||||||
|
return 0;
|
||||||
|
});
|
||||||
|
return _.uniq(keyWordlists).concat('other');
|
||||||
|
}, [data?.data]);
|
||||||
|
|
||||||
|
const keyWordsfilterList = useMemo(() => {
|
||||||
|
const list = keywordList.map((i) => {
|
||||||
|
if (i === 'other') {
|
||||||
|
const result = data?.data.filter((v) => !v.keywords);
|
||||||
|
return {
|
||||||
|
key: i,
|
||||||
|
list: result,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
const result = data?.data.filter((v) => v.keywords?.includes(i));
|
||||||
|
return {
|
||||||
|
key: i,
|
||||||
|
list: result,
|
||||||
|
};
|
||||||
|
});
|
||||||
|
return list;
|
||||||
|
}, [keywordList]);
|
||||||
|
|
||||||
const pluginList = useMemo(() => {
|
const pluginList = useMemo(() => {
|
||||||
let list = filterList[filterIndex]?.list || [];
|
let list = filterList[filterIndex]?.list || [];
|
||||||
|
if (!filterIndex && keyword) {
|
||||||
|
list = keyWordsfilterList.find((v) => v.key === keyword).list;
|
||||||
|
} else if (filterIndex && keyword) {
|
||||||
|
const keyList = keyWordsfilterList.find((v) => v.key === keyword).list;
|
||||||
|
list = keyList.filter((value) => list.find((k) => k.name === value.name));
|
||||||
|
}
|
||||||
const searchLowerCaseValue = debouncedSearchValue.toLocaleLowerCase().trim();
|
const searchLowerCaseValue = debouncedSearchValue.toLocaleLowerCase().trim();
|
||||||
if (searchLowerCaseValue) {
|
if (searchLowerCaseValue) {
|
||||||
list = _.filter(
|
list = _.filter(
|
||||||
@ -88,8 +128,8 @@ const LocalPlugins = () => {
|
|||||||
.includes(searchLowerCaseValue),
|
.includes(searchLowerCaseValue),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
return list;
|
return list.sort((a, b) => a.displayName.localeCompare(b.displayName));
|
||||||
}, [filterIndex, filterList, debouncedSearchValue]);
|
}, [filterIndex, filterList, debouncedSearchValue, keyword]);
|
||||||
|
|
||||||
const handleSearch = (value: string) => {
|
const handleSearch = (value: string) => {
|
||||||
setSearchValue(value);
|
setSearchValue(value);
|
||||||
@ -98,7 +138,6 @@ const LocalPlugins = () => {
|
|||||||
if (loading) {
|
if (loading) {
|
||||||
return <Spin />;
|
return <Spin />;
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<PluginAddModal
|
<PluginAddModal
|
||||||
@ -108,6 +147,7 @@ const LocalPlugins = () => {
|
|||||||
// if (isRefresh) refresh();
|
// if (isRefresh) refresh();
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<div style={{ width: '100%' }}>
|
<div style={{ width: '100%' }}>
|
||||||
<div
|
<div
|
||||||
style={{ marginBottom: theme.marginLG }}
|
style={{ marginBottom: theme.marginLG }}
|
||||||
@ -117,7 +157,7 @@ const LocalPlugins = () => {
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
`}
|
`}
|
||||||
>
|
>
|
||||||
<div>
|
<div style={{ marginLeft: 200 }}>
|
||||||
<Space size={theme.marginXXS} split={<Divider type="vertical" />}>
|
<Space size={theme.marginXXS} split={<Divider type="vertical" />}>
|
||||||
{filterList.map((item, index) => (
|
{filterList.map((item, index) => (
|
||||||
<a
|
<a
|
||||||
@ -127,7 +167,8 @@ const LocalPlugins = () => {
|
|||||||
key={item.type}
|
key={item.type}
|
||||||
style={{ fontWeight: filterIndex === index ? 'bold' : 'normal' }}
|
style={{ fontWeight: filterIndex === index ? 'bold' : 'normal' }}
|
||||||
>
|
>
|
||||||
{t(item.type)}({item.list?.length})
|
{t(item.type)}
|
||||||
|
{filterIndex === index ? `(${pluginList?.length})` : null}
|
||||||
</a>
|
</a>
|
||||||
))}
|
))}
|
||||||
<Input
|
<Input
|
||||||
@ -145,22 +186,45 @@ const LocalPlugins = () => {
|
|||||||
</Space>
|
</Space>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<Row style={{ width: '100%' }}>
|
||||||
className={css`
|
<Col flex="200px">
|
||||||
--grid-gutter: ${theme.margin}px;
|
<List
|
||||||
--extensions-card-width: 350px;
|
size="small"
|
||||||
display: grid;
|
dataSource={keyWordsfilterList}
|
||||||
grid-column-gap: var(--grid-gutter);
|
split={false}
|
||||||
grid-row-gap: var(--grid-gutter);
|
renderItem={(item) => {
|
||||||
grid-template-columns: repeat(auto-fill, var(--extensions-card-width));
|
return (
|
||||||
justify-content: center;
|
<List.Item
|
||||||
margin: auto;
|
style={{ padding: '3px 0' }}
|
||||||
`}
|
onClick={() => (item.key !== keyword ? setKeyword(item.key) : setKeyword(null))}
|
||||||
>
|
>
|
||||||
{pluginList.map((item) => (
|
<a style={{ fontWeight: keyword === item.key ? 'bold' : 'normal' }}>
|
||||||
<PluginCard key={item.name} data={item} />
|
{t(item.key?.charAt?.(0).toUpperCase() + item.key?.slice?.(1))}
|
||||||
))}
|
</a>
|
||||||
</div>
|
</List.Item>
|
||||||
|
);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</Col>
|
||||||
|
<Col flex="auto">
|
||||||
|
<div
|
||||||
|
className={css`
|
||||||
|
--grid-gutter: ${theme.margin}px;
|
||||||
|
--extensions-card-width: calc(25% - var(--grid-gutter) + var(--grid-gutter) / 4);
|
||||||
|
display: grid;
|
||||||
|
grid-column-gap: var(--grid-gutter);
|
||||||
|
grid-row-gap: var(--grid-gutter);
|
||||||
|
grid-template-columns: repeat(auto-fill, var(--extensions-card-width));
|
||||||
|
justify-content: left;
|
||||||
|
margin: auto;
|
||||||
|
`}
|
||||||
|
>
|
||||||
|
{pluginList.map((item) => (
|
||||||
|
<PluginCard key={item.name} data={item} />
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
</Col>
|
||||||
|
</Row>
|
||||||
</div>
|
</div>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
|
@ -20,4 +20,6 @@ export interface IPluginData {
|
|||||||
changelogUrl: string;
|
changelogUrl: string;
|
||||||
error: boolean;
|
error: boolean;
|
||||||
updatable?: boolean;
|
updatable?: boolean;
|
||||||
|
homepage?: string;
|
||||||
|
keywords?: string[];
|
||||||
}
|
}
|
||||||
|
@ -208,10 +208,12 @@ export abstract class Plugin<O = any> implements PluginInterface {
|
|||||||
|
|
||||||
const results = {
|
const results = {
|
||||||
...this.options,
|
...this.options,
|
||||||
|
keywords: packageJson.keywords,
|
||||||
readmeUrl: getExposeReadmeUrl(packageName, locale),
|
readmeUrl: getExposeReadmeUrl(packageName, locale),
|
||||||
changelogUrl: getExposeChangelogUrl(packageName),
|
changelogUrl: getExposeChangelogUrl(packageName),
|
||||||
displayName: packageJson[`displayName.${locale}`] || packageJson.displayName || name,
|
displayName: packageJson[`displayName.${locale}`] || packageJson.displayName || name,
|
||||||
description: packageJson[`description.${locale}`] || packageJson.description,
|
description: packageJson[`description.${locale}`] || packageJson.description,
|
||||||
|
homepage: packageJson[`homepage.${locale}`] || packageJson.homepage,
|
||||||
};
|
};
|
||||||
|
|
||||||
if (!options.withOutOpenFile) {
|
if (!options.withOutOpenFile) {
|
||||||
|
@ -7,6 +7,9 @@
|
|||||||
"version": "0.19.0-alpha.5",
|
"version": "0.19.0-alpha.5",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"main": "./dist/server/index.js",
|
"main": "./dist/server/index.js",
|
||||||
|
"homepage": "https://docs.nocobase.com/plugins/acl",
|
||||||
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/plugins/acl",
|
||||||
|
"keywords":["security","users"],
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/jsonwebtoken": "^8.5.8",
|
"@types/jsonwebtoken": "^8.5.8",
|
||||||
"async-mutex": "^0.3.2",
|
"async-mutex": "^0.3.2",
|
||||||
|
@ -2,6 +2,8 @@
|
|||||||
"name": "@nocobase/plugin-action-bulk-edit",
|
"name": "@nocobase/plugin-action-bulk-edit",
|
||||||
"version": "0.19.0-alpha.5",
|
"version": "0.19.0-alpha.5",
|
||||||
"main": "dist/server/index.js",
|
"main": "dist/server/index.js",
|
||||||
|
"homepage": "https://docs.nocobase.com/plugins/action-bulk-edit",
|
||||||
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/plugins/action-bulk-edit",
|
||||||
"displayName": "Bulk edit action",
|
"displayName": "Bulk edit action",
|
||||||
"displayName.zh-CN": "批量编辑操作",
|
"displayName.zh-CN": "批量编辑操作",
|
||||||
"description": "Provides bulk edit action",
|
"description": "Provides bulk edit action",
|
||||||
@ -12,5 +14,6 @@
|
|||||||
"@nocobase/server": "0.x",
|
"@nocobase/server": "0.x",
|
||||||
"@nocobase/test": "0.x"
|
"@nocobase/test": "0.x"
|
||||||
},
|
},
|
||||||
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde"
|
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde",
|
||||||
|
"keywords":["action"]
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,8 @@
|
|||||||
"name": "@nocobase/plugin-action-bulk-update",
|
"name": "@nocobase/plugin-action-bulk-update",
|
||||||
"version": "0.19.0-alpha.5",
|
"version": "0.19.0-alpha.5",
|
||||||
"main": "dist/server/index.js",
|
"main": "dist/server/index.js",
|
||||||
|
"homepage": "https://docs.nocobase.com/plugins/action-bulk-update",
|
||||||
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/plugins/action-bulk-update",
|
||||||
"displayName": "Bulk update action",
|
"displayName": "Bulk update action",
|
||||||
"displayName.zh-CN": "批量更新操作",
|
"displayName.zh-CN": "批量更新操作",
|
||||||
"description": "Provides bulk update action",
|
"description": "Provides bulk update action",
|
||||||
@ -12,5 +14,6 @@
|
|||||||
"@nocobase/server": "0.x",
|
"@nocobase/server": "0.x",
|
||||||
"@nocobase/test": "0.x"
|
"@nocobase/test": "0.x"
|
||||||
},
|
},
|
||||||
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde"
|
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde",
|
||||||
|
"keywords":["action"]
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,8 @@
|
|||||||
"name": "@nocobase/plugin-action-duplicate",
|
"name": "@nocobase/plugin-action-duplicate",
|
||||||
"version": "0.19.0-alpha.5",
|
"version": "0.19.0-alpha.5",
|
||||||
"main": "dist/server/index.js",
|
"main": "dist/server/index.js",
|
||||||
|
"homepage": "https://docs.nocobase.com/plugins/action-duplicate",
|
||||||
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/plugins/action-duplicate",
|
||||||
"displayName": "Data duplicate",
|
"displayName": "Data duplicate",
|
||||||
"displayName.zh-CN": "数据复制",
|
"displayName.zh-CN": "数据复制",
|
||||||
"description": "Provides deplicate action",
|
"description": "Provides deplicate action",
|
||||||
@ -12,5 +14,6 @@
|
|||||||
"@nocobase/server": "0.x",
|
"@nocobase/server": "0.x",
|
||||||
"@nocobase/test": "0.x"
|
"@nocobase/test": "0.x"
|
||||||
},
|
},
|
||||||
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde"
|
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde",
|
||||||
|
"keywords":["action"]
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,8 @@
|
|||||||
"name": "@nocobase/plugin-action-print",
|
"name": "@nocobase/plugin-action-print",
|
||||||
"version": "0.19.0-alpha.5",
|
"version": "0.19.0-alpha.5",
|
||||||
"main": "dist/server/index.js",
|
"main": "dist/server/index.js",
|
||||||
|
"homepage": "https://docs.nocobase.com/plugins/action-print",
|
||||||
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/plugins/action-print",
|
||||||
"displayName": "Print",
|
"displayName": "Print",
|
||||||
"displayName.zh-CN": "打印操作",
|
"displayName.zh-CN": "打印操作",
|
||||||
"description": "Provides print action",
|
"description": "Provides print action",
|
||||||
@ -12,5 +14,8 @@
|
|||||||
"@nocobase/server": "0.x",
|
"@nocobase/server": "0.x",
|
||||||
"@nocobase/test": "0.x"
|
"@nocobase/test": "0.x"
|
||||||
},
|
},
|
||||||
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde"
|
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde",
|
||||||
|
"keywords": [
|
||||||
|
"action"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
"description.zh-CN": "NocoBase HTTP API 的 OpenAPI 文档生成器",
|
"description.zh-CN": "NocoBase HTTP API 的 OpenAPI 文档生成器",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"main": "./dist/server/index.js",
|
"main": "./dist/server/index.js",
|
||||||
|
"homepage": "https://docs.nocobase.com/plugins/api-doc",
|
||||||
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/plugins/api-doc",
|
||||||
"types": "./dist/server/index.d.ts",
|
"types": "./dist/server/index.d.ts",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"swagger-ui-dist": "^5.3.1"
|
"swagger-ui-dist": "^5.3.1"
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
"version": "0.19.0-alpha.5",
|
"version": "0.19.0-alpha.5",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"main": "./dist/server/index.js",
|
"main": "./dist/server/index.js",
|
||||||
|
"homepage": "https://docs.nocobase.com/plugins/api-keys",
|
||||||
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/plugins/api-keys",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@formily/react": "2.x",
|
"@formily/react": "2.x",
|
||||||
"@formily/shared": "2.x",
|
"@formily/shared": "2.x",
|
||||||
|
@ -6,6 +6,8 @@
|
|||||||
"description": "Data addition, modification, deletion logs",
|
"description": "Data addition, modification, deletion logs",
|
||||||
"description.zh-CN": "数据的增删改日志",
|
"description.zh-CN": "数据的增删改日志",
|
||||||
"main": "./dist/server/index.js",
|
"main": "./dist/server/index.js",
|
||||||
|
"homepage": "https://docs.nocobase.com/plugins/audit-logs",
|
||||||
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/plugins/audit-logs",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@ant-design/icons": "5.x",
|
"@ant-design/icons": "5.x",
|
||||||
@ -21,5 +23,6 @@
|
|||||||
"@nocobase/server": "0.x",
|
"@nocobase/server": "0.x",
|
||||||
"@nocobase/test": "0.x"
|
"@nocobase/test": "0.x"
|
||||||
},
|
},
|
||||||
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde"
|
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde",
|
||||||
|
"keywords":["system"]
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,8 @@
|
|||||||
"name": "@nocobase/plugin-auth",
|
"name": "@nocobase/plugin-auth",
|
||||||
"version": "0.19.0-alpha.5",
|
"version": "0.19.0-alpha.5",
|
||||||
"main": "./dist/server/index.js",
|
"main": "./dist/server/index.js",
|
||||||
|
"homepage": "https://docs.nocobase.com/plugins/auth",
|
||||||
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/plugins/auth",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@ant-design/icons": "5.x",
|
"@ant-design/icons": "5.x",
|
||||||
"@formily/react": "2.x",
|
"@formily/react": "2.x",
|
||||||
@ -24,5 +26,6 @@
|
|||||||
"displayName.zh-CN": "用户认证",
|
"displayName.zh-CN": "用户认证",
|
||||||
"description": "Basic authentication and authenticator management",
|
"description": "Basic authentication and authenticator management",
|
||||||
"description.zh-CN": "提供基础认证功能和扩展认证器管理功能",
|
"description.zh-CN": "提供基础认证功能和扩展认证器管理功能",
|
||||||
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde"
|
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde",
|
||||||
|
"keywords":["security","users"]
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
"version": "0.19.0-alpha.5",
|
"version": "0.19.0-alpha.5",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"main": "./dist/server/index.js",
|
"main": "./dist/server/index.js",
|
||||||
|
"homepage": "https://docs.nocobase.com/plugins/backup-restore",
|
||||||
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/plugins/backup-restore",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "git+https://github.com/nocobase/nocobase.git",
|
"url": "git+https://github.com/nocobase/nocobase.git",
|
||||||
@ -35,5 +37,6 @@
|
|||||||
"@nocobase/server": "0.x",
|
"@nocobase/server": "0.x",
|
||||||
"@nocobase/test": "0.x",
|
"@nocobase/test": "0.x",
|
||||||
"@nocobase/utils": "0.x"
|
"@nocobase/utils": "0.x"
|
||||||
}
|
},
|
||||||
|
"keywords":["system"]
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
"description.zh-CN": "提供日历模板和区块",
|
"description.zh-CN": "提供日历模板和区块",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"main": "./dist/server/index.js",
|
"main": "./dist/server/index.js",
|
||||||
|
"homepage": "https://docs.nocobase.com/plugins/calendar",
|
||||||
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/plugins/calendar",
|
||||||
"types": "./dist/server/index.d.ts",
|
"types": "./dist/server/index.d.ts",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@ant-design/icons": "5.x",
|
"@ant-design/icons": "5.x",
|
||||||
@ -34,5 +36,8 @@
|
|||||||
"url": "git+https://github.com/nocobase/nocobase.git",
|
"url": "git+https://github.com/nocobase/nocobase.git",
|
||||||
"directory": "packages/plugins/calendar"
|
"directory": "packages/plugins/calendar"
|
||||||
},
|
},
|
||||||
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde"
|
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde",
|
||||||
|
"keywords": [
|
||||||
|
"block"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
"version": "0.19.0-alpha.5",
|
"version": "0.19.0-alpha.5",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"main": "./dist/server/index.js",
|
"main": "./dist/server/index.js",
|
||||||
|
"homepage": "https://docs.nocobase.com/plugins/cas",
|
||||||
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/plugins/cas",
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@nocobase/actions": "0.x",
|
"@nocobase/actions": "0.x",
|
||||||
"@nocobase/client": "0.x",
|
"@nocobase/client": "0.x",
|
||||||
@ -21,5 +23,6 @@
|
|||||||
"antd": "5.x",
|
"antd": "5.x",
|
||||||
"react-router-dom": "6.x"
|
"react-router-dom": "6.x"
|
||||||
},
|
},
|
||||||
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde"
|
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde",
|
||||||
|
"keywords":["security","users"]
|
||||||
}
|
}
|
||||||
|
@ -6,6 +6,8 @@
|
|||||||
"description": "Provides China region data and field interface",
|
"description": "Provides China region data and field interface",
|
||||||
"description.zh-CN": "提供中国行政区数据和字段(Interface)类型",
|
"description.zh-CN": "提供中国行政区数据和字段(Interface)类型",
|
||||||
"main": "./dist/server/index.js",
|
"main": "./dist/server/index.js",
|
||||||
|
"homepage": "https://docs.nocobase.com/plugins/china-region",
|
||||||
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/plugins/china-region",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@formily/core": "2.x",
|
"@formily/core": "2.x",
|
||||||
@ -20,5 +22,6 @@
|
|||||||
"@nocobase/server": "0.x",
|
"@nocobase/server": "0.x",
|
||||||
"@nocobase/test": "0.x"
|
"@nocobase/test": "0.x"
|
||||||
},
|
},
|
||||||
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde"
|
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde",
|
||||||
|
"keywords":["field"]
|
||||||
}
|
}
|
||||||
|
@ -6,6 +6,8 @@
|
|||||||
"description.zh-CN": "提供便捷的数据表管理能力",
|
"description.zh-CN": "提供便捷的数据表管理能力",
|
||||||
"version": "0.19.0-alpha.5",
|
"version": "0.19.0-alpha.5",
|
||||||
"main": "./dist/server/index.js",
|
"main": "./dist/server/index.js",
|
||||||
|
"homepage": "https://docs.nocobase.com/plugins/collection-manager",
|
||||||
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/plugins/collection-manager",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@hapi/topo": "^6.0.0",
|
"@hapi/topo": "^6.0.0",
|
||||||
@ -20,5 +22,6 @@
|
|||||||
"@nocobase/test": "0.x",
|
"@nocobase/test": "0.x",
|
||||||
"@nocobase/utils": "0.x"
|
"@nocobase/utils": "0.x"
|
||||||
},
|
},
|
||||||
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde"
|
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde",
|
||||||
|
"keywords":["data model"]
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,8 @@
|
|||||||
"name": "@nocobase/plugin-custom-request",
|
"name": "@nocobase/plugin-custom-request",
|
||||||
"version": "0.19.0-alpha.5",
|
"version": "0.19.0-alpha.5",
|
||||||
"main": "dist/server/index.js",
|
"main": "dist/server/index.js",
|
||||||
|
"homepage": "https://docs.nocobase.com/plugins/custom-request",
|
||||||
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/plugins/custom-request",
|
||||||
"displayName": "Custom request",
|
"displayName": "Custom request",
|
||||||
"displayName.zh-CN": "自定义请求",
|
"displayName.zh-CN": "自定义请求",
|
||||||
"description": "Custom request action",
|
"description": "Custom request action",
|
||||||
@ -20,5 +22,6 @@
|
|||||||
"@nocobase/server": "0.x",
|
"@nocobase/server": "0.x",
|
||||||
"@nocobase/test": "0.x"
|
"@nocobase/test": "0.x"
|
||||||
},
|
},
|
||||||
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde"
|
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde",
|
||||||
|
"keywords":["action"]
|
||||||
}
|
}
|
||||||
|
@ -6,6 +6,8 @@
|
|||||||
"description": "Provides business intelligence and data visualization features",
|
"description": "Provides business intelligence and data visualization features",
|
||||||
"description.zh-CN": "提供 BI 面板和数据可视化功能",
|
"description.zh-CN": "提供 BI 面板和数据可视化功能",
|
||||||
"main": "dist/server/index.js",
|
"main": "dist/server/index.js",
|
||||||
|
"homepage": "https://docs.nocobase.com/plugins/data-visualization",
|
||||||
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/plugins/data-visualization",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@ant-design/icons": "5.x",
|
"@ant-design/icons": "5.x",
|
||||||
"@ant-design/plots": "^1.2.5",
|
"@ant-design/plots": "^1.2.5",
|
||||||
@ -31,5 +33,6 @@
|
|||||||
"@nocobase/test": "0.x",
|
"@nocobase/test": "0.x",
|
||||||
"@nocobase/utils": "0.x"
|
"@nocobase/utils": "0.x"
|
||||||
},
|
},
|
||||||
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde"
|
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde",
|
||||||
|
"keywords":["block"]
|
||||||
}
|
}
|
||||||
|
@ -7,5 +7,6 @@
|
|||||||
"@nocobase/server": "0.x",
|
"@nocobase/server": "0.x",
|
||||||
"@nocobase/test": "0.x"
|
"@nocobase/test": "0.x"
|
||||||
},
|
},
|
||||||
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde"
|
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde",
|
||||||
|
"keywords":["pm"]
|
||||||
}
|
}
|
||||||
|
@ -16,5 +16,6 @@
|
|||||||
"@nocobase/server": "0.x",
|
"@nocobase/server": "0.x",
|
||||||
"@nocobase/test": "0.x"
|
"@nocobase/test": "0.x"
|
||||||
},
|
},
|
||||||
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde"
|
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde",
|
||||||
|
"keywords":["field"]
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
"version": "0.19.0-alpha.5",
|
"version": "0.19.0-alpha.5",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"main": "./dist/server/index.js",
|
"main": "./dist/server/index.js",
|
||||||
|
"homepage": "https://docs.nocobase.com/plugins/export",
|
||||||
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/plugins/export",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@formily/antd-v5": "1.x",
|
"@formily/antd-v5": "1.x",
|
||||||
"@formily/react": "2.x",
|
"@formily/react": "2.x",
|
||||||
@ -25,5 +27,6 @@
|
|||||||
"@nocobase/test": "0.x",
|
"@nocobase/test": "0.x",
|
||||||
"@nocobase/utils": "0.x"
|
"@nocobase/utils": "0.x"
|
||||||
},
|
},
|
||||||
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde"
|
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde",
|
||||||
|
"keywords":["action"]
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
"description.zh-CN": "提供文件存储服务,并拓展了文件表模板和附件字段",
|
"description.zh-CN": "提供文件存储服务,并拓展了文件表模板和附件字段",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"main": "./dist/server/index.js",
|
"main": "./dist/server/index.js",
|
||||||
|
"homepage": "https://docs.nocobase.com/plugins/file-manager",
|
||||||
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/plugins/file-manager",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@aws-sdk/client-s3": "^3.245.0",
|
"@aws-sdk/client-s3": "^3.245.0",
|
||||||
"@formily/antd-v5": "1.x",
|
"@formily/antd-v5": "1.x",
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
"version": "0.19.0-alpha.5",
|
"version": "0.19.0-alpha.5",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"main": "./dist/server/index.js",
|
"main": "./dist/server/index.js",
|
||||||
|
"homepage": "https://docs.nocobase.com/plugins/formula-field",
|
||||||
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/plugins/formula-field",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@formily/antd-v5": "1.x",
|
"@formily/antd-v5": "1.x",
|
||||||
"@formily/core": "2.x",
|
"@formily/core": "2.x",
|
||||||
@ -23,5 +25,6 @@
|
|||||||
"@nocobase/test": "0.x",
|
"@nocobase/test": "0.x",
|
||||||
"@nocobase/utils": "0.x"
|
"@nocobase/utils": "0.x"
|
||||||
},
|
},
|
||||||
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde"
|
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde",
|
||||||
|
"keywords":["field"]
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
"description.zh-CN": "提供甘特图区块",
|
"description.zh-CN": "提供甘特图区块",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"main": "dist/server/index.js",
|
"main": "dist/server/index.js",
|
||||||
|
"homepage": "https://docs.nocobase.com/plugins/gantt",
|
||||||
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/plugins/gantt",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"antd-style": "3.4.5"
|
"antd-style": "3.4.5"
|
||||||
},
|
},
|
||||||
@ -15,5 +17,6 @@
|
|||||||
"@nocobase/server": "0.x",
|
"@nocobase/server": "0.x",
|
||||||
"@nocobase/test": "0.x"
|
"@nocobase/test": "0.x"
|
||||||
},
|
},
|
||||||
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde"
|
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde",
|
||||||
|
"keywords":["block"]
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
"version": "0.19.0-alpha.5",
|
"version": "0.19.0-alpha.5",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"main": "./dist/server/index.js",
|
"main": "./dist/server/index.js",
|
||||||
|
"homepage": "https://docs.nocobase.com/plugins/graph-collection-manager",
|
||||||
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/plugins/graph-collection-manager",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@ant-design/icons": "5.x",
|
"@ant-design/icons": "5.x",
|
||||||
"@antv/x6": "^2.0.0",
|
"@antv/x6": "^2.0.0",
|
||||||
@ -33,5 +35,6 @@
|
|||||||
"@nocobase/test": "0.x",
|
"@nocobase/test": "0.x",
|
||||||
"@nocobase/utils": "0.x"
|
"@nocobase/utils": "0.x"
|
||||||
},
|
},
|
||||||
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde"
|
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde",
|
||||||
|
"keywords":["data model"]
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
"version": "0.19.0-alpha.5",
|
"version": "0.19.0-alpha.5",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"main": "./dist/server/index.js",
|
"main": "./dist/server/index.js",
|
||||||
|
"homepage": "https://docs.nocobase.com/plugins/iframe-block",
|
||||||
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/plugins/iframe-block",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@ant-design/icons": "5.x",
|
"@ant-design/icons": "5.x",
|
||||||
"@formily/react": "2.x",
|
"@formily/react": "2.x",
|
||||||
@ -23,5 +25,6 @@
|
|||||||
"@nocobase/server": "0.x",
|
"@nocobase/server": "0.x",
|
||||||
"@nocobase/test": "0.x"
|
"@nocobase/test": "0.x"
|
||||||
},
|
},
|
||||||
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde"
|
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde",
|
||||||
|
"keywords":["block"]
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
"version": "0.19.0-alpha.5",
|
"version": "0.19.0-alpha.5",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"main": "./dist/server/index.js",
|
"main": "./dist/server/index.js",
|
||||||
|
"homepage": "https://docs.nocobase.com/plugins/import",
|
||||||
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/plugins/import",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@ant-design/icons": "5.x",
|
"@ant-design/icons": "5.x",
|
||||||
"@formily/antd-v5": "1.x",
|
"@formily/antd-v5": "1.x",
|
||||||
@ -32,5 +34,6 @@
|
|||||||
"@nocobase/test": "0.x",
|
"@nocobase/test": "0.x",
|
||||||
"@nocobase/utils": "0.x"
|
"@nocobase/utils": "0.x"
|
||||||
},
|
},
|
||||||
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde"
|
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde",
|
||||||
|
"keywords":["action"]
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,8 @@
|
|||||||
"name": "@nocobase/plugin-kanban",
|
"name": "@nocobase/plugin-kanban",
|
||||||
"version": "0.19.0-alpha.5",
|
"version": "0.19.0-alpha.5",
|
||||||
"main": "dist/server/index.js",
|
"main": "dist/server/index.js",
|
||||||
|
"homepage": "https://docs.nocobase.com/plugins/kanban",
|
||||||
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/plugins/kanban",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"displayName": "Kanban",
|
"displayName": "Kanban",
|
||||||
"displayName.zh-CN": "看板",
|
"displayName.zh-CN": "看板",
|
||||||
@ -12,5 +14,6 @@
|
|||||||
"@nocobase/server": "0.x",
|
"@nocobase/server": "0.x",
|
||||||
"@nocobase/test": "0.x"
|
"@nocobase/test": "0.x"
|
||||||
},
|
},
|
||||||
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde"
|
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde",
|
||||||
|
"keywords":["block"]
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,8 @@
|
|||||||
"name": "@nocobase/plugin-localization-management",
|
"name": "@nocobase/plugin-localization-management",
|
||||||
"version": "0.19.0-alpha.5",
|
"version": "0.19.0-alpha.5",
|
||||||
"main": "dist/server/index.js",
|
"main": "dist/server/index.js",
|
||||||
|
"homepage": "https://docs.nocobase.com/plugins/localization-management",
|
||||||
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/plugins/localization-management",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"deepmerge": "^4.3.1"
|
"deepmerge": "^4.3.1"
|
||||||
@ -19,5 +21,6 @@
|
|||||||
"displayName.zh-CN": "多语言管理",
|
"displayName.zh-CN": "多语言管理",
|
||||||
"description": "Allows to manage localization resources of the application.",
|
"description": "Allows to manage localization resources of the application.",
|
||||||
"description.zh-CN": "支持管理应用程序的多语言资源。",
|
"description.zh-CN": "支持管理应用程序的多语言资源。",
|
||||||
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde"
|
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde",
|
||||||
|
"keywords":["system"]
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
"version": "0.19.0-alpha.5",
|
"version": "0.19.0-alpha.5",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"main": "dist/server/index.js",
|
"main": "dist/server/index.js",
|
||||||
|
"homepage": "https://docs.nocobase.com/plugins/logger",
|
||||||
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/plugins/logger",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/tar-fs": "^2.0.2",
|
"@types/tar-fs": "^2.0.2",
|
||||||
"tar-fs": "^3.0.4"
|
"tar-fs": "^3.0.4"
|
||||||
@ -17,5 +19,6 @@
|
|||||||
"@nocobase/server": "0.x",
|
"@nocobase/server": "0.x",
|
||||||
"@nocobase/test": "0.x"
|
"@nocobase/test": "0.x"
|
||||||
},
|
},
|
||||||
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde"
|
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde",
|
||||||
|
"keywords":["system"]
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
"description.zh-CN": "提供地图字段和区块",
|
"description.zh-CN": "提供地图字段和区块",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"main": "./dist/server/index.js",
|
"main": "./dist/server/index.js",
|
||||||
|
"homepage": "https://docs.nocobase.com/plugins/map",
|
||||||
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/plugins/map",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@amap/amap-jsapi-loader": "^1.0.1",
|
"@amap/amap-jsapi-loader": "^1.0.1",
|
||||||
"@amap/amap-jsapi-types": "^0.0.10",
|
"@amap/amap-jsapi-types": "^0.0.10",
|
||||||
@ -34,5 +36,6 @@
|
|||||||
"@nocobase/test": "0.x",
|
"@nocobase/test": "0.x",
|
||||||
"@nocobase/utils": "0.x"
|
"@nocobase/utils": "0.x"
|
||||||
},
|
},
|
||||||
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde"
|
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde",
|
||||||
|
"keywords":["block"]
|
||||||
}
|
}
|
||||||
|
@ -19,5 +19,6 @@
|
|||||||
"@nocobase/server": "0.x",
|
"@nocobase/server": "0.x",
|
||||||
"@nocobase/test": "0.x"
|
"@nocobase/test": "0.x"
|
||||||
},
|
},
|
||||||
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde"
|
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde",
|
||||||
|
"keywords":["field"]
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,8 @@
|
|||||||
"name": "@nocobase/plugin-mobile-client",
|
"name": "@nocobase/plugin-mobile-client",
|
||||||
"version": "0.19.0-alpha.5",
|
"version": "0.19.0-alpha.5",
|
||||||
"main": "./dist/server/index.js",
|
"main": "./dist/server/index.js",
|
||||||
|
"homepage": "https://docs.nocobase.com/plugins/mobile-client",
|
||||||
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/plugins/mobile-client",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"displayName": "Mobile client",
|
"displayName": "Mobile client",
|
||||||
"displayName.zh-CN": "移动端",
|
"displayName.zh-CN": "移动端",
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
"version": "0.19.0-alpha.5",
|
"version": "0.19.0-alpha.5",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"main": "./dist/server/index.js",
|
"main": "./dist/server/index.js",
|
||||||
|
"homepage": "https://docs.nocobase.com/plugins/multi-app-manager",
|
||||||
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/plugins/multi-app-manager",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@formily/react": "2.x",
|
"@formily/react": "2.x",
|
||||||
"@formily/shared": "2.x",
|
"@formily/shared": "2.x",
|
||||||
@ -26,5 +28,6 @@
|
|||||||
"@nocobase/test": "0.x",
|
"@nocobase/test": "0.x",
|
||||||
"@nocobase/utils": "0.x"
|
"@nocobase/utils": "0.x"
|
||||||
},
|
},
|
||||||
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde"
|
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde",
|
||||||
|
"keywords":["system"]
|
||||||
}
|
}
|
||||||
|
@ -23,5 +23,6 @@
|
|||||||
"@nocobase/test": "0.x",
|
"@nocobase/test": "0.x",
|
||||||
"@nocobase/utils": "0.x"
|
"@nocobase/utils": "0.x"
|
||||||
},
|
},
|
||||||
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde"
|
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde",
|
||||||
|
"keywords":["system"]
|
||||||
}
|
}
|
||||||
|
@ -16,5 +16,6 @@
|
|||||||
"@nocobase/test": "0.x",
|
"@nocobase/test": "0.x",
|
||||||
"@nocobase/utils": "0.x"
|
"@nocobase/utils": "0.x"
|
||||||
},
|
},
|
||||||
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde"
|
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde",
|
||||||
|
"keywords":["system"]
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
"version": "0.19.0-alpha.5",
|
"version": "0.19.0-alpha.5",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"main": "./dist/server/index.js",
|
"main": "./dist/server/index.js",
|
||||||
|
"homepage": "https://docs.nocobase.com/plugins/oidc",
|
||||||
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/plugins/oidc",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@ant-design/icons": "5.x",
|
"@ant-design/icons": "5.x",
|
||||||
"@formily/antd-v5": "1.x",
|
"@formily/antd-v5": "1.x",
|
||||||
@ -27,5 +29,6 @@
|
|||||||
"@nocobase/server": "0.x",
|
"@nocobase/server": "0.x",
|
||||||
"@nocobase/test": "0.x"
|
"@nocobase/test": "0.x"
|
||||||
},
|
},
|
||||||
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde"
|
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde",
|
||||||
|
"keywords":["security","users"]
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
"version": "0.19.0-alpha.5",
|
"version": "0.19.0-alpha.5",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"main": "./dist/server/index.js",
|
"main": "./dist/server/index.js",
|
||||||
|
"homepage": "https://docs.nocobase.com/plugins/saml",
|
||||||
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/plugins/saml",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@ant-design/icons": "5.x",
|
"@ant-design/icons": "5.x",
|
||||||
"@formily/react": "2.x",
|
"@formily/react": "2.x",
|
||||||
@ -25,5 +27,6 @@
|
|||||||
"@nocobase/server": "0.x",
|
"@nocobase/server": "0.x",
|
||||||
"@nocobase/test": "0.x"
|
"@nocobase/test": "0.x"
|
||||||
},
|
},
|
||||||
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde"
|
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde",
|
||||||
|
"keywords":["security","users"]
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
"version": "0.19.0-alpha.5",
|
"version": "0.19.0-alpha.5",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"main": "./dist/server/index.js",
|
"main": "./dist/server/index.js",
|
||||||
|
"homepage": "https://docs.nocobase.com/plugins/sequence-field",
|
||||||
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/plugins/sequence-field",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@formily/antd-v5": "1.x",
|
"@formily/antd-v5": "1.x",
|
||||||
"@formily/core": "2.x",
|
"@formily/core": "2.x",
|
||||||
@ -27,5 +29,8 @@
|
|||||||
"@nocobase/test": "0.x",
|
"@nocobase/test": "0.x",
|
||||||
"@nocobase/utils": "0.x"
|
"@nocobase/utils": "0.x"
|
||||||
},
|
},
|
||||||
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde"
|
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde",
|
||||||
|
"keywords": [
|
||||||
|
"field"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
@ -6,6 +6,8 @@
|
|||||||
"description.zh-CN": "SMS authentication for NocoBase",
|
"description.zh-CN": "SMS authentication for NocoBase",
|
||||||
"version": "0.19.0-alpha.5",
|
"version": "0.19.0-alpha.5",
|
||||||
"main": "./dist/server/index.js",
|
"main": "./dist/server/index.js",
|
||||||
|
"homepage": "https://docs.nocobase.com/plugins/sms-auth",
|
||||||
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/plugins/sms-auth",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@formily/react": "2.x",
|
"@formily/react": "2.x",
|
||||||
@ -23,5 +25,9 @@
|
|||||||
"@nocobase/server": "0.x",
|
"@nocobase/server": "0.x",
|
||||||
"@nocobase/test": "0.x"
|
"@nocobase/test": "0.x"
|
||||||
},
|
},
|
||||||
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde"
|
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde",
|
||||||
|
"keywords": [
|
||||||
|
"security",
|
||||||
|
"users"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
"version": "0.19.0-alpha.5",
|
"version": "0.19.0-alpha.5",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"main": "./dist/server/index.js",
|
"main": "./dist/server/index.js",
|
||||||
|
"homepage": "https://docs.nocobase.com/plugins/snapshot-field",
|
||||||
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/plugins/snapshot-field",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@ant-design/icons": "5.x",
|
"@ant-design/icons": "5.x",
|
||||||
"@formily/core": "2.x",
|
"@formily/core": "2.x",
|
||||||
@ -24,5 +26,8 @@
|
|||||||
"@nocobase/test": "0.x",
|
"@nocobase/test": "0.x",
|
||||||
"@nocobase/utils": "0.x"
|
"@nocobase/utils": "0.x"
|
||||||
},
|
},
|
||||||
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde"
|
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde",
|
||||||
|
"keywords": [
|
||||||
|
"field"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
@ -7,11 +7,16 @@
|
|||||||
"version": "0.19.0-alpha.5",
|
"version": "0.19.0-alpha.5",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"main": "./dist/server/index.js",
|
"main": "./dist/server/index.js",
|
||||||
|
"homepage": "https://docs.nocobase.com/plugins/system-settings",
|
||||||
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/plugins/system-settings",
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@nocobase/client": "0.x",
|
"@nocobase/client": "0.x",
|
||||||
"@nocobase/database": "0.x",
|
"@nocobase/database": "0.x",
|
||||||
"@nocobase/server": "0.x",
|
"@nocobase/server": "0.x",
|
||||||
"@nocobase/test": "0.x"
|
"@nocobase/test": "0.x"
|
||||||
},
|
},
|
||||||
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde"
|
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde",
|
||||||
|
"keywords": [
|
||||||
|
"system"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,8 @@
|
|||||||
"name": "@nocobase/plugin-theme-editor",
|
"name": "@nocobase/plugin-theme-editor",
|
||||||
"version": "0.19.0-alpha.5",
|
"version": "0.19.0-alpha.5",
|
||||||
"main": "dist/server/index.js",
|
"main": "dist/server/index.js",
|
||||||
|
"homepage": "https://docs.nocobase.com/plugins/theme-editor",
|
||||||
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/plugins/theme-editor",
|
||||||
"displayName": "Theme editor",
|
"displayName": "Theme editor",
|
||||||
"displayName.zh-CN": "主题编辑器",
|
"displayName.zh-CN": "主题编辑器",
|
||||||
"description": "Allows you to customize UI colors, sizes, etc",
|
"description": "Allows you to customize UI colors, sizes, etc",
|
||||||
@ -30,5 +32,8 @@
|
|||||||
"@nocobase/test": "0.x",
|
"@nocobase/test": "0.x",
|
||||||
"@nocobase/utils": "0.x"
|
"@nocobase/utils": "0.x"
|
||||||
},
|
},
|
||||||
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde"
|
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde",
|
||||||
|
"keywords": [
|
||||||
|
"system"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
@ -17,5 +17,8 @@
|
|||||||
"@nocobase/server": "0.x",
|
"@nocobase/server": "0.x",
|
||||||
"@nocobase/test": "0.x"
|
"@nocobase/test": "0.x"
|
||||||
},
|
},
|
||||||
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde"
|
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde",
|
||||||
|
"keywords": [
|
||||||
|
"system"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
"version": "0.19.0-alpha.5",
|
"version": "0.19.0-alpha.5",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"main": "./dist/server/index.js",
|
"main": "./dist/server/index.js",
|
||||||
|
"homepage": "https://docs.nocobase.com/plugins/ui-schema-storage",
|
||||||
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/plugins/ui-schema-storage",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@formily/json-schema": "2.x"
|
"@formily/json-schema": "2.x"
|
||||||
},
|
},
|
||||||
@ -22,5 +24,8 @@
|
|||||||
"@nocobase/test": "0.x",
|
"@nocobase/test": "0.x",
|
||||||
"@nocobase/utils": "0.x"
|
"@nocobase/utils": "0.x"
|
||||||
},
|
},
|
||||||
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde"
|
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde",
|
||||||
|
"keywords": [
|
||||||
|
"system"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
"version": "0.19.0-alpha.5",
|
"version": "0.19.0-alpha.5",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"main": "./dist/server/index.js",
|
"main": "./dist/server/index.js",
|
||||||
|
"homepage": "https://docs.nocobase.com/plugins/users",
|
||||||
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/plugins/users",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/jsonwebtoken": "^8.5.8",
|
"@types/jsonwebtoken": "^8.5.8",
|
||||||
"jsonwebtoken": "^8.5.1"
|
"jsonwebtoken": "^8.5.1"
|
||||||
@ -22,5 +24,8 @@
|
|||||||
"@nocobase/test": "0.x",
|
"@nocobase/test": "0.x",
|
||||||
"@nocobase/utils": "0.x"
|
"@nocobase/utils": "0.x"
|
||||||
},
|
},
|
||||||
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde"
|
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde",
|
||||||
|
"keywords": [
|
||||||
|
"users"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
"version": "0.19.0-alpha.5",
|
"version": "0.19.0-alpha.5",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"main": "./dist/server/index.js",
|
"main": "./dist/server/index.js",
|
||||||
|
"homepage": "https://docs.nocobase.com/plugins/verification",
|
||||||
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/plugins/verification",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@alicloud/dysmsapi20170525": "2.0.17",
|
"@alicloud/dysmsapi20170525": "2.0.17",
|
||||||
"@alicloud/openapi-client": "0.4.1",
|
"@alicloud/openapi-client": "0.4.1",
|
||||||
@ -29,5 +31,8 @@
|
|||||||
"@nocobase/test": "0.x",
|
"@nocobase/test": "0.x",
|
||||||
"@nocobase/utils": "0.x"
|
"@nocobase/utils": "0.x"
|
||||||
},
|
},
|
||||||
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde"
|
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde",
|
||||||
|
"keywords": [
|
||||||
|
"system"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
"version": "0.19.0-alpha.5",
|
"version": "0.19.0-alpha.5",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"main": "./dist/server/index.js",
|
"main": "./dist/server/index.js",
|
||||||
|
"homepage": "https://docs.nocobase.com/plugins/workflow-aggregate",
|
||||||
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/plugins/workflow-aggregate",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"antd": "5.x",
|
"antd": "5.x",
|
||||||
"react": "18.x",
|
"react": "18.x",
|
||||||
@ -19,5 +21,8 @@
|
|||||||
"@nocobase/server": "0.x",
|
"@nocobase/server": "0.x",
|
||||||
"@nocobase/test": "0.x"
|
"@nocobase/test": "0.x"
|
||||||
},
|
},
|
||||||
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde"
|
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde",
|
||||||
|
"keywords": [
|
||||||
|
"workflow"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
"version": "0.19.0-alpha.5",
|
"version": "0.19.0-alpha.5",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"main": "./dist/server/index.js",
|
"main": "./dist/server/index.js",
|
||||||
|
"homepage": "https://docs.nocobase.com/plugins/workflow-delay",
|
||||||
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/plugins/workflow-delay",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"antd": "5.x",
|
"antd": "5.x",
|
||||||
"react": "18.x",
|
"react": "18.x",
|
||||||
@ -19,5 +21,8 @@
|
|||||||
"@nocobase/server": "0.x",
|
"@nocobase/server": "0.x",
|
||||||
"@nocobase/test": "0.x"
|
"@nocobase/test": "0.x"
|
||||||
},
|
},
|
||||||
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde"
|
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde",
|
||||||
|
"keywords": [
|
||||||
|
"workflow"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
"version": "0.19.0-alpha.5",
|
"version": "0.19.0-alpha.5",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"main": "./dist/server/index.js",
|
"main": "./dist/server/index.js",
|
||||||
|
"homepage": "https://docs.nocobase.com/plugins/workflow-dynamic-calculation",
|
||||||
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/plugins/workflow-dynamic-calculation",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@ant-design/icons": "5.x",
|
"@ant-design/icons": "5.x",
|
||||||
"@formily/antd-v5": "1.x",
|
"@formily/antd-v5": "1.x",
|
||||||
@ -28,5 +30,8 @@
|
|||||||
"@nocobase/test": "0.x",
|
"@nocobase/test": "0.x",
|
||||||
"@nocobase/utils": "0.x"
|
"@nocobase/utils": "0.x"
|
||||||
},
|
},
|
||||||
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde"
|
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde",
|
||||||
|
"keywords": [
|
||||||
|
"workflow"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
"version": "0.19.0-alpha.5",
|
"version": "0.19.0-alpha.5",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"main": "./dist/server/index.js",
|
"main": "./dist/server/index.js",
|
||||||
|
"homepage": "https://docs.nocobase.com/plugins/workflow-form-trigger",
|
||||||
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/plugins/workflow-form-trigger",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"antd": "5.x",
|
"antd": "5.x",
|
||||||
"react": "18.x",
|
"react": "18.x",
|
||||||
@ -19,5 +21,8 @@
|
|||||||
"@nocobase/server": "0.x",
|
"@nocobase/server": "0.x",
|
||||||
"@nocobase/test": "0.x"
|
"@nocobase/test": "0.x"
|
||||||
},
|
},
|
||||||
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde"
|
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde",
|
||||||
|
"keywords": [
|
||||||
|
"workflow"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
"version": "0.19.0-alpha.5",
|
"version": "0.19.0-alpha.5",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"main": "./dist/server/index.js",
|
"main": "./dist/server/index.js",
|
||||||
|
"homepage": "https://docs.nocobase.com/plugins/workflow-loop",
|
||||||
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/plugins/workflow-loop",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@ant-design/icons": "5.x",
|
"@ant-design/icons": "5.x",
|
||||||
"react": "18.x",
|
"react": "18.x",
|
||||||
@ -19,5 +21,8 @@
|
|||||||
"@nocobase/server": "0.x",
|
"@nocobase/server": "0.x",
|
||||||
"@nocobase/test": "0.x"
|
"@nocobase/test": "0.x"
|
||||||
},
|
},
|
||||||
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde"
|
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde",
|
||||||
|
"keywords": [
|
||||||
|
"workflow"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
"version": "0.19.0-alpha.5",
|
"version": "0.19.0-alpha.5",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"main": "./dist/server/index.js",
|
"main": "./dist/server/index.js",
|
||||||
|
"homepage": "https://docs.nocobase.com/plugins/workflow-manual",
|
||||||
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/plugins/workflow-manual",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@ant-design/icons": "5.x",
|
"@ant-design/icons": "5.x",
|
||||||
"@formily/antd-v5": "1.x",
|
"@formily/antd-v5": "1.x",
|
||||||
@ -28,5 +30,8 @@
|
|||||||
"@nocobase/test": "0.x",
|
"@nocobase/test": "0.x",
|
||||||
"@nocobase/utils": "0.x"
|
"@nocobase/utils": "0.x"
|
||||||
},
|
},
|
||||||
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde"
|
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde",
|
||||||
|
"keywords": [
|
||||||
|
"workflow"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
"version": "0.19.0-alpha.5",
|
"version": "0.19.0-alpha.5",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"main": "./dist/server/index.js",
|
"main": "./dist/server/index.js",
|
||||||
|
"homepage": "https://docs.nocobase.com/plugins/workflow-parallel",
|
||||||
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/plugins/workflow-parallel",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@ant-design/icons": "5.x",
|
"@ant-design/icons": "5.x",
|
||||||
"antd": "5.x",
|
"antd": "5.x",
|
||||||
@ -20,5 +22,8 @@
|
|||||||
"@nocobase/server": "0.x",
|
"@nocobase/server": "0.x",
|
||||||
"@nocobase/test": "0.x"
|
"@nocobase/test": "0.x"
|
||||||
},
|
},
|
||||||
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde"
|
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde",
|
||||||
|
"keywords": [
|
||||||
|
"workflow"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
"version": "0.19.0-alpha.5",
|
"version": "0.19.0-alpha.5",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"main": "./dist/server/index.js",
|
"main": "./dist/server/index.js",
|
||||||
|
"homepage": "https://docs.nocobase.com/plugins/workflow-request",
|
||||||
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/plugins/workflow-request",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"antd": "5.x",
|
"antd": "5.x",
|
||||||
"react": "18.x",
|
"react": "18.x",
|
||||||
@ -19,5 +21,8 @@
|
|||||||
"@nocobase/server": "0.x",
|
"@nocobase/server": "0.x",
|
||||||
"@nocobase/test": "0.x"
|
"@nocobase/test": "0.x"
|
||||||
},
|
},
|
||||||
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde"
|
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde",
|
||||||
|
"keywords": [
|
||||||
|
"workflow"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
"version": "0.19.0-alpha.5",
|
"version": "0.19.0-alpha.5",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"main": "./dist/server/index.js",
|
"main": "./dist/server/index.js",
|
||||||
|
"homepage": "https://docs.nocobase.com/plugins/workflow-sql",
|
||||||
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/plugins/workflow-sql",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"antd": "5.x",
|
"antd": "5.x",
|
||||||
"react": "18.x",
|
"react": "18.x",
|
||||||
@ -19,5 +21,8 @@
|
|||||||
"@nocobase/server": "0.x",
|
"@nocobase/server": "0.x",
|
||||||
"@nocobase/test": "0.x"
|
"@nocobase/test": "0.x"
|
||||||
},
|
},
|
||||||
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde"
|
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde",
|
||||||
|
"keywords": [
|
||||||
|
"workflow"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
"version": "0.19.0-alpha.5",
|
"version": "0.19.0-alpha.5",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"main": "./dist/server/index.js",
|
"main": "./dist/server/index.js",
|
||||||
|
"homepage": "https://docs.nocobase.com/plugins/workflow",
|
||||||
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/plugins/workflow",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@nocobase/plugin-workflow-test": "0.19.0-alpha.5"
|
"@nocobase/plugin-workflow-test": "0.19.0-alpha.5"
|
||||||
},
|
},
|
||||||
@ -43,5 +45,8 @@
|
|||||||
"@nocobase/test": "0.x",
|
"@nocobase/test": "0.x",
|
||||||
"@nocobase/utils": "0.x"
|
"@nocobase/utils": "0.x"
|
||||||
},
|
},
|
||||||
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde"
|
"gitHead": "979a9c59a98c61a2287dd847580746a9b597cbde",
|
||||||
|
"keywords": [
|
||||||
|
"workflow"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user