{"id":15030367,"url":"https://github.com/getify/you-dont-know-js","last_synced_at":"2025-09-09T20:46:01.063Z","repository":{"id":11879185,"uuid":"14440270","full_name":"getify/You-Dont-Know-JS","owner":"getify","description":"A book series (2 published editions) on the JS language.","archived":false,"fork":false,"pushed_at":"2025-05-05T04:48:25.000Z","size":15064,"stargazers_count":182086,"open_issues_count":125,"forks_count":33636,"subscribers_count":5865,"default_branch":"2nd-ed","last_synced_at":"2025-05-19T20:05:16.592Z","etag":null,"topics":["async","book","book-series","closures","education","es2015","es6","javascript","learn-to-code","programming","prototypes","training-materials","training-providers"],"latest_commit_sha":null,"homepage":"","language":null,"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/getify.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","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}},"created_at":"2013-11-16T02:37:24.000Z","updated_at":"2025-05-19T19:56:42.000Z","dependencies_parsed_at":"2023-02-19T04:16:11.640Z","dependency_job_id":"4b7a6808-9bd8-4e2d-96d5-e5d3c73ae637","html_url":"https://github.com/getify/You-Dont-Know-JS","commit_stats":{"total_commits":1590,"total_committers":207,"mean_commits":7.681159420289855,"dds":"0.20377358490566033","last_synced_commit":"85b2e6c5fa03b95d044015d6e44b72b8beb6a53b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/getify/You-Dont-Know-JS","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getify%2FYou-Dont-Know-JS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getify%2FYou-Dont-Know-JS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getify%2FYou-Dont-Know-JS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getify%2FYou-Dont-Know-JS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/getify","download_url":"https://codeload.github.com/getify/You-Dont-Know-JS/tar.gz/refs/heads/2nd-ed","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/getify%2FYou-Dont-Know-JS/sbom","scorecard":{"id":424244,"data":{"date":"2025-08-11","repo":{"name":"github.com/getify/You-Dont-Know-JS","commit":"e3f784bcb18ba47a9e6ced0866bc361393fb299f"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.3,"checks":[{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Maintained","score":0,"reason":"1 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":2,"reason":"Found 8/30 approved changesets -- score normalized to 2","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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE.txt: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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch '2nd-ed'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/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 8 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-19T01:55:22.442Z","repository_id":11879185,"created_at":"2025-08-19T01:55:22.443Z","updated_at":"2025-08-19T01:55:22.443Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274359027,"owners_count":25270683,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-09T02:00:10.223Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["async","book","book-series","closures","education","es2015","es6","javascript","learn-to-code","programming","prototypes","training-materials","training-providers"],"created_at":"2024-09-24T20:13:12.280Z","updated_at":"2025-09-09T20:46:01.054Z","avatar_url":"https://github.com/getify.png","language":null,"funding_links":["https://www.patreon.com/getify","https://www.paypal.me/getify"],"categories":[],"sub_categories":[],"readme":"# You Don't Know JS Yet (book series) - 2nd Edition\n\nThis is a series of books diving deep into the core mechanisms of the JavaScript language. This is the **second edition** of the book series:\n\n\u003ca href=\"https://leanpub.com/ydkjsy-get-started\"\u003e\u003cimg src=\"get-started/images/cover.png\" width=\"75\"\u003e\u003c/a\u003e\u0026nbsp;\u0026nbsp;\n\u003ca href=\"https://leanpub.com/ydkjsy-scope-closures\"\u003e\u003cimg src=\"scope-closures/images/cover.png\" width=\"75\"\u003e\u003c/a\u003e\u0026nbsp;\u0026nbsp;\n\u003ca href=\"https://leanpub.com/ydkjsy-unbooks\"\u003e\u003cimg src=\"unbooks-cover.png\" width=\"75\"\u003e\u003c/a\u003e\n\n**To read more about the motivations and perspective behind this book series, check out the [Preface](preface.md).**\n\nIf you're looking for the previous **first edition** books, [they can be found here](https://github.com/getify/You-Dont-Know-JS/blob/1st-ed/README.md).\n\n## Titles\n\nI recommend reading the **second edition** books in this order:\n\n* [Get Started](get-started/README.md) | [Buy on Leanpub](https://leanpub.com/ydkjsy-get-started) | [Buy on Amazon](https://www.amazon.com/dp/B084BNMN7T)\n* [Scope \u0026 Closures](scope-closures/README.md) | [Buy on Leanpub](https://leanpub.com/ydkjsy-scope-closures) | [Buy on Amazon](https://www.amazon.com/dp/B08634PZ3N)\n* \"The Unbooks\" (ebook) | [Buy on Leanpub](https://leanpub.com/ydkjsy-unbooks) | [Buy on Amazon](https://www.amazon.com/dp/B0F7H1DN5S)\n    - [Objects \u0026 Classes](objects-classes/README.md) (draft stable)\n    - [Types \u0026 Grammar](types-grammar/README.md) (rough draft)\n    - ~~Sync \u0026 Async (canceled)~~\n    - ~~ES.Next \u0026 Beyond (canceled)~~\n\nIf you're looking for the previous **first edition** books, [they can be found here](https://github.com/getify/You-Dont-Know-JS/blob/1st-ed/README.md).\n\n## Publishing\n\nAs always, you'll be able to read these books online here entirely for free.\n\nThis edition of the books is being self-published through [GetiPub](https://geti.pub) publishing. The published books will be made available for sale through normal book retail sources.\n\nIf you'd like to contribute financially towards the effort (or any of my other OSS efforts) aside from purchasing the published books, please consider these options:\n\n* [Github Sponsorship](https://github.com/users/getify/sponsorship)\n* [Patreon](https://www.patreon.com/getify)\n* [Paypal](https://www.paypal.me/getify)\n\n## Contributions\n\nThis book series is now complete, and is **not open to further contributions**.\n\nThank you to those who've been part of the 11 years journey of this book series.\n\n## Thank You To These Wonderful Sponsors\n\n[![Frontend Masters Logo (dark)](https://github.com/getify/You-Dont-Know-JS/blob/2nd-ed/external-logos/fem_logo-light.svg)](https://frontendmasters.com#gh-light-mode-only)\n\n[![Frontend Masters Logo (light)](https://github.com/getify/You-Dont-Know-JS/blob/2nd-ed/external-logos/fem_logo.svg)](https://frontendmasters.com#gh-dark-mode-only)\n\n**The first two books of the second edition** are exclusively sponsored by **[Frontend Masters](https://frontendmasters.com/?code=simpson)**.\n\nFrontend Masters is the gold standard for top-of-the-line expert training material in frontend-oriented software development. With over 150 courses on all things frontend, this should be your first and only stop for quality video training on HTML, CSS, JS, and related technologies.\n\n**Note:** I teach [all my workshops](https://frontendmasters.com/teachers/kyle-simpson?code=simpson) exclusively through Frontend Masters. If you like this book content, please check out my video training courses.\n\nI want to extend a warm and deep thanks to Marc Grabanski and the entire Frontend Masters team, not only for their excellent work with the video training platform, but for their unwavering support of me and of the \"You Don't Know JS\" books!\n\n----\n\n## License \u0026 Copyright\n\nThe materials herein are all \u0026copy; 2019-2025 Kyle Simpson.\n\n\u003ca rel=\"license\" href=\"https://creativecommons.org/licenses/by-nc-nd/4.0/\"\u003e\u003cimg alt=\"Creative Commons License\" style=\"border-width:0\" src=\"https://i.creativecommons.org/l/by-nc-nd/4.0/88x31.png\" /\u003e\u003c/a\u003e\u003cbr /\u003eThis work is licensed under a \u003ca rel=\"license\" href=\"http://creativecommons.org/licenses/by-nc-nd/4.0/\"\u003eCreative Commons Attribution-NonCommercial-NoDerivs 4.0 Unported License\u003c/a\u003e.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgetify%2Fyou-dont-know-js","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgetify%2Fyou-dont-know-js","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgetify%2Fyou-dont-know-js/lists"}