#### What type of PR is this?
/area ui
/area plugin
/kind improvement
/milestone 2.21.x
#### What this PR does / why we need it:
Modify the vite configuration in ui-plugin-bunlder-kit to avoid passing the entire process.env to the build process.
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind cleanup
#### What this PR does / why we need it:
Upgrade Prettier and related plugins, and simplify Prettier configuration.
Now, formatting for all packages will be managed by Prettier in the project root directory.
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind cleanup
#### What this PR does / why we need it:
Migrate to ESLint 9, use flat config file, and simplify ESLint configuration.
Now, linting for all packages will be managed by the configuration in the project root directory.
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/milestone 2.21.x
#### What this PR does / why we need it:
Bump @halo-dev/ui-plugin-bundler-kit version to 2.21.1
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind feature
/area plugin
/milestone 2.21.x
#### What this PR does / why we need it:
This PR adds Rsbuild preset configuration support and refactors the Vite preset configuration approach for `@halo-dev/ui-plugin-bundler-kit`.
- **Added Rsbuild support** - New `rsbuildConfig` function with pre-configured settings for Halo plugin development
- **Refactored Vite configuration** - Improved `viteConfig` function with better preset handling
- **Updated documentation** - Comprehensive README with usage examples and build tool comparison
example:
```typescript
// Vite
import { viteConfig } from "@halo-dev/ui-plugin-bundler-kit";
export default viteConfig({ vite: { /* custom config */ } });
// Rsbuild
import { rsbuildConfig } from "@halo-dev/ui-plugin-bundler-kit";
export default rsbuildConfig({ rsbuild: { /* custom config */ } });
```
real-world example: https://github.com/guqing/plugin-metrics-graph/pull/5
For detailed configuration options and examples, please refer to the updated README.md
⚠️ `HaloUIPluginBundlerKit` function is now deprecated (still functional but marked for removal)
#### Which issue(s) this PR fixes:
Fixes #
#### Special notes for your reviewer:
#### Does this PR introduce a user-facing change?
```release-note
重构 `@halo-dev/ui-plugin-bundler-kit`,以预配置的方式为插件提供 Vite 和 Rsbuild 的构建配置。
```
#### What type of PR is this?
/area ui
/kind improvement
/area plugin
/milestone 2.21.x
#### What this PR does / why we need it:
Added support for customization options to the HaloUIPluginBundlerKit.
example:
```ts
import { HaloUIPluginBundlerKit } from '@halo-dev/ui-plugin-bundler-kit';
export default {
plugins: [
HaloUIPluginBundlerKit({
outDir: {
dev: "../custom/dev/path",
prod: "../custom/prod/path"
},
manifestPath: "../custom/plugin.yaml"
})
]
}
```
#### Does this PR introduce a user-facing change?
```release-note
`@halo-dev/ui-plugin-bundler-kit` 支持自定义 `outDir` 和 `manifestPath`。
```
#### What type of PR is this?
/kind cleanup
/area core
/milestone 2.21.x
#### What this PR does / why we need it:
This PR bumps versions to 2.21.0-SNAPSHOT, including ui packages and API client.
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind cleanup
/area core
#### What this PR does / why we need it:
This PR bumps all version to 2.20.0 to prepare for next development.
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind cleanup
/area core
#### What this PR does / why we need it:
This is a regular updates after a new release.
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind cleanup
/area core
#### What this PR does / why we need it:
This PR bumps Halo version into 2.18.0 for next development iteration.
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind cleanup
/area core
#### What this PR does / why we need it:
This is a regular update after a release.
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.16.x
#### What this PR does / why we need it:
升级 Vite 至 5.x。
#### Does this PR introduce a user-facing change?
```release-note
升级 UI 部分的 Vite 版本至 5.x。
```
#### What type of PR is this?
/kind cleanup
/area core
#### What this PR does / why we need it:
This is a regular action after releasing a minor version.
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind cleanup
/area core
#### What this PR does / why we need it:
Upgrade version to `2.15.0-SNAPSHOT`.
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind cleanup
/area core
#### What this PR does / why we need it:
Bump version to 2.14 to prepare for developing 2.14. This always happens after new version is released.
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind cleanup
#### What this PR does / why we need it:
Rename console to ui in some files,
Ref https://github.com/halo-dev/halo/pull/5314
#### Does this PR introduce a user-facing change?
```release-note
None
```