Angular schematics generates blank lines through template
- 主要言語
- TypeScript
- スター
- 27k
- フォーク
- 11.8k
- 平均マージ
- 14時間 23分
- マージ済み PR(30日)
- 162
説明
### Command
generate
### Is this a regression?
- [ ] Yes, this behavior used to work in the previous version
### The previous version in which this bug was not present was
_No response_
### Description
I have ng schematics template `__name@dasherize__.component.html` with content :
> <% for (let row of getComponents().rows) { %>
>
> <% for (let field of row.fields) { %>
> <% if (field.type === 'InputStrxing') { %>
>
>
>
> <% } %>
> <% } %>
>
> <% } %>
I build it with :
npm run build
schematics .:ui-generator --name=hello
Generated code creates empty lines on place where is put command "<%" in template, see:
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
Is there anyway these white spaces can be avoided. If we have to do it manually, it might kill the purpose of this code generator tool
### Minimal Reproduction
Write a schematic template code with inline code <% inline code %>. Then build and generate code using commands
npm run build
schematics .:ui-generator --name=hello
We can see generated code is having while spaces wherever inline code is present.
### Exception or Error
_No response_
### Your Environment
```text
ng analytics disable --global
Global setting: enabled
Local setting: No local workspace configuration file.
Effective status: enabled
_ _ ____ _ ___
/ \ _ __ __ _ _ _| | __ _ _ __ / ___| | |_ _|
/ △ \ | '_ \ / _` | | | | |/ _` | '__| | | | | | |
/ ___ \| | | | (_| | |_| | | (_| | | | |___| |___ | |
/_/ \_\_| |_|\__, |\__,_|_|\__,_|_| \____|_____|___|
|___/
Angular CLI: 16.2.14
Node: 18.19.1
Package Manager: npm 10.2.4
OS: darwin arm64
Angular: undefined
...
Package Version
------------------------------------------------------
@angular-devkit/architect 0.1602.14
@angular-devkit/core 16.2.14
@angular-devkit/schematics 16.2.14
@schematics/angular 16.2.14
typescript 5.1.6
```
### Anything else relevant?
_No response_
コントリビューションガイド
調査の方向性
npm run build と schematics .:ui-generator --name=hello を使用して、インラインの <% ... %> schematic テンプレートにある空行を再現します。まず Angular CLI schematics がテンプレートコマンドをどのようにレンダリングするかを追跡し、次に生成された出力でコマンドだけに属する空白が省略され、周囲の内容が保持されることを確認します。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- angular, typescript
- 領域
- cli, tooling
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 45/100