<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Hanyu Xiao on Medium]]></title>
        <description><![CDATA[Stories by Hanyu Xiao on Medium]]></description>
        <link>https://medium.com/@hanyu.xiao?source=rss-887511c75d01------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*4AMm8v804uUvVo5MoystPQ.jpeg</url>
            <title>Stories by Hanyu Xiao on Medium</title>
            <link>https://medium.com/@hanyu.xiao?source=rss-887511c75d01------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sat, 14 Nov 2026 01:45:50 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@hanyu.xiao/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[Decisions, decisions — which RxJS operator to use?]]></title>
            <link>https://medium.com/@hanyu.xiao/decisions-decisions-which-rxjs-operator-to-use-44fe4fb2b6ea?source=rss-887511c75d01------2</link>
            <guid isPermaLink="false">https://medium.com/p/44fe4fb2b6ea</guid>
            <category><![CDATA[vuejs]]></category>
            <category><![CDATA[angular]]></category>
            <category><![CDATA[rxjs]]></category>
            <category><![CDATA[vscode]]></category>
            <category><![CDATA[react]]></category>
            <dc:creator><![CDATA[Hanyu Xiao]]></dc:creator>
            <pubDate>Wed, 24 Apr 2019 06:40:29 GMT</pubDate>
            <atom:updated>2019-04-24T06:40:29.434Z</atom:updated>
            <content:encoded><![CDATA[<h3><strong>Decisions, decisions — which RxJS operator to use?</strong></h3><p>There are 134 operators the last time I counted, grouped in 10 categories such as Creation Operators, Transformation Operators, etc. Some of them are more commonly used and/or better understood than the others, and very few people can claim they know when to use which operators all the time.</p><p>Luckily there is a utility called “<a href="https://rxjs-dev.firebaseapp.com/operator-decision-tree">RxJS Operator Decision Tree</a>” that helps you identify the right operator to use. Wouldn’t it be great, though, if this tool is available in VS Code?</p><h3>Brandon 👨🏿‍💻✍🏿🏀 on Twitter</h3><p>Someone with more time should make the RxJS operator decision tree a VSCode extension. Thanks in advance ;-)</p><p>We took up Brandon’s challenge and here’s what we came up with:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/718/1*55yuOLb3-Sz2UiSTOdf8Og.gif" /><figcaption>“RxJS Operator Decision Tree” command in VS Code</figcaption></figure><p>This feature is available in v1.2.0 of <a href="https://marketplace.visualstudio.com/items?itemName=Metatype.copilot-vscode">Copilot extension</a>. It’s launched from the command palette (cmd-shift-p). Please try it and <a href="https://marketplace.visualstudio.com/items?itemName=Metatype.copilot-vscode&amp;ssr=false#review-details">let us know your experience</a>. Please also send us your feature request; It might just get implemented like this!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=44fe4fb2b6ea" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Introducing Copilot for VS Code]]></title>
            <link>https://medium.com/angulardoc/introducing-copilot-for-vs-code-c1b1a16bdd21?source=rss-887511c75d01------2</link>
            <guid isPermaLink="false">https://medium.com/p/c1b1a16bdd21</guid>
            <category><![CDATA[javascript]]></category>
            <category><![CDATA[react]]></category>
            <category><![CDATA[angular]]></category>
            <category><![CDATA[nestjs]]></category>
            <category><![CDATA[vuejs]]></category>
            <dc:creator><![CDATA[Hanyu Xiao]]></dc:creator>
            <pubDate>Wed, 17 Apr 2019 17:34:44 GMT</pubDate>
            <atom:updated>2019-04-17T17:34:44.746Z</atom:updated>
            <content:encoded><![CDATA[<p>We are excited to announce our new extension <a href="https://marketplace.visualstudio.com/items?itemName=Metatype.copilot-vscode">Copilot for VS Code</a>. It is the successor of the <a href="https://medium.com/angulardoc/announcing-angular-explorer-for-vs-code-d6aeb5577835">AngularDoc</a> extension, but we have made significant improvements to the static code analyzer’s performance, and best of all, we now support <a href="https://reactjs.org/">React</a>, <a href="https://vuejs.org/">Vue</a>, and <a href="https://nestjs.com/">NestJS</a> in addition to <a href="https://angular.io/">Angular</a>!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*uAz9fULDCzJn9RHkS0RMYQ.png" /><figcaption>Copilot for Angular projects</figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*egXlA024Hi2MT7u0qX2PNQ.png" /><figcaption>Copilot for React projects</figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*6o5dY1jtl_4FOKf8wuQzHQ.gif" /><figcaption>Copilot for Vue projects</figcaption></figure><p>To install Copilot extension in Visual Studio Code, launch the command palette (cmd-shift-p), select Install Extension and enter Copilot.</p><p>To use Copilot view, click the “Copilot” icon in the Activity bar on the far left-hand side. It may take a few seconds for the project to be analyzed and the items to show up in the Application Explorer and State Management Explorer. Click on an element in the tree view and the corresponding file will be previewed in the editor.</p><p>The “State Management Explorer” view and diagrams let you browse the NgRx/Redux/Vuex constructs such as stores, states, reducers, selectors, and effects, etc. They are advanced features that are enabled for projects using <a href="https://medium.com/angulardoc/introducing-angulardoc-team-services-a9408014a816">AngularDoc Team Services</a> on <a href="https://angulardoc.io/">https://angulardoc.io</a>, and open source projects that have set up the free service on <a href="https://angulardoc.org/">https://angulardoc.org</a>.</p><p>Copilot also provides a nice UI for the Angular schematics commands. Move the cursor over a module in Application Explorer, and select the inline icon “Schematics”. You will then be asked to pick the schematics type and enter the entity type/name in the input box. Press “Enter” to confirm. The following schematics are supported by default (and you can add your own schematics to the list in the User Settings):</p><ul><li>@schematics/angular</li><li>@ngrx/schematics</li><li>@angular/pwa</li><li>@ng-bootstrap/schematics</li><li>@angular/material</li><li>@clr/angular</li><li>@angular/elements</li></ul><p><em>Note</em>: Only the schematics that have been installed in the project will be available to pick.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*V5Lw36Bgrv3V2GOzPg7nuw.gif" /></figure><p>For more information on our product suite, please visit our <a href="https://angulardoc.github.io/">web site</a>. Follow us on Twitter <a href="https://twitter.com/angulardocio">@angulardocio</a> to receive updates. Last but not the least, please <a href="https://marketplace.visualstudio.com/items?itemName=Metatype.copilot-vscode&amp;ssr=false#review-details">leave a review</a> if you like this extension!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=c1b1a16bdd21" width="1" height="1" alt=""><hr><p><a href="https://medium.com/angulardoc/introducing-copilot-for-vs-code-c1b1a16bdd21">Introducing Copilot for VS Code</a> was originally published in <a href="https://medium.com/angulardoc">AngularDoc</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Introducing AngularDoc Team Services]]></title>
            <link>https://medium.com/angulardoc/introducing-angulardoc-team-services-a9408014a816?source=rss-887511c75d01------2</link>
            <guid isPermaLink="false">https://medium.com/p/a9408014a816</guid>
            <category><![CDATA[vuejs]]></category>
            <category><![CDATA[angular]]></category>
            <category><![CDATA[react]]></category>
            <category><![CDATA[javascript]]></category>
            <dc:creator><![CDATA[Hanyu Xiao]]></dc:creator>
            <pubDate>Mon, 18 Mar 2019 16:19:51 GMT</pubDate>
            <atom:updated>2019-03-18T16:19:51.441Z</atom:updated>
            <content:encoded><![CDATA[<p>We are excited to announce <a href="https://angulardoc.io/">AngularDoc Team Services</a> — the world’s first SaaS service that provides static analysis for JavaScript/TypeScript applications.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*sPIw-qgH92Cn8xgh0XNsrQ.png" /><figcaption><a href="https://angulardoc.io/">https://angulardoc.io/</a></figcaption></figure><p>For more than two years, AngularDoc has provided code analysis for <a href="https://angulardoc.io/products/angular">AngularJS/Angular</a> projects. In this new release, we have added support for two more web application frameworks — <a href="https://angulardoc.io/products/react">React</a> and <a href="https://angulardoc.io/products/vue">Vue</a>.</p><p>The detailed feature set of <a href="https://angulardoc.io/">AngularDoc Team Services</a> can be seen at <a href="https://angulardoc.io./">https://angulardoc.io.</a> We’d like to highlight below a key new addition— the state management diagrams.</p><h4>State management diagrams for NgRx, Redux, and Vuex</h4><p>State management libraries such as Redux, NgRx, and Vuex, have been widely used in the web applications. Although there may be differences in certain constructs and terminologies among the libraries, the core architecture is similar: there is a central store that is the single source of truth for the state, and decoupled components that focus on a single task for each, such as dispatching the actions, mutating the state, and displaying a slice of the state. While the benefit of such design is obvious, a common complaint of these libraries is their verbosity — the code that is exercised throughout an action’s life cycle is scattered in multiple modules, and it’s not trivial to piece together all these in one mental picture.</p><p>Our state management diagrams (<a href="https://angulardoc-showcases.angulardoc.org/detail/github/173553234/react/%252F/redux">Redux</a>, <a href="https://angulardoc-showcases.angulardoc.org/detail/github/168286665/ngrx/%252Fprojects%252Fexample-app%252Fsrc/overview">NgRx</a>, <a href="https://angulardoc-showcases.angulardoc.org/detail/github/162960145/vue/%252F/store">Vuex</a>) are specifically designed to put the entire state management structure right in front of your eyes. You can trace how the actions flow through the system: from the component that dispatches an action, to the reducer/mutation that alters the state upon receiving the action, and finally to the component that displays the new state. Better yet, you can click on an item in the diagram and the corresponding code snippet will be highlighted in a text editor.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*K69UsGl0w_mX8WxIbkd79w.gif" /><figcaption>Vuex Store in <a href="https://github.com/vuejs/vue-hackernews-2.0">https://github.com/vuejs/vue-hackernews-2.0</a></figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*bLd5O7CUGAa64uza6veR8A.png" /><figcaption>NgRx Store in <a href="https://github.com/AngularDoc-Showcases/platform/tree/master/projects/example-app">https://github.com/AngularDoc-Showcases/platform/tree/master/projects/example-app</a></figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*oevJ2TRsRPw49PENPc4R9Q.png" /><figcaption>Redux Store in <a href="https://github.com/AngularDoc-Showcases/react-native-nba-app">https://github.com/AngularDoc-Showcases/react-native-nba-app</a></figcaption></figure><p>This is especially valuable for developers who work on large projects to quickly come up to speed with your store’s implementations. It is also a great visual aid to developers who are learning to use NgRx/Redux/Vuex. In addition, you can capture the diagram in SVG and embed the downloaded file in your documentation.</p><h4>What’s next</h4><p>You can head to our demo site, <a href="https://angulardoc-showcases.angulardoc.org/">https://angulardoc-showcases.angulardoc.org/,</a> where we have a collection of sample repositories for Angular, React, and Vue to let you experience what AngularDoc Team Service has to offer.</p><p>AngularDoc Team Service is currently available to GitHub repositories. You can use the service in two ways:</p><ol><li>AngularDoc Team Service is provided to open source projects for free on <a href="https://angulardoc.org./">https://angulardoc.org.</a></li><li>Our SaaS service for closed source projects is hosted on <a href="https://angulardoc.io./">https://angulardoc.io.</a> The annual subscription costs USD $99.</li></ol><p>In both cases, signing up is a quick three-step process:</p><ol><li>Log in using your GitHub credential, and authorize AngularDoc to access your repository;</li><li>Set up a subdomain for your account (&lt;myorg&gt;.angulardoc.io) in a single click;</li><li>Pick which repository to use AngularDoc Team Service for.</li></ol><p>Then just leave the rest to us — we will automatically analyze your source code and its commit history, and the future commits will be automatically synced through our webhook. Within a few minutes, your team can enjoy a rich set of live diagrams that provide insights into your application’s structure that you have never seen before.</p><p>Please don’t hesitate to contact us if you have any questions or comments.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=a9408014a816" width="1" height="1" alt=""><hr><p><a href="https://medium.com/angulardoc/introducing-angulardoc-team-services-a9408014a816">Introducing AngularDoc Team Services</a> was originally published in <a href="https://medium.com/angulardoc">AngularDoc</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[AngularDoc.org — Establishing Your Team’s Subdomain]]></title>
            <link>https://medium.com/angulardoc/angulardoc-org-establishing-your-teams-subdomain-d710c5ee3a61?source=rss-887511c75d01------2</link>
            <guid isPermaLink="false">https://medium.com/p/d710c5ee3a61</guid>
            <category><![CDATA[github]]></category>
            <category><![CDATA[angular]]></category>
            <category><![CDATA[ngrx]]></category>
            <dc:creator><![CDATA[Hanyu Xiao]]></dc:creator>
            <pubDate>Sun, 16 Dec 2018 07:22:22 GMT</pubDate>
            <atom:updated>2018-12-16T07:28:39.603Z</atom:updated>
            <content:encoded><![CDATA[<h3>AngularDoc.org — Establishing Your Team’s Subdomain</h3><p>We are pleased to announce our holiday gift for open source Angular projects: You can now set up your own subdomain on <a href="https://angulardoc.org/">AngularDoc.org</a>.</p><h4>What is AngularDoc.org</h4><p><a href="https://angulardoc.org/">AngularDoc.org</a> is a registry of open source Angular projects. Using AngularDoc’s static analysis engine, we processed almost 9000 Angular related public repositories on GitHub, and made them searchable and browse-able on <a href="https://angulardoc.org/">AngularDoc.org</a>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*JZo9WKbOauhZNdbTvtAWng.png" /><figcaption>Angular repository browser</figcaption></figure><p>After you log in <a href="https://angulardoc.org/">AngularDoc.org</a> using your GitHub account, you will be able to bookmark and/or rate the repositories. Most importantly, you can navigate to “My Organizations” and click on “Claim Domain” to set up your own subdomain (you’ll need to be the owner of the organization to do so):</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*IwSilzgbPcNtFGH19ufv5w.png" /><figcaption>One-click setup of your team’s subdomain</figcaption></figure><p>Once you have your subdomain, you can click on the “View” button to navigate to the new URL “&lt;organization&gt;.angulardoc.org” (e.g. “<a href="https://angulardoc-showcases.angulardoc.org/">https://angulardoc-showcases.angulardoc.org</a>” for our demo organization “<a href="https://angulardoc-showcases.angulardoc.org/">AngularDoc-Showcases</a>”). All your public repositories will be listed there, and you can “deploy” the Angular repositories, i.e. have AngularDoc analyze them and show you the results.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*vaIgTSoAuEGHi8wtpqjEVA.png" /><figcaption>Subdomain’s dashboard</figcaption></figure><h4>What can you do with the subdomain</h4><p>First of all, it’s cool to have your own subdomain, don’t you think? However, that’s far from the only benefit. By authorizing AngularDoc.org to access and add a webhook to your repository, you can ensure that the architectural information that you see on the subdomain will always be in sync with your commits.</p><p>Here are a few important features that are available:</p><p><strong>Angular component timeline</strong>: You get to step through the commits and tags of your repo and see how the Angular components evolved. You can also click on the “Screenshot” button to capture the information for the selected commit or tag.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*k9MB4E26UZ7BxtCgmidMwQ.gif" /><figcaption>Angular component timeline</figcaption></figure><p><strong>Commit history</strong>: You can view the commits by the committers and the time span.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*MjQ1Gkbei4ZgqioDGnAQAQ.gif" /><figcaption>Commit history</figcaption></figure><p><strong>Component history</strong>: You can view the commit history by the components instead of the committers. You can filter the history by the committer name, component name, and time span.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*IwZ6FnJFyGSP9-ZFPUXAXA.gif" /><figcaption>Component history</figcaption></figure><p><strong>NgRx explorer</strong>: We can identify the NgRx artifacts, such as the stores, reducers, actions, selectors, and effects, in your project if there are any, and show them to you in nice visualizations.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*QEHRw0Tm4mwJIT3us5D3Sw.gif" /></figure><p>To summarize, we hope that these features on the subdomains are helpful for you and your team. Best of all, they are freely available for all public repositories, and I strongly encourage you to set up yours and let us know your experience. We are planning to roll out an equivalent SaaS service for the private repositories shortly. Please follow us on Twitter <a href="https://twitter.com/angulardocio">@angulardocio</a> to be notified of the releases and updates.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=d710c5ee3a61" width="1" height="1" alt=""><hr><p><a href="https://medium.com/angulardoc/angulardoc-org-establishing-your-teams-subdomain-d710c5ee3a61">AngularDoc.org — Establishing Your Team’s Subdomain</a> was originally published in <a href="https://medium.com/angulardoc">AngularDoc</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Introducing NgRx Explorer for VS Code]]></title>
            <link>https://medium.com/angulardoc/introducing-ngrx-explorer-for-vs-code-bda0362d02c?source=rss-887511c75d01------2</link>
            <guid isPermaLink="false">https://medium.com/p/bda0362d02c</guid>
            <category><![CDATA[angular]]></category>
            <category><![CDATA[vscode]]></category>
            <category><![CDATA[ngrx]]></category>
            <category><![CDATA[javascript]]></category>
            <category><![CDATA[rxjs]]></category>
            <dc:creator><![CDATA[Hanyu Xiao]]></dc:creator>
            <pubDate>Sun, 07 Oct 2018 05:13:01 GMT</pubDate>
            <atom:updated>2018-10-08T17:38:08.985Z</atom:updated>
            <content:encoded><![CDATA[<p>We are excited to announce the addition of NgRx Explorer to our <a href="https://marketplace.visualstudio.com/items?itemName=AngularDoc.angulardoc-vscode">AngularDoc extension</a> for Visual Studio Code.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/814/1*Ei4IjMn9mevLzlmQ6jCktw.png" /><figcaption>NgRx Explorer</figcaption></figure><p><a href="https://github.com/ngrx">NgRx</a> is a state management library for Angular applications. Inspired by Redux and backed by RxJs, NgRx has become a top library for large scale Angular projects.</p><p>The new <strong>NgRx Explorer</strong> in <a href="https://marketplace.visualstudio.com/items?itemName=AngularDoc.angulardoc-vscode">AngularDoc extension</a> allows you to browse and navigate the building blocks of NgRx, such as the stores, reducers, actions, selectors, and effects, in your application. To use it, just click on the “Angular” icon in the Activity bar on the far left-hand side. You will see the <strong>NgRx Explorer</strong> below the <strong>Angular Explorer</strong>. Select an element in NgRx Explorer and the corresponding source code snippet will be previewed in the editor.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/640/1*UX0jrwhK53CqOme4FJ8Qkw.gif" /></figure><p>Hope you’ll find NgRx Explorer helpful in your Angular development. Please <a href="https://marketplace.visualstudio.com/items?itemName=AngularDoc.angulardoc-vscode#review-details">leave a review</a> if you like it. Follow us on Twitter <a href="https://twitter.com/angulardocio">@angulardocio</a> to be notified of the future updates.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=bda0362d02c" width="1" height="1" alt=""><hr><p><a href="https://medium.com/angulardoc/introducing-ngrx-explorer-for-vs-code-bda0362d02c">Introducing NgRx Explorer for VS Code</a> was originally published in <a href="https://medium.com/angulardoc">AngularDoc</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Introducing Angular Explorer for VS Code]]></title>
            <link>https://medium.com/angulardoc/announcing-angular-explorer-for-vs-code-d6aeb5577835?source=rss-887511c75d01------2</link>
            <guid isPermaLink="false">https://medium.com/p/d6aeb5577835</guid>
            <category><![CDATA[schematics]]></category>
            <category><![CDATA[vscode]]></category>
            <category><![CDATA[typescript]]></category>
            <category><![CDATA[ngrx]]></category>
            <category><![CDATA[angular]]></category>
            <dc:creator><![CDATA[Hanyu Xiao]]></dc:creator>
            <pubDate>Sun, 17 Jun 2018 00:30:43 GMT</pubDate>
            <atom:updated>2018-06-18T05:15:18.134Z</atom:updated>
            <content:encoded><![CDATA[<p>We are excited to announce our revamped <a href="https://marketplace.visualstudio.com/items?itemName=AngularDoc.angulardoc-vscode">AngularDoc extension</a> for Visual Studio Code.</p><p><a href="https://marketplace.visualstudio.com/items?itemName=AngularDoc.angulardoc-vscode">AngularDoc for Visual Studio Code - Visual Studio Marketplace</a></p><p>I’d like to highlight the following two new features:</p><ul><li>“Angular” view that has an Application Explorer for browsing the Angular application’s modules and components, and Outline panel to help you navigate the top level constructs in the TypeScript source file.</li><li>Invoking <a href="https://blog.angular.io/version-6-of-angular-now-available-cc56b0efa7a4">schematics commands</a> from the explorer’s context menu.</li></ul><p><strong>Angular View</strong></p><p>To use the Angular view, click the “Angular” icon in the Activity bar on the far left-hand side. You will see the <strong>Application Explorer</strong> on the top left and <strong>Outline</strong> on the bottom left.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/864/1*_8cEMtiK3x3SuVc5c3PVdw.gif" /></figure><p>It may take a few seconds for the project to be analyzed and the modules to show up in Application Explorer. Click on a module to expand it and reveal its components. Select an element in Application Explorer and the corresponding source file will be previewed in the editor. The Outline view will display the top level constructs found in the source file. Clicking on an element will reveal the text segment in the editor.</p><p><strong>Schematics Context Menu</strong></p><p><a href="https://blog.angular.io/schematics-an-introduction-dc1dfbc2a2b2">Schematics</a> are command-line tools that can create new components or update the existing source code. In <a href="https://blog.angular.io/version-6-of-angular-now-available-cc56b0efa7a4">Angular 6</a>, you can run “ng add” and “ng update” commands to install or update the libraries. Behind the scenes, the scaffolding and upgrading scripts are all schematics that the libraries have implemented. The following are the known libraries and we can expect that more and more libraries will join this list:</p><ul><li>@schematics/angular (i.e. the default angular-cli commands)</li><li>@ngrx/schematics</li><li>@angular/pwa</li><li>@ng-bootstrap/schematics</li><li>@angular/material</li><li>@clr/angular</li><li>@angular/elements</li></ul><p>While these code generation scripts can save us a lot of typing, it’s increasingly a challenge to memorize all the available commands in a schematic and what they do. That’s why we have implemented the schematics context menu so that there’s no more guess work.</p><p>In Application Explorer, right click on a module and you will see the “Schematics” context menu:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*3ZuBjoTOSXSzQBOKeFhu1g.png" /><figcaption>Schematics context menu on a module</figcaption></figure><p>Select the “Schematics” menu, and the input box will let you choose from the list of available schematics:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*8MH0sYpQssEXaJDFQWpNVw.png" /><figcaption>List of available schematics</figcaption></figure><p>Let’s select “@schematics/angular”. You’ll see all the familiar angular-cli commands:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*c6gt0O9utk8GGBzIjpl88Q.png" /><figcaption>List of schematic commands</figcaption></figure><p>Let’s go ahead and select “component”, and then enter the name “contact”. You’ll see a new component “ContactComponent” under “AboutModule” in a few seconds:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*N33bpca5LbZcdyp4Hx_H7A.png" /></figure><p>AngularDoc extension will automatically discover the known schematics that have been installed in your project. If you have a custom schematic, you need to tell AngularDoc about it so that we can look for it in your project. Just open the user settings and add “angulardoc.schematics”:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*PcwhyG39_A3BEhCof7nEaA.png" /><figcaption>Custom schematics in user settings</figcaption></figure><p>Hope you’ll find AngularDoc extension helpful. Please <a href="https://marketplace.visualstudio.com/items?itemName=AngularDoc.angulardoc-vscode#review-details">leave a review</a> if you like it. Follow us on Twitter <a href="https://twitter.com/angulardocio">@angulardocio</a> to be notified of the future updates.</p><p>Update [2018–06–17]</p><p>You can now see the schematics commands and their outputs in the “AngularDoc” Output channel. In addition, the input box of the schematics command takes not just the name but also optionally arguments. For example, this is what you’ll get after you enter the command input</p><blockquote>team --inline-template</blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*r1vEhYdQ8NgDVOZQZaq7tA.png" /><figcaption>Schematics command output</figcaption></figure><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=d6aeb5577835" width="1" height="1" alt=""><hr><p><a href="https://medium.com/angulardoc/announcing-angular-explorer-for-vs-code-d6aeb5577835">Introducing Angular Explorer for VS Code</a> was originally published in <a href="https://medium.com/angulardoc">AngularDoc</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Introducing AngularDoc]]></title>
            <link>https://medium.com/angulardoc/introducing-angulardoc-2d011db61172?source=rss-887511c75d01------2</link>
            <guid isPermaLink="false">https://medium.com/p/2d011db61172</guid>
            <category><![CDATA[javascript]]></category>
            <dc:creator><![CDATA[Hanyu Xiao]]></dc:creator>
            <pubDate>Sun, 15 Apr 2018 18:56:00 GMT</pubDate>
            <atom:updated>2018-04-15T18:56:00.913Z</atom:updated>
            <content:encoded><![CDATA[<p><a href="https://angulardoc.github.io/">AngularDoc</a> is a family of products that are based on the reverse engineering technologies that we developed for the Angular &amp; AngularJS applications. By extracting the metadata from the source files and then aggregating all the information collected, AngularDoc can gain deep understanding towards the application’s architecture, and in turn present to you a set of beautiful diagrams.</p><h3><strong>AngularDoc for Visual Studio Code</strong></h3><p>The easiest way to use AngularDoc is to install the VS Code extension.</p><p><a href="https://marketplace.visualstudio.com/items?itemName=AngularDoc.angulardoc-vscode">AngularDoc for Visual Studio Code - Visual Studio Marketplace</a></p><p>After signing up an account, you can launch the AngularDoc editor in VS Code:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*GRKcI4SXGUFWftQhKv9qRg.gif" /><figcaption>AngularDoc editor in VS Code</figcaption></figure><p>AngularDoc extension also provides the context menus to run angular-cli’s “ng generate” commands:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1006/1*glex9MqqOKApN50Mo6k34Q.gif" /><figcaption>Executing “ng generate” commands</figcaption></figure><h3>AngularDoc.io</h3><p>Using the same credential for the VS Code extension, you can log in on the web site <a href="https://angulardoc.io/">https://angulardoc.io</a> and see the same metadata in the web UI for much better user experience:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*J0gsDM9g3FwOiPDm_mjPKQ.gif" /></figure><h3>Angular Copilot</h3><p>For closed-source projects whose data security is vital, Angular Copilot is an ideal choice since it is a desktop application that has our analytical engine embedded. You can therefore import your local projects and have the static analysis performed <em>in situ</em>. Another benefit of running the desktop edition is that it can generate/modify source code to automate many tasks, such as helping out with the AngularJS-to-Angular migration. Please refer to our <a href="https://medium.com/angulardoc/announcing-angular-copilot-v1-0-aae80ec2083f">GA announcement</a> and <a href="https://medium.com/angulardoc/angular-copilot-for-angularjs-to-angular-migration-270e78b9f241">How it can helpstreamline AngularJS-to-Angular Migration</a> for more information.</p><p>We hope that you’ll find these tools indispensable in your daily work. Please don’t hesitate to let us know how we can do better.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=2d011db61172" width="1" height="1" alt=""><hr><p><a href="https://medium.com/angulardoc/introducing-angulardoc-2d011db61172">Introducing AngularDoc</a> was originally published in <a href="https://medium.com/angulardoc">AngularDoc</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Angular Copilot for AngularJS-to-Angular Migration]]></title>
            <link>https://medium.com/angulardoc/angular-copilot-for-angularjs-to-angular-migration-270e78b9f241?source=rss-887511c75d01------2</link>
            <guid isPermaLink="false">https://medium.com/p/270e78b9f241</guid>
            <category><![CDATA[angular]]></category>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[javascript]]></category>
            <dc:creator><![CDATA[Hanyu Xiao]]></dc:creator>
            <pubDate>Sun, 15 Apr 2018 18:48:46 GMT</pubDate>
            <atom:updated>2018-04-22T22:06:42.648Z</atom:updated>
            <content:encoded><![CDATA[<p>Many organizations that have AngularJS applications in production face a tough choice: stay put and miss all the advances that Angular has to offer, or start the migration journey that is often no easier than rewriting the entire application. While there are online documentation and tutorials that describe the general migration process, they are often too high level to be practical, or too tedious to follow with multiple manual steps.</p><p>In March 2018, we managed to identify over 8700 public repos on GitHub that are related to Angular. Scanning and analyzing each of them yielded a wealth of metadata that we eventually published on <a href="https://angulardoc.org/">angulardoc.org</a>, a searchable repository of Angular projects. With this many repos, we were curious: how many of them were upgrade projects? Assuming that a project that had “@angular/upgrade” package in the dependencies qualifies as an upgrade one, we found 1400+ of them, and here’s how they were distributed across the Angular versions, from the first v2.o on the far left to the upcoming v6.0 on the far right:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*rl9v1yQl3WG1ydm5XuYZ0w.png" /><figcaption>Number of upgrade projects vs. the Angular versions</figcaption></figure><p>It&#39;s alarming that 60% of the upgrade projects are stuck at the oldest Angular version after 1.5 years.</p><p>Migrating a large code base requires a lot of resources and commitment, and doing everything manually is a non-starter. This is when tooling can be a big help. We have just announced the availability of Angular Copilot, a desktop tool that can streamline the migration process with these key features:</p><ul><li>Scaffolding Angular shell for the AngularJS application with Angular CLI</li><li>Migrating bower.json</li><li>Quick configuration of angular-cli build for the global scripts, styles, and/or static assets</li><li>Auto configuration of UpgradeModule to bootstrap the AngularJS app</li><li>Graphical summary of the migration progress</li><li>Incremental migration of individual components from JavaScript to TypeScript</li><li>(VS Code extension) Quick fix of the AngularJS constructs in the component and template files</li><li>One-click migration of the routes</li></ul><p>Recently I had the privilege of presenting at the <a href="https://www.meetup.com/ngHouston/events/248603335/">ngHouston Meetup</a> on this topic. The video of the entire presentation, including the demo and the panel discussion, is available on <a href="https://youtu.be/mZ98ZEvVBVw">YouTube</a>.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FmZ98ZEvVBVw&amp;url=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DmZ98ZEvVBVw&amp;image=http%3A%2F%2Fi.ytimg.com%2Fvi%2FmZ98ZEvVBVw%2Fhqdefault.jpg&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/08f91426e26af98adea23e8e8321bde6/href">https://medium.com/media/08f91426e26af98adea23e8e8321bde6/href</a></iframe><p>I am excited that I’ll speak at <a href="https://www.ng-conf.org/sessions/streamlining-angularjs-angular-migration/">ng-conf 2018</a> in Salt Lake City, Utah, next week. I’m hoping to interact with many of you in person to share our experiences and hear your ideas on how Angular Copilot can be better.</p><p>In the meantime, I encourage you to learn more about Angular Copilot from <a href="https://medium.com/angulardoc/announcing-angular-copilot-v1-0-aae80ec2083f">our GA announcement</a> and the <a href="https://angulardoc.github.io/">product web site</a>.</p><p><strong>Update April 22, 2018</strong>: The <a href="https://www.ng-conf.org/sessions/streamlining-angularjs-angular-migration/">ng-conf 2018</a> talk was a huge success! The room was packed and some of the audience had to sit on the floor.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FUkR78gNBKdc%3Ffeature%3Doembed&amp;url=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DUkR78gNBKdc&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FUkR78gNBKdc%2Fhqdefault.jpg&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/dd2b98e004f15d6f272cf8a843df0141/href">https://medium.com/media/dd2b98e004f15d6f272cf8a843df0141/href</a></iframe><p><a href="https://docs.google.com/presentation/d/1kxVAVivAg6nmhKdCDlzmdYdm9N3rRG-CPiZoNoRhDN8/edit?usp=sharing">Streamlining the AngularJS-to-Angular migration ng-conf 2018.pptx</a></p><p>I have had many constructive discussions with developers who are eager to learn how Angular Copilot can help their migration. Please send your inquiries via the following form:</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fdocs.google.com%2Fforms%2Fd%2Fe%2F1FAIpQLScQH-8LFEzXj663ZQAmEbFFOvlOK3JLa1PIGZFcg50fxh9PRQ%2Fviewform%3Fembedded%3Dtrue&amp;url=https%3A%2F%2Fdocs.google.com%2Fforms%2Fd%2Fe%2F1FAIpQLScQH-8LFEzXj663ZQAmEbFFOvlOK3JLa1PIGZFcg50fxh9PRQ%2Fviewform%3Fusp%3Dsf_link&amp;image=https%3A%2F%2Flh5.googleusercontent.com%2F0u-ZGjPyEPFqLxBsEY9qLfjUP9HmP4GCSDst9iAQO9IwJgFNUX65hUSZRMpAL-akXvA%3Dw1200-h630-p&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=google" width="760" height="500" frameborder="0" scrolling="no"><a href="https://medium.com/media/866849663db126ace8af651ac5a4c6f7/href">https://medium.com/media/866849663db126ace8af651ac5a4c6f7/href</a></iframe><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=270e78b9f241" width="1" height="1" alt=""><hr><p><a href="https://medium.com/angulardoc/angular-copilot-for-angularjs-to-angular-migration-270e78b9f241">Angular Copilot for AngularJS-to-Angular Migration</a> was originally published in <a href="https://medium.com/angulardoc">AngularDoc</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Announcing Angular Copilot v1.0]]></title>
            <link>https://medium.com/angulardoc/announcing-angular-copilot-v1-0-aae80ec2083f?source=rss-887511c75d01------2</link>
            <guid isPermaLink="false">https://medium.com/p/aae80ec2083f</guid>
            <category><![CDATA[angular]]></category>
            <category><![CDATA[angular-cli]]></category>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[javascript]]></category>
            <dc:creator><![CDATA[Hanyu Xiao]]></dc:creator>
            <pubDate>Sun, 15 Apr 2018 18:44:12 GMT</pubDate>
            <atom:updated>2018-04-15T18:44:12.129Z</atom:updated>
            <content:encoded><![CDATA[<p>We are pleased to announce the availability of Angular Copilot v1.0.</p><p>Angular Copilot brings AngularDoc’s analytical engine to your desktop, so that you can benefit from the static analysis of your Angular &amp; AngularJS applications, while your source code and its metadata remain secure on your local machine. Its key features include:</p><ul><li><strong>Repository Dashboard</strong> — central place to manage your repos, and to import the popular Angular repos from GitHub;</li><li><strong>Front end for the angular-cli</strong> command-line tool — “New Project” wizard to scaffold the Angular application using “ng new” command, and “New Component” dialog to generate blueprints using “ng generate” command;</li><li><strong>Architecture Diagram</strong> — animated overall architecture of your AngularJS/angular project, such as the bootstrap class, modules, components, and routes</li><li><strong>Class Browser</strong> — classes viewed by the component types, with the convenience of searching and filtering; one click to open the source code in VS Code</li><li><strong>Module Diagram</strong> — visualizing the module’s composition, imports, and exports</li><li><strong>Route Tree Diagram</strong> — hierarchical tree of the routes and the implementing components</li><li><strong>Import Diagram</strong> — visualizing all the Importing relationships between your classes</li><li><strong>Test case browser </strong>— central place to view and search the test cases</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/640/1*jVAeNY8zZYe9J9KfWCitFg.gif" /></figure><p>In addition, the <strong>Cookbook</strong> feature has “recipes” that allow one-click installation and configuration of popular client frameworks for your application.</p><p>While the features listed above are free, Angular Copilot also has premium/paid features such as AngularJS-to-Angular migration.</p><p>Angular Copilot works best with VS Code as the code editor. We hope that it becomes an indispensable tool for the web developers along side VS Code. Please visit <a href="https://angulardoc.github.io/">https://angulardoc.github.io/</a> to download yours.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=aae80ec2083f" width="1" height="1" alt=""><hr><p><a href="https://medium.com/angulardoc/announcing-angular-copilot-v1-0-aae80ec2083f">Announcing Angular Copilot v1.0</a> was originally published in <a href="https://medium.com/angulardoc">AngularDoc</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
    </channel>
</rss>