Compare commits

..
4 Commits
Author SHA1 Message Date
tianhao 5f8b9d2f75 chore: 版本回退至 0.5.0 并重建产物(含 CJS 兼容修复)
CI / test (18.x) (push) Successful in 10m8s
CI / test (20.x) (push) Successful in 10m10s
CI / test (22.x) (push) Successful in 10m4s
CI / test (24.x) (push) Successful in 10m2s
2026-08-08 15:40:04 +08:00
tianhao 2516a3a36b fix(ci): 修复 YAML 解析失败导致 CI 不触发
CI / test (18.x) (push) Successful in 10m12s
CI / test (20.x) (push) Successful in 10m7s
CI / test (22.x) (push) Successful in 10m8s
CI / test (24.x) (push) Successful in 10m24s
- 根因:'Run tests (coverage gate: lines >= 95%)' 未加引号,
  plain scalar 中 'coverage gate:' 的冒号被解析为嵌套 mapping,
  整个 workflow 解析失败 → push 不触发(v0.5.0 引入)
- 修复:name 加单引号;runs-on 恢复 debian-latest(runner 实际标签)
- publish.yml 同步恢复 runs-on
- 验证:两个文件 YAML 解析全部通过
2026-08-08 15:33:28 +08:00
tianhao a4a757b15b ci: runs-on 改用 ubuntu-latest(官方 act_runner 默认标签) 2026-08-08 15:30:14 +08:00
tianhao 95f5652e9c fix: CJS 产物改 .cjs 扩展名并提升 default 导出 — 修复 require() 兼容性
- 包声明 type:module 时 .js 产物被 Node 按 ESM 解析:Node 16/18 下 require 报 ERR_REQUIRE_ESM,Node 20+ 拿到 namespace 对象(success/version 等属性 undefined)
- dist/metona-toast.cjs.js → .cjs,dist/react.cjs.js → .cjs
- 主包 CJS footer 将 default 提升为 module.exports:require() 直接返回 MeToast(兼容 .default / .MeToast / .Met / .Toast / .VERSION 所有用法)
- 版本 0.5.1(0.5.0 已发布带问题产物)
- 真实消费者验证:CJS/ESM/React 子包四路加载全部正常
2026-08-08 15:25:47 +08:00
10 changed files with 15 additions and 11 deletions
+1 -1
View File
@@ -32,7 +32,7 @@ jobs:
- name: Lint
run: npm run lint
- name: Run tests (coverage gate: lines >= 95%)
- name: 'Run tests (coverage gate: lines >= 95%)'
run: npx jest --forceExit --maxWorkers=2 --no-cache --coverage
env:
NODE_OPTIONS: --max-old-space-size=4096
+1
View File
@@ -23,6 +23,7 @@ All notable changes to MetonaToast will be documented in this file.
### Added
- **Gitea Actions 发布自动化**`publish.yml` — 推送 `v*` tag 时自动 测试+构建+发布到 Gitea npm registry(需配置 `PACKAGES_TOKEN` secret
- **CI 强化**lint 改为必过(移除 continue-on-error);测试命令带覆盖率门禁
- **CJS 产物兼容性修复**:包声明 `type: module``.js` 产物被 Node 按 ESM 解析导致 `require()` 失效,CJS 产物改 `.cjs` 扩展名并将 default 提升为 `module.exports``require()` 直接返回 MeToast,兼容 `.default`/`.MeToast`/`.Met`/`.Toast`/`.VERSION` 全部用法)
## [0.4.0] - 2026-08-08
+2 -1
View File
@@ -4532,4 +4532,5 @@ exports.Toast = Toast;
exports.VERSION = VERSION;
exports.default = enhancedMeToast;
exports.meToast = enhancedMeToast;
//# sourceMappingURL=metona-toast.cjs.js.map
module.exports = Object.assign(exports.default, exports);
//# sourceMappingURL=metona-toast.cjs.map
-1
View File
File diff suppressed because one or more lines are too long
+1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -4614,4 +4614,4 @@ exports.MeToast = enhancedMeToast;
exports.Toast = Toast;
exports.createBoundApi = createBoundApi;
exports.useToast = useToast;
//# sourceMappingURL=react.cjs.js.map
//# sourceMappingURL=react.cjs.map
-1
View File
File diff suppressed because one or more lines are too long
+1
View File
File diff suppressed because one or more lines are too long
+3 -3
View File
@@ -3,7 +3,7 @@
"version": "0.5.0",
"description": "轻量、零依赖、精致美观的Toast通知库。TypeScript源码,开箱即用。",
"type": "module",
"main": "dist/metona-toast.cjs.js",
"main": "dist/metona-toast.cjs",
"module": "dist/metona-toast.esm.js",
"unpkg": "dist/metona-toast.min.js",
"jsdelivr": "dist/metona-toast.min.js",
@@ -11,12 +11,12 @@
"exports": {
".": {
"import": "./dist/metona-toast.esm.js",
"require": "./dist/metona-toast.cjs.js",
"require": "./dist/metona-toast.cjs",
"types": "./dist/metona-toast.d.ts"
},
"./react": {
"import": "./dist/react.js",
"require": "./dist/react.cjs.js",
"require": "./dist/react.cjs",
"types": "./dist/react.d.ts"
}
},
+5 -3
View File
@@ -59,14 +59,16 @@ export default [
},
plugins: basePlugins,
},
// CommonJS
// CommonJS.cjs 扩展名:包声明 type:module.js 会被 Node 按 ESM 解析)
// footer 将 default 提升为 module.exports,保证 require() 直接返回 MeToast
{
input: 'src/index.ts',
output: {
file: 'dist/metona-toast.cjs.js',
file: 'dist/metona-toast.cjs',
format: 'cjs',
exports: 'named',
sourcemap: true,
footer: 'module.exports = Object.assign(exports.default, exports);',
},
plugins: basePlugins,
},
@@ -115,7 +117,7 @@ export default [
sourcemap: true,
},
{
file: 'dist/react.cjs.js',
file: 'dist/react.cjs',
format: 'cjs',
exports: 'named',
sourcemap: true,