diff --git a/apps/cli/package.json b/apps/cli/package.json index 37aa708..fe61b4f 100644 --- a/apps/cli/package.json +++ b/apps/cli/package.json @@ -1,7 +1,7 @@ { "name": "kksh", "module": "dist/cli.js", - "version": "0.0.32", + "version": "0.1.0", "type": "module", "bin": { "kksh": "./dist/cli.js", diff --git a/apps/cli/src/commands/verify.ts b/apps/cli/src/commands/verify.ts index 1d87eb2..6ce3871 100644 --- a/apps/cli/src/commands/verify.ts +++ b/apps/cli/src/commands/verify.ts @@ -52,7 +52,8 @@ export function verifySingleProject(projectPath: string): boolean { logger.info(`name`, pkg.name) logger.info(`version`, pkg.version) logger.info(`identifier`, pkg.kunkun.identifier) - if (pkg.files?.length ?? 0 === 0) { + + if ((pkg.files?.length ?? 0) === 0) { logger.warn( `"files" field is empty, it is recommended to include only the necessary files, e.g. dist` ) diff --git a/packages/ui/src/components/main/AppsCmds.svelte b/apps/desktop/src/lib/components/main/AppsCmds.svelte similarity index 81% rename from packages/ui/src/components/main/AppsCmds.svelte rename to apps/desktop/src/lib/components/main/AppsCmds.svelte index 48e6ee0..4b8d56c 100644 --- a/packages/ui/src/components/main/AppsCmds.svelte +++ b/apps/desktop/src/lib/components/main/AppsCmds.svelte @@ -1,16 +1,15 @@ diff --git a/apps/desktop/src/routes/app/+page.svelte b/apps/desktop/src/routes/app/+page.svelte index 713bb5a..dad96c0 100644 --- a/apps/desktop/src/routes/app/+page.svelte +++ b/apps/desktop/src/routes/app/+page.svelte @@ -3,6 +3,7 @@ import { commandLaunchers } from "@/cmds" import { builtinCmds } from "@/cmds/builtin" import { systemCommands } from "@/cmds/system" + import AppsCmds from "@/components/main/AppsCmds.svelte" import { i18n } from "@/i18n" import * as m from "@/paraglide/messages" import { @@ -21,10 +22,9 @@ import { cmdQueries } from "@/stores/cmdQuery" import { isKeyboardEventFromInputElement } from "@/utils/dom" import Icon from "@iconify/svelte" - import { db, toggleDevTools } from "@kksh/api/commands" + import { toggleDevTools } from "@kksh/api/commands" import { Button, Command, DropdownMenu } from "@kksh/svelte5" import { - AppsCmds, BuiltinCmds, CustomCommandInput, ExtCmdsGroup, diff --git a/packages/api/src/version.ts b/packages/api/src/version.ts index 4ad92d8..5d770cd 100644 --- a/packages/api/src/version.ts +++ b/packages/api/src/version.ts @@ -21,7 +21,7 @@ export const breakingChangesVersionCheckpoints = [ const checkpointVersions = breakingChangesVersionCheckpoints.map((c) => c.version) const sortedCheckpointVersions = sort(checkpointVersions) -export const version = "0.1.0" +export const version = "0.1.1" export function isVersionBetween(v: string, start: string, end: string) { const vCleaned = clean(v) diff --git a/packages/package-registry/src/jsr/index.ts b/packages/package-registry/src/jsr/index.ts index 253ed7d..41bfbc1 100644 --- a/packages/package-registry/src/jsr/index.ts +++ b/packages/package-registry/src/jsr/index.ts @@ -119,9 +119,7 @@ export function getJsrPackageSrcFile( file: string ): Promise { const url = `https://jsr.io/@${scope}/${name}/${version}/${file}` - return fetch(url) - .then((res) => res.text()) - .catch(() => undefined) + return fetch(url).then((res) => res.text()) } /** diff --git a/packages/tauri-plugins/jarvis/permissions/autogenerated/reference.md b/packages/tauri-plugins/jarvis/permissions/autogenerated/reference.md index 7020b75..19f9805 100644 --- a/packages/tauri-plugins/jarvis/permissions/autogenerated/reference.md +++ b/packages/tauri-plugins/jarvis/permissions/autogenerated/reference.md @@ -1,3 +1,4 @@ + ## Permission Table @@ -6,6 +7,7 @@ +
Description
diff --git a/packages/ui/package.json b/packages/ui/package.json index edacd86..190a1f8 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -73,6 +73,7 @@ "@std/semver": "npm:@jsr/std__semver@^1.0.3", "dompurify": "^3.2.3", "gsap": "^3.12.7", + "moment": "^2.30.1", "pretty-bytes": "^6.1.1", "shiki-magic-move": "^0.5.2", "svelte-markdown": "^0.4.1", diff --git a/packages/ui/src/components/common/IconMultiplexer.svelte b/packages/ui/src/components/common/IconMultiplexer.svelte index dd7380a..821122a 100644 --- a/packages/ui/src/components/common/IconMultiplexer.svelte +++ b/packages/ui/src/components/common/IconMultiplexer.svelte @@ -40,6 +40,7 @@ onMount(() => { if (icon.type === IconEnum.Svg) { cleanedSvg = DOMPurify.sanitize(icon.value) + cleanedSvg = cleanedSvg.replace(" @@ -96,7 +97,7 @@ {:else if icon.type === IconEnum.Svg} diff --git a/packages/ui/src/components/extension/ExtensionsTable.svelte b/packages/ui/src/components/extension/ExtensionsTable.svelte new file mode 100644 index 0000000..e69de29 diff --git a/packages/ui/src/components/extension/StoreExtDetail.svelte b/packages/ui/src/components/extension/StoreExtDetail.svelte index 37fa582..b9b9f45 100644 --- a/packages/ui/src/components/extension/StoreExtDetail.svelte +++ b/packages/ui/src/components/extension/StoreExtDetail.svelte @@ -8,8 +8,10 @@ import { Constants, IconMultiplexer } from "@kksh/ui" import { cn } from "@kksh/ui/utils" import { CircleCheckBigIcon, MoveRightIcon, Trash2Icon } from "lucide-svelte" + import moment from "moment" import prettyBytes from "pretty-bytes" import * as v from "valibot" + import { isInTauri } from "../../utils/tauri" import DialogImageCarousel from "../common/DialogImageCarousel.svelte" import PlatformsIcons from "../common/PlatformsIcons.svelte" import TauriLink from "../common/TauriLink.svelte" @@ -20,6 +22,7 @@ let { extPublish, ext, + author, installedExt, manifest, demoImages, @@ -35,6 +38,10 @@ }: { extPublish: Tables<"ext_publish"> ext: Tables<"extensions"> + author?: { + id: string + name: string + } | null installedExt?: ExtPackageJson packageJson: ExtPackageJson | null manifest: KunkunExtManifest @@ -150,7 +157,7 @@
- + {extPublish.identifier}
Version: {extPublish.version}
Downloads: {ext.downloads}
-
-					Size: {prettyBytes(extPublish.tarball_size)}
-				
+
Size: {prettyBytes(
+						extPublish.tarball_size
+					)}
+
Published At: {moment(
+						new Date(extPublish.created_at)
+					).format("YYYY-MM-DD HH:mm")}
@@ -266,6 +276,18 @@
+

Publisher Profile

+ {#if !isInTauri && author} + + {:else} + {ext.author_id} + {/if}

Author

{#if packageJson?.author}
    diff --git a/packages/ui/src/components/main/index.ts b/packages/ui/src/components/main/index.ts index f5541cb..a66c3ee 100644 --- a/packages/ui/src/components/main/index.ts +++ b/packages/ui/src/components/main/index.ts @@ -4,5 +4,4 @@ export { default as GlobalCommandPaletteFooter } from "./GlobalCommandPaletteFoo export { default as ExtCmdsGroup } from "./ExtCmdsGroup.svelte" export { default as SystemCmds } from "./SystemCmds.svelte" export { default as QuickLinks } from "./QuickLinks.svelte" -export { default as AppsCmds } from "./AppsCmds.svelte" export * from "./types" diff --git a/packages/ui/src/utils/tauri.ts b/packages/ui/src/utils/tauri.ts new file mode 100644 index 0000000..3160033 --- /dev/null +++ b/packages/ui/src/utils/tauri.ts @@ -0,0 +1,4 @@ +import { browser } from "$app/environment" + +// @ts-expect-error window.__TAURI_INTERNALS__ is not defined in the browser +export const isInTauri = browser ? !!window.__TAURI_INTERNALS__ : false diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1c9b7c7..97edc39 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1198,6 +1198,9 @@ importers: gsap: specifier: ^3.12.7 version: 3.12.7 + moment: + specifier: ^2.30.1 + version: 2.30.1 pretty-bytes: specifier: ^6.1.1 version: 6.1.1 @@ -8829,6 +8832,9 @@ packages: engines: {node: '>=18'} hasBin: true + moment@2.30.1: + resolution: {integrity: sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==} + mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} @@ -21098,6 +21104,8 @@ snapshots: requirejs: 2.3.7 requirejs-config-file: 4.0.0 + moment@2.30.1: {} + mri@1.2.0: {} mrmime@2.0.0: {}