feat: 打包添加类型

This commit is contained in:
xion 2024-11-02 19:35:36 +08:00
parent 51cd44b8e9
commit db6597fd78
2 changed files with 35 additions and 10 deletions

View File

@ -1,6 +1,6 @@
{ {
"name": "@kevisual/container", "name": "@kevisual/container",
"version": "0.0.2-alpha.1", "version": "0.0.2",
"description": "", "description": "",
"main": "dist/index.js", "main": "dist/index.js",
"publishConfig": { "publishConfig": {
@ -10,12 +10,12 @@
"type": "module", "type": "module",
"exports": { "exports": {
".": { ".": {
"import": "./dist/index.js", "import": "./dist/container.js",
"require": "./dist/index.js" "require": "./dist/container.js"
}, },
"./edit": { "./edit": {
"import": "./dist/edit.js", "import": "./dist/container-edit.js",
"require": "./dist/edit.js" "require": "./dist/container-edit.js"
}, },
"./container.css": { "./container.css": {
"import": "./dist/container.css", "import": "./dist/container.css",
@ -25,6 +25,7 @@
"scripts": { "scripts": {
"build": "rimraf dist && rollup -c", "build": "rimraf dist && rollup -c",
"start": "ts-node src/index.ts", "start": "ts-node src/index.ts",
"build:app": "rsync dist/* ../deploy/dist",
"watch": "rollup -c -w" "watch": "rollup -c -w"
}, },
"files": [ "files": [
@ -53,6 +54,7 @@
}, },
"dependencies": { "dependencies": {
"nanoid": "^5.0.7", "nanoid": "^5.0.7",
"rollup-plugin-dts": "^6.1.1",
"zustand": "^4.5.5" "zustand": "^4.5.5"
} }
} }

View File

@ -4,13 +4,15 @@ import typescript from '@rollup/plugin-typescript';
import resolve from '@rollup/plugin-node-resolve'; import resolve from '@rollup/plugin-node-resolve';
import commonjs from '@rollup/plugin-commonjs'; import commonjs from '@rollup/plugin-commonjs';
import copy from 'rollup-plugin-copy'; import copy from 'rollup-plugin-copy';
import { dts } from 'rollup-plugin-dts';
/** /**
* @type {import('rollup').RollupOptions} * @type {import('rollup').RollupOptions}
*/ */
const config1 = { const config1 = {
input: 'src/index.ts', // TypeScript 入口文件 input: 'src/index.ts', // TypeScript 入口文件
output: { output: {
file: 'dist/index.js', // 输出文件 file: 'dist/container.js', // 输出文件
format: 'es', // 输出格式设置为 ES 模块 format: 'es', // 输出格式设置为 ES 模块
}, },
plugins: [ plugins: [
@ -19,14 +21,25 @@ const config1 = {
typescript({ typescript({
allowImportingTsExtensions: true, allowImportingTsExtensions: true,
noEmit: true, noEmit: true,
declaration: false,
}), // 使用 @rollup/plugin-typescript 处理 TypeScript 文件 }), // 使用 @rollup/plugin-typescript 处理 TypeScript 文件
dts(), // 生成 .d.ts 类型声明文件
],
};
const config1Dts = {
input: 'src/index.ts', // TypeScript 入口文件
output: {
file: 'dist/container.d.ts', // 输出文件
format: 'es', // 输出格式设置为 ES 模块
},
plugins: [
dts(), // 生成 .d.ts 类型声明文件
], ],
}; };
const config2 = { const config2 = {
input: 'src/edit.ts', // TypeScript 入口文件 input: 'src/edit.ts', // TypeScript 入口文件
output: { output: {
file: 'dist/edit.js', // 输出文件 file: 'dist/container-edit.js', // 输出文件
format: 'es', // 输出格式设置为 ES 模块 format: 'es', // 输出格式设置为 ES 模块
}, },
plugins: [ plugins: [
@ -35,6 +48,7 @@ const config2 = {
typescript({ typescript({
allowImportingTsExtensions: true, allowImportingTsExtensions: true,
noEmit: true, noEmit: true,
declaration: false,
}), // 使用 @rollup/plugin-typescript 处理 TypeScript 文件 }), // 使用 @rollup/plugin-typescript 处理 TypeScript 文件
// 复制/src/container.css 到dist/container.css // 复制/src/container.css 到dist/container.css
copy({ copy({
@ -42,5 +56,14 @@ const config2 = {
}), }),
], ],
}; };
const config2Dts = {
export default [config1, config2]; input: 'src/edit.ts', // TypeScript 入口文件
output: {
file: 'dist/container-edit.d.ts', // 输出文件
format: 'es', // 输出格式设置为 ES 模块
},
plugins: [
dts(), // 生成 .d.ts 类型声明文件
],
};
export default [config1, config2, config1Dts, config2Dts];