pake-cli 2.3.3 → 2.3.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/README.md +7 -0
  2. package/dist/cli.js +729 -729
  3. package/dist/dev.js +873 -0
  4. package/dist/dev.js.map +1 -0
  5. package/package.json +27 -27
  6. package/src-tauri/Cargo.lock +102 -48
  7. package/src-tauri/Cargo.toml +4 -4
  8. package/src-tauri/pake.json +1 -1
  9. package/src-tauri/src/app/menu.rs +1 -1
  10. package/src-tauri/src/app/window.rs +7 -1
  11. package/src-tauri/src/inject/event.js +1 -5
  12. package/src-tauri/src/inject/style.js +122 -95
  13. package/dist/LICENSE +0 -21
  14. package/dist/css/aria-ng-4a38f3a4ab.min.css +0 -4
  15. package/dist/css/bootstrap-3.4.1.min.css +0 -5
  16. package/dist/css/plugins-ccac6fc3fc.min.css +0 -19
  17. package/dist/favicon.ico +0 -0
  18. package/dist/favicon.png +0 -0
  19. package/dist/fonts/fontawesome-webfont.eot +0 -0
  20. package/dist/fonts/fontawesome-webfont.svg +0 -2671
  21. package/dist/fonts/fontawesome-webfont.ttf +0 -0
  22. package/dist/fonts/fontawesome-webfont.woff +0 -0
  23. package/dist/fonts/fontawesome-webfont.woff2 +0 -0
  24. package/dist/index.html +0 -1
  25. package/dist/js/angular-packages-1.6.10.min.js +0 -472
  26. package/dist/js/aria-ng-a0b72e89e6.min.js +0 -5
  27. package/dist/js/bootstrap-3.4.1.min.js +0 -6
  28. package/dist/js/echarts-common-3.8.5.min.js +0 -1
  29. package/dist/js/jquery-3.3.1.min.js +0 -2
  30. package/dist/js/moment-with-locales-2.29.4.min.js +0 -1
  31. package/dist/js/plugins-b3cb190423.min.js +0 -49
  32. package/dist/langs/zh_Hans.txt +0 -714
  33. package/dist/langs/zh_Hant.txt +0 -714
  34. package/dist/robots.txt +0 -4
  35. package/dist/tileicon.png +0 -0
  36. package/dist/touchicon.png +0 -0
  37. package/src-tauri/icons/figma.icns +0 -0
  38. package/src-tauri/icons/gpt.icns +0 -0
  39. package/src-tauri/icons/myshell.icns +0 -0
  40. package/src-tauri/icons/zbook.icns +0 -0
  41. package/src-tauri/png/code_256.ico +0 -0
  42. package/src-tauri/png/code_32.ico +0 -0
  43. package/src-tauri/png/code_512.png +0 -0
  44. package/src-tauri/png/gpt_256.ico +0 -0
  45. package/src-tauri/png/gpt_32.ico +0 -0
  46. package/src-tauri/png/gpt_512.png +0 -0
  47. package/src-tauri/png/loop_256.ico +0 -0
  48. package/src-tauri/png/loop_32.ico +0 -0
  49. package/src-tauri/png/loop_512.png +0 -0
  50. package/src-tauri/png/myshell_256.ico +0 -0
  51. package/src-tauri/png/myshell_32.ico +0 -0
  52. package/src-tauri/png/myshell_512.png +0 -0
  53. package/src-tauri/png/tool_256.ico +0 -0
  54. package/src-tauri/png/tool_32.ico +0 -0
  55. package/src-tauri/png/tool_512.png +0 -0
  56. package/src-tauri/png/witeboard_256.ico +0 -0
  57. package/src-tauri/png/witeboard_32.ico +0 -0
  58. package/src-tauri/png/witeboard_512.png +0 -0
  59. package/src-tauri/png/xapi_256.ico +0 -0
  60. package/src-tauri/png/xapi_32.ico +0 -0
  61. package/src-tauri/png/xapi_512.png +0 -0
  62. package/src-tauri/png/yuque_256.ico +0 -0
  63. package/src-tauri/png/yuque_32.ico +0 -0
  64. package/src-tauri/png/yuque_512.png +0 -0
  65. package/src-tauri/png/zlibrary_256.ico +0 -0
  66. package/src-tauri/png/zlibrary_32.ico +0 -0
  67. package/src-tauri/png/zlibrary_512.png +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev.js","sources":["../bin/defaults.ts","../bin/options/logger.ts","../bin/utils/dir.ts","../bin/utils/platform.ts","../bin/utils/info.ts","../bin/options/icon.ts","../bin/utils/url.ts","../bin/options/index.ts","../bin/helpers/tauriConfig.ts","../bin/utils/shell.ts","../bin/utils/ip.ts","../bin/helpers/rust.ts","../bin/utils/combine.ts","../bin/helpers/merge.ts","../bin/builders/BaseBuilder.ts","../bin/builders/MacBuilder.ts","../bin/builders/WinBuilder.ts","../bin/builders/LinuxBuilder.ts","../bin/builders/BuilderProvider.ts","../bin/dev.ts"],"sourcesContent":["import { PakeCliOptions } from './types.js';\n\nexport const DEFAULT_PAKE_OPTIONS: PakeCliOptions = {\n icon: '',\n height: 780,\n width: 1200,\n fullscreen: false,\n resizable: true,\n transparent: false,\n userAgent: '',\n showMenu: false,\n showSystemTray: true,\n multiArch: false,\n targets: 'deb',\n iterCopyFile: false,\n systemTrayIcon: '',\n debug: false,\n inject: [],\n safeDomain: [],\n};\n\n// Just for cli development\nexport const DEFAULT_DEV_PAKE_OPTIONS: PakeCliOptions & {url: string} = {\n ...DEFAULT_PAKE_OPTIONS,\n url: 'https://weread.qq.com',\n name: 'WeRead',\n safeDomain:['weread.qq.com'],\n transparent: true,\n}\n","import chalk from 'chalk';\nimport log from 'loglevel';\n\nconst logger = {\n info(...msg: any[]) {\n log.info(...msg.map(m => chalk.white(m)));\n },\n debug(...msg: any[]) {\n log.debug(...msg);\n },\n error(...msg: any[]) {\n log.error(...msg.map(m => chalk.red(m)));\n },\n warn(...msg: any[]) {\n log.info(...msg.map(m => chalk.yellow(m)));\n },\n success(...msg: any[]) {\n log.info(...msg.map(m => chalk.green(m)));\n },\n};\n\nexport default logger;\n","import path from 'path';\nimport { fileURLToPath } from 'url';\n\n// Convert the current module URL to a file path\nconst currentModulePath = fileURLToPath(import.meta.url);\n\n// Resolve the parent directory of the current module\nexport const npmDirectory = path.join(path.dirname(currentModulePath), '..');\n\nexport const tauriConfigDirectory = process.env.NODE_ENV === 'development' ? path.join(npmDirectory, 'src-tauri', '.pake') : path.join(npmDirectory, 'src-tauri');","const { platform } = process;\n\nexport const IS_MAC = platform === 'darwin';\nexport const IS_WIN = platform === 'win32';\nexport const IS_LINUX = platform === 'linux';\n","import crypto from 'crypto';\nimport prompts from 'prompts';\nimport ora from 'ora';\nimport chalk from 'chalk';\n\n// Generates an identifier based on the given URL.\nexport function getIdentifier(url: string) {\n const postFixHash = crypto.createHash('md5').update(url).digest('hex').substring(0, 6);\n return `com.pake.${postFixHash}`;\n}\n\nexport async function promptText(message: string, initial?: string): Promise<string> {\n const response = await prompts({\n type: 'text',\n name: 'content',\n message,\n initial,\n });\n return response.content;\n}\n\nexport function capitalizeFirstLetter(string: string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nexport function getSpinner(text: string) {\n const loadingType = {\n interval: 80,\n frames: ['✦', '✶', '✺', '✵', '✸', '✹', '✺'],\n };\n return ora({\n text: `${chalk.cyan(text)}\\n`,\n spinner: loadingType,\n color: 'cyan',\n }).start();\n}\n","import path from 'path';\nimport axios from 'axios';\nimport fsExtra from 'fs-extra';\nimport chalk from 'chalk';\nimport { dir } from 'tmp-promise';\n\nimport logger from './logger';\nimport { npmDirectory } from '@/utils/dir';\nimport { IS_LINUX, IS_WIN } from '@/utils/platform';\nimport { getSpinner } from '@/utils/info';\nimport { fileTypeFromBuffer } from 'file-type';\nimport { PakeAppOptions } from '@/types';\n\nexport async function handleIcon(options: PakeAppOptions) {\n if (options.icon) {\n if (options.icon.startsWith('http')) {\n return downloadIcon(options.icon);\n } else {\n return path.resolve(options.icon);\n }\n } else {\n logger.warn('✼ No icon given, default in use. For a custom icon, use --icon option.');\n const iconPath = IS_WIN\n ? 'src-tauri/png/icon_256.ico'\n : IS_LINUX\n ? 'src-tauri/png/icon_512.png'\n : 'src-tauri/icons/icon.icns';\n return path.join(npmDirectory, iconPath);\n }\n}\n\nexport async function downloadIcon(iconUrl: string) {\n const spinner = getSpinner('Downloading icon...');\n try {\n const iconResponse = await axios.get(iconUrl, { responseType: 'arraybuffer' });\n const iconData = await iconResponse.data;\n\n if (!iconData) {\n return null;\n }\n\n const fileDetails = await fileTypeFromBuffer(iconData);\n if (!fileDetails) {\n return null;\n }\n\n const { path: tempPath } = await dir();\n let iconPath = `${tempPath}/icon.${fileDetails.ext}`;\n // Fix this for linux\n if (IS_LINUX) {\n iconPath = 'png/linux_temp.png';\n await fsExtra.outputFile(`${npmDirectory}/src-tauri/${iconPath}`, iconData);\n } else {\n await fsExtra.outputFile(iconPath, iconData);\n }\n await fsExtra.outputFile(iconPath, iconData);\n spinner.succeed(chalk.green('Icon downloaded successfully!'));\n return iconPath;\n } catch (error) {\n spinner.fail(chalk.red('Icon download failed!'));\n if (error.response && error.response.status === 404) {\n return null;\n }\n throw error;\n }\n}\n","import psl from 'psl';\nimport isUrl from 'is-url';\n\n// Extracts the domain from a given URL.\nexport function getDomain(inputUrl: string): string | null {\n try {\n const url = new URL(inputUrl);\n // Use PSL to parse domain names.\n const parsed = psl.parse(url.hostname);\n\n // If domain is available, split it and return the SLD.\n if ('domain' in parsed && parsed.domain) {\n return parsed.domain.split('.')[0];\n } else {\n return null;\n }\n } catch (error) {\n return null;\n }\n}\n\n// Appends 'https://' protocol to the URL if not present.\nexport function appendProtocol(inputUrl: string): string {\n try {\n new URL(inputUrl);\n return inputUrl;\n } catch {\n return `https://${inputUrl}`;\n }\n}\n\n// Normalizes the URL by ensuring it has a protocol and is valid.\nexport function normalizeUrl(urlToNormalize: string): string {\n const urlWithProtocol = appendProtocol(urlToNormalize);\n\n if (isUrl(urlWithProtocol)) {\n return urlWithProtocol;\n } else {\n throw new Error(`Your url \"${urlWithProtocol}\" is invalid`);\n }\n}\n","import fsExtra from 'fs-extra';\nimport logger from '@/options/logger';\n\nimport { handleIcon } from './icon';\nimport { getDomain } from '@/utils/url';\nimport { getIdentifier, promptText, capitalizeFirstLetter } from '@/utils/info';\nimport { PakeAppOptions, PakeCliOptions, PlatformMap } from '@/types';\n\nfunction resolveAppName(name: string, platform: NodeJS.Platform): string {\n const domain = getDomain(name) || 'pake';\n return platform !== 'linux' ? capitalizeFirstLetter(domain) : domain;\n}\n\nfunction isValidName(name: string, platform: NodeJS.Platform): boolean {\n const platformRegexMapping: PlatformMap = {\n linux: /^[a-z0-9]+(-[a-z0-9]+)*$/,\n default: /^[a-zA-Z0-9]+$/,\n };\n const reg = platformRegexMapping[platform] || platformRegexMapping.default;\n return !!name && reg.test(name);\n}\n\nexport default async function handleOptions(\n options: PakeCliOptions,\n url: string,\n): Promise<PakeAppOptions> {\n const { platform } = process;\n const isActions = process.env.GITHUB_ACTIONS;\n let name = options.name;\n\n const pathExists = await fsExtra.pathExists(url);\n if (!options.name) {\n const defaultName = pathExists ? '' : resolveAppName(url, platform);\n const promptMessage = 'Enter your application name';\n const namePrompt = await promptText(promptMessage, defaultName);\n name = namePrompt || defaultName;\n }\n\n if (!isValidName(name, platform)) {\n const LINUX_NAME_ERROR = `✕ name should only include lowercase letters, numbers, and dashes, and must contain at least one lowercase letter. Examples: com-123-xxx, 123pan, pan123, weread, we-read.`;\n const DEFAULT_NAME_ERROR = `✕ Name should only include letters and numbers, and must contain at least one letter. Examples: 123pan, 123Pan, Pan123, weread, WeRead, WERead.`;\n const errorMsg = platform === 'linux' ? LINUX_NAME_ERROR : DEFAULT_NAME_ERROR;\n logger.error(errorMsg);\n if (isActions) {\n name = resolveAppName(url, platform);\n logger.warn(`✼ Inside github actions, use the default name: ${name}`);\n } else {\n process.exit(1);\n }\n }\n\n const appOptions: PakeAppOptions = {\n ...options,\n name,\n identifier: getIdentifier(url),\n };\n\n appOptions.icon = await handleIcon(appOptions);\n\n return appOptions;\n}\n","import pakeConf from '../../src-tauri/pake.json';\nimport CommonConf from '../../src-tauri/tauri.conf.json';\nimport WinConf from '../../src-tauri/tauri.windows.conf.json';\nimport MacConf from '../../src-tauri/tauri.macos.conf.json';\nimport LinuxConf from '../../src-tauri/tauri.linux.conf.json';\n\nconst platformConfigs = {\n win32: WinConf,\n darwin: MacConf,\n linux: LinuxConf,\n};\n\nconst { platform } = process;\n// @ts-ignore\nconst platformConfig = platformConfigs[platform];\n\nlet tauriConfig = {\n tauri: {\n ...CommonConf.tauri,\n bundle: platformConfig.tauri.bundle,\n },\n package: CommonConf.package,\n build: CommonConf.build,\n pake: pakeConf,\n};\n\nexport default tauriConfig;\n","import shelljs from 'shelljs';\nimport { npmDirectory } from './dir';\n\nexport function shellExec(command: string) {\n return new Promise<number>((resolve, reject) => {\n shelljs.exec(command, { async: true, silent: false, cwd: npmDirectory }, code => {\n if (code === 0) {\n resolve(0);\n } else {\n reject(new Error(`${code}`));\n }\n });\n });\n}\n","import dns from 'dns';\nimport http from 'http';\nimport { promisify } from 'util';\n\nimport logger from '@/options/logger';\n\nconst resolve = promisify(dns.resolve);\n\nconst ping = async (host: string) => {\n const lookup = promisify(dns.lookup);\n const ip = await lookup(host);\n const start = new Date();\n\n // Prevent timeouts from affecting user experience.\n const requestPromise = new Promise<number>((resolve, reject) => {\n const req = http.get(`http://${ip.address}`, res => {\n const delay = new Date().getTime() - start.getTime();\n res.resume();\n resolve(delay);\n });\n\n req.on('error', err => {\n reject(err);\n });\n });\n\n const timeoutPromise = new Promise<number>((_, reject) => {\n setTimeout(() => {\n reject(new Error('Request timed out after 3 seconds'));\n }, 1000);\n });\n\n return Promise.race([requestPromise, timeoutPromise]);\n};\n\nasync function isChinaDomain(domain: string): Promise<boolean> {\n try {\n const [ip] = await resolve(domain);\n return await isChinaIP(ip, domain);\n } catch (error) {\n logger.debug(`${domain} can't be parse!`);\n return true;\n }\n}\n\nasync function isChinaIP(ip: string, domain: string): Promise<boolean> {\n try {\n const delay = await ping(ip);\n logger.debug(`${domain} latency is ${delay} ms`);\n return delay > 1000;\n } catch (error) {\n logger.debug(`ping ${domain} failed!`);\n return true;\n }\n}\n\nexport { isChinaDomain, isChinaIP };\n","import chalk from 'chalk';\nimport shelljs from 'shelljs';\n\nimport { getSpinner } from '@/utils/info';\nimport { IS_WIN } from '@/utils/platform';\nimport { shellExec } from '@/utils/shell';\nimport { isChinaDomain } from '@/utils/ip';\n\nexport async function installRust() {\n const isActions = process.env.GITHUB_ACTIONS;\n const isInChina = await isChinaDomain('sh.rustup.rs');\n const rustInstallScriptForMac = isInChina && !isActions\n ? 'export RUSTUP_DIST_SERVER=\"https://rsproxy.cn\" && export RUSTUP_UPDATE_ROOT=\"https://rsproxy.cn/rustup\" && curl --proto \"=https\" --tlsv1.2 -sSf https://rsproxy.cn/rustup-init.sh | sh'\n : \"curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y\";\n const rustInstallScriptForWindows = 'winget install --id Rustlang.Rustup';\n\n const spinner = getSpinner('Downloading Rust...');\n\n try {\n await shellExec(IS_WIN ? rustInstallScriptForWindows : rustInstallScriptForMac);\n spinner.succeed(chalk.green('Rust installed successfully!'));\n } catch (error) {\n console.error('Error installing Rust:', error.message);\n spinner.fail(chalk.red('Rust installation failed!'));\n process.exit(1);\n }\n}\n\nexport function checkRustInstalled() {\n return shelljs.exec('rustc --version', { silent: true }).code === 0;\n}\n","import fs from 'fs';\n\nexport default async function combineFiles(files: string[], output: string) {\n const contents = files.map(file => {\n const fileContent = fs.readFileSync(file);\n if (file.endsWith('.css')) {\n return \"window.addEventListener('DOMContentLoaded', (_event) => { const css = `\" + fileContent + \"`; const style = document.createElement('style'); style.innerHTML = css; document.head.appendChild(style); });\";\n }\n \n return \"window.addEventListener('DOMContentLoaded', (_event) => { \" + fileContent + \" });\";\n });\n fs.writeFileSync(output, contents.join('\\n'));\n return files;\n}","import path from 'path';\nimport fsExtra from 'fs-extra';\n\nimport { npmDirectory } from '@/utils/dir';\nimport combineFiles from '@/utils/combine';\nimport logger from '@/options/logger';\nimport { PakeAppOptions, PlatformMap } from '@/types';\nimport { tauriConfigDirectory } from '@/utils/dir';\n\nexport async function mergeConfig(url: string, options: PakeAppOptions, tauriConf: any) {\n const {\n width,\n height,\n fullscreen,\n transparent,\n userAgent,\n showMenu,\n showSystemTray,\n systemTrayIcon,\n iterCopyFile,\n identifier,\n name,\n resizable = true,\n inject,\n safeDomain,\n } = options;\n\n const { platform } = process;\n\n // Set Windows parameters.\n const tauriConfWindowOptions = {\n width,\n height,\n fullscreen,\n transparent,\n resizable,\n };\n Object.assign(tauriConf.pake.windows[0], { url, ...tauriConfWindowOptions });\n\n tauriConf.package.productName = name;\n tauriConf.tauri.bundle.identifier = identifier;\n\n //Judge the type of URL, whether it is a file or a website.\n const pathExists = await fsExtra.pathExists(url);\n if (pathExists) {\n logger.warn('✼ Your input might be a local file.');\n tauriConf.pake.windows[0].url_type = 'local';\n\n const fileName = path.basename(url);\n const dirName = path.dirname(url);\n\n const distDir = path.join(npmDirectory, 'dist');\n const distBakDir = path.join(npmDirectory, 'dist_bak');\n\n if (!iterCopyFile) {\n const urlPath = path.join(distDir, fileName);\n await fsExtra.copy(url, urlPath);\n } else {\n fsExtra.moveSync(distDir, distBakDir, { overwrite: true });\n fsExtra.copySync(dirName, distDir, { overwrite: true });\n\n const filesToCopyBack = ['cli.js', 'about_pake.html'];\n await Promise.all(\n filesToCopyBack.map(file => fsExtra.copy(path.join(distBakDir, file), path.join(distDir, file))),\n );\n }\n\n tauriConf.pake.windows[0].url = fileName;\n tauriConf.pake.windows[0].url_type = 'local';\n } else {\n tauriConf.pake.windows[0].url_type = 'web';\n // Set the secure domain for calling window.__TAURI__ to the application domain that has been set.\n tauriConf.tauri.security.dangerousRemoteDomainIpcAccess = [\n {\n domain: new URL(url).hostname,\n windows: ['pake'],\n enableTauriAPI: true,\n },\n ];\n }\n\n if (safeDomain.length > 0) {\n tauriConf.tauri.security.dangerousRemoteDomainIpcAccess = [\n ...tauriConf.tauri.security.dangerousRemoteDomainIpcAccess,\n ...safeDomain.map(domain => ({\n domain,\n windows: ['pake'],\n enableTauriAPI: true,\n })),\n ];\n }\n\n const platformMap: PlatformMap = {\n win32: 'windows',\n linux: 'linux',\n darwin: 'macos',\n };\n const currentPlatform = platformMap[platform];\n\n if (userAgent.length > 0) {\n tauriConf.pake.user_agent[currentPlatform] = userAgent;\n }\n\n tauriConf.pake.menu[currentPlatform] = showMenu;\n tauriConf.pake.system_tray[currentPlatform] = showSystemTray;\n\n // Processing targets are currently only open to Linux.\n if (platform === 'linux') {\n delete tauriConf.tauri.bundle.deb.files;\n const validTargets = ['all', 'deb', 'appimage'];\n if (validTargets.includes(options.targets)) {\n tauriConf.tauri.bundle.targets = options.targets === 'all' ? ['deb', 'appimage'] : [options.targets];\n } else {\n logger.warn(`✼ The target must be one of ${validTargets.join(', ')}, the default 'deb' will be used.`);\n }\n }\n\n // Set icon.\n const platformIconMap: PlatformMap = {\n win32: {\n fileExt: '.ico',\n path: `png/${name.toLowerCase()}_256.ico`,\n defaultIcon: 'png/icon_256.ico',\n message: 'Windows icon must be .ico and 256x256px.',\n },\n linux: {\n fileExt: '.png',\n path: `png/${name.toLowerCase()}_512.png`,\n defaultIcon: 'png/icon_512.png',\n message: 'Linux icon must be .png and 512x512px.',\n },\n darwin: {\n fileExt: '.icns',\n path: `icons/${name.toLowerCase()}.icns`,\n defaultIcon: 'icons/icon.icns',\n message: 'macOS icon must be .icns type.',\n },\n };\n const iconInfo = platformIconMap[platform];\n const exists = await fsExtra.pathExists(options.icon);\n if (exists) {\n let updateIconPath = true;\n let customIconExt = path.extname(options.icon).toLowerCase();\n\n if (customIconExt !== iconInfo.fileExt) {\n updateIconPath = false;\n logger.warn(`✼ ${iconInfo.message}, but you give ${customIconExt}`);\n tauriConf.tauri.bundle.icon = [iconInfo.defaultIcon];\n } else {\n const iconPath = path.join(npmDirectory, 'src-tauri/', iconInfo.path);\n tauriConf.tauri.bundle.resources = [iconInfo.path];\n await fsExtra.copy(options.icon, iconPath);\n }\n\n if (updateIconPath) {\n tauriConf.tauri.bundle.icon = [options.icon];\n } else {\n logger.warn(`✼ Icon will remain as default.`);\n }\n } else {\n logger.warn('✼ Custom icon path may be invalid, default icon will be used instead.');\n tauriConf.tauri.bundle.icon = [iconInfo.defaultIcon];\n }\n\n // Set tray icon path.\n let trayIconPath = platform === 'darwin' ? 'png/icon_512.png' : tauriConf.tauri.bundle.icon[0];\n if (systemTrayIcon.length > 0) {\n try {\n await fsExtra.pathExists(systemTrayIcon);\n // 需要判断图标格式,默认只支持ico和png两种\n let iconExt = path.extname(systemTrayIcon).toLowerCase();\n if (iconExt == '.png' || iconExt == '.ico') {\n const trayIcoPath = path.join(npmDirectory, `src-tauri/png/${name.toLowerCase()}${iconExt}`);\n trayIconPath = `png/${name.toLowerCase()}${iconExt}`;\n await fsExtra.copy(systemTrayIcon, trayIcoPath);\n } else {\n logger.warn(`✼ System tray icon must be .ico or .png, but you provided ${iconExt}.`);\n logger.warn(`✼ Default system tray icon will be used.`);\n }\n } catch {\n logger.warn(`✼ ${systemTrayIcon} not exists!`);\n logger.warn(`✼ Default system tray icon will remain unchanged.`);\n }\n }\n\n tauriConf.tauri.systemTray.iconPath = trayIconPath;\n const injectFilePath = path.join(npmDirectory, `src-tauri/src/inject/custom.js`);\n // inject js or css files\n if (inject?.length > 0) {\n if (!inject.every(item => item.endsWith('.css') || item.endsWith('.js'))) {\n logger.error('The injected file must be in either CSS or JS format.');\n return;\n }\n const files = inject.map(filepath => path.isAbsolute(filepath) ? filepath : path.join(process.cwd(), filepath));\n tauriConf.pake.inject = files;\n await combineFiles(files, injectFilePath);\n } else {\n tauriConf.pake.inject = [];\n await fsExtra.writeFile(injectFilePath, '');\n }\n\n // Save config file.\n const platformConfigPaths: PlatformMap = {\n win32: 'tauri.windows.conf.json',\n darwin: 'tauri.macos.conf.json',\n linux: 'tauri.linux.conf.json',\n };\n const configPath = path.join(tauriConfigDirectory, platformConfigPaths[platform]);\n\n const bundleConf = { tauri: { bundle: tauriConf.tauri.bundle } };\n await fsExtra.outputJSON(configPath, bundleConf, { spaces: 4 });\n const pakeConfigPath = path.join(tauriConfigDirectory, 'pake.json');\n await fsExtra.outputJSON(pakeConfigPath, tauriConf.pake, { spaces: 4 });\n\n let tauriConf2 = JSON.parse(JSON.stringify(tauriConf));\n delete tauriConf2.pake;\n delete tauriConf2.tauri.bundle;\n if (process.env.NODE_ENV === 'development') {\n tauriConf2.tauri.bundle = bundleConf.tauri.bundle;\n }\n const configJsonPath = path.join(tauriConfigDirectory, 'tauri.conf.json');\n await fsExtra.outputJSON(configJsonPath, tauriConf2, { spaces: 4 });\n}\n","import path from 'path';\nimport fsExtra from 'fs-extra';\nimport chalk from 'chalk';\nimport prompts from 'prompts';\n\nimport { PakeAppOptions } from '@/types';\nimport { checkRustInstalled, installRust } from '@/helpers/rust';\nimport { mergeConfig } from '@/helpers/merge';\nimport tauriConfig from '@/helpers/tauriConfig';\nimport { npmDirectory } from '@/utils/dir';\nimport { getSpinner } from '@/utils/info';\nimport { shellExec } from '@/utils/shell';\nimport { isChinaDomain } from '@/utils/ip';\nimport { IS_MAC } from '@/utils/platform';\nimport logger from '@/options/logger';\n\nexport default abstract class BaseBuilder {\n protected options: PakeAppOptions;\n\n protected constructor(options: PakeAppOptions) {\n this.options = options;\n }\n\n async prepare() {\n const tauriSrcPath = path.join(npmDirectory, 'src-tauri');\n const tauriTargetPath = path.join(tauriSrcPath, 'target');\n const tauriTargetPathExists = await fsExtra.pathExists(tauriTargetPath);\n\n if (!IS_MAC && !tauriTargetPathExists) {\n logger.warn('✼ The first use requires installing system dependencies.');\n logger.warn('✼ See more in https://tauri.app/v1/guides/getting-started/prerequisites.');\n }\n\n if (!checkRustInstalled()) {\n const res = await prompts({\n type: 'confirm',\n message: 'Rust not detected. Install now?',\n name: 'value',\n });\n\n if (res.value) {\n await installRust();\n } else {\n logger.error('✕ Rust required to package your webapp.');\n process.exit(0);\n }\n }\n\n const isChina = await isChinaDomain('www.npmjs.com');\n const spinner = getSpinner('Installing package...');\n const rustProjectDir = path.join(tauriSrcPath, '.cargo');\n const projectConf = path.join(rustProjectDir, 'config');\n await fsExtra.ensureDir(rustProjectDir);\n\n if (isChina) {\n logger.info('✺ Located in China, using npm/rsProxy CN mirror.');\n const projectCnConf = path.join(tauriSrcPath, 'rust_proxy.toml');\n await fsExtra.copy(projectCnConf, projectConf);\n await shellExec(`cd \"${npmDirectory}\" && npm install --registry=https://registry.npmmirror.com`);\n } else {\n await shellExec(`cd \"${npmDirectory}\" && npm install`);\n }\n spinner.succeed(chalk.green('Package installed!'));\n if (!tauriTargetPathExists) {\n logger.warn('✼ The first packaging may be slow, please be patient and wait, it will be faster afterwards.');\n }\n }\n\n\n async build(url: string) {\n await this.buildAndCopy(url, this.options.targets);\n }\n\n async start(url: string) {\n await mergeConfig(url, this.options, tauriConfig);\n } \n\n async buildAndCopy(url: string, target: string) {\n const { name } = this.options;\n await mergeConfig(url, this.options, tauriConfig);\n\n // Build app\n const spinner = getSpinner('Building app...');\n setTimeout(() => spinner.stop(), 3000);\n await shellExec(`cd \"${npmDirectory}\" && ${this.getBuildCommand()}`);\n\n // Copy app\n const fileName = this.getFileName();\n const fileType = this.getFileType(target);\n const appPath = this.getBuildAppPath(npmDirectory, fileName, fileType);\n const distPath = path.resolve(`${name}.${fileType}`);\n await fsExtra.copy(appPath, distPath);\n await fsExtra.remove(appPath);\n logger.success('✔ Build success!');\n logger.success('✔ App installer located in', distPath);\n }\n\n protected getFileType(target: string): string {\n return target;\n }\n\n abstract getFileName(): string;\n\n protected getBuildCommand(): string {\n // the debug option should support `--debug` and `--release`\n return this.options.debug ? 'npm run build:debug' : 'npm run build';\n }\n\n protected getBasePath(): string {\n return 'src-tauri/target/release/bundle/';\n }\n\n protected getBuildAppPath(npmDirectory: string, fileName: string, fileType: string): string {\n return path.join(npmDirectory, this.getBasePath(), fileType.toLowerCase(), `${fileName}.${fileType}`);\n }\n}\n","import tauriConfig from '@/helpers/tauriConfig';\nimport { PakeAppOptions } from '@/types';\nimport BaseBuilder from './BaseBuilder';\n\nexport default class MacBuilder extends BaseBuilder {\n constructor(options: PakeAppOptions) {\n super(options);\n this.options.targets = 'dmg';\n }\n\n getFileName(): string {\n const { name } = this.options;\n let arch: string;\n if (this.options.multiArch) {\n arch = 'universal';\n } else {\n arch = process.arch === 'arm64' ? 'aarch64' : process.arch;\n }\n return `${name}_${tauriConfig.package.version}_${arch}`;\n }\n\n protected getBuildCommand(): string {\n return this.options.multiArch ? 'npm run build:mac' : super.getBuildCommand();\n }\n\n protected getBasePath(): string {\n return this.options.multiArch\n ? 'src-tauri/target/universal-apple-darwin/release/bundle'\n : super.getBasePath();\n }\n}\n","import BaseBuilder from './BaseBuilder';\nimport { PakeAppOptions } from '@/types';\nimport tauriConfig from '@/helpers/tauriConfig';\n\nexport default class WinBuilder extends BaseBuilder {\n constructor(options: PakeAppOptions) {\n super(options);\n this.options.targets = 'msi';\n }\n\n getFileName(): string {\n const { name } = this.options;\n const { arch } = process;\n const language = tauriConfig.tauri.bundle.windows.wix.language[0];\n return `${name}_${tauriConfig.package.version}_${arch}_${language}`;\n }\n}\n","import BaseBuilder from './BaseBuilder';\nimport { PakeAppOptions } from '@/types';\nimport tauriConfig from '@/helpers/tauriConfig';\n\nexport default class LinuxBuilder extends BaseBuilder {\n constructor(options: PakeAppOptions) {\n super(options);\n }\n\n getFileName(): string {\n const { name } = this.options;\n const arch = process.arch === 'x64' ? 'amd64' : process.arch;\n return `${name}_${tauriConfig.package.version}_${arch}`;\n }\n\n // Customize it, considering that there are all targets.\n async build(url: string) {\n const targetTypes = ['deb', 'appimage'];\n for (const target of targetTypes) {\n if (this.options.targets === target || this.options.targets === 'all') {\n await this.buildAndCopy(url, target);\n }\n }\n }\n\n protected getFileType(target: string): string {\n if (target === 'appimage') {\n return 'AppImage';\n }\n return super.getFileType(target);\n }\n}\n","import BaseBuilder from './BaseBuilder';\nimport MacBuilder from './MacBuilder';\nimport WinBuilder from './WinBuilder';\nimport LinuxBuilder from './LinuxBuilder';\nimport { PakeAppOptions } from '@/types';\n\nconst { platform } = process;\n\nconst buildersMap: Record<string, new (options: PakeAppOptions) => BaseBuilder> = {\n darwin: MacBuilder,\n win32: WinBuilder,\n linux: LinuxBuilder,\n};\n\nexport default class BuilderProvider {\n static create(options: PakeAppOptions): BaseBuilder {\n const Builder = buildersMap[platform];\n if (!Builder) {\n throw new Error('The current system is not supported!');\n }\n return new Builder(options);\n }\n}\n","import log from 'loglevel';\nimport {DEFAULT_DEV_PAKE_OPTIONS} from './defaults';\nimport handleInputOptions from './options/index';\nimport BuilderProvider from './builders/BuilderProvider';\n\nasync function startBuild() {\n log.setDefaultLevel('debug');\n\n const appOptions = await handleInputOptions(DEFAULT_DEV_PAKE_OPTIONS, DEFAULT_DEV_PAKE_OPTIONS.url);\n log.debug('PakeAppOptions', appOptions);\n\n const builder = BuilderProvider.create(appOptions);\n await builder.prepare();\n await builder.start(DEFAULT_DEV_PAKE_OPTIONS.url);\n}\n\nstartBuild();"],"names":["platform","handleInputOptions"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pake-cli",
3
- "version": "2.3.3",
3
+ "version": "2.3.5",
4
4
  "description": "🤱🏻 Turn any webpage into a desktop app with Rust. 🤱🏻 利用 Rust 轻松构建轻量级多端桌面应用。",
5
5
  "engines": {
6
6
  "node": ">=16.0.0"
@@ -47,41 +47,41 @@
47
47
  "exports": "./dist/pake.js",
48
48
  "license": "MIT",
49
49
  "dependencies": {
50
- "@tauri-apps/api": "^1.4.0",
51
- "@tauri-apps/cli": "^1.4.0",
52
- "axios": "^1.1.3",
53
- "chalk": "^5.1.2",
54
- "commander": "^11.0.0",
55
- "file-type": "^18.0.0",
56
- "fs-extra": "^11.1.0",
50
+ "@tauri-apps/api": "^1.5.1",
51
+ "@tauri-apps/cli": "^1.5.6",
52
+ "axios": "^1.6.1",
53
+ "chalk": "^5.3.0",
54
+ "commander": "^11.1.0",
55
+ "file-type": "^18.6.0",
56
+ "fs-extra": "^11.1.1",
57
57
  "is-url": "^1.2.4",
58
58
  "loglevel": "^1.8.1",
59
- "ora": "^6.1.2",
59
+ "ora": "^7.0.1",
60
60
  "prompts": "^2.4.2",
61
61
  "psl": "^1.9.0",
62
62
  "shelljs": "^0.8.5",
63
63
  "tmp-promise": "^3.0.3",
64
- "update-notifier": "^6.0.2"
64
+ "update-notifier": "^7.0.0"
65
65
  },
66
66
  "devDependencies": {
67
- "@rollup/plugin-alias": "^4.0.2",
68
- "@rollup/plugin-commonjs": "^23.0.2",
69
- "@rollup/plugin-json": "^5.0.2",
70
- "@rollup/plugin-replace": "^5.0.2",
71
- "@rollup/plugin-terser": "^0.1.0",
72
- "@types/fs-extra": "^9.0.13",
73
- "@types/is-url": "^1.2.30",
74
- "@types/page-icon": "^0.3.4",
75
- "@types/prompts": "^2.4.1",
76
- "@types/psl": "^1.1.0",
77
- "@types/shelljs": "^0.8.11",
78
- "@types/tmp": "^0.2.3",
79
- "@types/update-notifier": "^6.0.1",
67
+ "@rollup/plugin-alias": "^5.0.1",
68
+ "@rollup/plugin-commonjs": "^25.0.7",
69
+ "@rollup/plugin-json": "^6.0.1",
70
+ "@rollup/plugin-replace": "^5.0.5",
71
+ "@rollup/plugin-terser": "^0.4.4",
72
+ "@types/fs-extra": "^11.0.4",
73
+ "@types/is-url": "^1.2.32",
74
+ "@types/page-icon": "^0.3.6",
75
+ "@types/prompts": "^2.4.8",
76
+ "@types/psl": "^1.1.3",
77
+ "@types/shelljs": "^0.8.15",
78
+ "@types/tmp": "^0.2.6",
79
+ "@types/update-notifier": "^6.0.7",
80
80
  "app-root-path": "^3.1.0",
81
81
  "cross-env": "^7.0.3",
82
- "rollup": "^3.3.0",
83
- "rollup-plugin-typescript2": "^0.34.1",
84
- "tslib": "^2.4.1",
85
- "typescript": "^4.9.3"
82
+ "rollup": "^4.3.0",
83
+ "rollup-plugin-typescript2": "^0.36.0",
84
+ "tslib": "^2.6.2",
85
+ "typescript": "^5.2.2"
86
86
  }
87
87
  }
@@ -176,7 +176,7 @@ checksum = "0e97ce7de6cf12de5d7226c73f5ba9811622f4db3a5b91b55c53e987e5f91cba"
176
176
  dependencies = [
177
177
  "proc-macro2",
178
178
  "quote",
179
- "syn 2.0.26",
179
+ "syn 2.0.32",
180
180
  ]
181
181
 
182
182
  [[package]]
@@ -193,7 +193,7 @@ checksum = "a564d521dd56509c4c47480d00b80ee55f7e385ae48db5744c67ad50c92d2ebf"
193
193
  dependencies = [
194
194
  "proc-macro2",
195
195
  "quote",
196
- "syn 2.0.26",
196
+ "syn 2.0.32",
197
197
  ]
198
198
 
199
199
  [[package]]
@@ -658,7 +658,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
658
658
  checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331"
659
659
  dependencies = [
660
660
  "quote",
661
- "syn 2.0.26",
661
+ "syn 2.0.32",
662
662
  ]
663
663
 
664
664
  [[package]]
@@ -692,7 +692,7 @@ dependencies = [
692
692
  "proc-macro2",
693
693
  "quote",
694
694
  "strsim",
695
- "syn 2.0.26",
695
+ "syn 2.0.32",
696
696
  ]
697
697
 
698
698
  [[package]]
@@ -703,7 +703,7 @@ checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5"
703
703
  dependencies = [
704
704
  "darling_core",
705
705
  "quote",
706
- "syn 2.0.26",
706
+ "syn 2.0.32",
707
707
  ]
708
708
 
709
709
  [[package]]
@@ -834,7 +834,7 @@ checksum = "5e9a1f9f7d83e59740248a6e14ecf93929ade55027844dfcea78beafccc15745"
834
834
  dependencies = [
835
835
  "proc-macro2",
836
836
  "quote",
837
- "syn 2.0.26",
837
+ "syn 2.0.32",
838
838
  ]
839
839
 
840
840
  [[package]]
@@ -1021,7 +1021,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
1021
1021
  dependencies = [
1022
1022
  "proc-macro2",
1023
1023
  "quote",
1024
- "syn 2.0.26",
1024
+ "syn 2.0.32",
1025
1025
  ]
1026
1026
 
1027
1027
  [[package]]
@@ -1425,7 +1425,21 @@ checksum = "e5c13fb08e5d4dfc151ee5e88bae63f7773d61852f3bdc73c9f4b9e1bde03148"
1425
1425
  dependencies = [
1426
1426
  "log",
1427
1427
  "mac",
1428
- "markup5ever",
1428
+ "markup5ever 0.10.1",
1429
+ "proc-macro2",
1430
+ "quote",
1431
+ "syn 1.0.109",
1432
+ ]
1433
+
1434
+ [[package]]
1435
+ name = "html5ever"
1436
+ version = "0.26.0"
1437
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1438
+ checksum = "bea68cab48b8459f17cf1c944c67ddc572d272d9f2b274140f223ecb1da4a3b7"
1439
+ dependencies = [
1440
+ "log",
1441
+ "mac",
1442
+ "markup5ever 0.11.0",
1429
1443
  "proc-macro2",
1430
1444
  "quote",
1431
1445
  "syn 1.0.109",
@@ -1732,7 +1746,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1732
1746
  checksum = "1ea8e9c6e031377cff82ee3001dc8026cdf431ed4e2e6b51f98ab8c73484a358"
1733
1747
  dependencies = [
1734
1748
  "cssparser",
1735
- "html5ever",
1749
+ "html5ever 0.25.2",
1750
+ "matches",
1751
+ "selectors",
1752
+ ]
1753
+
1754
+ [[package]]
1755
+ name = "kuchikiki"
1756
+ version = "0.8.2"
1757
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1758
+ checksum = "f29e4755b7b995046f510a7520c42b2fed58b77bd94d5a87a8eb43d2fd126da8"
1759
+ dependencies = [
1760
+ "cssparser",
1761
+ "html5ever 0.26.0",
1762
+ "indexmap 1.9.3",
1736
1763
  "matches",
1737
1764
  "selectors",
1738
1765
  ]
@@ -1810,9 +1837,9 @@ dependencies = [
1810
1837
 
1811
1838
  [[package]]
1812
1839
  name = "log"
1813
- version = "0.4.19"
1840
+ version = "0.4.20"
1814
1841
  source = "registry+https://github.com/rust-lang/crates.io-index"
1815
- checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4"
1842
+ checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
1816
1843
 
1817
1844
  [[package]]
1818
1845
  name = "loom"
@@ -1865,7 +1892,21 @@ checksum = "a24f40fb03852d1cdd84330cddcaf98e9ec08a7b7768e952fad3b4cf048ec8fd"
1865
1892
  dependencies = [
1866
1893
  "log",
1867
1894
  "phf 0.8.0",
1868
- "phf_codegen",
1895
+ "phf_codegen 0.8.0",
1896
+ "string_cache",
1897
+ "string_cache_codegen",
1898
+ "tendril",
1899
+ ]
1900
+
1901
+ [[package]]
1902
+ name = "markup5ever"
1903
+ version = "0.11.0"
1904
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1905
+ checksum = "7a2629bb1404f3d34c2e921f21fd34ba00b206124c81f65c50b43b6aaefeb016"
1906
+ dependencies = [
1907
+ "log",
1908
+ "phf 0.10.1",
1909
+ "phf_codegen 0.10.0",
1869
1910
  "string_cache",
1870
1911
  "string_cache_codegen",
1871
1912
  "tendril",
@@ -2194,7 +2235,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
2194
2235
  dependencies = [
2195
2236
  "proc-macro2",
2196
2237
  "quote",
2197
- "syn 2.0.26",
2238
+ "syn 2.0.32",
2198
2239
  ]
2199
2240
 
2200
2241
  [[package]]
@@ -2361,6 +2402,16 @@ dependencies = [
2361
2402
  "phf_shared 0.8.0",
2362
2403
  ]
2363
2404
 
2405
+ [[package]]
2406
+ name = "phf_codegen"
2407
+ version = "0.10.0"
2408
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2409
+ checksum = "4fb1c3a8bc4dd4e5cfce29b44ffc14bedd2ee294559a294e2a4d4c9e9a6a13cd"
2410
+ dependencies = [
2411
+ "phf_generator 0.10.0",
2412
+ "phf_shared 0.10.0",
2413
+ ]
2414
+
2364
2415
  [[package]]
2365
2416
  name = "phf_generator"
2366
2417
  version = "0.8.0"
@@ -2924,7 +2975,7 @@ dependencies = [
2924
2975
  "log",
2925
2976
  "matches",
2926
2977
  "phf 0.8.0",
2927
- "phf_codegen",
2978
+ "phf_codegen 0.8.0",
2928
2979
  "precomputed-hash",
2929
2980
  "servo_arc",
2930
2981
  "smallvec",
@@ -2942,29 +2993,29 @@ dependencies = [
2942
2993
 
2943
2994
  [[package]]
2944
2995
  name = "serde"
2945
- version = "1.0.171"
2996
+ version = "1.0.192"
2946
2997
  source = "registry+https://github.com/rust-lang/crates.io-index"
2947
- checksum = "30e27d1e4fd7659406c492fd6cfaf2066ba8773de45ca75e855590f856dc34a9"
2998
+ checksum = "bca2a08484b285dcb282d0f67b26cadc0df8b19f8c12502c13d966bf9482f001"
2948
2999
  dependencies = [
2949
3000
  "serde_derive",
2950
3001
  ]
2951
3002
 
2952
3003
  [[package]]
2953
3004
  name = "serde_derive"
2954
- version = "1.0.171"
3005
+ version = "1.0.192"
2955
3006
  source = "registry+https://github.com/rust-lang/crates.io-index"
2956
- checksum = "389894603bd18c46fa56231694f8d827779c0951a667087194cf9de94ed24682"
3007
+ checksum = "d6c7207fbec9faa48073f3e3074cbe553af6ea512d7c21ba46e434e70ea9fbc1"
2957
3008
  dependencies = [
2958
3009
  "proc-macro2",
2959
3010
  "quote",
2960
- "syn 2.0.26",
3011
+ "syn 2.0.32",
2961
3012
  ]
2962
3013
 
2963
3014
  [[package]]
2964
3015
  name = "serde_json"
2965
- version = "1.0.103"
3016
+ version = "1.0.108"
2966
3017
  source = "registry+https://github.com/rust-lang/crates.io-index"
2967
- checksum = "d03b412469450d4404fe8499a268edd7f8b79fecb074b0d812ad64ca21f4031b"
3018
+ checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b"
2968
3019
  dependencies = [
2969
3020
  "itoa 1.0.9",
2970
3021
  "ryu",
@@ -2979,7 +3030,7 @@ checksum = "1d89a8107374290037607734c0b73a85db7ed80cae314b3c5791f192a496e731"
2979
3030
  dependencies = [
2980
3031
  "proc-macro2",
2981
3032
  "quote",
2982
- "syn 2.0.26",
3033
+ "syn 2.0.32",
2983
3034
  ]
2984
3035
 
2985
3036
  [[package]]
@@ -3028,7 +3079,7 @@ dependencies = [
3028
3079
  "darling",
3029
3080
  "proc-macro2",
3030
3081
  "quote",
3031
- "syn 2.0.26",
3082
+ "syn 2.0.32",
3032
3083
  ]
3033
3084
 
3034
3085
  [[package]]
@@ -3254,9 +3305,9 @@ dependencies = [
3254
3305
 
3255
3306
  [[package]]
3256
3307
  name = "syn"
3257
- version = "2.0.26"
3308
+ version = "2.0.32"
3258
3309
  source = "registry+https://github.com/rust-lang/crates.io-index"
3259
- checksum = "45c3457aacde3c65315de5031ec191ce46604304d2446e803d71ade03308d970"
3310
+ checksum = "239814284fd6f1a4ffe4ca893952cdd93c224b6a1571c9a9eadd670295c0c9e2"
3260
3311
  dependencies = [
3261
3312
  "proc-macro2",
3262
3313
  "quote",
@@ -3381,9 +3432,9 @@ checksum = "1d2faeef5759ab89935255b1a4cd98e0baf99d1085e37d36599c625dac49ae8e"
3381
3432
 
3382
3433
  [[package]]
3383
3434
  name = "tauri"
3384
- version = "1.4.1"
3435
+ version = "1.5.2"
3385
3436
  source = "registry+https://github.com/rust-lang/crates.io-index"
3386
- checksum = "7fbe522898e35407a8e60dc3870f7579fea2fc262a6a6072eccdd37ae1e1d91e"
3437
+ checksum = "9bfe673cf125ef364d6f56b15e8ce7537d9ca7e4dae1cf6fbbdeed2e024db3d9"
3387
3438
  dependencies = [
3388
3439
  "anyhow",
3389
3440
  "bytes",
@@ -3436,12 +3487,13 @@ dependencies = [
3436
3487
 
3437
3488
  [[package]]
3438
3489
  name = "tauri-build"
3439
- version = "1.4.0"
3490
+ version = "1.5.0"
3440
3491
  source = "registry+https://github.com/rust-lang/crates.io-index"
3441
- checksum = "7d2edd6a259b5591c8efdeb9d5702cb53515b82a6affebd55c7fd6d3a27b7d1b"
3492
+ checksum = "defbfc551bd38ab997e5f8e458f87396d2559d05ce32095076ad6c30f7fc5f9c"
3442
3493
  dependencies = [
3443
3494
  "anyhow",
3444
3495
  "cargo_toml",
3496
+ "dirs-next",
3445
3497
  "heck 0.4.1",
3446
3498
  "json-patch",
3447
3499
  "semver",
@@ -3449,13 +3501,14 @@ dependencies = [
3449
3501
  "serde_json",
3450
3502
  "tauri-utils",
3451
3503
  "tauri-winres",
3504
+ "walkdir",
3452
3505
  ]
3453
3506
 
3454
3507
  [[package]]
3455
3508
  name = "tauri-codegen"
3456
- version = "1.4.0"
3509
+ version = "1.4.1"
3457
3510
  source = "registry+https://github.com/rust-lang/crates.io-index"
3458
- checksum = "54ad2d49fdeab4a08717f5b49a163bdc72efc3b1950b6758245fcde79b645e1a"
3511
+ checksum = "7b3475e55acec0b4a50fb96435f19631fb58cbcd31923e1a213de5c382536bbb"
3459
3512
  dependencies = [
3460
3513
  "base64 0.21.2",
3461
3514
  "brotli",
@@ -3479,9 +3532,9 @@ dependencies = [
3479
3532
 
3480
3533
  [[package]]
3481
3534
  name = "tauri-macros"
3482
- version = "1.4.0"
3535
+ version = "1.4.1"
3483
3536
  source = "registry+https://github.com/rust-lang/crates.io-index"
3484
- checksum = "8eb12a2454e747896929338d93b0642144bb51e0dddbb36e579035731f0d76b7"
3537
+ checksum = "613740228de92d9196b795ac455091d3a5fbdac2654abb8bb07d010b62ab43af"
3485
3538
  dependencies = [
3486
3539
  "heck 0.4.1",
3487
3540
  "proc-macro2",
@@ -3507,9 +3560,9 @@ dependencies = [
3507
3560
 
3508
3561
  [[package]]
3509
3562
  name = "tauri-runtime"
3510
- version = "0.14.0"
3563
+ version = "0.14.1"
3511
3564
  source = "registry+https://github.com/rust-lang/crates.io-index"
3512
- checksum = "108683199cb18f96d2d4134187bb789964143c845d2d154848dda209191fd769"
3565
+ checksum = "07f8e9e53e00e9f41212c115749e87d5cd2a9eebccafca77a19722eeecd56d43"
3513
3566
  dependencies = [
3514
3567
  "gtk",
3515
3568
  "http",
@@ -3528,9 +3581,9 @@ dependencies = [
3528
3581
 
3529
3582
  [[package]]
3530
3583
  name = "tauri-runtime-wry"
3531
- version = "0.14.0"
3584
+ version = "0.14.1"
3532
3585
  source = "registry+https://github.com/rust-lang/crates.io-index"
3533
- checksum = "0b7aa256a1407a3a091b5d843eccc1a5042289baf0a43d1179d9f0fcfea37c1b"
3586
+ checksum = "8141d72b6b65f2008911e9ef5b98a68d1e3413b7a1464e8f85eb3673bb19a895"
3534
3587
  dependencies = [
3535
3588
  "cocoa",
3536
3589
  "gtk",
@@ -3548,19 +3601,20 @@ dependencies = [
3548
3601
 
3549
3602
  [[package]]
3550
3603
  name = "tauri-utils"
3551
- version = "1.4.0"
3604
+ version = "1.5.0"
3552
3605
  source = "registry+https://github.com/rust-lang/crates.io-index"
3553
- checksum = "03fc02bb6072bb397e1d473c6f76c953cda48b4a2d0cce605df284aa74a12e84"
3606
+ checksum = "34d55e185904a84a419308d523c2c6891d5e2dbcee740c4997eb42e75a7b0f46"
3554
3607
  dependencies = [
3555
3608
  "brotli",
3556
3609
  "ctor",
3557
3610
  "dunce",
3558
3611
  "glob",
3559
3612
  "heck 0.4.1",
3560
- "html5ever",
3613
+ "html5ever 0.26.0",
3561
3614
  "infer",
3562
3615
  "json-patch",
3563
- "kuchiki",
3616
+ "kuchikiki",
3617
+ "log",
3564
3618
  "memchr",
3565
3619
  "phf 0.10.1",
3566
3620
  "proc-macro2",
@@ -3653,7 +3707,7 @@ checksum = "463fe12d7993d3b327787537ce8dd4dfa058de32fc2b195ef3cde03dc4771e8f"
3653
3707
  dependencies = [
3654
3708
  "proc-macro2",
3655
3709
  "quote",
3656
- "syn 2.0.26",
3710
+ "syn 2.0.32",
3657
3711
  ]
3658
3712
 
3659
3713
  [[package]]
@@ -3818,7 +3872,7 @@ checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab"
3818
3872
  dependencies = [
3819
3873
  "proc-macro2",
3820
3874
  "quote",
3821
- "syn 2.0.26",
3875
+ "syn 2.0.32",
3822
3876
  ]
3823
3877
 
3824
3878
  [[package]]
@@ -4059,7 +4113,7 @@ dependencies = [
4059
4113
  "once_cell",
4060
4114
  "proc-macro2",
4061
4115
  "quote",
4062
- "syn 2.0.26",
4116
+ "syn 2.0.32",
4063
4117
  "wasm-bindgen-shared",
4064
4118
  ]
4065
4119
 
@@ -4093,7 +4147,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
4093
4147
  dependencies = [
4094
4148
  "proc-macro2",
4095
4149
  "quote",
4096
- "syn 2.0.26",
4150
+ "syn 2.0.32",
4097
4151
  "wasm-bindgen-backend",
4098
4152
  "wasm-bindgen-shared",
4099
4153
  ]
@@ -4548,9 +4602,9 @@ dependencies = [
4548
4602
 
4549
4603
  [[package]]
4550
4604
  name = "wry"
4551
- version = "0.24.3"
4605
+ version = "0.24.4"
4552
4606
  source = "registry+https://github.com/rust-lang/crates.io-index"
4553
- checksum = "33748f35413c8a98d45f7a08832d848c0c5915501803d1faade5a4ebcd258cea"
4607
+ checksum = "88ef04bdad49eba2e01f06e53688c8413bd6a87b0bc14b72284465cf96e3578e"
4554
4608
  dependencies = [
4555
4609
  "base64 0.13.1",
4556
4610
  "block",
@@ -4562,7 +4616,7 @@ dependencies = [
4562
4616
  "gio",
4563
4617
  "glib",
4564
4618
  "gtk",
4565
- "html5ever",
4619
+ "html5ever 0.25.2",
4566
4620
  "http",
4567
4621
  "kuchiki",
4568
4622
  "libc",
@@ -12,12 +12,12 @@ rust-version = "1.63.0"
12
12
  # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
13
13
 
14
14
  [build-dependencies]
15
- tauri-build = { version = "1.4.0", features = [] }
15
+ tauri-build = { version = "1.5.0", features = [] }
16
16
 
17
17
  [dependencies]
18
- serde_json = "1.0.96"
19
- serde = { version = "1.0.163", features = ["derive"] }
20
- tauri = { version = "1.4.1", features = ["api-all", "system-tray"] }
18
+ serde_json = "1.0.108"
19
+ serde = { version = "1.0.192", features = ["derive"] }
20
+ tauri = { version = "1.5.2", features = ["api-all", "system-tray"] }
21
21
  tauri-plugin-window-state = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v1" }
22
22
 
23
23
  [dev-dependencies]
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "windows": [
3
3
  {
4
- "url": "https://weread.qq.com/",
4
+ "url": "https://weread.qq.com",
5
5
  "transparent": true,
6
6
  "fullscreen": false,
7
7
  "width": 1200,
@@ -3,7 +3,7 @@ use tauri::MenuItem;
3
3
  use tauri::{CustomMenuItem, Menu, Submenu, WindowMenuEvent};
4
4
 
5
5
  #[cfg(any(target_os = "linux", target_os = "windows"))]
6
- use tauri::{Manager, SystemTray, SystemTrayEvent, SystemTrayMenu, WindowBuilder, WindowUrl};
6
+ use tauri::{Manager, SystemTray, SystemTrayEvent, SystemTrayMenu };
7
7
 
8
8
  #[cfg(any(target_os = "linux", target_os = "windows"))]
9
9
  use tauri_plugin_window_state::{AppHandleExt, StateFlags};