farm-fe / farm

Extremely fast Vite-compatible web build tool written in Rust
https://farmfe.org
MIT License
5.02k stars 166 forks source link

refactor: Redesign resolvedConfig #1921

Closed ErKeLost closed 2 weeks ago

ErKeLost commented 2 weeks ago

Action

Existing code issues

1. Long methodological issues

The resolveConfig method is too long, its responsibilities are too scattered, and it is difficult to understand and maintain.

2. having a high degree of coupling

The method handles multiple different tasks internally, such as environment variable setting, configuration file loading, plug-in parsing, etc., resulting in tight coupling of the various parts.

3. Insufficient readability

There is a lack of adequate annotations, variable naming is not intuitive enough, and the logical flow is not clear enough.

4. Logic complex

Some logics are mixed together, making it difficult to track the execution order and conditional judgment.

optimization scheme

writing...

Action

options change

add mode in inlineOptions

writing...

changeset-bot[bot] commented 2 weeks ago

⚠️ No Changeset found

Latest commit: 1bcf658f664731b204c8a8eba3e16bb7f19b4693

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

💥 An error occurred when fetching the changed packages and changesets in this PR ``` Some errors occurred when validating the changesets config: The package or glob expression "farm-docs" is specified in the `ignore` option but it is not found in the project. You may have misspelled the package name or provided an invalid glob expression. Note that glob expressions must be defined according to https://www.npmjs.com/package/micromatch. ```