{"id":56,"url":"https://github.com/bolshchikov/js-must-watch","last_synced_at":"2025-10-05T19:30:15.538Z","repository":{"id":37735437,"uuid":"21065473","full_name":"bolshchikov/js-must-watch","owner":"bolshchikov","description":"Must-watch videos about javascript","archived":false,"fork":false,"pushed_at":"2022-01-20T09:29:27.000Z","size":114,"stargazers_count":13493,"open_issues_count":0,"forks_count":887,"subscribers_count":868,"default_branch":"master","last_synced_at":"2025-10-02T21:04:35.789Z","etag":null,"topics":["awesome","awesome-list","education","javascript","videos","watch"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bolshchikov.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}},"created_at":"2014-06-21T09:56:48.000Z","updated_at":"2025-10-01T09:03:34.000Z","dependencies_parsed_at":"2022-07-10T14:46:35.720Z","dependency_job_id":null,"html_url":"https://github.com/bolshchikov/js-must-watch","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bolshchikov/js-must-watch","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bolshchikov%2Fjs-must-watch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bolshchikov%2Fjs-must-watch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bolshchikov%2Fjs-must-watch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bolshchikov%2Fjs-must-watch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bolshchikov","download_url":"https://codeload.github.com/bolshchikov/js-must-watch/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bolshchikov%2Fjs-must-watch/sbom","scorecard":{"id":247313,"data":{"date":"2025-08-11","repo":{"name":"github.com/bolshchikov/js-must-watch","commit":"480035c87b5342efb0656cdd87f5e6b48066cc6e"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.3,"checks":[{"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":"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":"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":"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":"Code-Review","score":2,"reason":"Found 7/29 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":"Maintained","score":0,"reason":"0 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":"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":"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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Creative Commons Zero v1.0 Universal: LICENSE:0"],"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 'master'"],"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-17T07:50:12.745Z","repository_id":37735437,"created_at":"2025-08-17T07:50:12.745Z","updated_at":"2025-08-17T07:50:12.745Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278507092,"owners_count":25998441,"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-10-05T02:00:06.059Z","response_time":54,"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":["awesome","awesome-list","education","javascript","videos","watch"],"created_at":"2024-01-05T20:12:45.167Z","updated_at":"2025-10-05T19:30:15.129Z","avatar_url":"https://github.com/bolshchikov.png","language":null,"funding_links":[],"categories":["Programming Languages","Technical","\u003ca id=\"Programming-Languages\"\u003e\u003c/a\u003eProgramming Languages","Front-end development","Others","JavaScript 开发进阶","编程语言","Uncategorized","Podcasts","Front-end Development","Miscellaneous","Other Awesome Lists [🔝](#readme)","miscellaneous","More","front-end-development","Live Site:   [searchAwesome](https://search-awesome.vercel.app/)","Other Awesome Lists","前端开发框架及项目","资料篇","Please find below the links to awesome cheat-sheet and resources:","Other Lists","Misc","📦 Legacy \u0026 Inactive Projects","Looking for more lists like this?","Themed Directories"],"sub_categories":["ramanihiteshc@gmail.com","Uncategorized","Other","CSS","其他_文本生成、文本对话","GitHub篇","Javascript:","TeX Lists","Miscellaneous Plugins","Updated more than a year ago"],"readme":"[![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)\n\u003e This is a list of must-watch videos devoted to JavaScript \n\n## 2020\n1. [David Neal: **JavaScript: Past, Present and Future**](https://youtu.be/n-N67Q0O52U) [47:26]\n\n## 2019\n1. [Rich Harris: **Rethinking reactivity**](https://www.youtube.com/watch?v=AdNJ3fydeao) [36:44]\n1. [Mathias Bynens \u0026 Sathya Gunasekaran: **What's new in JavaScript?**](https://www.youtube.com/watch?v=c0oy0vQKEZE) [36:32]\n1. [Maxim Koretskyi: **JSConf EU: A sneak peek into super optimized code in JS frameworks**](https://www.youtube.com/watch?v=_VHNTC67NR8) [23:20]\n1. [Una Kravets: **CSS Houdini \u0026 The Future of Styling**](https://www.youtube.com/watch?v=GhRE3rML9t4) [25:42]\n\n## 2018\n1. [Jake Archibald: **In The Loop**](https://www.youtube.com/watch?v=cCOL7MC4Pl0) [35:11]\n1. [Malte Ubl: **Designing very large JavaScript application**](https://www.youtube.com/watch?v=ZZmUwXEiPm4) [28:55]\n1. [Ryan Dahl: **10 Things I Regret About Node.js**](https://www.youtube.com/watch?v=M3BM9TB-8yA) [26:41]\n1. [Mathias Bynens \u0026 Benedikt Meurer: **JavaScript Engines: The Good Parts™**](https://www.youtube.com/watch?v=5nmpokoRaZI) [23:09]\n1. [Ronen Amiel: **Build your own webpack**](https://www.youtube.com/watch?v=Gc9-7PBqOC8) [39:38]\n1. [Addy Osmani: **The Cost Of JavaScript**](https://www.youtube.com/watch?v=63I-mEuSvGA) [20:07]\n1. [Erin Zimmer: **Further Adventures of the Event Loop**](https://www.youtube.com/watch?v=u1kqx6AenYw) [21:15]\n1. [Laurie Voss: **npm and the Future of JavaScript**](https://www.youtube.com/watch?v=Qa4dxW-Qi2s) [55:00]\n\n## 2017\n1. [Lin Clark: **A Cartoon Intro to Fiber**](https://www.youtube.com/watch?v=ZCuYPiUIONs) [31:47]\n1. [Yoav Weiss: **Caches All the Way Down!**](https://www.youtube.com/watch?v=WFI-Yi9Fb7Y) [30:58]\n1. [Franziska Hinkelmann: **JavaScript engines - how do they even?**](https://www.youtube.com/watch?v=p-iiEDtpy6I) [25:13]\n1. [Anjana Vakil: **Immutable data structures for functional JS**](https://www.youtube.com/watch?v=Wo0qiGPSV-s) [26:32]\n\n## 2016\n1. [Brendan Eich: **JavaScript in 2016: Beyond Harmony**](https://www.oreilly.com/ideas/brendan-eich-javascript-fluent-2016) [15:31]\n1. [André Staltz: **Brains as building blocks**](https://www.youtube.com/watch?v=1ToJ7cxb1R8) [21:26]\n1. [Cheng Lou: **On the Spectrum of Abstraction**](https://www.youtube.com/watch?v=mVVNJKv9esE) [35:31]\n1. [Anjana Vakil: **Learning Functional Programming with JavaScript**](https://www.youtube.com/watch?v=e-5obm1G_FY) [29:56]\n1. [Kyle Simpson: **Advanced Async and Concurrency Patterns in JavaScript**](https://www.youtube.com/watch?v=Qg1SvpIau6U) [39:42]\n\n## 2015 \n1. Dr. Axel Rauschmayer: **Using ECMAScript 6 today** \n\t* [Part 1](https://www.youtube.com/watch?v=Fg3bEZIcnUw) [40:44]\n\t* [Part 2](https://www.youtube.com/watch?v=Vhhq1WpzsnM) [53:04]\n1. [Brendan Eich: **ECMAScript Harmony: Rise of the Compilers**](https://www.youtube.com/watch?v=PlmsweSNhTw) [19:17] \n1. [Andreas Gal: **Dirty Performance Secrets of HTML5**](https://www.youtube.com/watch?v=t8x40JXUeWA) [14:15]\n1. [Andre Staltz: **What if the user was a function?**](https://www.youtube.com/watch?v=1zj7M1LnJV4) [32:19]\n1. [Gilmore Davidson: **Time zone of your life**](https://www.youtube.com/watch?v=2BdFg5JT9lg) [23:40]\n1. [Elijah Manor: **Eliminate JavaScript Code Smells**](https://www.youtube.com/watch?v=JVlfj7mQZPo) [29:15]\n1. [Dan Abramov: **Live React: Hot Reloading with Time Travel**](https://www.youtube.com/watch?v=xsSnOQynTHs) [30:40]\n1. [Brain Ford: **Problem solving in the open source world**](https://www.youtube.com/watch?v=9iIRZrxK1vA) [29:57]\n1. [Kris Kowal: **A General Theory of Reactivity**](https://www.youtube.com/watch?v=2p51PE1MZ8U) [35:38]\n\n\n## 2014\n1. [Ilya Grigorik: **Website Performance Optimization** (Udacity course)](https://www.udacity.com/course/ud884) [1:13:57]\n1. [Mark DiMarco: **User Interface Algorithms**](https://www.youtube.com/watch?v=90NsjKvz9Ns\u0026index=2\u0026list=PL37ZVnwpeshFXOP2lqCUykYPXYNsK_fgN) [27:41]\n1. [Neil Green: **Writing Custom DSLs**](https://www.youtube.com/watch?v=lm4jEcnWeKI\u0026index=11\u0026list=PL37ZVnwpeshFXOP2lqCUykYPXYNsK_fgN) [29:07]\n1. [Eric Bidelman: **Polymer and Web Components change everything you know about Web development**](https://www.youtube.com/watch?v=8OJ7ih8EE7s) [36:12]\n1. [Alex Russell, Jake Archibald: **Bridging the gap between the web and apps**](https://www.youtube.com/watch?v=_yy0CDLnhMA)  [48:40]\n1. [Scott Hanselman: **Virtual Machines, JavaScript and Assembler**](https://www.youtube.com/watch?v=UzyoT4DziQ4) [25:56]\n1. [Jafar Husain: **Async JavaScript with Reactive Extensions**](https://www.youtube.com/watch?v=XRYN2xt11Ek) [26:38]\n1. [John-David Dalton: **Unorthodox Performance**](https://www.youtube.com/watch?v=NthmeLEhDDM) [43:39]\n1. [Gary Bernhardt: **The Birth \u0026 Death of Javascript**](https://www.destroyallsoftware.com/talks/the-birth-and-death-of-javascript) [29:22]\n1. [Addy Osmani: **Memory Management Masterclass**](https://www.youtube.com/watch?v=LaxbdIyBkL0) [55:06]\n1. [Reginald Braithwaite: **Invent the future, don't recreate the past**](http://youtu.be/uYcAjr2J_rU) [39:16]\n1. [Kyle Simpson: **Syncing Async**](https://www.youtube.com/watch?v=-wYw0bZZ38Y) [42:25] \n1. [Ariya Hidayat: **JavaScript and the Browser: Under the Hood**](https://www.youtube.com/watch?v=dibzLw4wPms) [29:13] \n1. [Jafar Husain: **Version 7: The Evolution of JavaScript**](https://www.youtube.com/watch?v=DqMFX91ToLw) [1:11:53]\n1. [David Nolen: **Immutability: Putting The Dream Machine To Work**](https://www.youtube.com/watch?v=SiFwRtCnxv4) [22:05]\n1. [Pete Hunt: **OSCON 2014: How Instagram.com Works**](https://www.youtube.com/watch?v=VkTCL6Nqm6Y) [40:18]\n1. [Philip Roberts: **JSConf EU: What the heck is the event loop anyway?**](https://www.youtube.com/watch?v=8aGhZQkoFbQ) [26:52]\n1. [Mark Stuart: **Paypal: Web Security in Node.js and Javascript Apps (SPAs)**](http://youtu.be/vE5kCqwoSUg) [29:11]\n\n## 2013\n1. [Nat Duca, Tom Wiltzius: **Jank Free: Chrome Rendering Performance**](https://www.youtube.com/watch?v=n8ep4leoN9A\u0026feature=youtu.be) [40:53]\n1. [Ilya Grigorik: **Automating Performance Best Practices with PageSpeed**](https://www.youtube.com/watch?v=uR5urTx8S4E\u0026feature=youtu.be) [46:58]\n1. [Eric Bidelman: **Web Components**](https://www.youtube.com/watch?v=fqULJBBEVQE\u0026feature=youtu.be) [32:39]\n1. [Alex Komoroske, Matthew McNulty: **Web Components in Action**](https://www.youtube.com/watch?v=0g0oOOT86NY\u0026feature=youtu.be) [41:28]\n1. [Paul Lewis, Peter Beverloo: **Device Agnostic Development**](https://www.youtube.com/watch?v=055ekKZk7mc\u0026feature=youtu.be)  [40:44]\n1. [John McCutchan, Loreena Lee: **A Trip Down Memory Lane with Gmail and DevTools**](https://www.youtube.com/watch?v=x9Jlu_h_Lyw\u0026feature=youtu.be) [42:09]\n1. [Joe Marini: **Upgrading to a Chrome Packaged App**](https://www.youtube.com/watch?v=e0W2szZ2qhg\u0026feature=youtu.be) [43:49]\n1. [Pete Hunt: **React: Rethinking best practices**](https://www.youtube.com/watch?v=x7cQ3mrcKaY) [29:31]\n1. [Martin Kleppe: **1024+ Seconds of JS Wizardry**](https://www.youtube.com/watch?v=RTxtiLp1C8Y) [31:01]\n1. [Yehuda Katz: **A tale of two MVC's**](https://www.youtube.com/watch?v=s1dhXamEAKQ) [31:06]\n1. [Vyacheslav Egorov: **Performance and Benchmarking**](https://www.youtube.com/watch?v=65-RbBwZQdU) [25:41]\n1. [Brendan Eich: **JavaScript at 18: Legal to Gamble**](https://www.youtube.com/watch?v=qrf9ONmtXbM) [25:44]\n1. [Mathias Bynens: **JavaScript ♥ Unicode**](https://vimeo.com/76597193) [26:12]\n1. [Mark Trostler: **Testable JavaScript - Architecting Your Application for Testability**](https://www.youtube.com/watch?v=JjqKQ8ezwKQ) [45:35]\n1. [James Shore: **The Definitive Guide to Object-Oriented Javascript**](https://www.youtube.com/watch?v=PMfcsYzj-9M)\n\n## 2012\n1. [Ryan Sandor Richards: **Garbage Collection \u0026 Heap Management**](http://vimeo.com/45140516) [32:57]\n1. Addy Osmani: **Scaling Your JavaScript Applications**\n\t* [Part 1](https://youtu.be/2g8AceFb0is) [22:37]\n\t* [Part 2](https://youtu.be/AlJdI6yNo4U) [15:41]\n\t* [Part 3](https://youtu.be/LZK-ObWu_5I) [33:31]\n1. [John-David Dalton: **Lo-Dash**](https://www.youtube.com/watch?v=dpPy4f_SeEk) [25:08]\n1. [Gary Bernhardt: **WAT**](https://www.destroyallsoftware.com/talks/wat) [4:17]\n1. [Angus Croll: **Break all the rules**](https://www.youtube.com/watch?v=MFtijdklZDo) [31:29]\n1. [Nicholas Zakas: **Maintainable JavaScript**](https://www.youtube.com/watch?v=c-kav7Tf834) [47:04]\n1. [Douglas Crockford: **Principles of Security**](https://www.youtube.com/watch?v=ZVCPZTTlhiM) [59:52]\n1. [Brian Leroux: **WTFJS**](https://www.youtube.com/watch?v=et8xNAc2ic8) [18:26]\n\n## 2011\n1. [Douglas Crockford: **Level 7: ECMAScript 5: The New Parts**](https://www.youtube.com/watch?v=UTEqr0IlFKY) [57:18]\n1. [Douglas Crockford: **Section 8: Programming Style and Your Brain**](https://www.youtube.com/watch?v=taaEzHI9xyY) [1:06:45]\n1. [Ryan Dahl: **Introduction to Node.js**](https://www.youtube.com/watch?v=jo_B4LTHi3I) [1:06:33]\n1. [Alex Russell: **Learning to Love JavaScript**](https://www.youtube.com/watch?v=seX7jYI96GE) [1:03:25]\n\n## 2010\n1. [Douglas Crockford: **Volume One: The Early Years**](https://www.youtube.com/watch?v=JxAXlJEmNMg) [1:42:08]\n1. [Douglas Crockford: **Chapter 2: And Then There Was JavaScript**](https://www.youtube.com/watch?v=RO1Wnu-xKoY) [1:30:22]\n1. [Douglas Crockford: **Act III: Function the Ultimate**](https://www.youtube.com/watch?v=ya4UHuXNygM) [1:13:28]\n1. [Douglas Crockford: **Episode IV: The Metamorphosis of Ajax**](https://www.youtube.com/watch?v=Fv9qT9joc0M) [1:33:54]\n1. [Douglas Crockford: **Part 5: The End of All Things**](https://www.youtube.com/watch?v=47Ceot8yqeI) [1:24:42]\n1. [Douglas Crockford: **Scene 6: Loopage**](https://www.youtube.com/watch?v=QgwSUtYSUqA) [51:52]\n\n## 2009\n1. [Nicholas Zakas: **Scalable JavaScript Application Architecture**](https://www.youtube.com/watch?v=vXjVFPosQHw) [52:22]\n2. [Douglas Crockford: **JavaScript: The Good Parts**](https://www.youtube.com/watch?v=hQVTIJBZook) [1:03:47]\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbolshchikov%2Fjs-must-watch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbolshchikov%2Fjs-must-watch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbolshchikov%2Fjs-must-watch/lists"}