Skip to content

Commit 02d5a20

Browse files
authored
chore: update origin to fa546f382d (Angular v22) (#1169)
* chore: bump toolchain to match upstream v22 (Node 22.22.2 / pnpm 10.34.1) angular/angular v22.0.0 が利用する Node.js / pnpm に揃える。 - .node-version: 22.12.0 → 22.22.2 - packageManager: pnpm@10.15.0 → pnpm@10.34.1 * chore: update origin to fa546f382d * fix: migrate untranslated files * feat(docs): translate events/v22 to Japanese Angular v22 リリースイベントページの日本語翻訳と英語スナップショットを追加。 * feat(docs): translate ai/webmcp to Japanese WebMCP (Web Model Context Protocol) の日本語翻訳と英語スナップショットを追加。 * feat(docs): translate guide/di/lazy-loading-services to Japanese injectAsync を使ったサービスの遅延読み込みガイドの日本語翻訳と英語スナップショットを追加。 * fix(migrate): md-class-b src/content/ai * fix(migrate): md-class-b src/content/best-practices * fix(migrate): md-class-c src/content/best-practices/runtime-performance * fix(migrate): md-class-a src/content/guide * fix(migrate): md-class-c src/content/guide * chore(migrate): defer md-class-d src/content/guide * fix(migrate): md-class-c src/content/guide/aria * chore(migrate): defer md-class-d src/content/guide/aria * fix(migrate): md-class-b src/content/guide/components * fix(migrate): md-class-a src/content/guide/di * fix(migrate): md-class-c src/content/guide/di * chore(migrate): defer md-class-d src/content/guide/di * fix(migrate): md-class-c src/content/guide/directives * chore(migrate): defer md-class-d src/content/guide/directives * fix(migrate): md-class-b src/content/guide/forms * fix(migrate): md-class-b src/content/guide/forms/signals * fix(migrate): md-class-c src/content/guide/forms/signals * chore(migrate): defer md-class-d src/content/guide/forms/signals * fix(migrate): md-class-b src/content/guide/http * fix(migrate): md-class-c src/content/guide/http * fix(migrate): md-class-a src/content/guide/routing * fix(migrate): md-class-c src/content/guide/routing * chore(migrate): defer md-class-d src/content/guide/routing * fix(migrate): md-class-a src/content/guide/signals * fix(migrate): md-class-b src/content/guide/signals * fix(migrate): md-class-c src/content/guide/templates * chore(migrate): defer md-class-d src/content/guide/templates * fix(migrate): md-class-a src/content/guide/testing * fix(migrate): md-class-b src/content/guide/testing * fix(migrate): md-class-c src/content/guide/testing * fix(migrate): md-class-c src/content/introduction * fix(migrate): md-class-b src/content/introduction/essentials * fix(migrate): md-class-c src/content/introduction/essentials * fix(migrate): md-class-c src/content/reference * feat(migrate): apply roadmap accumulation src/content/reference * fix(migrate): md-class-a src/content/reference/errors * fix(migrate): md-class-b src/content/reference/errors * fix(migrate): md-class-c src/content/reference/errors * fix(migrate): md-class-b src/content/tutorials/signal-forms/intro * fix(migrate): md-class-b src/content/tutorials/signal-forms/steps/2-connect-form-template * fix(migrate): md-class-c src/content/tutorials/signals/steps/1-creating-your-first-signal * fix(migrate): src-class-a src/app/core/services * fix(migrate): src-class-a src/app/features/update * fix(migrate): src-class-b src/app/features/update * fix(migrate): src-class-b src/app/routing/navigation-entries * fix(migrate): src-class-c src/app/features/home * fix(patches): refresh patches for upstream v22 changes - replace-header-canonical-host: upstream renamed Injectable → Service and reordered imports. - translate-tutorial-label: upstream reordered tutorial.component.ts imports around line 50. - replace-version-links: upstream now has v22 entry in versions.json; flip Angular.jp override target from v21 to v22 (devmode currentDocsVersion + versions.json URL). * fix(lint): remove half/full-width spacing around 'fetch' in http class-c * chore: remove pages deleted upstream upstream (cea6588bb3..fa546f382d) で削除されたページを adev-ja からも削除。 update-origin.ts は copy のみで cleanup しないため取り残されていた。 - guide/di/dependency-injection-providers (+ .en.md) - guide/pipes/* (overview / unwrapping-data-observables / transform-data / precedence / change-detection / template, 計6件 + .en.md) - guide/aria/radio (+ .en.md) - 未翻訳: cli/index.md, reference/migrations/typed-forms.md, reference/migrations/module-with-providers.md * chore: preserve removed page translations as .md.bak upstream で削除された 8 ページの既存日本語訳を、将来の参考のため class-d structural defer と同様に .md.bak として残す。 .en.md (英語スナップショット) は upstream に対応原本がないので削除維持。 - guide/di/dependency-injection-providers.md.bak - guide/pipes/{overview, unwrapping-data-observables, transform-data, precedence, change-detection, template}.md.bak (6 件) - guide/aria/radio.md.bak * fix(migrate): reclassify aria d-structural → d-additive (5 files) 過去 commit で structural defer 扱いとした以下を、実 diff (sections 削除 0 もしくは ≤2 件の near-additive) を再評価して additive に訂正: - accordion (panelId→panel rename + Testing section 追加) - autocomplete (rebuild API tables + Signal Forms Integration + Testing) - multiselect (Popup/Widget directives 追加 + Listbox Inputs 拡張 + Testing) - select (Listbox Inputs + Popup/Widget Directives + Testing) - tree (TreeGroup→TreeItemGroup + Testing) 既存翻訳を .md.bak から復元し、新規セクションは英語のまま挿入。 combobox のみは本当の structural change (h2 1件 + h3 4件 削除) のため defer 維持。 * fix(migrate): reclassify di d-structural → d-additive (2 files) 過去 commit で structural defer 扱いとした以下を、実 diff (sections 削除 0) を再評価して additive に訂正: - creating-and-using-services (@Injectable@service prose + 新 "Using the @service decorator" section) - hierarchical-dependency-injection (純粋な @Injectable@service token rename) 既存翻訳を .md.bak から復元し、新規セクションは英語のまま挿入、@service rename は mirror。 * fix(lint): rephrase autocomplete to avoid 6+ continuous kanji * fix(nav): rename 'デバウンスされたシグナル' to 'シグナルのデバウンス' * fix(migrate): mirror Listbox values→value API rename in aria/listbox 過去の additive migration で sub-agent が「near-additive rule で uninspected」と 誤判定して mirror し損ねていた 3 箇所を修正: - L75 prose: `values`モデルシグナル → `value`モデルシグナル - L210 Models table: `values` → `value` - L216 Signals table: `values` → `value` * fix(migrate): retranslate select prose for ngCombobox API change 過去 (Phase 3.x) の additive migration で sub-agent が prose の API モデル変更を mirror せず古い表現が残っていた 2 箇所を修正: - L96: `ngCombobox`の`readonly`属性 → 非インタラクティブなホスト要素への適用 - L221: 同上 (パターン記述) upstream で readonly 属性ベースから non-interactive host element 適用方式に 変わったため。 * fix(translate): 'Prefetching is opportunistic' → '状況に応じて実行されます' * fix(translate): reduce kana noise in lazy-loading-services カタカナ語を日本語化: - 自動プロバイド / 自動プロビジョニング → 自動提供 - オンデマンドで → 必要に応じて / "実際に必要なときにのみ" に整理 - スプレッドシートライブラリ → 表計算ライブラリ - フェッチされます → 取得されます - アンラップ → 展開 - ロード → 読み込み (NOTE 内) * fix(translate): refine 'フェッチ' to '読み込み' in lazy-loading-services * fix(migrate): mirror 'Supports an optional timeout' in defer idle row
1 parent 0058c7c commit 02d5a20

192 files changed

Lines changed: 5163 additions & 2311 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.node-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
22.12.0
1+
22.22.2

adev-ja/src/app/core/services/a-dev-title-strategy.en.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
* found in the LICENSE file at https://angular.dev/license
77
*/
88

9-
import {Injectable, inject} from '@angular/core';
9+
import {inject, Service} from '@angular/core';
1010
import {NavigationItem} from '@angular/docs';
1111
import {Meta, Title} from '@angular/platform-browser';
1212
import {ActivatedRouteSnapshot, RouterStateSnapshot, TitleStrategy} from '@angular/router';
@@ -22,7 +22,7 @@ export const TITLE_TWITTER_META_TAG = 'twitter:title';
2222

2323
export const ALL_TITLE_META_TAGS = [TITLE_OG_META_TAG, TITLE_TWITTER_META_TAG];
2424

25-
@Injectable({providedIn: 'root'})
25+
@Service()
2626
export class ADevTitleStrategy extends TitleStrategy {
2727
private readonly title = inject(Title);
2828
private readonly meta = inject(Meta);

adev-ja/src/app/core/services/a-dev-title-strategy.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
* found in the LICENSE file at https://angular.dev/license
77
*/
88

9-
import {Injectable, inject} from '@angular/core';
9+
import {inject, Service} from '@angular/core';
1010
import {NavigationItem} from '@angular/docs';
1111
import {Meta, Title} from '@angular/platform-browser';
1212
import {ActivatedRouteSnapshot, RouterStateSnapshot, TitleStrategy} from '@angular/router';
@@ -22,7 +22,7 @@ export const TITLE_TWITTER_META_TAG = 'twitter:title';
2222

2323
export const ALL_TITLE_META_TAGS = [TITLE_OG_META_TAG, TITLE_TWITTER_META_TAG];
2424

25-
@Injectable({providedIn: 'root'})
25+
@Service()
2626
export class ADevTitleStrategy extends TitleStrategy {
2727
private readonly title = inject(Title);
2828
private readonly meta = inject(Meta);

adev-ja/src/app/features/home/home.component.en.html

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
<div class="pattern"></div>
44
<div class="content">
55
<div class="adev-banner-container">
6-
<a href="events/v21" class="adev-banner" target="_blank">
7-
<h1 tabindex="-1">Angular v21 is here!</h1>
8-
<p class="adev-banner-cta">🕹️ Start your adventure</p>
6+
<a href="events/v22" class="adev-banner" target="_blank">
7+
<h1 tabindex="-1">Angular v22 is here!</h1>
8+
<p class="adev-banner-cta">⚡ Explore what's new</p>
99
</a>
1010

1111
<div class="search-field">
@@ -36,49 +36,49 @@ <h3>The framework for building scalable web apps with confidence</h3>
3636
</div>
3737
</section>
3838

39-
<section class="features-section">
39+
<section class="features-section" #featuresSection>
4040
<h2 id="features">Features that actually <br />help you solve problems</h2>
4141

4242
<div ngTabs class="material-tabs">
43-
<div ngTabList selectionMode="follow" selectedTab="signals">
43+
<div ngTabList selectionMode="follow" [(selectedTab)]="selectedFeatureTab">
4444
<div class="tab-background"></div>
45-
<div ngTab value="signals">Signals</div>
46-
<div ngTab value="control-flow">Control Flow</div>
47-
<div ngTab value="deferrable-views">Deferrable Views</div>
48-
<div ngTab value="hydration">Hydration</div>
45+
<div ngTab [value]="FEATURE_TAB.signals">Signals</div>
46+
<div ngTab [value]="FEATURE_TAB.controlFlow">Control Flow</div>
47+
<div ngTab [value]="FEATURE_TAB.deferrableViews">Deferrable Views</div>
48+
<div ngTab [value]="FEATURE_TAB.hydration">Hydration</div>
4949
</div>
5050

5151
<div class="sliding-window">
52-
<div ngTabPanel [preserveContent]="true" value="signals">
53-
<ng-template ngTabContent>
54-
@defer (on idle) {
52+
<div ngTabPanel [preserveContent]="true" [value]="FEATURE_TAB.signals">
53+
@defer (on idle) {
54+
<ng-template ngTabContent>
5555
<adev-signals-demo />
56-
}
57-
</ng-template>
56+
</ng-template>
57+
}
5858
</div>
5959

60-
<div ngTabPanel [preserveContent]="true" value="control-flow">
61-
<ng-template ngTabContent>
62-
@defer (on idle) {
60+
<div ngTabPanel [preserveContent]="true" [value]="FEATURE_TAB.controlFlow">
61+
@defer (on idle) {
62+
<ng-template ngTabContent>
6363
<adev-control-flow-example />
64-
}
65-
</ng-template>
64+
</ng-template>
65+
}
6666
</div>
6767

68-
<div ngTabPanel [preserveContent]="true" value="deferrable-views">
69-
<ng-template ngTabContent>
70-
@defer {
68+
<div ngTabPanel [preserveContent]="true" [value]="FEATURE_TAB.deferrableViews">
69+
@defer (on idle) {
70+
<ng-template ngTabContent>
7171
<adev-defer-example />
72-
}
73-
</ng-template>
72+
</ng-template>
73+
}
7474
</div>
7575

76-
<div ngTabPanel [preserveContent]="true" value="hydration">
77-
<ng-template ngTabContent>
78-
@defer {
76+
<div ngTabPanel [preserveContent]="true" [value]="FEATURE_TAB.hydration">
77+
@defer (on idle) {
78+
<ng-template ngTabContent>
7979
<adev-hydration-example />
80-
}
81-
</ng-template>
80+
</ng-template>
81+
}
8282
</div>
8383
</div>
8484
</div>

adev-ja/src/app/features/home/home.component.html

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
<div class="pattern"></div>
44
<div class="content">
55
<div class="adev-banner-container">
6-
<a href="events/v21" class="adev-banner" target="_blank">
7-
<h1 tabindex="-1">Angular v21がリリースされました</h1>
8-
<p class="adev-banner-cta">🕹️ 冒険を始めよう</p>
6+
<a href="events/v22" class="adev-banner" target="_blank">
7+
<h1 tabindex="-1">Angular v22がリリースされました</h1>
8+
<p class="adev-banner-cta">⚡ 新機能を見る</p>
99
</a>
1010

1111
<div class="search-field">
@@ -36,49 +36,49 @@ <h3>スケーラブルなWebアプリを確信を持って構築できるフレ
3636
</div>
3737
</section>
3838

39-
<section class="features-section">
39+
<section class="features-section" #featuresSection>
4040
<h2 id="features">あなたの問題解決を助ける<br />多くの機能</h2>
4141

4242
<div ngTabs class="material-tabs">
43-
<div ngTabList selectionMode="follow" selectedTab="signals">
43+
<div ngTabList selectionMode="follow" [(selectedTab)]="selectedFeatureTab">
4444
<div class="tab-background"></div>
45-
<div ngTab value="signals">シグナル</div>
46-
<div ngTab value="control-flow">制御フロー</div>
47-
<div ngTab value="deferrable-views">遅延可能ビュー</div>
48-
<div ngTab value="hydration">ハイドレーション</div>
45+
<div ngTab [value]="FEATURE_TAB.signals">シグナル</div>
46+
<div ngTab [value]="FEATURE_TAB.controlFlow">制御フロー</div>
47+
<div ngTab [value]="FEATURE_TAB.deferrableViews">遅延可能ビュー</div>
48+
<div ngTab [value]="FEATURE_TAB.hydration">ハイドレーション</div>
4949
</div>
5050

5151
<div class="sliding-window">
52-
<div ngTabPanel [preserveContent]="true" value="signals">
53-
<ng-template ngTabContent>
54-
@defer (on idle) {
52+
<div ngTabPanel [preserveContent]="true" [value]="FEATURE_TAB.signals">
53+
@defer (on idle) {
54+
<ng-template ngTabContent>
5555
<adev-signals-demo />
56-
}
57-
</ng-template>
56+
</ng-template>
57+
}
5858
</div>
5959

60-
<div ngTabPanel [preserveContent]="true" value="control-flow">
61-
<ng-template ngTabContent>
62-
@defer (on idle) {
60+
<div ngTabPanel [preserveContent]="true" [value]="FEATURE_TAB.controlFlow">
61+
@defer (on idle) {
62+
<ng-template ngTabContent>
6363
<adev-control-flow-example />
64-
}
65-
</ng-template>
64+
</ng-template>
65+
}
6666
</div>
6767

68-
<div ngTabPanel [preserveContent]="true" value="deferrable-views">
69-
<ng-template ngTabContent>
70-
@defer {
68+
<div ngTabPanel [preserveContent]="true" [value]="FEATURE_TAB.deferrableViews">
69+
@defer (on idle) {
70+
<ng-template ngTabContent>
7171
<adev-defer-example />
72-
}
73-
</ng-template>
72+
</ng-template>
73+
}
7474
</div>
7575

76-
<div ngTabPanel [preserveContent]="true" value="hydration">
77-
<ng-template ngTabContent>
78-
@defer {
76+
<div ngTabPanel [preserveContent]="true" [value]="FEATURE_TAB.hydration">
77+
@defer (on idle) {
78+
<ng-template ngTabContent>
7979
<adev-hydration-example />
80-
}
81-
</ng-template>
80+
</ng-template>
81+
}
8282
</div>
8383
</div>
8484
</div>

0 commit comments

Comments
 (0)