diff --git a/packages/ui/package.json b/packages/ui/package.json index 104428a..0acbb19 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -36,7 +36,6 @@ "postcss-import": "^16.1.0", "rollup": "^4.24.3", "rollup-plugin-postcss": "^4.0.2", - "ts-lib": "^0.0.5", "typescript": "^5.6.3", "zustand": "5.0.1", "@kevisual/system-ui": "^0.0.2" diff --git a/packages/vite/package.json b/packages/vite/package.json new file mode 100644 index 0000000..f561e3a --- /dev/null +++ b/packages/vite/package.json @@ -0,0 +1,38 @@ +{ + "name": "@build/vite", + "version": "0.0.1", + "description": "", + "main": "index.js", + "scripts": { + "dev": "rollup -c -w", + "build": "npm run clean && rollup -c", + "clean": "rimraf dist" + }, + "keywords": [], + "author": "abearxiong ", + "license": "MIT", + "type": "module", + "files": [ + "dist", + "src" + ], + "devDependencies": { + "@rollup/plugin-commonjs": "^28.0.1", + "@rollup/plugin-node-resolve": "^15.3.0", + "@rollup/plugin-terser": "^0.4.4", + "@rollup/plugin-typescript": "^12.1.1", + "@types/postcss-import": "^14.0.3", + "@types/react": "^18.3.12", + "autoprefixer": "^10.4.20", + "cross-env": "^7.0.3", + "cssnano": "^7.0.6", + "immer": "^10.1.1", + "nanoid": "^5.0.8", + "postcss-import": "^16.1.0", + "rollup": "^4.24.3", + "rollup-plugin-dts": "^6.1.1", + "rollup-plugin-postcss": "^4.0.2", + "typescript": "^5.6.3", + "vite": "^5.4.6" + } +} \ No newline at end of file diff --git a/packages/vite/rollup.config.js b/packages/vite/rollup.config.js new file mode 100644 index 0000000..e19fb35 --- /dev/null +++ b/packages/vite/rollup.config.js @@ -0,0 +1,33 @@ +import resolve from '@rollup/plugin-node-resolve'; +import typescript from '@rollup/plugin-typescript'; +import commonjs from '@rollup/plugin-commonjs'; +import { dts } from 'rollup-plugin-dts'; + +const entrys = ['index']; +/** + * @type {import('rollup').RollupOptions[]} + */ +const configs = entrys.map((entry) => ({ + input: `./src/${entry}.ts`, // 修改输入文件为 TypeScript 文件 + output: { + file: `./dist/${entry}.js`, + format: 'es', // 输出格式为 ES Module + }, + plugins: [ + resolve({ browser: false }), + commonjs(), + typescript({ + tsconfig: './tsconfig.json', + }), + ], +})); +const dtsConfigs = { + input: './src/index.ts', + output: { + file: './dist/index.d.ts', + format: 'es', + }, + plugins: [dts()], +}; + +export default [...configs, dtsConfigs]; diff --git a/packages/vite/src/index.ts b/packages/vite/src/index.ts new file mode 100644 index 0000000..debe323 --- /dev/null +++ b/packages/vite/src/index.ts @@ -0,0 +1,17 @@ +/** + * + * @param isDev + * @param scriptStr + * @returns + */ +export const unamiPlugin = (scriptStr: string, isDev = false) => { + return { + name: 'html-transform', + transformIndexHtml(html: string) { + if (isDev) { + return html; + } + return html.replace('', `${scriptStr}`); + }, + }; +}; diff --git a/packages/vite/tsconfig.json b/packages/vite/tsconfig.json new file mode 100644 index 0000000..b1dbf26 --- /dev/null +++ b/packages/vite/tsconfig.json @@ -0,0 +1,37 @@ +{ + "compilerOptions": { + "target": "ES2020", + "useDefineForClassFields": true, + "lib": [ + "ES2020", + "DOM", + "DOM.Iterable" + ], + "module": "ESNext", + "skipLibCheck": true, + /* Bundler mode */ + "moduleResolution": "bundler", + "declaration": false, + "allowImportingTsExtensions": true, + "isolatedModules": true, + "moduleDetection": "force", + "noEmit": true, + "jsx": "react-jsx", + "baseUrl": "./", + "types": [], + "paths": { + "@/*": [ + "src/*" + ] + }, + /* Linting */ + "strict": true, + "noImplicitAny": false, + "noUnusedLocals": false, + "noUnusedParameters": false, + "noFallthroughCasesInSwitch": true + }, + "include": [ + "src", + ] +} \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ad1295c..1676ab9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -216,6 +216,60 @@ importers: specifier: 5.0.1 version: 5.0.1(@types/react@18.3.12)(immer@10.1.1)(react@18.3.1)(use-sync-external-store@1.2.2(react@18.3.1)) + packages/vite: + devDependencies: + '@rollup/plugin-commonjs': + specifier: ^28.0.1 + version: 28.0.1(rollup@4.24.3) + '@rollup/plugin-node-resolve': + specifier: ^15.3.0 + version: 15.3.0(rollup@4.24.3) + '@rollup/plugin-terser': + specifier: ^0.4.4 + version: 0.4.4(rollup@4.24.3) + '@rollup/plugin-typescript': + specifier: ^12.1.1 + version: 12.1.1(rollup@4.24.3)(tslib@2.7.0)(typescript@5.6.3) + '@types/postcss-import': + specifier: ^14.0.3 + version: 14.0.3 + '@types/react': + specifier: ^18.3.12 + version: 18.3.12 + autoprefixer: + specifier: ^10.4.20 + version: 10.4.20(postcss@8.4.47) + cross-env: + specifier: ^7.0.3 + version: 7.0.3 + cssnano: + specifier: ^7.0.6 + version: 7.0.6(postcss@8.4.47) + immer: + specifier: ^10.1.1 + version: 10.1.1 + nanoid: + specifier: ^5.0.8 + version: 5.0.8 + postcss-import: + specifier: ^16.1.0 + version: 16.1.0(postcss@8.4.47) + rollup: + specifier: ^4.24.3 + version: 4.24.3 + rollup-plugin-dts: + specifier: ^6.1.1 + version: 6.1.1(rollup@4.24.3)(typescript@5.6.3) + rollup-plugin-postcss: + specifier: ^4.0.2 + version: 4.0.2(postcss@8.4.47) + typescript: + specifier: ^5.6.3 + version: 5.6.3 + vite: + specifier: ^5.4.6 + version: 5.4.6(@types/node@22.5.5)(terser@5.36.0) + packages: '@abearxiong/ui@0.0.1-alpha.0':