@bundlekit/shared-utils
v0.0.11
Published
bundlekit shared utils is common tools for bundlekit
Maintainers
Readme
@bundlekit/shared-utils
BundleKit 共享工具库,提供通用工具函数、类型定义和配置管理。
安装
npm install @bundlekit/shared-utils
# 或
pnpm add @bundlekit/shared-utils功能特性
工具函数
- FileManager - 文件系统操作封装
- Logger - 彩色日志输出
- Spinner - 加载动画
- PackageManager - 包管理器抽象
- confirm() - 交互式确认提示
- validateBuildConfig() - 配置校验
SSR 支持
- createSSRRequestHandler() - SSR 渲染中间件
- buildSSRView() - SSR 视图转换
- resolveSSRExternals() - externals 解析
HTTP 客户端
- Fetch - 基于 Node http/https 的 HTTP 客户端
配置工具
- addPluginToConfig() - 自动修改 .bundlekitrc.ts
- resolveBundlerName() - bundler 名称解析
- BUNDLER_PACKAGE_MAP - bundler 名称映射
类型定义
import type {
IBuildConfig,
IEnvBuildConfig,
ISSRConfig,
IToolsHooks,
IDepMode,
IGeneratorAPI,
} from '@bundlekit/shared-utils';IBuildConfig
interface IBuildConfig {
config: {
development?: IEnvBuildConfig;
production?: IEnvBuildConfig;
staging?: IEnvBuildConfig;
};
plugins?: string[];
tools?: IToolsHooks;
}IEnvBuildConfig
interface IEnvBuildConfig {
entry: string;
output: {
dir: string;
filename: string;
formats?: 'esm' | 'commonjs' | 'umd' | 'iife';
};
framework?: string;
minify?: boolean;
sourcemap?: boolean;
ssr?: ISSRConfig;
library?: boolean;
libraryName?: string;
}使用示例
import { FileManager, Logger, validateBuildConfig } from '@bundlekit/shared-utils';
const fm = new FileManager(process.cwd());
const logger = new Logger();
// 检查文件是否存在
if (fm.isFilePathExist('src/index.ts')) {
logger.info('找到入口文件');
}
// 校验配置
const config = { config: { production: { entry: 'src/index.ts' } } };
const isValid = validateBuildConfig(config);文档
完整文档请访问 https://bundlekit.harhao.workers.dev
License
ISC