mirror of
https://github.com/kunkunsh/kunkun.git
synced 2025-05-25 06:05:04 +00:00

* fix: update email field in KunkunExtManifest to be optional and nullable * refactor: update Supabase type generation command and enhance database types structure - Changed the Supabase type generation command to include a specific project reference and output path. - Refactored the database types in `database.types.ts` for improved readability and added new fields, including `extension_state` and `package_json` in the `ext_publish` table. - Ensured consistent formatting across type definitions for better maintainability. * feat: add optional README path to ExtPackageJson and enhance tests for README retrieval * feat: add optional readmeContent to ExtensionPublishValidationData and retrieve README in validateJsrPackageAsKunkunExtension * feat: add optional readme field to database types for improved package metadata * feat: enhance StoreExtDetail to display package metadata including author and contributors - Added packageJson prop to StoreExtDetail for improved extension metadata display. - Implemented rendering of author and contributors from packageJson. - Integrated README content display in StoreExtDetail if available. - Updated +page.svelte to parse and provide packageJson data using valibot for validation. * feat: enhance TauriLink component to support conditional rendering based on Tauri environment - Added detection for Tauri environment using the browser variable. - Updated the TauriLink component to render a button when in Tauri, and an anchor tag for external links otherwise. - Improved user experience by ensuring appropriate link behavior based on the application context. * feat: add unpacked size to npm registry * feat: replace size in ext_publish table to tarball_size, add unpacked_size (only applicable to npm) * feat: add pretty-bytes dependency and update debug package version - Added `pretty-bytes` package with version 6.1.1 to `package.json`. - Updated `debug` package to use `supports-color@9.4.0` in `pnpm-lock.yaml` for improved compatibility. * feat: add tarball_size field to database types for improved package metadata * feat: add readme fetching for npm registry, readme from github * fix: remove console.log from NPM API test to clean up output * style: update extension store details * style: update README section in StoreExtDetail component for improved styling * fix: update command input placeholder text in English, Russian, and Chinese translations for clarity * chore: bump version to 0.1.18 in package.json * fix: lint
25 lines
738 B
TypeScript
25 lines
738 B
TypeScript
/**
|
|
* Get the tarball size of a package
|
|
* @param url tarball url, can technically be any url
|
|
* @returns tarball size in bytes
|
|
*/
|
|
export function getTarballSize(url: string, method: "HEAD" | "GET" = "HEAD"): Promise<number> {
|
|
return fetch(url, { method }).then((res) => {
|
|
if (!(res.ok && res.status === 200)) {
|
|
throw new Error("Failed to fetch tarball size")
|
|
}
|
|
return Number(res.headers.get("Content-Length"))
|
|
})
|
|
}
|
|
|
|
export function getRawFileFromGitHub(
|
|
owner: string,
|
|
repo: string,
|
|
commit: string,
|
|
filePath: string
|
|
): Promise<string | undefined> {
|
|
return fetch(`https://raw.githubusercontent.com/${owner}/${repo}/${commit}/${filePath}`)
|
|
.then((res) => (res.ok ? res.text() : undefined))
|
|
.catch((e) => undefined)
|
|
}
|