This commit is contained in:
Li1304553726 2025-05-26 10:13:21 +08:00
parent 209530842d
commit 7e235c9317
8 changed files with 1696 additions and 618 deletions

View File

@ -3,7 +3,7 @@
<head> <head>
<meta charset="UTF-8" /> <meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" /> <link rel="icon" type="image/svg+xml" href="/LOGO.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<script> <script>
window.env = { window.env = {

1
apps/web/public/LOGO.svg Normal file
View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1748220414720" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3891" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M1015.466247 0v789.333004h-63.999973V78.719967H88.319967v629.333071H1015.466247v79.786634H8.533333V0zM776.533013 1023.999573H247.466567a28.799988 28.799988 0 0 1-25.386656-42.666649l25.386656-49.706646a29.866654 29.866654 0 0 1 25.386656-15.999993h477.439801a28.586655 28.586655 0 0 1 25.386656 15.999993L801.919669 981.332924A29.013321 29.013321 0 0 1 776.533013 1023.999573z" p-id="3892"></path><path d="M430.079824 806.82633h159.146601v170.666596h-159.146601zM712.106374 565.973098h-168.533264a7.466664 7.466664 0 0 0-7.679996 7.25333v16.213326a7.679997 7.679997 0 0 0 7.679996 7.679997h168.533264a7.679997 7.679997 0 0 0 7.679996-7.679997v-16.213326a7.679997 7.679997 0 0 0-7.679996-7.25333z m0-119.253284h-168.533264a7.679997 7.679997 0 0 0-7.679996 7.679997v16.213326a7.679997 7.679997 0 0 0 7.679996 7.679997h168.746597a7.679997 7.679997 0 0 0 7.679997-7.679997v-16.213326a7.679997 7.679997 0 0 0-7.679997-7.679997z" p-id="3893"></path><path d="M554.666439 418.346492h36.053318a85.333298 85.333298 0 0 0 5.333332-30.079987 89.813296 89.813296 0 1 0-89.813296 88.10663v-32.21332a56.319977 56.319977 0 1 1 57.386642-56.319977 55.039977 55.039977 0 0 1-8.533329 29.439988z" p-id="3894"></path><path d="M498.773129 565.333098h-23.893323l-5.546665-46.293314-9.173329-3.199999a137.173276 137.173276 0 0 1-42.666649-23.893323l-7.679997-6.186664-43.733315 18.346659-31.999987-53.973311 37.759985-28.799988-1.706666-9.386663a127.999947 127.999947 0 0 1 0-47.99998l1.706666-9.386663-37.759985-28.799988 31.359987-53.333311 44.159982 17.706659 7.466663-6.186664a139.306609 139.306609 0 0 1 42.666649-23.893323l9.17333-3.199999 6.399997-46.506647h62.293308l6.399997 45.653314 9.173329 3.413332a136.319943 136.319943 0 0 1 42.666649 23.893324l7.679997 6.399997 43.733315-18.346659 31.786654 53.973311-39.039984 29.013321 1.706666 9.386663a127.999947 127.999947 0 0 1 0 47.99998l-1.28 6.61333h48.63998l-13.866661-10.666662a155.093269 155.093269 0 0 0 0-39.893317l24.533323-18.559992a26.026656 26.026656 0 0 0 8.53333-35.413318l-36.266651-61.866641a27.306655 27.306655 0 0 0-35.413319-10.239996l-28.799988 11.519995a170.666596 170.666596 0 0 0-35.199985-19.839992l-4.266665-30.29332a26.453322 26.453322 0 0 0-26.879989-24.95999H469.333141a26.453322 26.453322 0 0 0-26.453322 24.95999l-4.266665 30.079987a170.666596 170.666596 0 0 0-35.199985 19.839992l-28.586655-11.519995a27.306655 27.306655 0 0 0-35.413319 10.239995l-36.479984 61.866641a25.813323 25.813323 0 0 0 8.746663 35.199986l24.533323 18.559992a150.826604 150.826604 0 0 0 0 39.893317l-24.533323 19.413325a26.026656 26.026656 0 0 0-8.53333 35.413318l36.479985 61.653308a27.093322 27.093322 0 0 0 35.413318 10.239996l28.799988-11.519995a170.666596 170.666596 0 0 0 35.199986 19.839991l4.266665 30.293321A26.453322 26.453322 0 0 0 469.333141 597.333084h29.439988a8.106663 8.106663 0 0 0 8.106663-7.89333v-15.999993a8.106663 8.106663 0 0 0-2.346665-5.759998 8.746663 8.746663 0 0 0-5.759998-2.346665z" p-id="3895"></path><path d="M712.106374 506.453122h-168.533264a7.679997 7.679997 0 0 0-7.679996 7.679997v16.213327a7.679997 7.679997 0 0 0 7.679996 7.679996h168.533264a7.679997 7.679997 0 0 0 7.679996-7.679996v-16.213327a7.679997 7.679997 0 0 0-7.679996-7.679997z" p-id="3896"></path></svg>

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

@ -13,11 +13,8 @@ const DashboardPage = () => {
dayjs() dayjs()
]); ]);
const [loading, setLoading] = useState(true); const [loading, setLoading] = useState(true);
// 使用useRef跟踪是否已执行过刷新 // 使用useRef跟踪是否已执行过刷新
const hasRefetched = useRef(false); const hasRefetched = useRef(false);
// 获取网系类别数据 // 获取网系类别数据
const { data: systemTypeTerms, isLoading: loadingTypes, refetch: refetchSypes } = api.term.findMany.useQuery({ const { data: systemTypeTerms, isLoading: loadingTypes, refetch: refetchSypes } = api.term.findMany.useQuery({
where: { where: {
@ -26,7 +23,6 @@ const DashboardPage = () => {
}, },
orderBy: { order: "asc" }, orderBy: { order: "asc" },
}); });
// 获取设备故障数据 // 获取设备故障数据
const { data: devices, isLoading: loadingDevices, refetch: refetchDevices } = api.device.findMany.useQuery({ const { data: devices, isLoading: loadingDevices, refetch: refetchDevices } = api.device.findMany.useQuery({
where: { where: {
@ -53,8 +49,6 @@ const DashboardPage = () => {
setLoading(false); setLoading(false);
} }
}, [loadingTypes, loadingDevices]); }, [loadingTypes, loadingDevices]);
// 处理日期范围变化 // 处理日期范围变化
const handleDateRangeChange = (dates, dateStrings) => { const handleDateRangeChange = (dates, dateStrings) => {
if (dates) { if (dates) {
@ -63,7 +57,6 @@ const DashboardPage = () => {
setDateRange([dayjs().subtract(30, 'days'), dayjs()]); setDateRange([dayjs().subtract(30, 'days'), dayjs()]);
} }
}; };
// 准备各个网系故障情况数据(按时间段) // 准备各个网系故障情况数据(按时间段)
const prepareSystemFaultsByTimeData = () => { const prepareSystemFaultsByTimeData = () => {
if (!devices || !systemTypeTerms) return { xAxis: [], series: [] }; if (!devices || !systemTypeTerms) return { xAxis: [], series: [] };

View File

@ -1,13 +1,23 @@
import { Button, Checkbox, Modal, Table, Upload, Tag } from "antd"; // 添加 Tag 导入 import { Button, Checkbox, Modal, Table, Upload, Tag } from "antd"; // 添加 Tag 导入
import { ColumnsType } from "antd/es/table"; import { ColumnsType } from "antd/es/table";
import { api, useDevice, useStaff } from "@nice/client"; import { api, useDevice, useStaff } from "@nice/client";
import { useEffect, useState, useImperativeHandle, forwardRef, useRef } from "react"; import {
useEffect,
useState,
useImperativeHandle,
forwardRef,
useRef,
} from "react";
import toast from "react-hot-toast"; import toast from "react-hot-toast";
import React from "react"; import React from "react";
import { useMainContext } from "../../layout/MainProvider"; import { useMainContext } from "../../layout/MainProvider";
import { ExclamationCircleOutlined, ImportOutlined, ExportOutlined } from "@ant-design/icons"; import {
ExclamationCircleOutlined,
ImportOutlined,
ExportOutlined,
} from "@ant-design/icons";
import dayjs from "dayjs"; import dayjs from "dayjs";
import { utils, writeFile, read } from 'xlsx'; import { utils, writeFile, read } from "xlsx";
// 提取处理嵌套字段的函数 // 提取处理嵌套字段的函数
const getNestedValue = (record: any, dataIndex: string | string[]) => { const getNestedValue = (record: any, dataIndex: string | string[]) => {
@ -23,10 +33,21 @@ interface DeviceTableProps {
} }
// 使用forwardRef包裹组件 // 使用forwardRef包裹组件
const DeviceTable = forwardRef(({ onSelectedChange }: DeviceTableProps, ref) => { const DeviceTable = forwardRef(
const { form, setVisible, searchValue, formValue, editingRecord, setEditingRecord } = useMainContext(); ({ onSelectedChange }: DeviceTableProps, ref) => {
// 从全局上下文获取表单、模态框控制、搜索条件等状态
const {
form,
setVisible,
searchValue,
formValue,
editingRecord,
setEditingRecord,
} = useMainContext();
// 设备API获取创建设备的mutation方法
const { create } = useDevice(); const { create } = useDevice();
// 描述信息模态框状态:控制可见性和内容
const [descModalVisible, setDescModalVisible] = useState(false); const [descModalVisible, setDescModalVisible] = useState(false);
const [currentDesc, setCurrentDesc] = useState({ title: "", desc: "" }); const [currentDesc, setCurrentDesc] = useState({ title: "", desc: "" });
@ -34,65 +55,62 @@ const DeviceTable = forwardRef(({ onSelectedChange }: DeviceTableProps, ref) =>
const handleShowDesc = (record) => { const handleShowDesc = (record) => {
setCurrentDesc({ setCurrentDesc({
title: record.showname || "未知故障", title: record.showname || "未知故障",
desc: record.notes || "无故障详情" desc: record.notes || "无故障详情",
}); });
setDescModalVisible(true); setDescModalVisible(true); // 显示模态框
}; };
const { data: devices, isLoading, refetch } = api.device.findMany.useQuery( // 设备数据查询:获取未删除的设备列表(包含部门信息,按创建时间倒序)
const {
data: devices, // 设备数据数组
isLoading, // 加载状态
refetch, // 手动刷新数据方法
} = api.device.findMany.useQuery(
{ {
where: (searchValue as any) || { deletedAt: null }, where: (searchValue as any) || { deletedAt: null }, // 搜索条件(默认未删除)
include: { include: { department: true }, // 关联查询部门信息
department: true, orderBy: { createdAt: "desc" }, // 按创建时间倒序
}, },
orderBy: { createdAt: "desc" }, { enabled: true } // 自动执行查询
},
{
enabled: true,
}
); );
console.log("devices",devices);
// 系统类型术语查询(用于类型名称转换)
const { data: systemTypeTerms, refetch: refetchSystemType } = const { data: systemTypeTerms, refetch: refetchSystemType } =
api.term.findMany.useQuery({ api.term.findMany.useQuery({
where: { where: { taxonomy: { slug: "system_type" }, deletedAt: null }, // 筛选系统类型术语
taxonomy: { slug: "system_type" }, include: { children: true }, // 包含子级术语
deletedAt: null, orderBy: { order: "asc" }, // 按排序字段升序
},
include: {
children: true,
},
orderBy: { order: "asc" },
}); });
const { data: deviceTypeTerms, refetch: refetchDeviceType } = api.term.findMany.useQuery({
where: { // 设备类型术语查询(用于类型名称转换)
taxonomy: { slug: 'device_type' }, const { data: deviceTypeTerms, refetch: refetchDeviceType } =
deletedAt: null, api.term.findMany.useQuery({
} where: { taxonomy: { slug: "device_type" }, deletedAt: null }, // 筛选设备类型术语
}); });
const { mutate: softDeleteByIds } = api.device.softDeleteByIds.useMutation();
// 软删除设备的mutation方法通过ID批量删除
const { mutate: softDeleteByIds } =
api.device.softDeleteByIds.useMutation();
// 设备数据变化时刷新术语数据(保持类型信息最新)
useEffect(() => { useEffect(() => {
// console.log(devices);
// refetch();
refetchSystemType(); refetchSystemType();
refetchDeviceType(); refetchDeviceType();
}, [devices]); }, [devices]);
// const { softDeleteByIds } = useStaff()
// 添加部门数据查询 // 添加部门数据查询
const { data: departments } = api.department.findMany.useQuery({ const { data: departments } = api.department.findMany.useQuery(
where: { { where: { deletedAt: null } }, // 获取未删除的部门
deletedAt: null, { enabled: true } // 自动执行查询
} );
}, {
enabled: true, // 确保此查询被执行
});
// 根据术语ID和类型获取术语名称用于表格渲染
const getTermNameById = (termId, termType) => { const getTermNameById = (termId, termType) => {
if (!termId) return "未知"; if (!termId) return "未知";
const terms = termType === 'system_type' ? systemTypeTerms : deviceTypeTerms; const terms =
const term = terms?.find(t => t.id === termId); termType === "system_type" ? systemTypeTerms : deviceTypeTerms;
const term = terms?.find((t) => t.id === termId);
return term?.name || "未知"; return term?.name || "未知";
}; };
const handleDelete = (record) => { const handleDelete = (record) => {
@ -130,7 +148,7 @@ const DeviceTable = forwardRef(({ onSelectedChange }: DeviceTableProps, ref) =>
key: "systemType", key: "systemType",
align: "center", align: "center",
render: (text, record) => { render: (text, record) => {
return getTermNameById(record.systemType, 'system_type'); return getTermNameById(record.systemType, "system_type");
}, },
}, },
{ {
@ -139,7 +157,7 @@ const DeviceTable = forwardRef(({ onSelectedChange }: DeviceTableProps, ref) =>
key: "deviceType", key: "deviceType",
align: "center", align: "center",
render: (text, record) => { render: (text, record) => {
return getTermNameById(record.deviceType, 'device_type'); return getTermNameById(record.deviceType, "device_type");
}, },
}, },
{ {
@ -166,13 +184,15 @@ const DeviceTable = forwardRef(({ onSelectedChange }: DeviceTableProps, ref) =>
key: "showname", key: "showname",
align: "center", align: "center",
render: (text, record) => ( render: (text, record) => (
<div onClick={() => handleShowDesc(record)} <div
onClick={() => handleShowDesc(record)}
style={{ style={{
cursor: 'pointer', cursor: "pointer",
padding: '8px 0', padding: "8px 0",
// backgroundColor: 'black', // backgroundColor: 'black',
fontWeight: 'bold', fontWeight: "bold",
}}> }}
>
{text || "未命名故障"} {text || "未命名故障"}
</div> </div>
), ),
@ -186,36 +206,42 @@ const DeviceTable = forwardRef(({ onSelectedChange }: DeviceTableProps, ref) =>
const statusConfig = { const statusConfig = {
normal: { normal: {
text: "已修复", text: "已修复",
color: "success" color: "success",
}, },
maintenance: { maintenance: {
text: "维修中", text: "维修中",
color: "processing" color: "processing",
}, },
broken: { broken: {
text: "未修复", text: "未修复",
color: "error" color: "error",
} },
}; };
const config = statusConfig[status] || { const config = statusConfig[status] || {
text: "未知", text: "未知",
color: "default" color: "default",
}; };
return ( return (
<Tag color={config.color} style={{ minWidth: '60px' , textAlign: 'center' }}> <Tag
color={config.color}
style={{ minWidth: "60px", textAlign: "center" }}
>
{config.text} {config.text}
</Tag> </Tag>
); );
} },
}, },
{ {
title: "时间", title: "时间",
dataIndex: "createdAt", dataIndex: "createdAt",
key: "createdAt", key: "createdAt",
align: "center", align: "center",
render: (text, record) => record.createdAt ? dayjs(record.createdAt).format('YYYY-MM-DD HH:mm:ss') : "未知", render: (text, record) =>
record.createdAt
? dayjs(record.createdAt).format("YYYY-MM-DD HH:mm:ss")
: "未知",
}, },
{ {
title: "操作", title: "操作",
@ -227,15 +253,10 @@ const DeviceTable = forwardRef(({ onSelectedChange }: DeviceTableProps, ref) =>
type="primary" type="primary"
key={record.id} key={record.id}
onClick={() => handleEdit(record)} onClick={() => handleEdit(record)}
> >
</Button> </Button>
<Button <Button danger onClick={() => handleDelete(record)}>
danger
onClick={() => handleDelete(record)}
>
</Button> </Button>
</div> </div>
@ -258,13 +279,16 @@ const DeviceTable = forwardRef(({ onSelectedChange }: DeviceTableProps, ref) =>
const [selectedRowKeys, setSelectedRowKeys] = useState<React.Key[]>([]); const [selectedRowKeys, setSelectedRowKeys] = useState<React.Key[]>([]);
const onSelectChange = (newSelectedRowKeys: React.Key[], selectedRows: any[]) => { const onSelectChange = (
newSelectedRowKeys: React.Key[],
selectedRows: any[]
) => {
setSelectedRowKeys(newSelectedRowKeys); setSelectedRowKeys(newSelectedRowKeys);
}; };
//导出函数 //导出函数
const handleExportSelected = () => { const handleExportSelected = () => {
// 获取选中的行数据 // 获取选中的行数据
const selectedData = devices?.filter(item => const selectedData = devices?.filter((item) =>
selectedRowKeys.includes(item.id) selectedRowKeys.includes(item.id)
); );
@ -275,22 +299,24 @@ const DeviceTable = forwardRef(({ onSelectedChange }: DeviceTableProps, ref) =>
try { try {
// 格式化导出数据 // 格式化导出数据
const exportData = selectedData.map(item => ({ const exportData = selectedData.map((item) => ({
'网系类别': getTermNameById(item.systemType, 'system_type'), 网系类别: getTermNameById(item.systemType, "system_type"),
'故障类型': getTermNameById(item.deviceType, 'device_type'), 故障类型: getTermNameById(item.deviceType, "device_type"),
'单位': (item as any)?.department?.name || "未知", : (item as any)?.department?.name || "未知",
'故障名称': item?.showname || "未命名故障", 故障名称: item?.showname || "未命名故障",
'故障状态': (() => { : (() => {
const statusMap = { const statusMap = {
normal: "已修复", normal: "已修复",
maintenance: "维修中", maintenance: "维修中",
broken: "损坏", broken: "损坏",
idle: "闲置" idle: "闲置",
}; };
return statusMap[item.deviceStatus] || "未知"; return statusMap[item.deviceStatus] || "未知";
})(), })(),
'时间': item.createdAt ? dayjs(item.createdAt).format('YYYY-MM-DD') : "未知", 时间: item.createdAt
'描述': item.notes || "无描述" ? dayjs(item.createdAt).format("YYYY-MM-DD")
: "未知",
描述: item.notes || "无描述",
})); }));
// 创建工作簿 // 创建工作簿
@ -299,7 +325,7 @@ const DeviceTable = forwardRef(({ onSelectedChange }: DeviceTableProps, ref) =>
utils.book_append_sheet(wb, ws, "故障数据"); utils.book_append_sheet(wb, ws, "故障数据");
// 导出Excel文件 // 导出Excel文件
writeFile(wb, `故障数据_${dayjs().format('YYYYMMDD_HHm mss')}.xlsx`); writeFile(wb, `故障数据_${dayjs().format("YYYYMMDD_HHm mss")}.xlsx`);
toast.success(`成功导出 ${selectedData.length} 条数据`); toast.success(`成功导出 ${selectedData.length} 条数据`);
} catch (error) { } catch (error) {
@ -326,17 +352,17 @@ const DeviceTable = forwardRef(({ onSelectedChange }: DeviceTableProps, ref) =>
// 转换为符合系统格式的数据 // 转换为符合系统格式的数据
const records = jsonData.map((row: any) => { const records = jsonData.map((row: any) => {
const unitName = row['单位'] ? String(row['单位']) : ""; const unitName = row["单位"] ? String(row["单位"]) : "";
return { return {
systemType: findTermIdByName(row['网系类别'], 'system_type'), systemType: findTermIdByName(row["网系类别"], "system_type"),
deviceType: findTermIdByName(row['故障类型'], 'device_type'), deviceType: findTermIdByName(row["故障类型"], "device_type"),
showname: row['故障名称'] ? String(row['故障名称']) : "", showname: row["故障名称"] ? String(row["故障名称"]) : "",
// 尝试关联部门ID // 尝试关联部门ID
deptId: unitName ? findDeptIdByName(unitName) : null, deptId: unitName ? findDeptIdByName(unitName) : null,
// 同时保存原始单位名称 // 同时保存原始单位名称
responsiblePerson: unitName, responsiblePerson: unitName,
deviceStatus: getStatusKeyByValue(row['故障状态']), deviceStatus: getStatusKeyByValue(row["故障状态"]),
notes: row['描述'] ? String(row['描述']) : "" notes: row["描述"] ? String(row["描述"]) : "",
}; };
}); });
// 确认是否有有效数据 // 确认是否有有效数据
@ -352,42 +378,41 @@ const DeviceTable = forwardRef(({ onSelectedChange }: DeviceTableProps, ref) =>
toast.error("导入失败,请检查文件格式"); toast.error("导入失败,请检查文件格式");
} finally { } finally {
// 清空文件输入,允许再次选择同一文件 // 清空文件输入,允许再次选择同一文件
if (uploadRef.current) uploadRef.current.value = ''; if (uploadRef.current) uploadRef.current.value = "";
} }
}; };
// 查找术语ID // 查找术语ID
const findTermIdByName = (name: string, type: 'system_type' | 'device_type') => { const findTermIdByName = (
name: string,
type: "system_type" | "device_type"
) => {
if (!name) return null; if (!name) return null;
const terms = type === "system_type" ? systemTypeTerms : deviceTypeTerms;
const terms = type === 'system_type' ? systemTypeTerms : deviceTypeTerms; const term = terms?.find((t) => t.name === name);
const term = terms?.find(t => t.name === name);
return term?.id || null; return term?.id || null;
}; };
// 改进查找部门ID函数 // 改进查找部门ID函数
const findDeptIdByName = (name: string) => { const findDeptIdByName = (name: string) => {
if (!name || name === "未知") return null; if (!name || name === "未知") return null;
// 直接从部门数据中查找 // 直接从部门数据中查找
const department = departments?.find(dept => dept.name === name); const department = departments?.find((dept) => dept.name === name);
if (department) { if (department) {
return department.id; return department.id;
} }
// 备用:尝试从设备中查找 // 备用:尝试从设备中查找
const matchedDevice = devices?.find(device => const matchedDevice = devices?.find(
(device as any)?.department?.name === name (device) => (device as any)?.department?.name === name
); );
return matchedDevice?.deptId || null; return matchedDevice?.deptId || null;
}; };
// 获取状态键 // 获取状态键
const getStatusKeyByValue = (value: string) => { const getStatusKeyByValue = (value: string) => {
const statusMap: Record<string, string> = { const statusMap: Record<string, string> = {
"已修复": "normal", : "normal",
"维修中": "maintenance", : "maintenance",
"未修复 ": "broken", "未修复 ": "broken",
}; };
return statusMap[value] || "normal"; return statusMap[value] || "normal";
@ -399,8 +424,8 @@ const DeviceTable = forwardRef(({ onSelectedChange }: DeviceTableProps, ref) =>
if (!records || records.length === 0) return; if (!records || records.length === 0) return;
try { try {
// 过滤出有效记录 // 过滤出有效记录
const validRecords = records.filter(record => const validRecords = records.filter(
record.systemType || record.deviceType || record.showname (record) => record.systemType || record.deviceType || record.showname
); );
if (validRecords.length === 0) { if (validRecords.length === 0) {
@ -423,23 +448,27 @@ const DeviceTable = forwardRef(({ onSelectedChange }: DeviceTableProps, ref) =>
await create.mutateAsync(record); await create.mutateAsync(record);
successCount++; successCount++;
} catch (error) { } catch (error) {
console.error(`导入记录失败: ${record.showname || "未命名"}`, error); console.error(
`导入记录失败: ${record.showname || "未命名"}`,
error
);
} }
} }
totalProcessed += batch.length; totalProcessed += batch.length;
// 更新导入进度 // 更新导入进度
toast.loading(`已处理 ${totalProcessed}/${validRecords.length} 条数据...`, toast.loading(
{ id: loadingToast }); `已处理 ${totalProcessed}/${validRecords.length} 条数据...`,
{ id: loadingToast }
);
} }
toast.dismiss(loadingToast); toast.dismiss(loadingToast);
// 显示结果 // 显示结果
if (successCount === validRecords.length) { if (successCount === validRecords.length) {
toast.success(`成功导入 ${successCount} 条数据`); toast.success(`成功导入 ${successCount} 条数据`);
} else { } else {
toast.success(`成功导入 ${successCount}/${validRecords.length} 条数据,部分记录导入失败`); toast.success(
`成功导入 ${successCount}/${validRecords.length} 条数据,部分记录导入失败`
);
} }
// 刷新数据 // 刷新数据
@ -456,13 +485,13 @@ const DeviceTable = forwardRef(({ onSelectedChange }: DeviceTableProps, ref) =>
// 创建一个示例记录 // 创建一个示例记录
const templateData = [ const templateData = [
{ {
'网系类别': systemTypeTerms?.[0]?.name || '网系类别1', 网系类别: systemTypeTerms?.[0]?.name || "网系类别1",
'故障类型': deviceTypeTerms?.[0]?.name || '故障类型1', 故障类型: deviceTypeTerms?.[0]?.name || "故障类型1",
'单位': '单位名称', : "单位名称",
'故障名称': '示例故障名称', : "示例故障名称",
'故障状态': '未修复', // 可选值:已修复, 维修中, 未修复 : "未修复", // 可选值:已修复, 维修中, 未修复
'描述': '这是一个示例描述' : "这是一个示例描述",
} },
]; ];
// 创建工作簿 // 创建工作簿
@ -494,32 +523,37 @@ const DeviceTable = forwardRef(({ onSelectedChange }: DeviceTableProps, ref) =>
columnTitle: ( columnTitle: (
<div className="flex items-center justify-center"> <div className="flex items-center justify-center">
<Checkbox <Checkbox
indeterminate={selectedRowKeys?.length > 0 && selectedRowKeys?.length < (devices?.length || 0)} indeterminate={
checked={(devices?.length || 0) > 0 && selectedRowKeys?.length === (devices?.length || 0)} selectedRowKeys?.length > 0 &&
selectedRowKeys?.length < (devices?.length || 0)
}
checked={
(devices?.length || 0) > 0 &&
selectedRowKeys?.length === (devices?.length || 0)
}
onChange={(e) => { onChange={(e) => {
const checked = e.target.checked; const checked = e.target.checked;
const newSelectedRowKeys = checked ? (devices || []).map(item => item.id) : []; const newSelectedRowKeys = checked
? (devices || []).map((item) => item.id)
: [];
onSelectChange(newSelectedRowKeys, checked ? devices : []); onSelectChange(newSelectedRowKeys, checked ? devices : []);
}} }}
/> />
<span className="ml-1.5 text-xs whitespace-nowrap"></span> <span className="ml-1.5 text-xs whitespace-nowrap"></span>
</div> </div>
), ),
preserveSelectedRowKeys: true // 这个属性保证翻页时选中状态不丢失 preserveSelectedRowKeys: true, // 这个属性保证翻页时选中状态不丢失
};
}
const TableHeader = () => ( const TableHeader = () => (
<div className="w-full flex justify-between mb-2"> <div className="w-full flex justify-between mb-2">
<span> <span></span>
</span>
<div className="flex space-x-2"> <div className="flex space-x-2">
<input <input
type="file" type="file"
ref={uploadRef} ref={uploadRef}
onChange={handleFileChange} onChange={handleFileChange}
style={{ display: 'none' }} style={{ display: "none" }}
accept=".xlsx,.xls,.csv" accept=".xlsx,.xls,.csv"
/> />
<Button <Button
@ -542,7 +576,9 @@ const DeviceTable = forwardRef(({ onSelectedChange }: DeviceTableProps, ref) =>
disabled={!selectedRowKeys || selectedRowKeys.length === 0} disabled={!selectedRowKeys || selectedRowKeys.length === 0}
icon={<ExportOutlined />} icon={<ExportOutlined />}
> >
{selectedRowKeys?.length > 0 ? `导出 (${selectedRowKeys.length})项数据` : '导出选中数据'} {selectedRowKeys?.length > 0
? `导出 (${selectedRowKeys.length})项数据`
: "导出选中数据"}
</Button> </Button>
</div> </div>
</div> </div>
@ -559,18 +595,20 @@ const DeviceTable = forwardRef(({ onSelectedChange }: DeviceTableProps, ref) =>
size="middle" size="middle"
tableLayout="fixed" tableLayout="fixed"
rowClassName={(record, index) => rowClassName={(record, index) =>
index % 2 === 0 ? "bg-white hover:bg-blue-100" : "bg-gray-100 hover:bg-blue-100" index % 2 === 0
? "bg-white hover:bg-blue-100"
: "bg-gray-100 hover:bg-blue-100"
} }
onRow={(record) => { onRow={(record) => {
return { return {
style: { cursor: 'pointer' }, style: { cursor: "pointer" },
onMouseEnter: () => { }, // 触发悬停效果 onMouseEnter: () => {},
}; };
}} }}
onHeaderRow={() => { onHeaderRow={() => {
return { return {
style: { style: {
backgroundColor: '#d6e4ff', backgroundColor: "#d6e4ff",
}, },
}; };
}} }}
@ -581,7 +619,6 @@ const DeviceTable = forwardRef(({ onSelectedChange }: DeviceTableProps, ref) =>
pageSize: 10, pageSize: 10,
showSizeChanger: true, showSizeChanger: true,
pageSizeOptions: ["10", "20", "30"], pageSizeOptions: ["10", "20", "30"],
hideOnSinglePage: true,
responsive: true, responsive: true,
showTotal: (total, range) => `${total} 条数据`, showTotal: (total, range) => `${total} 条数据`,
showQuickJumper: true, showQuickJumper: true,
@ -611,7 +648,7 @@ const DeviceTable = forwardRef(({ onSelectedChange }: DeviceTableProps, ref) =>
footer={[ footer={[
<Button key="close" onClick={() => setDescModalVisible(false)}> <Button key="close" onClick={() => setDescModalVisible(false)}>
</Button> </Button>,
]} ]}
> >
<div className="py-4"> <div className="py-4">
@ -623,7 +660,7 @@ const DeviceTable = forwardRef(({ onSelectedChange }: DeviceTableProps, ref) =>
</Modal> </Modal>
</> </>
); );
}); }
);
export default DeviceTable; export default DeviceTable;

View File

@ -31,7 +31,7 @@ type SearchCondition = {
createdAt?: { createdAt?: {
gte: string; gte: string;
lte: string; lte: string;
} };
}; };
export default function DeviceMessage() { export default function DeviceMessage() {
@ -47,8 +47,10 @@ export default function DeviceMessage() {
const [expanded, setExpanded] = useState(false); const [expanded, setExpanded] = useState(false);
// 添加所有筛选条件的状态 // 添加所有筛选条件的状态
const [selectedSystem, setSelectedSystem] = useState<string | null>(null); const [selectedSystem, setSelectedSystem] = useState<string | null>(null);
const [selectedDeviceType, setSelectedDeviceType] = useState<string | null>(null); const [selectedDeviceType, setSelectedDeviceType] = useState<string | null>(
const [selectedDept, setSelectedDept] = useState<string | null>(null) null
);
const [selectedDept, setSelectedDept] = useState<string | null>(null);
const [time, setTime] = useState<string>(""); const [time, setTime] = useState<string>("");
const [ipAddress, setIpAddress] = useState<string>(""); const [ipAddress, setIpAddress] = useState<string>("");
const [macAddress, setMacAddress] = useState<string>(""); const [macAddress, setMacAddress] = useState<string>("");
@ -84,9 +86,9 @@ export default function DeviceMessage() {
...(selectedDept && { deptId: selectedDept }), ...(selectedDept && { deptId: selectedDept }),
...(time && { ...(time && {
createdAt: { createdAt: {
gte: dayjs(time).startOf('day').toISOString(), gte: dayjs(time).startOf("day").toISOString(),
lte: dayjs(time).endOf('day').toISOString() lte: dayjs(time).endOf("day").toISOString(),
} },
}), }),
// ...(status && { status: { contains: status } }), // ...(status && { status: { contains: status } }),
@ -139,7 +141,7 @@ export default function DeviceMessage() {
// 系统类别变化处理 // 系统类别变化处理
const handleSystemTypeChange = (value: string) => { const handleSystemTypeChange = (value: string) => {
setSelectedSystemTypeId(value); setSelectedSystemTypeId(value);
form.setFieldValue('deviceType', undefined); // 清空已选故障类型 form.setFieldValue("deviceType", undefined); // 清空已选故障类型
}; };
return ( return (
@ -195,17 +197,10 @@ export default function DeviceMessage() {
allowClear allowClear
/> />
</div> </div>
<Button <Button type="primary" icon={<SearchOutlined />} onClick={handleSearch}>
type="primary"
icon={<SearchOutlined />}
onClick={handleSearch}
>
</Button> </Button>
<Button <Button icon={<ReloadOutlined />} onClick={handleReset}>
icon={<ReloadOutlined />}
onClick={handleReset}
>
</Button> </Button>
</div> </div>
@ -217,10 +212,7 @@ export default function DeviceMessage() {
</div> */} </div> */}
<div> <div>
<DeviceTable <DeviceTable ref={tableRef} onSelectedChange={handleSelectedChange} />
ref={tableRef}
onSelectedChange={handleSelectedChange}
/>
<DeviceModal /> <DeviceModal />
</div> </div>
</div> </div>

729
package-lock.json generated Normal file
View File

@ -0,0 +1,729 @@
{
"name": "nice-stack",
"version": "1.0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "nice-stack",
"version": "1.0.0",
"license": "ISC",
"dependencies": {
"docx-parser": "^0.2.1",
"echarts": "^5.6.0",
"echarts-for-react": "^3.0.2",
"mammoth": "^1.9.0",
"nlp-compromise": "^7.0.0"
}
},
"node_modules/@xmldom/xmldom": {
"version": "0.8.10",
"resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.10.tgz",
"integrity": "sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==",
"engines": {
"node": ">=10.0.0"
}
},
"node_modules/base64-js": {
"version": "1.5.1",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/feross"
},
{
"type": "patreon",
"url": "https://www.patreon.com/feross"
},
{
"type": "consulting",
"url": "https://feross.org/support"
}
],
"license": "MIT"
},
"node_modules/bl": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz",
"integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==",
"dependencies": {
"readable-stream": "^2.3.5",
"safe-buffer": "^5.1.1"
}
},
"node_modules/bluebird": {
"version": "3.4.7",
"license": "MIT"
},
"node_modules/buffer": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
"integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/feross"
},
{
"type": "patreon",
"url": "https://www.patreon.com/feross"
},
{
"type": "consulting",
"url": "https://feross.org/support"
}
],
"dependencies": {
"base64-js": "^1.3.1",
"ieee754": "^1.1.13"
}
},
"node_modules/buffer-alloc": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz",
"integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==",
"dependencies": {
"buffer-alloc-unsafe": "^1.1.0",
"buffer-fill": "^1.0.0"
}
},
"node_modules/buffer-alloc-unsafe": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz",
"integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg=="
},
"node_modules/buffer-crc32": {
"version": "0.2.13",
"resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
"integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==",
"engines": {
"node": "*"
}
},
"node_modules/buffer-fill": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz",
"integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ=="
},
"node_modules/commander": {
"version": "2.20.3",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
},
"node_modules/compromise": {
"version": "14.14.4",
"resolved": "https://registry.npmjs.org/compromise/-/compromise-14.14.4.tgz",
"integrity": "sha512-QdbJwronwxeqb7a5KFK/+Y5YieZ4PE1f7ai0vU58Pp4jih+soDCBMuKVbhDEPQ+6+vI3vSiG4UAAjTAXLJw1Qw==",
"dependencies": {
"efrt": "2.7.0",
"grad-school": "0.0.5",
"suffix-thumb": "5.0.2"
},
"engines": {
"node": ">=12.0.0"
}
},
"node_modules/core-util-is": {
"version": "1.0.3",
"license": "MIT"
},
"node_modules/decompress": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz",
"integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==",
"dependencies": {
"decompress-tar": "^4.0.0",
"decompress-tarbz2": "^4.0.0",
"decompress-targz": "^4.0.0",
"decompress-unzip": "^4.0.1",
"graceful-fs": "^4.1.10",
"make-dir": "^1.0.0",
"pify": "^2.3.0",
"strip-dirs": "^2.0.0"
},
"engines": {
"node": ">=4"
}
},
"node_modules/decompress-tar": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz",
"integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==",
"dependencies": {
"file-type": "^5.2.0",
"is-stream": "^1.1.0",
"tar-stream": "^1.5.2"
},
"engines": {
"node": ">=4"
}
},
"node_modules/decompress-tarbz2": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz",
"integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==",
"dependencies": {
"decompress-tar": "^4.1.0",
"file-type": "^6.1.0",
"is-stream": "^1.1.0",
"seek-bzip": "^1.0.5",
"unbzip2-stream": "^1.0.9"
},
"engines": {
"node": ">=4"
}
},
"node_modules/decompress-tarbz2/node_modules/file-type": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz",
"integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==",
"engines": {
"node": ">=4"
}
},
"node_modules/decompress-targz": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz",
"integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==",
"dependencies": {
"decompress-tar": "^4.1.1",
"file-type": "^5.2.0",
"is-stream": "^1.1.0"
},
"engines": {
"node": ">=4"
}
},
"node_modules/decompress-unzip": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz",
"integrity": "sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==",
"dependencies": {
"file-type": "^3.8.0",
"get-stream": "^2.2.0",
"pify": "^2.3.0",
"yauzl": "^2.4.2"
},
"engines": {
"node": ">=4"
}
},
"node_modules/decompress-unzip/node_modules/file-type": {
"version": "3.9.0",
"resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz",
"integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/dingbat-to-unicode": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/dingbat-to-unicode/-/dingbat-to-unicode-1.0.1.tgz",
"integrity": "sha512-98l0sW87ZT58pU4i61wa2OHwxbiYSbuxsCBozaVnYX2iCnr3bLM3fIes1/ej7h1YdOKuKt/MLs706TVnALA65w=="
},
"node_modules/docx-parser": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/docx-parser/-/docx-parser-0.2.1.tgz",
"integrity": "sha512-JVkXzanOqMI/QldXU9qoaUChsGDfSzx/ixCx3iNgVHJpjTCdKu7iqWRxxl1uk5EflXp58/dEttEkN14GOvyhpQ==",
"dependencies": {
"decompress": "^4.0.0"
}
},
"node_modules/duck": {
"version": "0.1.12",
"resolved": "https://registry.npmjs.org/duck/-/duck-0.1.12.tgz",
"integrity": "sha512-wkctla1O6VfP89gQ+J/yDesM0S7B7XLXjKGzXxMDVFg7uEn706niAtyYovKbyq1oT9YwDcly721/iUWoc8MVRg==",
"dependencies": {
"underscore": "^1.13.1"
}
},
"node_modules/echarts": {
"version": "5.6.0",
"license": "Apache-2.0",
"dependencies": {
"tslib": "2.3.0",
"zrender": "5.6.1"
}
},
"node_modules/echarts-for-react": {
"version": "3.0.2",
"license": "MIT",
"dependencies": {
"fast-deep-equal": "^3.1.3",
"size-sensor": "^1.0.1"
},
"peerDependencies": {
"echarts": "^3.0.0 || ^4.0.0 || ^5.0.0",
"react": "^15.0.0 || >=16.0.0"
}
},
"node_modules/echarts/node_modules/tslib": {
"version": "2.3.0",
"license": "0BSD"
},
"node_modules/efrt": {
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/efrt/-/efrt-2.7.0.tgz",
"integrity": "sha512-/RInbCy1d4P6Zdfa+TMVsf/ufZVotat5hCw3QXmWtjU+3pFEOvOQ7ibo3aIxyCJw2leIeAMjmPj+1SLJiCpdrQ==",
"engines": {
"node": ">=12.0.0"
}
},
"node_modules/end-of-stream": {
"version": "1.4.4",
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
"integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
"dependencies": {
"once": "^1.4.0"
}
},
"node_modules/fast-deep-equal": {
"version": "3.1.3",
"license": "MIT"
},
"node_modules/fd-slicer": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
"integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==",
"dependencies": {
"pend": "~1.2.0"
}
},
"node_modules/file-type": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz",
"integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==",
"engines": {
"node": ">=4"
}
},
"node_modules/fs-constants": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
"integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow=="
},
"node_modules/get-stream": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz",
"integrity": "sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==",
"dependencies": {
"object-assign": "^4.0.1",
"pinkie-promise": "^2.0.0"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/graceful-fs": {
"version": "4.2.11",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="
},
"node_modules/grad-school": {
"version": "0.0.5",
"resolved": "https://registry.npmjs.org/grad-school/-/grad-school-0.0.5.tgz",
"integrity": "sha512-rXunEHF9M9EkMydTBux7+IryYXEZinRk6g8OBOGDBzo/qWJjhTxy86i5q7lQYpCLHN8Sqv1XX3OIOc7ka2gtvQ==",
"engines": {
"node": ">=8.0.0"
}
},
"node_modules/ieee754": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
"integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/feross"
},
{
"type": "patreon",
"url": "https://www.patreon.com/feross"
},
{
"type": "consulting",
"url": "https://feross.org/support"
}
]
},
"node_modules/inherits": {
"version": "2.0.4",
"license": "ISC"
},
"node_modules/is-natural-number": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz",
"integrity": "sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ=="
},
"node_modules/is-stream": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
"integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/isarray": {
"version": "1.0.0",
"license": "MIT"
},
"node_modules/js-tokens": {
"version": "4.0.0",
"license": "MIT",
"peer": true
},
"node_modules/jszip": {
"version": "3.10.1",
"license": "(MIT OR GPL-3.0-or-later)",
"dependencies": {
"lie": "~3.3.0",
"pako": "~1.0.2",
"readable-stream": "~2.3.6",
"setimmediate": "^1.0.5"
}
},
"node_modules/lie": {
"version": "3.3.0",
"license": "MIT",
"dependencies": {
"immediate": "~3.0.5"
}
},
"node_modules/lie/node_modules/immediate": {
"version": "3.0.6",
"license": "MIT"
},
"node_modules/loose-envify": {
"version": "1.4.0",
"license": "MIT",
"peer": true,
"dependencies": {
"js-tokens": "^3.0.0 || ^4.0.0"
},
"bin": {
"loose-envify": "cli.js"
}
},
"node_modules/lop": {
"version": "0.4.2",
"resolved": "https://registry.npmjs.org/lop/-/lop-0.4.2.tgz",
"integrity": "sha512-RefILVDQ4DKoRZsJ4Pj22TxE3omDO47yFpkIBoDKzkqPRISs5U1cnAdg/5583YPkWPaLIYHOKRMQSvjFsO26cw==",
"dependencies": {
"duck": "^0.1.12",
"option": "~0.2.1",
"underscore": "^1.13.1"
}
},
"node_modules/make-dir": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
"integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
"dependencies": {
"pify": "^3.0.0"
},
"engines": {
"node": ">=4"
}
},
"node_modules/make-dir/node_modules/pify": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
"integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==",
"engines": {
"node": ">=4"
}
},
"node_modules/mammoth": {
"version": "1.9.0",
"resolved": "https://registry.npmjs.org/mammoth/-/mammoth-1.9.0.tgz",
"integrity": "sha512-F+0NxzankQV9XSUAuVKvkdQK0GbtGGuqVnND9aVf9VSeUA82LQa29GjLqYU6Eez8LHqSJG3eGiDW3224OKdpZg==",
"dependencies": {
"@xmldom/xmldom": "^0.8.6",
"argparse": "~1.0.3",
"base64-js": "^1.5.1",
"bluebird": "~3.4.0",
"dingbat-to-unicode": "^1.0.1",
"jszip": "^3.7.1",
"lop": "^0.4.2",
"path-is-absolute": "^1.0.0",
"underscore": "^1.13.1",
"xmlbuilder": "^10.0.0"
},
"bin": {
"mammoth": "bin/mammoth"
},
"engines": {
"node": ">=12.0.0"
}
},
"node_modules/mammoth/node_modules/argparse": {
"version": "1.0.10",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
"integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
"dependencies": {
"sprintf-js": "~1.0.2"
}
},
"node_modules/mammoth/node_modules/xmlbuilder": {
"version": "10.1.1",
"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-10.1.1.tgz",
"integrity": "sha512-OyzrcFLL/nb6fMGHbiRDuPup9ljBycsdCypwuyg5AAHvyWzGfChJpCXMG88AGTIMFhGZ9RccFN1e6lhg3hkwKg==",
"engines": {
"node": ">=4.0"
}
},
"node_modules/nlp-compromise": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/nlp-compromise/-/nlp-compromise-7.0.0.tgz",
"integrity": "sha512-Fo7UI3SvE4/d1wduHTVlFVnr9W2U/EAkednuozrFeFFDG4uWMeb6WerjUnpwkn6Zm1zwCRNgC9/p2BuAJd3Teg==",
"dependencies": {
"compromise": "latest"
}
},
"node_modules/object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
"integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
"dependencies": {
"wrappy": "1"
}
},
"node_modules/option": {
"version": "0.2.4",
"resolved": "https://registry.npmjs.org/option/-/option-0.2.4.tgz",
"integrity": "sha512-pkEqbDyl8ou5cpq+VsnQbe/WlEy5qS7xPzMS1U55OCG9KPvwFD46zDbxQIj3egJSFc3D+XhYOPUzz49zQAVy7A=="
},
"node_modules/pako": {
"version": "1.0.11",
"license": "(MIT AND Zlib)"
},
"node_modules/path-is-absolute": {
"version": "1.0.1",
"license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/pend": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
"integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg=="
},
"node_modules/pify": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/pinkie": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
"integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/pinkie-promise": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
"integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==",
"dependencies": {
"pinkie": "^2.0.0"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/process-nextick-args": {
"version": "2.0.1",
"license": "MIT"
},
"node_modules/react": {
"version": "18.2.0",
"license": "MIT",
"peer": true,
"dependencies": {
"loose-envify": "^1.1.0"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/readable-stream": {
"version": "2.3.8",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
"integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
"dependencies": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
"isarray": "~1.0.0",
"process-nextick-args": "~2.0.0",
"safe-buffer": "~5.1.1",
"string_decoder": "~1.1.1",
"util-deprecate": "~1.0.1"
}
},
"node_modules/readable-stream/node_modules/safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
},
"node_modules/safe-buffer": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/feross"
},
{
"type": "patreon",
"url": "https://www.patreon.com/feross"
},
{
"type": "consulting",
"url": "https://feross.org/support"
}
]
},
"node_modules/seek-bzip": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz",
"integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==",
"dependencies": {
"commander": "^2.8.1"
},
"bin": {
"seek-bunzip": "bin/seek-bunzip",
"seek-table": "bin/seek-bzip-table"
}
},
"node_modules/setimmediate": {
"version": "1.0.5",
"license": "MIT"
},
"node_modules/size-sensor": {
"version": "1.0.2",
"license": "ISC"
},
"node_modules/sprintf-js": {
"version": "1.0.3",
"license": "BSD-3-Clause"
},
"node_modules/string_decoder": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
"dependencies": {
"safe-buffer": "~5.1.0"
}
},
"node_modules/string_decoder/node_modules/safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
},
"node_modules/strip-dirs": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz",
"integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==",
"dependencies": {
"is-natural-number": "^4.0.1"
}
},
"node_modules/suffix-thumb": {
"version": "5.0.2",
"resolved": "https://registry.npmjs.org/suffix-thumb/-/suffix-thumb-5.0.2.tgz",
"integrity": "sha512-I5PWXAFKx3FYnI9a+dQMWNqTxoRt6vdBdb0O+BJ1sxXCWtSoQCusc13E58f+9p4MYx/qCnEMkD5jac6K2j3dgA=="
},
"node_modules/tar-stream": {
"version": "1.6.2",
"resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz",
"integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==",
"dependencies": {
"bl": "^1.0.0",
"buffer-alloc": "^1.2.0",
"end-of-stream": "^1.0.0",
"fs-constants": "^1.0.0",
"readable-stream": "^2.3.0",
"to-buffer": "^1.1.1",
"xtend": "^4.0.0"
},
"engines": {
"node": ">= 0.8.0"
}
},
"node_modules/through": {
"version": "2.3.8",
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
"integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg=="
},
"node_modules/to-buffer": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz",
"integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg=="
},
"node_modules/unbzip2-stream": {
"version": "1.4.3",
"resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz",
"integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==",
"dependencies": {
"buffer": "^5.2.1",
"through": "^2.3.8"
}
},
"node_modules/underscore": {
"version": "1.13.7",
"resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.7.tgz",
"integrity": "sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g=="
},
"node_modules/util-deprecate": {
"version": "1.0.2",
"license": "MIT"
},
"node_modules/wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
},
"node_modules/xtend": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
"integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
"engines": {
"node": ">=0.4"
}
},
"node_modules/yauzl": {
"version": "2.10.0",
"resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
"integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==",
"dependencies": {
"buffer-crc32": "~0.2.3",
"fd-slicer": "~1.1.0"
}
},
"node_modules/zrender": {
"version": "5.6.1",
"license": "BSD-3-Clause",
"dependencies": {
"tslib": "2.3.0"
}
},
"node_modules/zrender/node_modules/tslib": {
"version": "2.3.0",
"license": "0BSD"
}
}
}

View File

@ -13,7 +13,10 @@
"author": "insiinc", "author": "insiinc",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"docx-parser": "^0.2.1",
"echarts": "^5.6.0", "echarts": "^5.6.0",
"echarts-for-react": "^3.0.2" "echarts-for-react": "^3.0.2",
"mammoth": "^1.9.0",
"nlp-compromise": "^7.0.0"
} }
} }

View File

@ -8,12 +8,21 @@ importers:
.: .:
dependencies: dependencies:
docx-parser:
specifier: ^0.2.1
version: 0.2.1
echarts: echarts:
specifier: ^5.6.0 specifier: ^5.6.0
version: 5.6.0 version: 5.6.0
echarts-for-react: echarts-for-react:
specifier: ^3.0.2 specifier: ^3.0.2
version: 3.0.2(echarts@5.6.0)(react@18.2.0) version: 3.0.2(echarts@5.6.0)(react@18.2.0)
mammoth:
specifier: ^1.9.0
version: 1.9.0
nlp-compromise:
specifier: ^7.0.0
version: 7.0.0
apps/server: apps/server:
dependencies: dependencies:
@ -3064,6 +3073,10 @@ packages:
'@webassemblyjs/wast-printer@1.14.1': '@webassemblyjs/wast-printer@1.14.1':
resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==} resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==}
'@xmldom/xmldom@0.8.10':
resolution: {integrity: sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==}
engines: {node: '>=10.0.0'}
'@xtuc/ieee754@1.2.0': '@xtuc/ieee754@1.2.0':
resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==}
@ -3327,6 +3340,9 @@ packages:
binary@0.3.0: binary@0.3.0:
resolution: {integrity: sha512-D4H1y5KYwpJgK8wk1Cue5LLPgmwHKYSChkbspQg5JtVuR5ulGckxfR62H3AE9UDkdMC8yyXlqYihuz3Aqg2XZg==} resolution: {integrity: sha512-D4H1y5KYwpJgK8wk1Cue5LLPgmwHKYSChkbspQg5JtVuR5ulGckxfR62H3AE9UDkdMC8yyXlqYihuz3Aqg2XZg==}
bl@1.2.3:
resolution: {integrity: sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==}
bl@4.1.0: bl@4.1.0:
resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
@ -3371,6 +3387,12 @@ packages:
bser@2.1.1: bser@2.1.1:
resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==}
buffer-alloc-unsafe@1.1.0:
resolution: {integrity: sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==}
buffer-alloc@1.2.0:
resolution: {integrity: sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==}
buffer-crc32@0.2.13: buffer-crc32@0.2.13:
resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==}
@ -3381,6 +3403,9 @@ packages:
buffer-equal-constant-time@1.0.1: buffer-equal-constant-time@1.0.1:
resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==} resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==}
buffer-fill@1.0.0:
resolution: {integrity: sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==}
buffer-from@1.1.2: buffer-from@1.1.2:
resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
@ -3601,6 +3626,10 @@ packages:
resolution: {integrity: sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==} resolution: {integrity: sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
compromise@14.14.4:
resolution: {integrity: sha512-QdbJwronwxeqb7a5KFK/+Y5YieZ4PE1f7ai0vU58Pp4jih+soDCBMuKVbhDEPQ+6+vI3vSiG4UAAjTAXLJw1Qw==}
engines: {node: '>=12.0.0'}
compute-scroll-into-view@3.1.1: compute-scroll-into-view@3.1.1:
resolution: {integrity: sha512-VRhuHOLoKYOy4UbilLbUzbYg93XLjv2PncJC50EuTWPA3gaja1UjBsUP/D/9/juV3vQFr6XBEzn9KCAHdUvOHw==} resolution: {integrity: sha512-VRhuHOLoKYOy4UbilLbUzbYg93XLjv2PncJC50EuTWPA3gaja1UjBsUP/D/9/juV3vQFr6XBEzn9KCAHdUvOHw==}
@ -3806,6 +3835,26 @@ packages:
resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==}
engines: {node: '>=0.10'} engines: {node: '>=0.10'}
decompress-tar@4.1.1:
resolution: {integrity: sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==}
engines: {node: '>=4'}
decompress-tarbz2@4.1.1:
resolution: {integrity: sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==}
engines: {node: '>=4'}
decompress-targz@4.1.1:
resolution: {integrity: sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==}
engines: {node: '>=4'}
decompress-unzip@4.0.1:
resolution: {integrity: sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==}
engines: {node: '>=4'}
decompress@4.2.1:
resolution: {integrity: sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==}
engines: {node: '>=4'}
dedent@1.6.0: dedent@1.6.0:
resolution: {integrity: sha512-F1Z+5UCFpmQUzJa11agbyPVMbpgT/qA3/SKyJ1jyBgm7dUcUEa8v9JwDkerSQXfakBwFljIxhOJqGkjUwZ9FSA==} resolution: {integrity: sha512-F1Z+5UCFpmQUzJa11agbyPVMbpgT/qA3/SKyJ1jyBgm7dUcUEa8v9JwDkerSQXfakBwFljIxhOJqGkjUwZ9FSA==}
peerDependencies: peerDependencies:
@ -3871,6 +3920,9 @@ packages:
resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==}
engines: {node: '>=0.3.1'} engines: {node: '>=0.3.1'}
dingbat-to-unicode@1.0.1:
resolution: {integrity: sha512-98l0sW87ZT58pU4i61wa2OHwxbiYSbuxsCBozaVnYX2iCnr3bLM3fIes1/ej7h1YdOKuKt/MLs706TVnALA65w==}
dir-glob@3.0.1: dir-glob@3.0.1:
resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
engines: {node: '>=8'} engines: {node: '>=8'}
@ -3882,6 +3934,9 @@ packages:
resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
engines: {node: '>=6.0.0'} engines: {node: '>=6.0.0'}
docx-parser@0.2.1:
resolution: {integrity: sha512-JVkXzanOqMI/QldXU9qoaUChsGDfSzx/ixCx3iNgVHJpjTCdKu7iqWRxxl1uk5EflXp58/dEttEkN14GOvyhpQ==}
dot-case@3.0.4: dot-case@3.0.4:
resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==}
@ -3897,6 +3952,9 @@ packages:
resolution: {integrity: sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg==} resolution: {integrity: sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg==}
engines: {node: '>=12'} engines: {node: '>=12'}
duck@0.1.12:
resolution: {integrity: sha512-wkctla1O6VfP89gQ+J/yDesM0S7B7XLXjKGzXxMDVFg7uEn706niAtyYovKbyq1oT9YwDcly721/iUWoc8MVRg==}
dunder-proto@1.0.1: dunder-proto@1.0.1:
resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
@ -3922,6 +3980,10 @@ packages:
ee-first@1.1.1: ee-first@1.1.1:
resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
efrt@2.7.0:
resolution: {integrity: sha512-/RInbCy1d4P6Zdfa+TMVsf/ufZVotat5hCw3QXmWtjU+3pFEOvOQ7ibo3aIxyCJw2leIeAMjmPj+1SLJiCpdrQ==}
engines: {node: '>=12.0.0'}
ejs@3.1.10: ejs@3.1.10:
resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==} resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==}
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
@ -4217,6 +4279,9 @@ packages:
fb-watchman@2.0.2: fb-watchman@2.0.2:
resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==}
fd-slicer@1.1.0:
resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==}
fdir@6.4.4: fdir@6.4.4:
resolution: {integrity: sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==} resolution: {integrity: sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==}
peerDependencies: peerDependencies:
@ -4244,6 +4309,18 @@ packages:
resolution: {integrity: sha512-hw9gNZXUfZ02Jo0uafWLaFVPter5/k2rfcrjFJJHX/77xtSDOfJuEFb6oKlFV86FLP1SuyHMW1PSk0U9M5tKkQ==} resolution: {integrity: sha512-hw9gNZXUfZ02Jo0uafWLaFVPter5/k2rfcrjFJJHX/77xtSDOfJuEFb6oKlFV86FLP1SuyHMW1PSk0U9M5tKkQ==}
engines: {node: '>=18'} engines: {node: '>=18'}
file-type@3.9.0:
resolution: {integrity: sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==}
engines: {node: '>=0.10.0'}
file-type@5.2.0:
resolution: {integrity: sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==}
engines: {node: '>=4'}
file-type@6.2.0:
resolution: {integrity: sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==}
engines: {node: '>=4'}
filelist@1.0.4: filelist@1.0.4:
resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==}
@ -4403,6 +4480,10 @@ packages:
resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
get-stream@2.3.1:
resolution: {integrity: sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==}
engines: {node: '>=0.10.0'}
get-stream@6.0.1: get-stream@6.0.1:
resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
engines: {node: '>=10'} engines: {node: '>=10'}
@ -4463,6 +4544,10 @@ packages:
graceful-fs@4.2.11: graceful-fs@4.2.11:
resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
grad-school@0.0.5:
resolution: {integrity: sha512-rXunEHF9M9EkMydTBux7+IryYXEZinRk6g8OBOGDBzo/qWJjhTxy86i5q7lQYpCLHN8Sqv1XX3OIOc7ka2gtvQ==}
engines: {node: '>=8.0.0'}
graphemer@1.4.0: graphemer@1.4.0:
resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
@ -4621,6 +4706,9 @@ packages:
resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==}
engines: {node: '>=8'} engines: {node: '>=8'}
is-natural-number@4.0.1:
resolution: {integrity: sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==}
is-number@7.0.0: is-number@7.0.0:
resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
engines: {node: '>=0.12.0'} engines: {node: '>=0.12.0'}
@ -4641,6 +4729,10 @@ packages:
resolution: {integrity: sha512-rbku49cWloU5bSMI+zaRaXdQHXnthP6DZ/vLnfdSKyL4zUzuWnomtOEiZZOd+ioQ+avFo/qau3KPTc7Fjy1uPA==} resolution: {integrity: sha512-rbku49cWloU5bSMI+zaRaXdQHXnthP6DZ/vLnfdSKyL4zUzuWnomtOEiZZOd+ioQ+avFo/qau3KPTc7Fjy1uPA==}
engines: {node: '>=12'} engines: {node: '>=12'}
is-stream@1.1.0:
resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==}
engines: {node: '>=0.10.0'}
is-stream@2.0.1: is-stream@2.0.1:
resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
engines: {node: '>=8'} engines: {node: '>=8'}
@ -5131,6 +5223,9 @@ packages:
resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
hasBin: true hasBin: true
lop@0.4.2:
resolution: {integrity: sha512-RefILVDQ4DKoRZsJ4Pj22TxE3omDO47yFpkIBoDKzkqPRISs5U1cnAdg/5583YPkWPaLIYHOKRMQSvjFsO26cw==}
lower-case@2.0.2: lower-case@2.0.2:
resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==}
@ -5162,6 +5257,10 @@ packages:
resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==}
engines: {node: '>=12'} engines: {node: '>=12'}
make-dir@1.3.0:
resolution: {integrity: sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==}
engines: {node: '>=4'}
make-dir@4.0.0: make-dir@4.0.0:
resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==}
engines: {node: '>=10'} engines: {node: '>=10'}
@ -5172,6 +5271,11 @@ packages:
makeerror@1.0.12: makeerror@1.0.12:
resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==}
mammoth@1.9.0:
resolution: {integrity: sha512-F+0NxzankQV9XSUAuVKvkdQK0GbtGGuqVnND9aVf9VSeUA82LQa29GjLqYU6Eez8LHqSJG3eGiDW3224OKdpZg==}
engines: {node: '>=12.0.0'}
hasBin: true
math-intrinsics@1.1.0: math-intrinsics@1.1.0:
resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
@ -5329,6 +5433,9 @@ packages:
neo-async@2.6.2: neo-async@2.6.2:
resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==}
nlp-compromise@7.0.0:
resolution: {integrity: sha512-Fo7UI3SvE4/d1wduHTVlFVnr9W2U/EAkednuozrFeFFDG4uWMeb6WerjUnpwkn6Zm1zwCRNgC9/p2BuAJd3Teg==}
no-case@3.0.4: no-case@3.0.4:
resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==}
@ -5404,6 +5511,9 @@ packages:
resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
engines: {node: '>=6'} engines: {node: '>=6'}
option@0.2.4:
resolution: {integrity: sha512-pkEqbDyl8ou5cpq+VsnQbe/WlEy5qS7xPzMS1U55OCG9KPvwFD46zDbxQIj3egJSFc3D+XhYOPUzz49zQAVy7A==}
optionator@0.9.4: optionator@0.9.4:
resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
engines: {node: '>= 0.8.0'} engines: {node: '>= 0.8.0'}
@ -5505,6 +5615,9 @@ packages:
resolution: {integrity: sha512-nri2TO5JE3/mRryik9LlHFT53cgHfRK0Lt0BAZQXku/AW3E6XLt2GaY8siWi7dvW/m1z0ecn+J+bpDa9ZN3IsQ==} resolution: {integrity: sha512-nri2TO5JE3/mRryik9LlHFT53cgHfRK0Lt0BAZQXku/AW3E6XLt2GaY8siWi7dvW/m1z0ecn+J+bpDa9ZN3IsQ==}
engines: {node: '>=18'} engines: {node: '>=18'}
pend@1.2.0:
resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==}
picocolors@1.1.1: picocolors@1.1.1:
resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
@ -5524,6 +5637,18 @@ packages:
resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
pify@3.0.0:
resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==}
engines: {node: '>=4'}
pinkie-promise@2.0.1:
resolution: {integrity: sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==}
engines: {node: '>=0.10.0'}
pinkie@2.0.4:
resolution: {integrity: sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==}
engines: {node: '>=0.10.0'}
pinyin-pro@3.26.0: pinyin-pro@3.26.0:
resolution: {integrity: sha512-HcBZZb0pvm0/JkPhZHWA5Hqp2cWHXrrW/WrV+OtaYYM+kf35ffvZppIUuGmyuQ7gDr1JDJKMkbEE+GN0wfMoGg==} resolution: {integrity: sha512-HcBZZb0pvm0/JkPhZHWA5Hqp2cWHXrrW/WrV+OtaYYM+kf35ffvZppIUuGmyuQ7gDr1JDJKMkbEE+GN0wfMoGg==}
@ -6153,6 +6278,10 @@ packages:
scroll-into-view-if-needed@3.1.0: scroll-into-view-if-needed@3.1.0:
resolution: {integrity: sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==} resolution: {integrity: sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==}
seek-bzip@1.0.6:
resolution: {integrity: sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==}
hasBin: true
semver@6.3.1: semver@6.3.1:
resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
hasBin: true hasBin: true
@ -6384,6 +6513,9 @@ packages:
resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==}
engines: {node: '>=8'} engines: {node: '>=8'}
strip-dirs@2.1.0:
resolution: {integrity: sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==}
strip-final-newline@2.0.0: strip-final-newline@2.0.0:
resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
engines: {node: '>=6'} engines: {node: '>=6'}
@ -6407,6 +6539,9 @@ packages:
engines: {node: '>=16 || 14 >=14.17'} engines: {node: '>=16 || 14 >=14.17'}
hasBin: true hasBin: true
suffix-thumb@5.0.2:
resolution: {integrity: sha512-I5PWXAFKx3FYnI9a+dQMWNqTxoRt6vdBdb0O+BJ1sxXCWtSoQCusc13E58f+9p4MYx/qCnEMkD5jac6K2j3dgA==}
superagent@8.1.2: superagent@8.1.2:
resolution: {integrity: sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==} resolution: {integrity: sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==}
engines: {node: '>=6.4.0 <13 || >=14'} engines: {node: '>=6.4.0 <13 || >=14'}
@ -6462,6 +6597,10 @@ packages:
resolution: {integrity: sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==} resolution: {integrity: sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==}
engines: {node: '>=6'} engines: {node: '>=6'}
tar-stream@1.6.2:
resolution: {integrity: sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==}
engines: {node: '>= 0.8.0'}
tar-stream@2.2.0: tar-stream@2.2.0:
resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==}
engines: {node: '>=6'} engines: {node: '>=6'}
@ -6532,6 +6671,9 @@ packages:
tmpl@1.0.5: tmpl@1.0.5:
resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==}
to-buffer@1.1.1:
resolution: {integrity: sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==}
to-regex-range@5.0.1: to-regex-range@5.0.1:
resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
engines: {node: '>=8.0'} engines: {node: '>=8.0'}
@ -6717,6 +6859,12 @@ packages:
resolution: {integrity: sha512-ZPtzy0hu4cZjv3z5NW9gfKnNLjoz4y6uv4HlelAjDK7sY/xOkKZv9xK/WQpcsBB3jEybChz9DPC2U/+cusjJVQ==} resolution: {integrity: sha512-ZPtzy0hu4cZjv3z5NW9gfKnNLjoz4y6uv4HlelAjDK7sY/xOkKZv9xK/WQpcsBB3jEybChz9DPC2U/+cusjJVQ==}
engines: {node: '>=18'} engines: {node: '>=18'}
unbzip2-stream@1.4.3:
resolution: {integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==}
underscore@1.13.7:
resolution: {integrity: sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==}
undici-types@6.19.8: undici-types@6.19.8:
resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==}
@ -6957,6 +7105,10 @@ packages:
resolution: {integrity: sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==} resolution: {integrity: sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==}
engines: {node: '>=4.0.0'} engines: {node: '>=4.0.0'}
xmlbuilder@10.1.1:
resolution: {integrity: sha512-OyzrcFLL/nb6fMGHbiRDuPup9ljBycsdCypwuyg5AAHvyWzGfChJpCXMG88AGTIMFhGZ9RccFN1e6lhg3hkwKg==}
engines: {node: '>=4.0'}
xmlbuilder@11.0.1: xmlbuilder@11.0.1:
resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==} resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==}
engines: {node: '>=4.0'} engines: {node: '>=4.0'}
@ -7005,6 +7157,9 @@ packages:
resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}
engines: {node: '>=12'} engines: {node: '>=12'}
yauzl@2.10.0:
resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==}
yjs@13.6.27: yjs@13.6.27:
resolution: {integrity: sha512-OIDwaflOaq4wC6YlPBy2L6ceKeKuF7DeTxx+jPzv1FHn9tCZ0ZwSRnUBxD05E3yed46fv/FWJbvR+Ud7x0L7zw==} resolution: {integrity: sha512-OIDwaflOaq4wC6YlPBy2L6ceKeKuF7DeTxx+jPzv1FHn9tCZ0ZwSRnUBxD05E3yed46fv/FWJbvR+Ud7x0L7zw==}
engines: {node: '>=16.0.0', npm: '>=8.0.0'} engines: {node: '>=16.0.0', npm: '>=8.0.0'}
@ -9952,6 +10107,8 @@ snapshots:
'@webassemblyjs/ast': 1.14.1 '@webassemblyjs/ast': 1.14.1
'@xtuc/long': 4.2.2 '@xtuc/long': 4.2.2
'@xmldom/xmldom@0.8.10': {}
'@xtuc/ieee754@1.2.0': {} '@xtuc/ieee754@1.2.0': {}
'@xtuc/long@4.2.2': {} '@xtuc/long@4.2.2': {}
@ -10327,6 +10484,11 @@ snapshots:
buffers: 0.1.1 buffers: 0.1.1
chainsaw: 0.1.0 chainsaw: 0.1.0
bl@1.2.3:
dependencies:
readable-stream: 2.3.8
safe-buffer: 5.2.1
bl@4.1.0: bl@4.1.0:
dependencies: dependencies:
buffer: 5.7.1 buffer: 5.7.1
@ -10392,12 +10554,21 @@ snapshots:
dependencies: dependencies:
node-int64: 0.4.0 node-int64: 0.4.0
buffer-alloc-unsafe@1.1.0: {}
buffer-alloc@1.2.0:
dependencies:
buffer-alloc-unsafe: 1.1.0
buffer-fill: 1.0.0
buffer-crc32@0.2.13: {} buffer-crc32@0.2.13: {}
buffer-crc32@1.0.0: {} buffer-crc32@1.0.0: {}
buffer-equal-constant-time@1.0.1: {} buffer-equal-constant-time@1.0.1: {}
buffer-fill@1.0.0: {}
buffer-from@1.1.2: {} buffer-from@1.1.2: {}
buffer-indexof-polyfill@1.0.2: {} buffer-indexof-polyfill@1.0.2: {}
@ -10612,6 +10783,12 @@ snapshots:
normalize-path: 3.0.0 normalize-path: 3.0.0
readable-stream: 3.6.2 readable-stream: 3.6.2
compromise@14.14.4:
dependencies:
efrt: 2.7.0
grad-school: 0.0.5
suffix-thumb: 5.0.2
compute-scroll-into-view@3.1.1: {} compute-scroll-into-view@3.1.1: {}
concat-map@0.0.1: {} concat-map@0.0.1: {}
@ -10811,6 +10988,44 @@ snapshots:
decode-uri-component@0.2.2: {} decode-uri-component@0.2.2: {}
decompress-tar@4.1.1:
dependencies:
file-type: 5.2.0
is-stream: 1.1.0
tar-stream: 1.6.2
decompress-tarbz2@4.1.1:
dependencies:
decompress-tar: 4.1.1
file-type: 6.2.0
is-stream: 1.1.0
seek-bzip: 1.0.6
unbzip2-stream: 1.4.3
decompress-targz@4.1.1:
dependencies:
decompress-tar: 4.1.1
file-type: 5.2.0
is-stream: 1.1.0
decompress-unzip@4.0.1:
dependencies:
file-type: 3.9.0
get-stream: 2.3.1
pify: 2.3.0
yauzl: 2.10.0
decompress@4.2.1:
dependencies:
decompress-tar: 4.1.1
decompress-tarbz2: 4.1.1
decompress-targz: 4.1.1
decompress-unzip: 4.0.1
graceful-fs: 4.2.11
make-dir: 1.3.0
pify: 2.3.0
strip-dirs: 2.1.0
dedent@1.6.0: {} dedent@1.6.0: {}
deep-is@0.1.4: {} deep-is@0.1.4: {}
@ -10855,6 +11070,8 @@ snapshots:
diff@4.0.2: {} diff@4.0.2: {}
dingbat-to-unicode@1.0.1: {}
dir-glob@3.0.1: dir-glob@3.0.1:
dependencies: dependencies:
path-type: 4.0.0 path-type: 4.0.0
@ -10865,6 +11082,10 @@ snapshots:
dependencies: dependencies:
esutils: 2.0.3 esutils: 2.0.3
docx-parser@0.2.1:
dependencies:
decompress: 4.2.1
dot-case@3.0.4: dot-case@3.0.4:
dependencies: dependencies:
no-case: 3.0.4 no-case: 3.0.4
@ -10876,6 +11097,10 @@ snapshots:
dotenv@16.5.0: {} dotenv@16.5.0: {}
duck@0.1.12:
dependencies:
underscore: 1.13.7
dunder-proto@1.0.1: dunder-proto@1.0.1:
dependencies: dependencies:
call-bind-apply-helpers: 1.0.2 call-bind-apply-helpers: 1.0.2
@ -10906,6 +11131,8 @@ snapshots:
ee-first@1.1.1: {} ee-first@1.1.1: {}
efrt@2.7.0: {}
ejs@3.1.10: ejs@3.1.10:
dependencies: dependencies:
jake: 10.9.2 jake: 10.9.2
@ -11338,6 +11565,10 @@ snapshots:
dependencies: dependencies:
bser: 2.1.1 bser: 2.1.1
fd-slicer@1.1.0:
dependencies:
pend: 1.2.0
fdir@6.4.4(picomatch@4.0.2): fdir@6.4.4(picomatch@4.0.2):
optionalDependencies: optionalDependencies:
picomatch: 4.0.2 picomatch: 4.0.2
@ -11365,6 +11596,12 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
file-type@3.9.0: {}
file-type@5.2.0: {}
file-type@6.2.0: {}
filelist@1.0.4: filelist@1.0.4:
dependencies: dependencies:
minimatch: 5.1.6 minimatch: 5.1.6
@ -11536,6 +11773,11 @@ snapshots:
dunder-proto: 1.0.1 dunder-proto: 1.0.1
es-object-atoms: 1.1.1 es-object-atoms: 1.1.1
get-stream@2.3.1:
dependencies:
object-assign: 4.1.1
pinkie-promise: 2.0.1
get-stream@6.0.1: {} get-stream@6.0.1: {}
glob-parent@5.1.2: glob-parent@5.1.2:
@ -11602,6 +11844,8 @@ snapshots:
graceful-fs@4.2.11: {} graceful-fs@4.2.11: {}
grad-school@0.0.5: {}
graphemer@1.4.0: {} graphemer@1.4.0: {}
has-flag@4.0.0: {} has-flag@4.0.0: {}
@ -11767,6 +12011,8 @@ snapshots:
is-interactive@1.0.0: {} is-interactive@1.0.0: {}
is-natural-number@4.0.1: {}
is-number@7.0.0: {} is-number@7.0.0: {}
is-obj@3.0.0: {} is-obj@3.0.0: {}
@ -11782,6 +12028,8 @@ snapshots:
is-regexp@3.1.0: {} is-regexp@3.1.0: {}
is-stream@1.1.0: {}
is-stream@2.0.1: {} is-stream@2.0.1: {}
is-typed-array@1.1.15: is-typed-array@1.1.15:
@ -12440,6 +12688,12 @@ snapshots:
dependencies: dependencies:
js-tokens: 4.0.0 js-tokens: 4.0.0
lop@0.4.2:
dependencies:
duck: 0.1.12
option: 0.2.4
underscore: 1.13.7
lower-case@2.0.2: lower-case@2.0.2:
dependencies: dependencies:
tslib: 2.8.1 tslib: 2.8.1
@ -12466,6 +12720,10 @@ snapshots:
dependencies: dependencies:
'@jridgewell/sourcemap-codec': 1.5.0 '@jridgewell/sourcemap-codec': 1.5.0
make-dir@1.3.0:
dependencies:
pify: 3.0.0
make-dir@4.0.0: make-dir@4.0.0:
dependencies: dependencies:
semver: 7.7.2 semver: 7.7.2
@ -12476,6 +12734,19 @@ snapshots:
dependencies: dependencies:
tmpl: 1.0.5 tmpl: 1.0.5
mammoth@1.9.0:
dependencies:
'@xmldom/xmldom': 0.8.10
argparse: 1.0.10
base64-js: 1.5.1
bluebird: 3.4.7
dingbat-to-unicode: 1.0.1
jszip: 3.10.1
lop: 0.4.2
path-is-absolute: 1.0.1
underscore: 1.13.7
xmlbuilder: 10.1.1
math-intrinsics@1.1.0: {} math-intrinsics@1.1.0: {}
media-typer@0.3.0: {} media-typer@0.3.0: {}
@ -12632,6 +12903,10 @@ snapshots:
neo-async@2.6.2: {} neo-async@2.6.2: {}
nlp-compromise@7.0.0:
dependencies:
compromise: 14.14.4
no-case@3.0.4: no-case@3.0.4:
dependencies: dependencies:
lower-case: 2.0.2 lower-case: 2.0.2
@ -12688,6 +12963,8 @@ snapshots:
dependencies: dependencies:
mimic-fn: 2.1.0 mimic-fn: 2.1.0
option@0.2.4: {}
optionator@0.9.4: optionator@0.9.4:
dependencies: dependencies:
deep-is: 0.1.4 deep-is: 0.1.4
@ -12782,6 +13059,8 @@ snapshots:
peek-readable@7.0.0: {} peek-readable@7.0.0: {}
pend@1.2.0: {}
picocolors@1.1.1: {} picocolors@1.1.1: {}
picomatch@2.3.1: {} picomatch@2.3.1: {}
@ -12792,6 +13071,14 @@ snapshots:
pify@2.3.0: {} pify@2.3.0: {}
pify@3.0.0: {}
pinkie-promise@2.0.1:
dependencies:
pinkie: 2.0.4
pinkie@2.0.4: {}
pinyin-pro@3.26.0: {} pinyin-pro@3.26.0: {}
pirates@4.0.7: {} pirates@4.0.7: {}
@ -13513,6 +13800,10 @@ snapshots:
dependencies: dependencies:
compute-scroll-into-view: 3.1.1 compute-scroll-into-view: 3.1.1
seek-bzip@1.0.6:
dependencies:
commander: 2.20.3
semver@6.3.1: {} semver@6.3.1: {}
semver@7.7.2: {} semver@7.7.2: {}
@ -13805,6 +14096,10 @@ snapshots:
strip-bom@4.0.0: {} strip-bom@4.0.0: {}
strip-dirs@2.1.0:
dependencies:
is-natural-number: 4.0.1
strip-final-newline@2.0.0: {} strip-final-newline@2.0.0: {}
strip-json-comments@3.1.1: {} strip-json-comments@3.1.1: {}
@ -13828,6 +14123,8 @@ snapshots:
pirates: 4.0.7 pirates: 4.0.7
ts-interface-checker: 0.1.13 ts-interface-checker: 0.1.13
suffix-thumb@5.0.2: {}
superagent@8.1.2: superagent@8.1.2:
dependencies: dependencies:
component-emitter: 1.3.1 component-emitter: 1.3.1
@ -13909,6 +14206,16 @@ snapshots:
tapable@2.2.2: {} tapable@2.2.2: {}
tar-stream@1.6.2:
dependencies:
bl: 1.2.3
buffer-alloc: 1.2.0
end-of-stream: 1.4.4
fs-constants: 1.0.0
readable-stream: 2.3.8
to-buffer: 1.1.1
xtend: 4.0.2
tar-stream@2.2.0: tar-stream@2.2.0:
dependencies: dependencies:
bl: 4.1.0 bl: 4.1.0
@ -13976,6 +14283,8 @@ snapshots:
tmpl@1.0.5: {} tmpl@1.0.5: {}
to-buffer@1.1.1: {}
to-regex-range@5.0.1: to-regex-range@5.0.1:
dependencies: dependencies:
is-number: 7.0.0 is-number: 7.0.0
@ -14160,6 +14469,13 @@ snapshots:
uint8array-extras@1.4.0: {} uint8array-extras@1.4.0: {}
unbzip2-stream@1.4.3:
dependencies:
buffer: 5.7.1
through: 2.3.8
underscore@1.13.7: {}
undici-types@6.19.8: {} undici-types@6.19.8: {}
universalify@2.0.1: {} universalify@2.0.1: {}
@ -14399,6 +14715,8 @@ snapshots:
sax: 1.4.1 sax: 1.4.1
xmlbuilder: 11.0.1 xmlbuilder: 11.0.1
xmlbuilder@10.1.1: {}
xmlbuilder@11.0.1: {} xmlbuilder@11.0.1: {}
xmlchars@2.2.0: {} xmlchars@2.2.0: {}
@ -14451,6 +14769,11 @@ snapshots:
y18n: 5.0.8 y18n: 5.0.8
yargs-parser: 21.1.1 yargs-parser: 21.1.1
yauzl@2.10.0:
dependencies:
buffer-crc32: 0.2.13
fd-slicer: 1.1.0
yjs@13.6.27: yjs@13.6.27:
dependencies: dependencies:
lib0: 0.2.108 lib0: 0.2.108