angular / angular/angular-cli

extract-i18n does not extract message from files loaded only server side

未關閉
#22,871 7 則留言 5 個 reaction 已指派 0 人 在 GitHub 檢視
area: @angular-devkit/build-angular devkit/build-angular:i18n feature feature: insufficient votes
主要語言
TypeScript
星號
27k
分支
11.8k
平均合併
14 小時 23 分鐘
30 天內合併 PR
162

描述

# 🐞 Bug report

### Command (mark with an `x`)

- [ ] new
- [ ] build
- [ ] serve
- [ ] test
- [ ] e2e
- [ ] generate
- [ ] add
- [ ] update
- [ ] lint
- [x ] extract-i18n
- [ ] run
- [ ] config
- [ ] help
- [ ] version
- [ ] doc

### Is this a regression?

Yes, the previous version in which this bug was not present was: ....

### Description
The extraction tool does not process files that do not have a direct dependency on the app.module, or, generally, on the browser side.
In my case an abstract service is replaced by two versions of the service, one browser side, the other server side. The server-side one is ignored during the extraction process.

## 🔬 Minimal Reproduction

I made a simple [repro app](https://github.com/manzonif/ng-extract-i18n-server) that reproduce the problem.
Just run extract-i18n to see that message in [server-service.service.ts](https://github.com/manzonif/ng-extract-i18n-server/blob/master/src/app/server-service.service.ts) is ignored.
## 🔥 Exception or Error

## 🌍 Your Environment

Angular: 12.0.1
... animations, cdk, cli, common, compiler, compiler-cli, core
... forms, language-service, material, platform-browser
... platform-browser-dynamic, platform-server, router
... service-worker

Package Version
-----------------------------------------------------------
@angular-devkit/architect 0.1200.5
@angular-devkit/build-angular 12.0.5
@angular-devkit/build-optimizer 0.1200.5
@angular-devkit/core 12.0.1
@angular-devkit/schematics 12.0.1
@angular/flex-layout 12.0.0-beta.34
@angular/localize 12.0.5
@nguniversal/builders 12.1.3
@nguniversal/common 12.0.0
@nguniversal/express-engine 12.0.0
@schematics/angular 12.0.1
rxjs 7.4.0
typescript 4.2.4

**Anything else relevant?**

貢獻指南

開啟貢獻指南

研究方向

Run extract-i18n in the linked repro app and compare its output with the message in server-service.service.ts. Trace how the command discovers files that are not directly dependent on app.module or the browser-side code. Done means messages from the server-side service are included in extraction output.

由索引模型根據 Issue 內容生成。

評估

技術堆疊
angular, typescript
領域
localization, tooling
Issue 類型
缺陷
難度
4/5
預估耗時
3-5 天
活躍度
停滯
描述清晰度
基本清楚
新手友好度
42/100

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。