angular / angular/angular-cli

JS support for PostCSS config

Đang mở
#27,819 9 bình luận 42 reaction 0 người được giao Xem trên GitHub
angular/build:application area: @angular/build feature feature: under consideration
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ả

### Command

config

### Description

Currently the CLI supports custom PostCSS configurations in the format of JSON files. The problem is that the JSON format has its limitation. In our case for example we try to configure CSS purging with the `fullhuman/postcss-purgecss` plugin.

```json
{
"plugins": {
"@fullhuman/postcss-purgecss": {
"content": ["**/*.html", "**/*.ts", "**/*.js"],
"skippedContentGlobs": ["node_modules/**"],
}
}
}
```

Unfortunately this config is not enough and therefore we would need to configure some extractors:

```javascript
import purgeJs from "purgecss-from-js";
import purgeHtml from "purgecss-from-html";

const options = {
content: [], // files to extract the selectors from
css: [], // css
extractors: [
{
extractor: purgeJs,
extensions: ["js"],
},
{
extractor: purgeHtml,
extensions: ["html"],
},
],
};
export default options;
```

### Describe the solution you'd like
Support PostCSS configuration files writen in JavaScript.

### Describe alternatives you've considered
_No response_

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Start at the CLI's config command and trace how JSON PostCSS configuration files are located, loaded, and passed to PostCSS. Review the existing configuration tests before deciding where JavaScript module loading belongs. Done means a JavaScript PostCSS config can be discovered and used with custom extractor functions, while existing JSON configuration still works.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
javascript, typescript
Lĩnh vực
build-system, cli
Loại issue
Tính năng
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Ít trao đổi
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
50/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.