#### What type of PR is this?
/area ui
/kind api-change
/milestone 2.22.x
#### What this PR does / why we need it:
See #7925
#### Which issue(s) this PR fixes:
Fixes#7925
#### Special notes for your reviewer:
#### Does this PR introduce a user-facing change?
```release-note
将 `@halo-dev/console-shared` 重命名为 `@halo-dev/ui-shared`
```
#### What type of PR is this?
/area ui
/kind feature
/milestone 2.22.x
#### What this PR does / why we need it:
This PR moves the `currentUser` and `globalInfo` stores to the `@halo-dev/console-shared` package, making them easily accessible for plugins.
In addition, it’s now possible for plugins to define their own global stores using Pinia.
#### Does this PR introduce a user-facing change?
```release-note
- 在 `@halo-dev/console-shared` 包中提供 `stores` 对象,包含 currentUser 和 globalInfo。
- 支持在插件的 UI 中使用 Pinia 定义全局 Store
```
#### What type of PR is this?
/area ui
/kind cleanup
#### What this PR does / why we need it:
Integrated [eslint-plugin-unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn) into the ESLint config and added related rules. Updated all imports of core Node.js modules to use the 'node:' protocol for improved compatibility and linting.
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### 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 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`。
```