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 摘要。