mirror of
https://github.com/flutter/samples.git
synced 2026-06-25 23:58:44 +00:00
Bumps [@angular/cli](https://github.com/angular/angular-cli) from 21.1.5 to 22.0.2. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/angular/angular-cli/releases">@angular/cli's releases</a>.</em></p> <blockquote> <h2>22.0.2</h2> <h3><code>@angular/cli</code></h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="136fc27149"><img src="https://img.shields.io/badge/136fc2714-fix-green" alt="fix - 136fc2714" /></a></td> <td>support registry metadata fetching under bun package manager</td> </tr> <tr> <td><a href="2653dd5c7d"><img src="https://img.shields.io/badge/2653dd5c7-perf-orange" alt="perf - 2653dd5c7" /></a></td> <td>implement semaphore backpressure throttling in PackageManager</td> </tr> </tbody> </table> <h3><code>@angular/build</code></h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="0b4a48add9"><img src="https://img.shields.io/badge/0b4a48add-perf-orange" alt="perf - 0b4a48add" /></a></td> <td>implement semaphore backpressure throttling in JavaScriptTransformer</td> </tr> </tbody> </table> <h3><code>@angular/ssr</code></h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="d996a27e97"><img src="https://img.shields.io/badge/d996a27e9-fix-green" alt="fix - d996a27e9" /></a></td> <td>avoid caching non-SSG page lookups</td> </tr> <tr> <td><a href="285a34e42f"><img src="https://img.shields.io/badge/285a34e42-fix-green" alt="fix - 285a34e42" /></a></td> <td>correct grammar in console warning for redirected location headers</td> </tr> <tr> <td><a href="c8088a536c"><img src="https://img.shields.io/badge/c8088a536-fix-green" alt="fix - c8088a536" /></a></td> <td>prioritize options over environment variables in AngularNodeAppEngine</td> </tr> </tbody> </table> <h2>22.0.1</h2> <h3><code>@schematics/angular</code></h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="c800122945"><img src="https://img.shields.io/badge/c80012294-fix-green" alt="fix - c80012294" /></a></td> <td>fix browserMode option mapping in refactor-jasmine-vitest</td> </tr> <tr> <td><a href="a9b6bd9042"><img src="https://img.shields.io/badge/a9b6bd904-fix-green" alt="fix - a9b6bd904" /></a></td> <td>safely comment out multiline statements in refactor-jasmine-vitest</td> </tr> <tr> <td><a href="12199df00f"><img src="https://img.shields.io/badge/12199df00-fix-green" alt="fix - 12199df00" /></a></td> <td>use null objects and callbacks in karma-to-vitest migration</td> </tr> </tbody> </table> <h3><code>@angular/cli</code></h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="b54e9a549d"><img src="https://img.shields.io/badge/b54e9a549-fix-green" alt="fix - b54e9a549" /></a></td> <td>do not sort migrations of the same version alphabetically</td> </tr> <tr> <td><a href="d333116123"><img src="https://img.shields.io/badge/d33311612-fix-green" alt="fix - d33311612" /></a></td> <td>fallback to local package.json for schematic detection on first run</td> </tr> <tr> <td><a href="918102a937"><img src="https://img.shields.io/badge/918102a93-fix-green" alt="fix - 918102a93" /></a></td> <td>isolate temporary package installation from parent pnpm workspace</td> </tr> <tr> <td><a href="b048b5f4a8"><img src="https://img.shields.io/badge/b048b5f4a-fix-green" alt="fix - b048b5f4a" /></a></td> <td>remove forceAuth and unscoped credential parsing</td> </tr> <tr> <td><a href="2779340351"><img src="https://img.shields.io/badge/277934035-fix-green" alt="fix - 277934035" /></a></td> <td>validate registry option is a valid URL in ng add</td> </tr> <tr> <td><a href="4510dae021"><img src="https://img.shields.io/badge/4510dae02-perf-orange" alt="perf - 4510dae02" /></a></td> <td>optimize update schematic registry query counts by fetching package metadata lazily</td> </tr> </tbody> </table> <h3><code>@angular/build</code></h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="89d1be979f"><img src="https://img.shields.io/badge/89d1be979-fix-green" alt="fix - 89d1be979" /></a></td> <td>allow disabling Vitest isolation from builder</td> </tr> <tr> <td><a href="d45b84be9a"><img src="https://img.shields.io/badge/d45b84be9-fix-green" alt="fix - d45b84be9" /></a></td> <td>exclude JSON imports from Vite dependency optimization</td> </tr> <tr> <td><a href="e3cab4ddda"><img src="https://img.shields.io/badge/e3cab4ddd-fix-green" alt="fix - e3cab4ddd" /></a></td> <td>prevent concurrent stylesheet bundling esbuild context leaks</td> </tr> <tr> <td><a href="bd413b0eb1"><img src="https://img.shields.io/badge/bd413b0eb-fix-green" alt="fix - bd413b0eb" /></a></td> <td>restrict application builder output paths to output directory</td> </tr> </tbody> </table> <h2>22.0.0</h2> <h3><code>@schematics/angular</code></h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="be60a63b7b"><img src="https://img.shields.io/badge/be60a63b7-feat-blue" alt="feat - be60a63b7" /></a></td> <td>add migrate-karma-to-vitest update migration</td> </tr> <tr> <td><a href="43505066e2"><img src="https://img.shields.io/badge/43505066e-feat-blue" alt="feat - 43505066e" /></a></td> <td>add migration to add istanbul-lib-instrument</td> </tr> <tr> <td><a href="b2f7a038b4"><img src="https://img.shields.io/badge/b2f7a038b-feat-blue" alt="feat - b2f7a038b" /></a></td> <td>conditionally install istanbul coverage provider for Vitest migration</td> </tr> <tr> <td><a href="d227e6985e"><img src="https://img.shields.io/badge/d227e6985-feat-blue" alt="feat - d227e6985" /></a></td> <td>migrate fake async to Vitest fake timers</td> </tr> <tr> <td><a href="d2aa9ede55"><img src="https://img.shields.io/badge/d2aa9ede5-feat-blue" alt="feat - d2aa9ede5" /></a></td> <td>migrate fakeAsync's flush behavior when used in beforeEach</td> </tr> </tbody> </table> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/angular/angular-cli/blob/main/CHANGELOG.md">@angular/cli's changelog</a>.</em></p> <blockquote> <h1>22.0.2 (2026-06-17)</h1> <h3><code>@angular/cli</code></h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="136fc27149">136fc2714</a></td> <td>fix</td> <td>support registry metadata fetching under bun package manager</td> </tr> <tr> <td><a href="2653dd5c7d">2653dd5c7</a></td> <td>perf</td> <td>implement semaphore backpressure throttling in PackageManager</td> </tr> </tbody> </table> <h3><code>@angular/build</code></h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="0b4a48add9">0b4a48add</a></td> <td>perf</td> <td>implement semaphore backpressure throttling in JavaScriptTransformer</td> </tr> </tbody> </table> <h3><code>@angular/ssr</code></h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="d996a27e97">d996a27e9</a></td> <td>fix</td> <td>avoid caching non-SSG page lookups</td> </tr> <tr> <td><a href="285a34e42f">285a34e42</a></td> <td>fix</td> <td>correct grammar in console warning for redirected location headers</td> </tr> <tr> <td><a href="c8088a536c">c8088a536</a></td> <td>fix</td> <td>prioritize options over environment variables in AngularNodeAppEngine</td> </tr> </tbody> </table> <h1>22.1.0-next.0 (2026-06-11)</h1> <h2>Deprecations</h2> <h3><code>@angular-devkit/core</code></h3> <ul> <li> <p><code>stringToFileBuffer</code> and <code>fileBufferToString</code> are deprecated. Use standard Web APIs (<code>TextEncoder</code> and <code>TextDecoder</code>) instead.</p> <p>Internal usages within the repository have been removed and replaced with standard Web APIs. The public API golden file for <code>@angular-devkit/core</code> has been updated to reflect the deprecations.</p> </li> </ul> <h3><code>@schematics/angular</code></h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="89d7f59cd7">89d7f59cd</a></td> <td>feat</td> <td>update ai-config to include Angular MCP server config</td> </tr> </tbody> </table> <h3><code>@angular/cli</code></h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="7932caaf98">7932caaf9</a></td> <td>fix</td> <td>robustly parse npm manifest from array</td> </tr> </tbody> </table> <h3><code>@angular-devkit/core</code></h3> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="aab6c10b94"><code>aab6c10</code></a> release: cut the v22.0.2 release</li> <li><a href="376e4dce42"><code>376e4dc</code></a> build: update cross-repo angular dependencies</li> <li><a href="d996a27e97"><code>d996a27</code></a> fix(<code>@angular/ssr</code>): avoid caching non-SSG page lookups</li> <li><a href="5714bfcbe1"><code>5714bfc</code></a> build: update pnpm to v10.34.3</li> <li><a href="f26011ae7a"><code>f26011a</code></a> build: lock file maintenance</li> <li><a href="2879ed9bef"><code>2879ed9</code></a> build: update bazel dependencies</li> <li><a href="092bb2e083"><code>092bb2e</code></a> build: update dependency pacote to v21.5.1</li> <li><a href="d3e8951120"><code>d3e8951</code></a> build: update dependency esbuild-wasm to v0.28.1</li> <li><a href="0f777a84ed"><code>0f777a8</code></a> build: update dependency esbuild to v0.28.1</li> <li><a href="385909c9af"><code>385909c</code></a> refactor: move eslint disable comment to top of file</li> <li>Additional commits viewable in <a href="https://github.com/angular/angular-cli/compare/v21.1.5...v22.0.2">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details>
web_embedding
This directory contains examples of how to embed Flutter in web apps (without iframes):
- element_embedding_demo: Modifies the index.html of a flutter app so it is
launched in a custom
hostElement. This is the most basic embedding example. - ng-flutter: A simple Angular app (and component) that replicates the above example, but in an Angular style.
Check the README.md of each example for more details on how to run it, and the
"Points of Interest" it may contain.
Community Contributions
Members of the community have graciously ported and contributed the following examples of Flutter Web embedding into other web frameworks:
| Author | Host Framework | Code |
|---|---|---|
| @p-mazhnik | React JS | p-mazhnik/flutter-embedding cra-flutter |
| @p-mazhnik | React Native | p-mazhnik/flutter-embedding expo-flutter |
(All contributions are welcome! Please, create an issue or open a PR to let us know how you've embedded a Flutter Web app with your favorite web framework (Vue? Svelte? Ember? Aurelia? jQuery? MooTools? Prototype?), so it can be added to the table above!)