Add support for "<%_", "_%>" and "-%>" delimiters in templating in @angular-devkit/core
- Ngôn ngữ chính
- TypeScript
- Star
- 27k
- Fork
- 11.8k
- Merge trung bình
- 14 giờ 23 phút
- Pull request đã merge (30 ngày)
- 162
Mô tả
# 🚀 Feature request
### Command (mark with an `x`)
- [x] generate
### Description
The templating for the @angular/devkit library uses EJS, sort of but doesn't support whitespace slurping the way that the documentation of EJS has declared it. Having this would enable schematic templates to be much more flexible with their whitespace and therefor easier to read while still creating nicely formatted files.
### Describe the solution you'd like
The three delimiters: `"<%_"`, `"_%>"` and `"-%>"` should just be added and work the same way that they do in EJS.
I already have an idea of the code that I'd like to add, and a pull request almost ready. It's very simple and only affects one file.
### Examples
Within [@schematics/angular](https://npmjs.com/package/@schematics/angular) this would allow an example like the following
```
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
<%_ if (routing) { %>
import { AppRoutingModule } from './app-routing.module';
<%_ } -%>
import { AppComponent } from './app.component';
@NgModule({
declarations: [
AppComponent
],
imports: [
<%_ if (routing) { -%>
AppRoutingModule,
<%_ } -%>
BrowserModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
```
Which would generate with the correct whitespace.
Hướng dẫn đóng góp
Hướng nghiên cứu
Issue xác định phần triển khai templating của @angular-devkit/core, nhưng không nêu tên file hoặc test nào. Hãy bắt đầu bằng cách tìm phần triển khai đó và so sánh cách xử lý delimiter của nó với EJS; hoàn thành khi các delimiter loại bỏ khoảng trắng <%, _%> và -%> hoạt động với schematic template được hiển thị.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- typescript
- Lĩnh vực
- tooling
- Loại issue
- Tính năng
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 28/100