mirror of
https://github.com/iflytek/skillhub.git
synced 2026-08-28 11:25:00 +00:00
Publishing required a hand-made .zip. Local agent skills live as folders, and repackaging them by hand often smuggles in tool metadata (__MACOSX/, .DS_Store, ...) that clutters the package (#737). Add an "upload a folder" option to the publish dropzone: pick a folder (webkitdirectory), and the browser packages it into a clean STORE-method zip via a dependency-free writer, dropping VCS/build/OS junk (.git/, node_modules/, __pycache__/, .DS_Store, ...). The resulting zip flows through the exact same upload/publish path, and the server already strips a single root directory, so paths are preserved as-is. Packaging (folder-zip.ts) is isolated and unit-tested (CRC-32 vectors, zip structure, junk filtering); the UploadZone gains an optional onFolderSelect prop so existing callers are unaffected. Closes #737 Signed-off-by: FenjuFu <92919259+FenjuFu@users.noreply.github.com> |
||
|---|---|---|
| .. | ||
| docker-entrypoint.d | ||
| e2e | ||
| public | ||
| src | ||
| .browserslistrc | ||
| .dockerignore | ||
| .eslintrc.cjs | ||
| base-path-config.test.ts | ||
| base-path-config.ts | ||
| components.json | ||
| Dockerfile | ||
| index.html | ||
| LANDING_PAGE_REDESIGN.md | ||
| nginx.conf.template | ||
| package.json | ||
| playwright.config.ts | ||
| playwright.smoke.config.ts | ||
| pnpm-lock.yaml | ||
| postcss.config.js | ||
| PREVIEW.md | ||
| runtime-config.js.template | ||
| tailwind.config.ts | ||
| TODO.md | ||
| tsconfig.json | ||
| vite.config.ts | ||