{"id":13482136,"url":"https://github.com/whatwg/fetch","last_synced_at":"2026-02-03T19:01:47.088Z","repository":{"id":4632701,"uuid":"5777189","full_name":"whatwg/fetch","owner":"whatwg","description":"Fetch Standard","archived":false,"fork":false,"pushed_at":"2025-12-30T17:44:17.000Z","size":7927,"stargazers_count":2207,"open_issues_count":317,"forks_count":381,"subscribers_count":148,"default_branch":"main","last_synced_at":"2026-01-03T13:49:59.456Z","etag":null,"topics":["fetch","standard","whatwg"],"latest_commit_sha":null,"homepage":"https://fetch.spec.whatwg.org/","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/whatwg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","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":"2012-09-12T08:39:20.000Z","updated_at":"2026-01-02T06:44:04.000Z","dependencies_parsed_at":"2023-07-05T19:49:16.996Z","dependency_job_id":"d6ddf396-cc9e-4918-9c05-263c2ea6c6b9","html_url":"https://github.com/whatwg/fetch","commit_stats":{"total_commits":999,"total_committers":108,"mean_commits":9.25,"dds":0.3273273273273273,"last_synced_commit":"2c085155a17a0cbab11b2d654feb5397671ce9da"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/whatwg/fetch","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/whatwg%2Ffetch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/whatwg%2Ffetch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/whatwg%2Ffetch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/whatwg%2Ffetch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/whatwg","download_url":"https://codeload.github.com/whatwg/fetch/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/whatwg%2Ffetch/sbom","scorecard":{"id":1237338,"data":{"date":"2025-09-01","repo":{"name":"github.com/whatwg/fetch","commit":"087351ad1453384715a510ac7ac8b36fc4b38646"},"scorecard":{"version":"v5.2.1-41-g40576783","commit":"40576783fda6698350fcbbeaea760ff827433034"},"score":5.5,"checks":[{"name":"Maintained","score":10,"reason":"9 commit(s) and 6 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/build.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#token-permissions"}},{"name":"Code-Review","score":7,"reason":"Found 22/30 approved changesets -- score normalized to 7","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#code-review"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#binary-artifacts"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#dangerous-workflow"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/whatwg/fetch/build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/whatwg/fetch/build.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/build.yml:24","Info:   0 out of   2 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#vulnerabilities"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#sast"}}]},"last_synced_at":"2025-09-09T17:44:57.562Z","repository_id":4632701,"created_at":"2025-09-09T17:44:57.562Z","updated_at":"2025-09-09T17:44:57.562Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29054040,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-03T15:43:47.601Z","status":"ssl_error","status_checked_at":"2026-02-03T15:43:46.709Z","response_time":96,"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":["fetch","standard","whatwg"],"created_at":"2024-07-31T17:00:59.363Z","updated_at":"2026-02-03T19:01:47.065Z","avatar_url":"https://github.com/whatwg.png","language":"HTML","readme":"This repository hosts the [Fetch Standard](https://fetch.spec.whatwg.org/).\n\n## Code of conduct\n\nWe are committed to providing a friendly, safe, and welcoming environment for all. Please read and respect the [Code of Conduct](https://whatwg.org/code-of-conduct).\n\n## Contribution opportunities\n\nFolks notice minor and larger issues with the Fetch Standard all the time and we'd love your help fixing those. Pull requests for typographical and grammar errors are also most welcome.\n\nIssues labeled [\"good first issue\"](https://github.com/whatwg/fetch/labels/good%20first%20issue) are a good place to get a taste for editing the Fetch Standard. Note that we don't assign issues and there's no reason to ask for availability either, just provide a pull request.\n\nIf you are thinking of suggesting a new feature, read through the [FAQ](https://whatwg.org/faq) and [Working Mode](https://whatwg.org/working-mode) documents to get yourself familiarized with the process.\n\nWe'd be happy to help you with all of this [on Chat](https://whatwg.org/chat).\n\n## Pull requests\n\nIn short, change `fetch.bs` and submit your patch, with a [good commit message](https://github.com/whatwg/meta/blob/main/COMMITTING.md).\n\nPlease add your name to the Acknowledgments section in your first pull request, even for trivial fixes. The names are sorted lexicographically.\n\nTo ensure your patch meets all the necessary requirements, please also see the [Contributor Guidelines](https://github.com/whatwg/meta/blob/main/CONTRIBUTING.md). Editors of the Fetch Standard are expected to follow the [Maintainer Guidelines](https://github.com/whatwg/meta/blob/main/MAINTAINERS.md).\n\n## Tests\n\nTests are an essential part of the standardization process and will need to be created or adjusted as changes to the standard are made. Tests for the Fetch Standard can be found in the `fetch/` directory of [`web-platform-tests/wpt`](https://github.com/web-platform-tests/wpt).\n\nA dashboard showing the tests running against browser engines can be seen at [wpt.fyi/results/fetch](https://wpt.fyi/results/fetch).\n\n## Building \"locally\"\n\nFor quick local iteration, run `make`; this will use a web service to build the standard, so that you don't have to install anything. See more in the [Contributor Guidelines](https://github.com/whatwg/meta/blob/main/CONTRIBUTING.md#building).\n\n## Formatting\n\nUse a column width of 100 characters.\n\nDo not use newlines inside \"inline\" elements, even if that means exceeding the column width requirement.\n```html\n\u003cp\u003eThe\n\u003cdfn method for=DOMTokenList lt=remove(tokens)|remove()\u003e\u003ccode\u003eremove(\u003cvar\u003etokens\u003c/var\u003e\u0026hellip;)\u003c/code\u003e\u003c/dfn\u003e\nmethod, when invoked, must run these steps:\n```\nis okay and\n  ```html\n\u003cp\u003eThe \u003cdfn method for=DOMTokenList\nlt=remove(tokens)|remove()\u003e\u003ccode\u003eremove(\u003cvar\u003etokens\u003c/var\u003e\u0026hellip;)\u003c/code\u003e\u003c/dfn\u003e method, when\ninvoked, must run these steps:\n```\nis not.\n\nUsing newlines between \"inline\" element tag names and their content is also forbidden. (This actually alters the content, by adding spaces.) That is\n```html\n\u003ca\u003etoken\u003c/a\u003e\n```\nis fine and\n```html\n\u003ca\u003etoken\n\u003c/a\u003e\n```\nis not.\n\nAn `\u003cli\u003e` element always has a `\u003cp\u003e` element inside it, unless it's a child of `\u003cul class=brief\u003e`.\n\nIf a \"block\" element contains a single \"block\" element, do not put it on a newline.\n\nDo not indent for anything except a new \"block\" element. For instance\n```html\n \u003cli\u003e\u003cp\u003eFor each \u003cvar\u003etoken\u003c/var\u003e in \u003cvar\u003etokens\u003c/var\u003e, in given order, that is not in\n \u003ca\u003etokens\u003c/a\u003e, append \u003cvar\u003etoken\u003c/var\u003e to \u003ca\u003etokens\u003c/a\u003e.\n```\nis not indented, but\n```html\n\u003col\u003e\n \u003cli\u003e\n  \u003cp\u003eFor each \u003cvar\u003etoken\u003c/var\u003e in \u003cvar\u003etokens\u003c/var\u003e, run these substeps:\n\n  \u003col\u003e\n   \u003cli\u003e\u003cp\u003eIf \u003cvar\u003etoken\u003c/var\u003e is the empty string, \u003ca\u003ethrow\u003c/a\u003e a {{SyntaxError}} exception.\n```\nis.\n\nEnd tags may be included (if done consistently) and attributes may be quoted (using double quotes), though the prevalent theme is to omit end tags and not quote attributes (unless they contain a space).\n\nPlace one newline between paragraphs (including list elements). Place three newlines before `\u003ch2\u003e`, and two newlines before other headings. This does not apply when a nested heading follows the parent heading.\n```html\n\u003cul\u003e\n \u003cli\u003e\u003cp\u003eDo not place a newline above.\n\n \u003cli\u003e\u003cp\u003ePlace a newline above.\n\u003c/ul\u003e\n\n\u003cp\u003ePlace a newline above.\n\n\n\u003ch3\u003ePlace two newlines above.\u003c/h3\u003e\n\n\u003ch4\u003ePlacing one newline is OK here.\u003c/h4\u003e\n\n\n\u003ch4\u003ePlace two newlines above.\u003c/h4\u003e\n```\nUse camel-case for variable names and \"spaced\" names for definitions, algorithms, etc.\n```html\n\u003cp\u003eA \u003ca for=/\u003erequest\u003c/a\u003e has an associated\n\u003cdfn export for=request id=concept-request-redirect-mode\u003eredirect mode\u003c/dfn\u003e,...\n```\n```html\n\u003cp\u003eLet \u003cvar\u003eredirectMode\u003c/var\u003e be \u003cvar\u003erequest\u003c/var\u003e's \u003ca for=request\u003eredirect mode\u003c/a\u003e.\n```\n","funding_links":[],"categories":["HTML"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwhatwg%2Ffetch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwhatwg%2Ffetch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwhatwg%2Ffetch/lists"}