{"id":49453692,"url":"https://github.com/tzeikob/javascript-patterns","last_synced_at":"2026-06-18T22:00:57.430Z","repository":{"id":52172633,"uuid":"111294752","full_name":"tzeikob/javascript-patterns","owner":"tzeikob","description":"A digital book of design patterns and best practices in JavaScript.","archived":false,"fork":false,"pushed_at":"2021-09-25T14:40:12.000Z","size":459,"stargazers_count":42,"open_issues_count":2,"forks_count":12,"subscribers_count":4,"default_branch":"master","last_synced_at":"2023-03-05T03:07:54.086Z","etag":null,"topics":["best-practices","cheat-sheet","design-patterns","digital-book","javascript"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/tzeikob.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-11-19T12:51:42.000Z","updated_at":"2023-02-25T19:17:01.000Z","dependencies_parsed_at":"2022-08-24T04:31:12.061Z","dependency_job_id":null,"html_url":"https://github.com/tzeikob/javascript-patterns","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"purl":"pkg:github/tzeikob/javascript-patterns","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tzeikob%2Fjavascript-patterns","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tzeikob%2Fjavascript-patterns/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tzeikob%2Fjavascript-patterns/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tzeikob%2Fjavascript-patterns/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tzeikob","download_url":"https://codeload.github.com/tzeikob/javascript-patterns/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tzeikob%2Fjavascript-patterns/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34508867,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-18T02:00:06.871Z","response_time":128,"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":["best-practices","cheat-sheet","design-patterns","digital-book","javascript"],"created_at":"2026-04-30T04:01:03.703Z","updated_at":"2026-06-18T22:00:57.425Z","avatar_url":"https://github.com/tzeikob.png","language":"JavaScript","funding_links":[],"categories":["📦 Legacy \u0026 Inactive Projects"],"sub_categories":[],"readme":"# JavaScript Patterns\n\n\u003e NOTE: You are viewing the latest edition of this digital book which should be considered as a work **in progress**. The [1st edition](https://github.com/tzeikob/javascript-patterns/tree/1st-ed) of this book has been archived and kept stale.\n\nThis is a digital book diving deep into the field of design patterns and best practices being used in JavasScript software development. Even though this content is focusing in JavaScript implementations, many patterns and practices may still be applicable to others programming languages as well.\n\n## Table of Contents\n* Foundational\n  * [Callback](foundational/callback/)\n* Control Flow\n  * [Sequential Execution](control-flow/sequential-execution/)\n  * [Sequential Iteration](control-flow/sequential-iteration/)\n  * [Parallel Execution](control-flow/parallel-execution/)\n  * [Limited Parallel Execution](control-flow/limited-parallel-execution/)\n* Behavioral\n  * [Observer](behavioral/observer/)\n\n## Reference Books \u0026 Sources\n\nBelow you can find reference books and sources about design patterns and best practices in the JavaScript:\n\n* [JavaScript Patterns](https://www.oreilly.com/library/view/javascript-patterns/9781449399115/)\n* [Learning JavaScript Data Structures and Algorithms, 2nd Ed.](https://www.packtpub.com/product/learning-javascript-data-structures-and-algorithms-second-edition/9781785285493)\n* [Node.js Design Patterns, 3rd Ed.](https://www.packtpub.com/product/node-js-design-patterns-third-edition/9781839214110)\n\n## Contributions\n\nYou are welcome to contribute to the quality of this content by submitting PRs for improvements to code snippets, explanations, additions, etc. Your effort to contribute to this content is of course greatly appreciated.\n\nBut **PLEASE** read the [Contributions Guidelines](CONTRIBUTE.md) carefully before submitting a PR.\n\n## License \u0026 Copyright\n\nThe materials herein are all \u0026copy; 2020-2021 Iakovos Papadopoulos (Jake Ob).\n\n\u003ca rel=\"license\" href=\"http://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.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftzeikob%2Fjavascript-patterns","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftzeikob%2Fjavascript-patterns","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftzeikob%2Fjavascript-patterns/lists"}