chore(desktop): Release v0.6.1 for hotfix
chore(desktop): Release v0.6.1 for hotfix
This commit is contained in:
commit
d4889a3d6b
|
|
@ -1,33 +1,3 @@
|
|||
# What's New in v0.6.0
|
||||
|
||||
## Shiny New Things
|
||||
|
||||
- Import and export your Actions (394d00f)
|
||||
- Add a bio, website, and social links to your profile (507a525)
|
||||
- Upload a profile picture
|
||||
- Use video duration as an Action condition
|
||||
|
||||
## Improvements
|
||||
|
||||
- A snazzy new look for your personal profile
|
||||
- Redesigned the Actions page (1ace5ea)
|
||||
- Redesigned the RSSHub page (f9aca60)
|
||||
- Added length limits to certain profile fields
|
||||
- Simplified default commands in the entry tool (85122fb)
|
||||
- Enhanced UI labels and descriptions for clarity (2ed9f70)
|
||||
- Gradually rolling out an experimental unified local database for mobile and desktop (#3897 #3902)
|
||||
- Polished image-preview styling (cf72753)
|
||||
- Refined toast notifications (73f8011)
|
||||
|
||||
## No Longer Broken
|
||||
|
||||
- More reliable automatic recovery after database-migration failures (c2e0c3d)
|
||||
- Fixed unread counts not clearing in the macOS Docker build (70255af)
|
||||
- Fixed old entries showing during initial load (24ae065)
|
||||
- Fixed handling of links starting with `.` (de8eac8)
|
||||
- Fixed text-to-speech not working (82952b0)
|
||||
- Fixed star/unstar status not syncing across devices (fbd0b3)
|
||||
|
||||
## Thanks
|
||||
|
||||
Special thanks to volunteer contributors @kovsu @huanfe1 @cscnk52 @Olexandr88 @0-o0 @kingsword09 @ericyzhu for their valuable contributions
|
||||
This version has been withdrawn.
|
||||
|
|
|
|||
|
|
@ -0,0 +1,33 @@
|
|||
# What's New in v0.6.1
|
||||
|
||||
## Shiny New Things
|
||||
|
||||
- Import and export your Actions (394d00f)
|
||||
- Add a bio, website, and social links to your profile (507a525)
|
||||
- Upload a profile picture
|
||||
- Use video duration as an Action condition
|
||||
|
||||
## Improvements
|
||||
|
||||
- A snazzy new look for your personal profile
|
||||
- Redesigned the Actions page (1ace5ea)
|
||||
- Redesigned the RSSHub page (f9aca60)
|
||||
- Added length limits to certain profile fields
|
||||
- Simplified default commands in the entry tool (85122fb)
|
||||
- Enhanced UI labels and descriptions for clarity (2ed9f70)
|
||||
- Gradually rolling out an experimental unified local database for mobile and desktop (#3897 #3902)
|
||||
- Polished image-preview styling (cf72753)
|
||||
- Refined toast notifications (73f8011)
|
||||
|
||||
## No Longer Broken
|
||||
|
||||
- More reliable automatic recovery after database-migration failures (c2e0c3d)
|
||||
- Fixed unread counts not clearing in the macOS Docker build (70255af)
|
||||
- Fixed old entries showing during initial load (24ae065)
|
||||
- Fixed handling of links starting with `.` (de8eac8)
|
||||
- Fixed text-to-speech not working (82952b0)
|
||||
- Fixed star/unstar status not syncing across devices (fbd0b3)
|
||||
|
||||
## Thanks
|
||||
|
||||
Special thanks to volunteer contributors @kovsu @huanfe1 @cscnk52 @Olexandr88 @0-o0 @kingsword09 @ericyzhu for their valuable contributions
|
||||
|
|
@ -1,4 +1,5 @@
|
|||
import { dirname, resolve } from "node:path"
|
||||
import { dirname } from "node:path"
|
||||
import { resolve } from "node:path/posix"
|
||||
import { fileURLToPath } from "node:url"
|
||||
|
||||
import { tsImport } from "tsx/esm/api"
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ const ymlMapsMap = {
|
|||
win32: "latest.yml",
|
||||
}
|
||||
|
||||
const keepModules = new Set(["font-list", "vscode-languagedetection", "fast-folder-size"])
|
||||
const keepModules = new Set(["font-list", "vscode-languagedetection"])
|
||||
const keepLanguages = new Set(["en", "en_GB", "en-US", "en_US"])
|
||||
|
||||
// remove folders & files not to be included in the app
|
||||
|
|
|
|||
|
|
@ -36,7 +36,6 @@
|
|||
"electron-store": "10.1.0",
|
||||
"electron-updater": "6.6.2",
|
||||
"es-toolkit": "1.39.3",
|
||||
"fast-folder-size": "2.4.0",
|
||||
"font-list": "1.5.1",
|
||||
"i18next": "25.2.1",
|
||||
"js-yaml": "4.1.0",
|
||||
|
|
|
|||
|
|
@ -1,13 +1,16 @@
|
|||
import fsp from "node:fs/promises"
|
||||
import path from "node:path"
|
||||
import { fileURLToPath } from "node:url"
|
||||
|
||||
import { callWindowExpose } from "@follow/shared/bridge"
|
||||
import { DEV } from "@follow/shared/constants"
|
||||
import { app, BrowserWindow, clipboard, dialog } from "electron"
|
||||
import { app, BrowserWindow, clipboard, dialog, shell } from "electron"
|
||||
|
||||
import { getCacheSize } from "~/lib/cleaner"
|
||||
import { i18n } from "~/lib/i18n"
|
||||
import { store, StoreKey } from "~/lib/store"
|
||||
import { registerAppTray } from "~/lib/tray"
|
||||
import { logger } from "~/logger"
|
||||
import { logger, revealLogFile } from "~/logger"
|
||||
import { AppManager } from "~/manager/app"
|
||||
import { WindowManager } from "~/manager/window"
|
||||
import { cleanupOldRender, loadDynamicRenderEntry } from "~/updater/hot-updater"
|
||||
|
|
@ -179,4 +182,73 @@ export class AppService extends IpcService {
|
|||
|
||||
return path.join(app.getAppPath(), input)
|
||||
}
|
||||
|
||||
@IpcMethod()
|
||||
openCacheFolder(_context: IpcContext): void {
|
||||
const dir = path.join(app.getPath("userData"), "cache")
|
||||
shell.openPath(dir)
|
||||
}
|
||||
|
||||
@IpcMethod()
|
||||
getCacheLimit(_context: IpcContext): number {
|
||||
return store.get(StoreKey.CacheSizeLimit) || 0
|
||||
}
|
||||
|
||||
@IpcMethod()
|
||||
async clearCache(_context: IpcContext): Promise<void> {
|
||||
const cachePath = path.join(app.getPath("userData"), "cache", "Cache_Data")
|
||||
if (process.platform === "win32") {
|
||||
// Request elevation on Windows
|
||||
|
||||
try {
|
||||
// Create a bat file to delete cache with elevated privileges
|
||||
const batPath = path.join(app.getPath("temp"), "clear_cache.bat")
|
||||
await fsp.writeFile(batPath, `@echo off\nrd /s /q "${cachePath}"\ndel "%~f0"`, "utf-8")
|
||||
|
||||
// Execute the bat file with admin privileges
|
||||
await shell.openPath(batPath)
|
||||
return
|
||||
} catch (err) {
|
||||
logger.error("Failed to clear cache with elevation", { error: err })
|
||||
}
|
||||
}
|
||||
await fsp.rm(cachePath, { recursive: true, force: true }).catch(() => {
|
||||
logger.error("Failed to clear cache")
|
||||
})
|
||||
}
|
||||
|
||||
// getCacheLimit: t.procedure.action(async () => {
|
||||
// return store.get(StoreKey.CacheSizeLimit)
|
||||
// }),
|
||||
|
||||
// clearCache: t.procedure.action(async () => {
|
||||
|
||||
// }),
|
||||
|
||||
// limitCacheSize: t.procedure.input<number>().action(async ({ input }) => {
|
||||
// logger.info("set limitCacheSize", input)
|
||||
// if (input === 0) {
|
||||
// store.delete(StoreKey.CacheSizeLimit)
|
||||
// } else {
|
||||
// store.set(StoreKey.CacheSizeLimit, input)
|
||||
// }
|
||||
// }),
|
||||
@IpcMethod()
|
||||
limitCacheSize(_context: IpcContext, input: number): void {
|
||||
if (input === 0) {
|
||||
store.delete(StoreKey.CacheSizeLimit)
|
||||
} else {
|
||||
store.set(StoreKey.CacheSizeLimit, input)
|
||||
}
|
||||
}
|
||||
|
||||
@IpcMethod()
|
||||
revealLogFile(_context: IpcContext) {
|
||||
return revealLogFile()
|
||||
}
|
||||
|
||||
@IpcMethod()
|
||||
getCacheSize(_context: IpcContext) {
|
||||
return getCacheSize()
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,6 @@
|
|||
import { statSync } from "node:fs"
|
||||
import fsp from "node:fs/promises"
|
||||
import { createRequire } from "node:module"
|
||||
import path from "node:path"
|
||||
import { promisify } from "node:util"
|
||||
|
||||
import { callWindowExpose } from "@follow/shared/bridge"
|
||||
import { app, dialog } from "electron"
|
||||
|
|
@ -14,13 +12,37 @@ import { WindowManager } from "~/manager/window"
|
|||
import { t } from "./i18n"
|
||||
import { store, StoreKey } from "./store"
|
||||
|
||||
const esModuleInterop = (module: any) => {
|
||||
return module.default || module
|
||||
const getFolderSize = async (dir: string): Promise<number> => {
|
||||
try {
|
||||
const files = await fsp.readdir(dir, { withFileTypes: true })
|
||||
const sizes = await Promise.all(
|
||||
files.map(async (file) => {
|
||||
const filePath = path.join(dir, file.name)
|
||||
|
||||
if (file.isSymbolicLink()) {
|
||||
return 0
|
||||
}
|
||||
|
||||
if (file.isDirectory()) {
|
||||
return await getFolderSize(filePath)
|
||||
}
|
||||
|
||||
if (file.isFile()) {
|
||||
try {
|
||||
const { size } = await fsp.stat(filePath)
|
||||
return size
|
||||
} catch {
|
||||
return 0
|
||||
}
|
||||
}
|
||||
return 0
|
||||
}),
|
||||
)
|
||||
return sizes.reduce((acc, size) => acc + size, 0)
|
||||
} catch {
|
||||
return 0
|
||||
}
|
||||
}
|
||||
const require = createRequire(import.meta.url)
|
||||
const fastFolderSize = esModuleInterop(
|
||||
require("fast-folder-size"),
|
||||
) as typeof import("fast-folder-size").default
|
||||
|
||||
export const clearAllDataAndConfirm = async () => {
|
||||
const win = WindowManager.getMainWindow()
|
||||
|
|
@ -71,12 +93,12 @@ export const clearAllData = async () => {
|
|||
caller.toast.error(`Error resetting app data: ${error.message}`)
|
||||
}
|
||||
}
|
||||
const fastFolderSizeAsync = promisify(fastFolderSize)
|
||||
|
||||
export const getCacheSize = async () => {
|
||||
const cachePath = path.join(app.getPath("userData"), "cache")
|
||||
|
||||
// Size is in bytes
|
||||
const sizeInBytes = await fastFolderSizeAsync(cachePath).catch((error) => {
|
||||
const sizeInBytes = await getFolderSize(cachePath).catch((error) => {
|
||||
logger.error(error)
|
||||
})
|
||||
return sizeInBytes || 0
|
||||
|
|
@ -155,7 +177,7 @@ export const clearCacheCronJob = () => {
|
|||
export const checkAndCleanCodeCache = async () => {
|
||||
const cachePath = path.join(app.getPath("userData"), "Code Cache")
|
||||
|
||||
const size = await fastFolderSizeAsync(cachePath).catch((error) => {
|
||||
const size = await getFolderSize(cachePath).catch((error) => {
|
||||
logger.error(error)
|
||||
})
|
||||
|
||||
|
|
|
|||
|
|
@ -298,7 +298,7 @@ class WindowManagerStatic {
|
|||
webviewTag: true,
|
||||
webSecurity: !DEV,
|
||||
nodeIntegration: true,
|
||||
contextIsolation: true,
|
||||
contextIsolation: false,
|
||||
},
|
||||
...this.getPlatformSpecificWindowConfig(),
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,10 +1,9 @@
|
|||
import type { AuthSession } from "@follow/shared/hono"
|
||||
import { setFirebaseTracker, setOpenPanelTracker, tracker } from "@follow/tracker"
|
||||
import { setFirebaseTracker, tracker } from "@follow/tracker"
|
||||
|
||||
import { QUERY_PERSIST_KEY } from "~/constants/app"
|
||||
|
||||
import { ga4 } from "./ga4"
|
||||
import { op } from "./op"
|
||||
|
||||
export const initAnalytics = async () => {
|
||||
tracker.manager.appendUserProperties({
|
||||
|
|
@ -16,8 +15,6 @@ export const initAnalytics = async () => {
|
|||
|
||||
setFirebaseTracker(ga4)
|
||||
|
||||
setOpenPanelTracker(op)
|
||||
|
||||
let session: AuthSession | undefined
|
||||
try {
|
||||
const queryData = JSON.parse(window.localStorage.getItem(QUERY_PERSIST_KEY) ?? "{}")
|
||||
|
|
|
|||
|
|
@ -74,6 +74,7 @@ export const loadLanguageAndApply = async (lang: string) => {
|
|||
}
|
||||
EventBus.dispatch("I18N_UPDATE", "")
|
||||
} else {
|
||||
if (ELECTRON) return
|
||||
let importFilePath = ""
|
||||
|
||||
if (IN_ELECTRON) {
|
||||
|
|
|
|||
|
|
@ -112,7 +112,7 @@ export const SettingDataControl = () => {
|
|||
description: t("general.log_file.description"),
|
||||
buttonText: t("general.log_file.button"),
|
||||
action: () => {
|
||||
;(ipcServices as any)?.revealLogFile?.()
|
||||
ipcServices?.app.revealLogFile?.()
|
||||
},
|
||||
},
|
||||
]}
|
||||
|
|
@ -244,7 +244,7 @@ const CleanElectronCache = () => {
|
|||
{t("data_control.clean_cache.button")}
|
||||
<MotionButtonBase
|
||||
onClick={() => {
|
||||
;(ipcServices as any)?.openCacheFolder?.()
|
||||
ipcServices?.app.openCacheFolder?.()
|
||||
}}
|
||||
className="center flex"
|
||||
>
|
||||
|
|
@ -253,7 +253,7 @@ const CleanElectronCache = () => {
|
|||
</span>
|
||||
}
|
||||
action={async () => {
|
||||
await (ipcServices as any)?.clearCache?.()
|
||||
await ipcServices?.app.clearCache?.()
|
||||
queryClient.setQueryData(["app", "cache", "size"], 0)
|
||||
}}
|
||||
buttonText={t("data_control.clean_cache.button")}
|
||||
|
|
@ -267,7 +267,7 @@ const AppCacheLimit = () => {
|
|||
const { data: cacheSize, isLoading: isLoadingCacheSize } = useQuery({
|
||||
queryKey: ["app", "cache", "size"],
|
||||
queryFn: async () => {
|
||||
const byteSize = (await (ipcServices as any)?.getCacheSize?.()) ?? 0
|
||||
const byteSize = (await ipcServices?.app.getCacheSize?.()) ?? 0
|
||||
return Math.round(byteSize / 1024 / 1024)
|
||||
},
|
||||
refetchOnMount: "always",
|
||||
|
|
@ -279,13 +279,13 @@ const AppCacheLimit = () => {
|
|||
} = useQuery({
|
||||
queryKey: ["app", "cache", "limit"],
|
||||
queryFn: async () => {
|
||||
const size = (await (ipcServices as any)?.getCacheLimit?.()) ?? 0
|
||||
const size = (await ipcServices?.app.getCacheLimit?.()) ?? 0
|
||||
return size
|
||||
},
|
||||
})
|
||||
|
||||
const onChange = (value: number[]) => {
|
||||
;(ipcServices as any)?.limitCacheSize?.(value[0]!)
|
||||
ipcServices?.app.limitCacheSize?.(value[0]!)
|
||||
refetchCacheLimit()
|
||||
}
|
||||
|
||||
|
|
@ -294,7 +294,7 @@ const AppCacheLimit = () => {
|
|||
const InfinitySymbol = <CarbonInfinitySymbol />
|
||||
return (
|
||||
<SettingItemGroup>
|
||||
<div className={"mb-3 flex items-center justify-between gap-4"}>
|
||||
<div className={"mb-3 mt-4 flex items-center justify-between gap-4"}>
|
||||
<Label className="center flex">
|
||||
{t("data_control.app_cache_limit.label")}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "Folo",
|
||||
"type": "module",
|
||||
"version": "0.6.0",
|
||||
"version": "0.6.1",
|
||||
"private": true,
|
||||
"description": "Follow everything in one place",
|
||||
"author": "Folo Team",
|
||||
|
|
|
|||
|
|
@ -149,7 +149,7 @@
|
|||
"appearance.zen_mode.description": "禅定模式是一种不受干扰的阅读模式,让你能够专注于内容而不受任何干扰。启用禅定模式将会隐藏侧边栏。",
|
||||
"appearance.zen_mode.description_simple": "不受干扰的阅读模式(隐藏侧边栏)",
|
||||
"appearance.zen_mode.label": "禅定模式",
|
||||
"common.give_star": "<HeartIcon />喜欢我们的产品吗? <Link>在 GitHub 上给我们「标星」吧!</Link>",
|
||||
"common.give_star": "<HeartIcon />喜欢我们的产品吗? <Link>在 GitHub 上给我们「Star」吧!</Link>",
|
||||
"customizeToolbar.more_actions.description": "将显示在下拉菜单中",
|
||||
"customizeToolbar.more_actions.title": "更多操作",
|
||||
"customizeToolbar.quick_actions.description": "自定义并重新排列您常用的操作",
|
||||
|
|
|
|||
200
pnpm-lock.yaml
200
pnpm-lock.yaml
|
|
@ -381,9 +381,6 @@ importers:
|
|||
es-toolkit:
|
||||
specifier: 1.39.3
|
||||
version: 1.39.3
|
||||
fast-folder-size:
|
||||
specifier: 2.4.0
|
||||
version: 2.4.0
|
||||
font-list:
|
||||
specifier: 1.5.1
|
||||
version: 1.5.1
|
||||
|
|
@ -7260,9 +7257,6 @@ packages:
|
|||
birpc@2.4.0:
|
||||
resolution: {integrity: sha512-5IdNxTyhXHv2UlgnPHQ0h+5ypVmkrYHzL8QT+DwFZ//2N/oNV8Ch+BCRmTJ3x6/z9Axo/cXYBc9eprsUVK/Jsg==}
|
||||
|
||||
bl@1.2.3:
|
||||
resolution: {integrity: sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==}
|
||||
|
||||
bl@4.1.0:
|
||||
resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
|
||||
|
||||
|
|
@ -7361,12 +7355,6 @@ packages:
|
|||
bser@2.1.1:
|
||||
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:
|
||||
resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==}
|
||||
|
||||
|
|
@ -7381,9 +7369,6 @@ packages:
|
|||
resolution: {integrity: sha512-QoV3ptgEaQpvVwbXdSO39iqPQTCxSF7A5U99AxbHYqUdCizL/lH2Z0A2y6nbZucxMEOtNyZfG2s6gsVugGpKkg==}
|
||||
engines: {node: '>=0.4'}
|
||||
|
||||
buffer-fill@1.0.0:
|
||||
resolution: {integrity: sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==}
|
||||
|
||||
buffer-from@1.1.2:
|
||||
resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
|
||||
|
||||
|
|
@ -8197,26 +8182,6 @@ packages:
|
|||
resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==}
|
||||
engines: {node: '>=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'}
|
||||
|
||||
deep-eql@5.0.2:
|
||||
resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==}
|
||||
engines: {node: '>=6'}
|
||||
|
|
@ -9594,10 +9559,6 @@ packages:
|
|||
fast-fifo@1.3.2:
|
||||
resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==}
|
||||
|
||||
fast-folder-size@2.4.0:
|
||||
resolution: {integrity: sha512-vV+h8TCxOipwciSj2ePmk8fWlNuueWOHP30xk7xgpcFoHzOaHFhbEqSofluZz6/DGd6AgETVzcADMUPSXlxu/w==}
|
||||
hasBin: true
|
||||
|
||||
fast-glob@3.3.2:
|
||||
resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
|
||||
engines: {node: '>=8.6.0'}
|
||||
|
|
@ -9686,18 +9647,6 @@ packages:
|
|||
resolution: {integrity: sha512-/yFHK0aGjFEgDJjEKP0pWCplsPFPhwyfwevf/pVxiN0tmE4L9LmwWxWukdJSHdoCli4VgQLehjJtwQBnqmsKcw==}
|
||||
engines: {node: '>=10'}
|
||||
|
||||
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'}
|
||||
|
||||
file-uri-to-path@1.0.0:
|
||||
resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==}
|
||||
|
||||
|
|
@ -9960,10 +9909,6 @@ packages:
|
|||
resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==}
|
||||
engines: {node: '>= 0.4'}
|
||||
|
||||
get-stream@2.3.1:
|
||||
resolution: {integrity: sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
get-stream@4.1.0:
|
||||
resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==}
|
||||
engines: {node: '>=6'}
|
||||
|
|
@ -10621,9 +10566,6 @@ packages:
|
|||
resolution: {integrity: sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==}
|
||||
engines: {node: '>= 0.4'}
|
||||
|
||||
is-natural-number@4.0.1:
|
||||
resolution: {integrity: sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==}
|
||||
|
||||
is-negative-zero@2.0.3:
|
||||
resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==}
|
||||
engines: {node: '>= 0.4'}
|
||||
|
|
@ -11339,10 +11281,6 @@ packages:
|
|||
resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==}
|
||||
engines: {node: '>=12'}
|
||||
|
||||
make-dir@1.3.0:
|
||||
resolution: {integrity: sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==}
|
||||
engines: {node: '>=4'}
|
||||
|
||||
make-error@1.3.6:
|
||||
resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==}
|
||||
|
||||
|
|
@ -12420,18 +12358,6 @@ packages:
|
|||
resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
|
||||
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'}
|
||||
|
||||
pino-abstract-transport@2.0.0:
|
||||
resolution: {integrity: sha512-F63x5tizV6WCh4R6RHyi2Ml+M70DNRXt/+HANowMflpgGFMAym/VKm6G7ZOQRjqN7XbGxK1Lg9t6ZrtzOaivMw==}
|
||||
|
||||
|
|
@ -13778,10 +13704,6 @@ packages:
|
|||
secure-json-parse@4.0.0:
|
||||
resolution: {integrity: sha512-dxtLJO6sc35jWidmLxo7ij+Eg48PM/kleBsxpC8QJE0qJICe+KawkDQmvCMZUr9u7WKVHgMW6vy3fQ7zMiFZMA==}
|
||||
|
||||
seek-bzip@1.0.6:
|
||||
resolution: {integrity: sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==}
|
||||
hasBin: true
|
||||
|
||||
selecto@1.26.3:
|
||||
resolution: {integrity: sha512-gZHgqMy5uyB6/2YDjv3Qqaf7bd2hTDOpPdxXlrez4R3/L0GiEWDCFaUfrflomgqdb3SxHF2IXY0Jw0EamZi7cw==}
|
||||
|
||||
|
|
@ -14210,9 +14132,6 @@ packages:
|
|||
resolution: {integrity: sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==}
|
||||
engines: {node: '>=10'}
|
||||
|
||||
strip-dirs@2.1.0:
|
||||
resolution: {integrity: sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==}
|
||||
|
||||
strip-eof@1.0.0:
|
||||
resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
|
@ -14371,10 +14290,6 @@ packages:
|
|||
resolution: {integrity: sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==}
|
||||
engines: {node: '>=6'}
|
||||
|
||||
tar-stream@1.6.2:
|
||||
resolution: {integrity: sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==}
|
||||
engines: {node: '>= 0.8.0'}
|
||||
|
||||
tar-stream@2.2.0:
|
||||
resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==}
|
||||
engines: {node: '>=6'}
|
||||
|
|
@ -14513,9 +14428,6 @@ packages:
|
|||
resolution: {integrity: sha512-DbplOfQFkqG5IHcDyyrs/lkvSr3mPUVsFf/RbDppOshs22yTPnSJWEe6FkYd1txAwU/zcnR905ar2fi4kwF29w==}
|
||||
engines: {node: '>=0.12'}
|
||||
|
||||
to-buffer@1.1.1:
|
||||
resolution: {integrity: sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==}
|
||||
|
||||
to-data-view@1.1.0:
|
||||
resolution: {integrity: sha512-1eAdufMg6mwgmlojAx3QeMnzB/BTVp7Tbndi3U7ftcT2zCZadjxkkmLmd97zmaxWi+sgGcgWrokmpEoy0Dn0vQ==}
|
||||
|
||||
|
|
@ -14806,9 +14718,6 @@ packages:
|
|||
resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==}
|
||||
engines: {node: '>= 0.4'}
|
||||
|
||||
unbzip2-stream@1.4.3:
|
||||
resolution: {integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==}
|
||||
|
||||
unconfig@7.3.2:
|
||||
resolution: {integrity: sha512-nqG5NNL2wFVGZ0NA/aCFw0oJ2pxSf1lwg4Z5ill8wd7K4KX/rQbHlwbh+bjctXL5Ly1xtzHenHGOK0b+lG6JVg==}
|
||||
|
||||
|
|
@ -23546,11 +23455,6 @@ snapshots:
|
|||
|
||||
birpc@2.4.0: {}
|
||||
|
||||
bl@1.2.3:
|
||||
dependencies:
|
||||
readable-stream: 2.3.8
|
||||
safe-buffer: 5.2.1
|
||||
|
||||
bl@4.1.0:
|
||||
dependencies:
|
||||
buffer: 5.7.1
|
||||
|
|
@ -23678,13 +23582,6 @@ snapshots:
|
|||
dependencies:
|
||||
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-equal-constant-time@1.0.1: {}
|
||||
|
|
@ -23693,8 +23590,6 @@ snapshots:
|
|||
|
||||
buffer-equal@1.0.1: {}
|
||||
|
||||
buffer-fill@1.0.0: {}
|
||||
|
||||
buffer-from@1.1.2: {}
|
||||
|
||||
buffer-xor@1.0.3: {}
|
||||
|
|
@ -24664,44 +24559,6 @@ snapshots:
|
|||
dependencies:
|
||||
mimic-response: 3.1.0
|
||||
|
||||
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
|
||||
|
||||
deep-eql@5.0.2: {}
|
||||
|
||||
deep-extend@0.6.0: {}
|
||||
|
|
@ -26503,13 +26360,6 @@ snapshots:
|
|||
|
||||
fast-fifo@1.3.2: {}
|
||||
|
||||
fast-folder-size@2.4.0:
|
||||
dependencies:
|
||||
decompress: 4.2.1
|
||||
https-proxy-agent: 7.0.6
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
fast-glob@3.3.2:
|
||||
dependencies:
|
||||
'@nodelib/fs.stat': 2.0.5
|
||||
|
|
@ -26628,12 +26478,6 @@ snapshots:
|
|||
strtok3: 6.3.0
|
||||
token-types: 4.2.1
|
||||
|
||||
file-type@3.9.0: {}
|
||||
|
||||
file-type@5.2.0: {}
|
||||
|
||||
file-type@6.2.0: {}
|
||||
|
||||
file-uri-to-path@1.0.0: {}
|
||||
|
||||
filelist@1.0.4:
|
||||
|
|
@ -26981,11 +26825,6 @@ snapshots:
|
|||
dunder-proto: 1.0.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@4.1.0:
|
||||
dependencies:
|
||||
pump: 3.0.3
|
||||
|
|
@ -27807,8 +27646,6 @@ snapshots:
|
|||
call-bind: 1.0.8
|
||||
define-properties: 1.2.1
|
||||
|
||||
is-natural-number@4.0.1: {}
|
||||
|
||||
is-negative-zero@2.0.3: {}
|
||||
|
||||
is-number-object@1.1.1:
|
||||
|
|
@ -28526,10 +28363,6 @@ snapshots:
|
|||
dependencies:
|
||||
'@jridgewell/sourcemap-codec': 1.5.0
|
||||
|
||||
make-dir@1.3.0:
|
||||
dependencies:
|
||||
pify: 3.0.0
|
||||
|
||||
make-error@1.3.6: {}
|
||||
|
||||
make-fetch-happen@10.2.1:
|
||||
|
|
@ -30022,14 +29855,6 @@ snapshots:
|
|||
|
||||
pify@2.3.0: {}
|
||||
|
||||
pify@3.0.0: {}
|
||||
|
||||
pinkie-promise@2.0.1:
|
||||
dependencies:
|
||||
pinkie: 2.0.4
|
||||
|
||||
pinkie@2.0.4: {}
|
||||
|
||||
pino-abstract-transport@2.0.0:
|
||||
dependencies:
|
||||
split2: 4.2.0
|
||||
|
|
@ -31542,10 +31367,6 @@ snapshots:
|
|||
|
||||
secure-json-parse@4.0.0: {}
|
||||
|
||||
seek-bzip@1.0.6:
|
||||
dependencies:
|
||||
commander: 2.20.3
|
||||
|
||||
selecto@1.26.3:
|
||||
dependencies:
|
||||
'@daybrush/utils': 1.13.0
|
||||
|
|
@ -32071,10 +31892,6 @@ snapshots:
|
|||
|
||||
strip-comments@2.0.1: {}
|
||||
|
||||
strip-dirs@2.1.0:
|
||||
dependencies:
|
||||
is-natural-number: 4.0.1
|
||||
|
||||
strip-eof@1.0.0: {}
|
||||
|
||||
strip-indent@2.0.0:
|
||||
|
|
@ -32248,16 +32065,6 @@ snapshots:
|
|||
|
||||
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:
|
||||
dependencies:
|
||||
bl: 4.1.0
|
||||
|
|
@ -32407,8 +32214,6 @@ snapshots:
|
|||
unorm: 1.6.0
|
||||
optional: true
|
||||
|
||||
to-buffer@1.1.1: {}
|
||||
|
||||
to-data-view@1.1.0: {}
|
||||
|
||||
to-regex-range@5.0.1:
|
||||
|
|
@ -32682,11 +32487,6 @@ snapshots:
|
|||
has-symbols: 1.1.0
|
||||
which-boxed-primitive: 1.1.1
|
||||
|
||||
unbzip2-stream@1.4.3:
|
||||
dependencies:
|
||||
buffer: 5.7.1
|
||||
through: 2.3.8
|
||||
|
||||
unconfig@7.3.2:
|
||||
dependencies:
|
||||
'@quansync/fs': 0.1.3
|
||||
|
|
|
|||
Loading…
Reference in New Issue