{"id":49901018,"url":"https://github.com/hagicode-org/vendered","last_synced_at":"2026-05-26T04:01:05.599Z","repository":{"id":355788707,"uuid":"1229570080","full_name":"HagiCode-org/vendered","owner":"HagiCode-org","description":null,"archived":false,"fork":false,"pushed_at":"2026-05-16T06:07:00.000Z","size":169,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-16T06:20:11.282Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HagiCode-org.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-05T07:14:52.000Z","updated_at":"2026-05-16T03:20:10.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/HagiCode-org/vendered","commit_stats":null,"previous_names":["hagicode-org/vendered"],"tags_count":28,"template":false,"template_full_name":null,"purl":"pkg:github/HagiCode-org/vendered","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HagiCode-org%2Fvendered","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HagiCode-org%2Fvendered/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HagiCode-org%2Fvendered/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HagiCode-org%2Fvendered/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HagiCode-org","download_url":"https://codeload.github.com/HagiCode-org/vendered/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HagiCode-org%2Fvendered/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33503230,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T03:12:49.672Z","status":"ssl_error","status_checked_at":"2026-05-26T03:12:47.976Z","response_time":63,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-05-16T06:13:42.212Z","updated_at":"2026-05-26T04:01:05.593Z","avatar_url":"https://github.com/HagiCode-org.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# vendered\n\nThis repository stores vendored build inputs and CI automation.\n\n- `packages/code-server/` contains the vendored code-server integration.\n- `packages/code-server/upstream/` is a Git submodule pointing to `https://github.com/coder/code-server.git`.\n- `packages/omniroute/` contains the vendored OmniRoute integration.\n- `packages/omniroute/upstream/` is a Git submodule pointing to `https://github.com/diegosouzapw/OmniRoute.git`.\n- `.github/workflows/code-server-artifacts.yaml` is the shared vendored pipeline. It resolves one vendored version/tag per run, then builds `code-server` and OmniRoute in parallel, validates both package families, and publishes one shared GitHub Release result.\n- `packages/code-server/scripts/build-artifacts.mjs` and `packages/code-server/scripts/verify-startup.mjs` are the Node entrypoints for the build and post-build verification flow.\n- `packages/code-server/templates/code-server-config.yaml` and `packages/omniroute/templates/omniroute-config.yaml` are the packaged YAML config templates. Deployment is expected to copy one of these templates into a runtime `config.yaml`, fill in the values, and pass it to the packaged CLI with `--config`.\n- `packages/omniroute/scripts/build-artifacts.mjs` and `packages/omniroute/scripts/verify-startup.mjs` are the OmniRoute package-local build and packaged-entry verification entrypoints. The OmniRoute verify step now performs a real `pm2`-managed startup smoke test against the packaged release and waits for `/api/monitoring/health` before publication.\n\n## Terminal usage for published packages\n\nThe files under `packages/*/scripts/*.mjs` are maintainer build and verification entrypoints. End users should run the extracted release archives from the GitHub Release assets instead of invoking those repo-local scripts directly.\n\n### code-server\n\nAfter extracting a published `code-server-\u003cversion\u003e-\u003cplatform\u003e-\u003carch\u003e` archive, start it from a terminal with the packaged wrapper:\n\n```bash\n./bin/code-server --help\n./bin/code-server --bind-addr 0.0.0.0:8080 .\n```\n\nOn Windows, use `.\\bin\\code-server.cmd`.\n\nIf you need the direct Node entrypoint for troubleshooting, use `node ./out/node/entry.js --help` from inside the extracted archive. Do not treat repo-local build scripts as runtime entrypoints.\n\n### OmniRoute\n\nAfter extracting a published `omniroute-\u003cversion\u003e-\u003cplatform\u003e-\u003carch\u003e` archive, start it from a terminal with the top-level wrapper:\n\n```bash\n./omniroute.sh --help\n./omniroute.sh\n./omniroute-reset-password.sh\n```\n\nOn Windows, use `.\\omniroute.cmd` or `.\\omniroute-reset-password.cmd`.\n\nIf you need the direct Node CLI entrypoints, use `node ./bin/omniroute.mjs --help` and `node ./bin/reset-password.mjs` from inside the extracted archive. Do not start the packaged OmniRoute release from `scripts/*.mjs`; those files are support scripts, not supported runtime entrypoints.\n\n## Runtime contract\n\nThe vendored terminal programs are designed to run as:\n\n`pm2` -\u003e packaged wrapper -\u003e Node entrypoint\n\nThat contract applies to both package families:\n\n- `code-server`: use `./bin/code-server` on Unix-like systems or `.\\\\bin\\\\code-server.cmd` under Windows PM2.\n- `omniroute`: use `./omniroute.sh` on Unix-like systems or `.\\\\omniroute.cmd` under Windows PM2.\n\nPM2 should not point directly at `out/node/entry.js`, `bin/*.mjs`, `app/server.js`, or support scripts. Those internal entrypoints are still present in the archive, but the supported runtime surface is the wrapper layer because it is what the packaged verification flow exercises.\n\n## YAML configuration\n\nBoth package families ship YAML templates inside the release archive:\n\n- `templates/code-server-config.yaml`\n- `templates/omniroute-config.yaml`\n\nThe supported deployment flow is:\n\n1. Extract the release archive.\n2. Copy the package template to a writable runtime path such as `./config.yaml`.\n3. Fill in the YAML values.\n4. Start the packaged wrapper through PM2 and pass `--config ./config.yaml`.\n\nThe verification scripts enforce this design by materializing a config file from the packaged YAML template and then performing a real PM2-managed wrapper startup check before publication.\n\n## Release versioning\n\nPublished builds use a UTC date-based version in `YYYY.MMDD.RRRR` form, where:\n\n- `YYYY` is the UTC year\n- `MMDD` is the UTC month and day\n- `RRRR` is the zero-padded GitHub Actions run number\n\nFor example, the first qualifying workflow run on 2026-05-05 would produce `2026.0505.0001` and tag the repository as `v2026.0505.0001`.\n\n## GitHub Release publication\n\nAfter both package families finish their per-platform build and verification jobs, the shared workflow creates or updates one repository release tagged with `v\u003cversion\u003e` and uploads both the `code-server` and OmniRoute `.zip`, `.tar`, and `.7z` archives from that same run. Asset names stay package-specific so both package families share one vendored release/tag without clobbering one another's archives. Publication still happens automatically on `push` to `main`, and it can also be triggered manually with `workflow_dispatch`. The shared workflow also has a daily schedule, but scheduled runs stop after build and verification so publication remains explicit.\n\nThe GitHub release job uses the workflow's built-in `GITHUB_TOKEN`, so no extra repository secret is required.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhagicode-org%2Fvendered","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhagicode-org%2Fvendered","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhagicode-org%2Fvendered/lists"}