release: v0.2.0 — TypeScript 源码重构
CI / test (18.x) (push) Successful in 9m52s
CI / test (22.x) (push) Canceled after 0s
CI / test (24.x) (push) Canceled after 0s
CI / test (20.x) (push) Canceled after 2m49s

### Changed
- 全部源码从 JavaScript 迁移到 TypeScript (strict mode)
- core.js (1244行) 拆分为 toast.ts + api.ts + templates.ts
- 删除手动维护的 types/index.d.ts,类型从源码自动生成
- 构建工具链: Babel → ts-jest, 新增 @rollup/plugin-typescript
- 新增 rollup-plugin-dts 生成合并 .d.ts

### Added
- tsconfig.json (strict: true)
- src/types.ts 核心类型模块 (39 个导出类型)
- .eslintrc.json (@typescript-eslint)
- .gitea/workflows/ci.yml (Node 18/20/22/24 矩阵)
- CHANGELOG.md

### Aligned with metona-starter
- package.json: type:module, engines≥16, prepublishOnly
- rollup.config.js: dts plugin, port 3001
- jest.config.cjs, build.sh, serve.sh, .gitignore (.npmrc)

### Removed
- babel.config.js, types/ 目录, 所有 src/*.js
This commit is contained in:
tianhao
2026-07-25 11:22:07 +08:00
parent ee2b685f64
commit 9a6cd33d90
36 changed files with 3673 additions and 5473 deletions
+8 -66
View File
@@ -1,83 +1,25 @@
#!/bin/bash
# MetonaToast 构建脚本
# 构建脚本 — 安装依赖 → 测试 → 构建
echo "🍞 MetonaToast 构建脚本"
echo "========================"
echo "🔨 MetonaToast 构建脚本"
# 检查Node.js
if ! command -v node &> /dev/null; then
echo "❌ 错误: 未找到Node.js"
echo "❌ 未找到 Node.js"
exit 1
fi
# 检查npm
if ! command -v npm &> /dev/null; then
echo "❌ 错误: 未找到npm"
exit 1
fi
echo "✅ Node.js: $(node -v)"
echo "✅ Node.js版本: $(node -v)"
echo "✅ npm版本: $(npm -v)"
# 安装依赖
echo ""
echo "📦 安装依赖..."
npm install
npm install || exit 1
if [ $? -ne 0 ]; then
echo "❌ 依赖安装失败"
exit 1
fi
echo "✅ 依赖安装完成"
# 运行测试
echo ""
echo "🧪 运行测试..."
npm test
npm test || exit 1
if [ $? -ne 0 ]; then
echo "❌ 测试失败"
exit 1
fi
echo "🔨 构建..."
npm run build || exit 1
echo "✅ 测试通过"
# 构建项目
echo ""
echo "🔨 构建项目..."
npm run build
if [ $? -ne 0 ]; then
echo "❌ 构建失败"
exit 1
fi
echo "✅ 构建完成"
# 显示构建结果
echo ""
echo "📊 构建结果:"
echo "========================"
ls -lh dist/
echo ""
echo "✅ 构建成功完成!"
echo ""
echo "📁 文件结构:"
echo " - dist/metona-toast.js (UMD格式)"
echo " - dist/metona-toast.esm.js (ES Module格式)"
echo " - dist/metona-toast.cjs.js (CommonJS格式)"
echo " - dist/metona-toast.min.js (压缩版本)"
echo " - dist/metona-toast.d.ts (TypeScript声明)"
echo ""
echo "🚀 使用方法:"
echo " 1. 浏览器: <script src='dist/metona-toast.js'></script>"
echo " 2. ES Module: import MeToast from 'dist/metona-toast.esm.js'"
echo " 3. CommonJS: const MeToast = require('dist/metona-toast.cjs.js')"
echo ""
echo "📝 示例:"
echo " 打开 site/index.html 查看官网"
echo " 打开 site/demo.html 查看演示"
echo ""