Commit Graph
413 Commits
Author SHA1 Message Date
xixu-me 44b54580ad Add multi-platform function adapters and CI workflow
Introduces adapters for Vercel, Netlify Edge, Deno Deploy, and Cloudflare Pages, each with platform-specific entry points and configuration files. Adds a GitHub Actions CI workflow for linting, type checking, and testing. Updates lint scripts to include adapters, improves type annotations in src/index.js, and fixes a type assertion in security tests.
2025-12-10 16:08:10 +08:00
xixu-me 214e596d00 Refactor request handling and improve Docker detection
Refactored the main request handler in src/index.js for improved readability and error handling. Enhanced Docker request detection in validation.js to include additional Content-Type checks. Updated tests to increase timeouts and expand expected status codes for container registry platforms.
2025-12-10 15:47:25 +08:00
xixu-me 1c20e7af4f Refactor protocol header logic into modular helpers
Moved AI and Git protocol detection and header configuration logic from utils/validation.js and index.js into dedicated modules (src/protocols/ai.js and src/protocols/git.js). This improves code organization, modularity, and maintainability by separating protocol-specific concerns.
2025-12-10 15:25:57 +08:00
xixu-me 70ff5b248d Refactor protocol and utility logic into separate modules
Moved Docker/OCI protocol handling, performance monitoring, security, and validation logic into dedicated modules under src/protocols and src/utils. Updated src/index.js to use these new modules, improving maintainability and separation of concerns. Added pre-computed sorted platform keys for efficient matching in platform config.
2025-12-10 15:03:27 +08:00
xixu-me 89c8da936d Add transformPath utility to handle platform prefixes
Introduces the transformPath function to remove platform-specific prefixes from paths. This utility helps standardize path handling by stripping prefixes like /gh/ or /cr/docker/ based on the platform key.
2025-12-10 14:36:29 +08:00
xixu-me a6a0e97ada Refactor Docker authentication handling in handleRequest
Moved Docker authentication logic to occur before platform detection for /v2/auth paths, parsing the scope parameter to identify the registry platform and repository. Improved parsing of the WWW-Authenticate header and removed redundant Docker authentication code from the platform detection block.
2025-12-10 13:44:30 +08:00
xixu-me 80e3c26967 Transform scope parameter for container registry auth
Added logic to remove the cr/[registry]/ prefix from the scope parameter and handle official Docker Hub images by adding the library/ prefix. Updated tests to verify correct scope transformation for Docker Hub, GHCR, and official images.
2025-12-10 13:04:33 +08:00
xixu-me 1515515d91 Merge pull request #130 from xixu-me/alert-autofix-11
Potential fix for code scanning alert no. 11: Incomplete regular expression for hostnames
2025-12-08 20:06:18 +08:00
xixu-meandCopilot Autofix powered by AI ead7afed1a Potential fix for code scanning alert no. 11: Incomplete regular expression for hostnames
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2025-12-08 20:05:05 +08:00
xixu-me e639554587 Update tsconfig for bundler resolution and type includes
Changed moduleResolution to 'bundler' and added Cloudflare Vitest pool workers types to the include array for better type support. Removed explicit types array and ensured configuration aligns with new tooling requirements.
2025-12-08 20:03:10 +08:00
xixu-me 9b5db30455 Update tsconfig for module resolution and types
Changed moduleResolution from 'bundler' to 'node', added global types for Cloudflare Workers and Vitest, and simplified the include paths. This improves compatibility with Node.js tooling and test environments.
2025-12-08 20:01:57 +08:00
xixu-me a621d4f21b Revert "Add CI workflow and update deployment triggers"
This reverts commit 55e99c9eac.
2025-12-08 19:57:58 +08:00
xixu-me 4993444f51 Add type declarations and improve test typings
Introduces src/types.d.ts and test/types.d.ts for Cloudflare Workers and test utilities. Enhances JSDoc comments and type annotations across test files for better type safety and clarity. Updates tsconfig.json to use bundler module resolution and include additional type sources. Minor test logic and assertion improvements for robustness.
2025-12-08 19:57:48 +08:00
xixu-me d2ee1bcd37 Add eslint-config-prettier and update ESLint config
Integrated eslint-config-prettier to disable formatting rules that conflict with Prettier. Updated ESLint configuration and added the dependency to package.json for improved code formatting consistency.
2025-12-08 19:34:56 +08:00
xixu-me 7036cbd39e Refactor cacheKey request formatting
Reformats the construction of the cacheKey Request object for improved readability and consistency in indentation.
2025-12-08 19:23:07 +08:00
xixu-me d88f1911a6 Improve parsing, regex, and test consistency
Refines regex patterns for URL rewriting and authentication parsing, ensures parseInt uses radix 10 throughout, and updates test mocks and helpers for consistency. Also adds more global variables to ESLint config, improves error handling, and removes unused code in tests.
2025-12-08 19:19:10 +08:00
xixu-me 55e99c9eac Add CI workflow and update deployment triggers
Introduces a new CI workflow for linting, type checking, and testing. Updates sync and workers deployment workflows to trigger on successful completion of the CI workflow instead of direct pushes, improving reliability and sequencing of deployments.
2025-12-08 19:11:44 +08:00
xixu-me 3dbd9c3cbf Merge pull request #129 from xixu-me/revert-128-dependabot/npm_and_yarn/vitest-4.0.15
Revert "deps(deps-dev): bump vitest from 3.2.4 to 4.0.15"
2025-12-08 19:02:57 +08:00
xixu-me 1360fae6d9 Revert "deps(deps-dev): bump vitest from 3.2.4 to 4.0.15" 2025-12-08 19:02:46 +08:00
xixu-me 2e8a5f2078 Merge pull request #128 from xixu-me/dependabot/npm_and_yarn/vitest-4.0.15
deps(deps-dev): bump vitest from 3.2.4 to 4.0.15
2025-12-08 18:56:06 +08:00
dependabot[bot] ebcd8aab70 deps(deps-dev): bump vitest from 3.2.4 to 4.0.15
Bumps [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) from 3.2.4 to 4.0.15.
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.15/packages/vitest)

---
updated-dependencies:
- dependency-name: vitest
  dependency-version: 4.0.15
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-08 10:53:01 +00:00
xixu-me 3683fb555f Merge pull request #126 from xixu-me/dependabot/npm_and_yarn/cloudflare/vitest-pool-workers-0.10.14
deps(deps-dev): bump @cloudflare/vitest-pool-workers from 0.10.10 to 0.10.14
2025-12-08 18:52:17 +08:00
xixu-me f331d09663 Merge pull request #127 from xixu-me/dependabot/npm_and_yarn/prettier-3.7.4
deps(deps-dev): bump prettier from 3.6.2 to 3.7.4
2025-12-08 18:51:45 +08:00
dependabot[bot] 09b0cfc57c deps(deps-dev): bump @cloudflare/vitest-pool-workers
Bumps [@cloudflare/vitest-pool-workers](https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/vitest-pool-workers) from 0.10.10 to 0.10.14.
- [Release notes](https://github.com/cloudflare/workers-sdk/releases)
- [Changelog](https://github.com/cloudflare/workers-sdk/blob/main/packages/vitest-pool-workers/CHANGELOG.md)
- [Commits](https://github.com/cloudflare/workers-sdk/commits/@cloudflare/vitest-pool-workers@0.10.14/packages/vitest-pool-workers)

---
updated-dependencies:
- dependency-name: "@cloudflare/vitest-pool-workers"
  dependency-version: 0.10.14
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-08 10:50:43 +00:00
dependabot[bot] 88c92e324b deps(deps-dev): bump prettier from 3.6.2 to 3.7.4
Bumps [prettier](https://github.com/prettier/prettier) from 3.6.2 to 3.7.4.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/3.6.2...3.7.4)

---
updated-dependencies:
- dependency-name: prettier
  dependency-version: 3.7.4
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-08 10:49:59 +00:00
xixu-me 812945dcb7 Merge pull request #125 from xixu-me/dependabot/npm_and_yarn/express-5.2.1
deps(deps): bump express from 4.21.2 to 5.2.1
2025-12-08 18:49:41 +08:00
xixu-me 9dc0bdd774 Merge pull request #124 from xixu-me/dependabot/npm_and_yarn/cloudflare/workers-types-4.20251205.0
deps(deps-dev): bump @cloudflare/workers-types from 4.20251121.0 to 4.20251205.0
2025-12-08 18:48:25 +08:00
dependabot[bot] c2f8ad2ccb deps(deps): bump express from 4.21.2 to 5.2.1
Bumps [express](https://github.com/expressjs/express) from 4.21.2 to 5.2.1.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.21.2...v5.2.1)

---
updated-dependencies:
- dependency-name: express
  dependency-version: 5.2.1
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-08 10:33:44 +00:00
dependabot[bot] 71f8b5f01f deps(deps-dev): bump @cloudflare/workers-types
Bumps [@cloudflare/workers-types](https://github.com/cloudflare/workerd) from 4.20251121.0 to 4.20251205.0.
- [Release notes](https://github.com/cloudflare/workerd/releases)
- [Changelog](https://github.com/cloudflare/workerd/blob/main/RELEASE.md)
- [Commits](https://github.com/cloudflare/workerd/commits)

---
updated-dependencies:
- dependency-name: "@cloudflare/workers-types"
  dependency-version: 4.20251205.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-08 10:33:36 +00:00
xixu-me 61c0181c26 Add Gitee 2025 award voting notice to README
Added a prominent message in both English and Chinese README files to encourage users to vote for Xget in the Gitee 2025 Open Source Software Awards.
2025-12-08 16:07:29 +08:00
xixu-me a4da6607c7 Improve Content-Length detection for HEAD requests
Enhances the logic for obtaining Content-Length when a HEAD request does not return it by first attempting a Range GET for the first byte, extracting the total size from Content-Range if available, and falling back to buffering the response body for small files. This approach avoids unnecessary full downloads and improves efficiency, especially for large files.
2025-11-27 18:36:26 +08:00
xixu-me f694a42eac Fix spacing in Deno Deploy documentation link
Removed an extra space before '执行部署' in the Deno Deploy documentation reference for improved formatting in the README.
2025-11-27 18:16:39 +08:00
xixu-me 207401fd89 Reorder and update badges in README files
Moved 'Ask Zread', 'Ask DeepWiki', 'Chromium', and 'Firefox' badges to the top of the badge section in both README.en.md and README.md. This improves badge visibility and maintains consistency across documentation.
2025-11-27 18:11:46 +08:00
xixu-me 9cdd05410b Add Deno Deploy badge and deployment instructions
Added a Deno Deploy badge to the README files and provided step-by-step instructions for deploying the project to Deno Deploy, including switching the default branch and connecting the repository. This update improves documentation for users who want to deploy using Deno Deploy.
2025-11-27 18:07:35 +08:00
xixu-me f768add341 Remove Deno Deploy GitHub Actions workflow
Deleted the .github/workflows/functions-dn.yml file, removing the workflow for deploying to Deno Deploy. This may be due to a change in deployment strategy or deprecation of this workflow.
2025-11-27 17:44:41 +08:00
xixu-me f6c580728e Update workflow triggers and permissions in CI configs
Workflows now trigger on both successful workflow runs and manual dispatch events. Increased timeout and moved permissions block for functions-dn workflow to align with job configuration.
2025-11-27 17:41:18 +08:00
xixu-me f7582e4586 Update Deno Deploy workflow trigger and concurrency
Change the workflow trigger from push on 'functions' branch to workflow_run on 'main' after 'Sync to Pages and Functions' completes. Add concurrency group to prevent overlapping runs.
2025-11-27 17:21:30 +08:00
xixu-me a1d0affaac Add GitHub Actions workflow for Deno Deploy
Introduces a workflow to deploy the 'functions' branch to Deno Deploy using denoland actions. The workflow checks out the branch, sets up Deno, verifies the installation, and deploys the project.
2025-11-27 17:20:09 +08:00
xixu-me c33fcfec0f Add Deno Deploy handler to workflow
Introduces a step in the GitHub Actions workflow to create a Deno Deploy handler (deno.js) for deployments. The handler adapts the main request handler for Deno's environment, extracting environment variables and providing minimal context support.
2025-11-27 17:05:33 +08:00
xixu-me f60661db6f Refactor test helpers and add auth header forwarding tests
Modularizes test helpers into separate files for assertions, generators, and mocks, and updates imports for platform tests. Adds new tests to verify Authorization header forwarding for authenticated requests. Cleans up and simplifies test setup, and updates fixtures for clarity and maintainability.
2025-11-27 16:27:42 +08:00
xixu-me 076b64ff9e Update deployment instructions for Vercel and EdgeOne
Clarified and expanded the required GitHub secrets for Vercel deployments, including Team ID and Project ID, and updated token naming for EdgeOne in both English and Chinese README files. Improved wording for Netlify Project ID instructions.
2025-11-25 18:52:26 +08:00
xixu-me bbc90556a4 Add Vercel org and project IDs to workflow env
Sets VERCEL_ORG_ID and VERCEL_PROJECT_ID environment variables in the functions-vc GitHub Actions workflow using repository secrets. This enables the workflow to access Vercel organization and project context during execution.
2025-11-25 18:29:12 +08:00
xixu-me 7c49d905a1 Add Netlify deployment instructions to README
Added Netlify deployment badge and detailed deployment steps to both English and Chinese README files. Also clarified that Workers code is converted to Functions-compatible format for both Vercel and Netlify workflows.
2025-11-25 18:19:58 +08:00
xixu-me 44dd815042 Improve environment detection in sync workflow
Enhanced the handler to better distinguish between Netlify, Vercel, and other environments. Environment variable normalization now accounts for different runtime contexts, and warning logs for unsupported features are always shown, not just in non-production.
2025-11-25 18:07:20 +08:00
xixu-me 0e7aad4755 Add Netlify deploy workflow and unify edge handler
Introduces a new GitHub Actions workflow for deploying to Netlify, updates the Vercel workflow name, and refactors the edge function handler to support both Netlify and Vercel platforms with runtime detection. Adds Netlify-specific configuration and redirect files to enable shared handler logic, reducing code duplication and simplifying multi-platform deployments.
2025-11-25 17:55:32 +08:00
xixu-me 18ec41125f Fix spacing in Vercel Access Token instructions
Removed an unnecessary space in the instructions for creating a Vercel Access Token in the README for improved formatting.
2025-11-25 16:18:25 +08:00
xixu-me 870014ba03 Add Vercel deployment instructions and badge
Added Vercel deployment badge and detailed deployment steps to both English and Chinese README files. Updated the GitHub Actions workflow commit messages to generalize function conversion steps and removed detailed change lists. Minor wording improvements in the Chinese README for consistency.
2025-11-25 16:15:18 +08:00
xixu-me 82475ae45e Update workflow triggers to new workflow name
Changed workflow_run triggers in deployment workflows to reference the updated workflow name 'Sync to Pages and Functions' instead of the previous names. This ensures deployments are triggered correctly after the new workflow completes.
2025-11-25 14:53:08 +08:00
xixu-me 06561b5b2b Add Vercel Functions workflow and sync automation
Introduces a new GitHub Actions workflow for deploying to Vercel Functions and extends the sync workflow to auto-convert and push the codebase to a 'functions' branch for Vercel deployment. Updates workflow YAML files for consistent quoting and naming, refines documentation in CLAUDE.md for platform support and development, and updates package-lock.json dependencies.
2025-11-25 14:49:42 +08:00
xixu-me 988de5b6e2 Merge pull request #114 from xiinc1/dependabot/npm_and_yarn/cloudflare/vitest-pool-workers-0.10.10
deps(deps-dev): bump @cloudflare/vitest-pool-workers from 0.8.71 to 0.10.10
2025-11-24 14:48:13 +08:00