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 子包四路加载全部正常
This commit is contained in:
tianhao
2026-08-08 15:25:47 +08:00
parent dd061025e0
commit 95f5652e9c
36 changed files with 116 additions and 113 deletions
+2 -2
View File
@@ -1,7 +1,7 @@
/**
* MetonaToast 覆盖率补充测试 — 目标 95%+
* @module tests
* @version 0.5.0
* @version 0.5.1
*/
import MeToast, { Toast, VERSION } from '../src/index';
@@ -809,7 +809,7 @@ describe('api.ts 覆盖率', () => {
test('getStatus 返回完整状态', () => {
const status = MeToast.getStatus();
expect(status.version).toBe('0.5.0');
expect(status.version).toBe('0.5.1');
expect(status.toasts).toBeGreaterThanOrEqual(0);
expect(status.theme).toBeDefined();
expect(status.locale).toBeDefined();
+1 -1
View File
@@ -1,7 +1,7 @@
/**
* MetonaToast DOM 交互测试 — 基于 jsdom 真实 DOM 事件驱动
* @module tests
* @version 0.5.0
* @version 0.5.1
*/
import MeToast, { Toast } from '../src/index';
+4 -4
View File
@@ -1,7 +1,7 @@
/**
* MetonaToast 单元测试
* @module tests
* @version 0.5.0
* @version 0.5.1
*/
import MeToast, { Toast, VERSION } from '../src/index';
@@ -105,8 +105,8 @@ const mockWindow = {
describe('版本信息', () => {
test('应该有正确的版本号', () => {
expect(VERSION).toBe('0.5.0');
expect(MeToast.version).toBe('0.5.0');
expect(VERSION).toBe('0.5.1');
expect(MeToast.version).toBe('0.5.1');
});
});
@@ -526,7 +526,7 @@ const mockWindow = {
test('应该能够获取状态信息', () => {
MeToast.success('消息');
const status = MeToast.getStatus();
expect(status.version).toBe('0.5.0');
expect(status.version).toBe('0.5.1');
expect(status.toasts).toBeGreaterThanOrEqual(0);
expect(status.theme).toBeDefined();
expect(status.locale).toBeDefined();
+1 -1
View File
@@ -1,7 +1,7 @@
/**
* MetonaToast React 适配器测试
* @module tests
* @version 0.5.0
* @version 0.5.1
*/
import React from 'react';
+1 -1
View File
@@ -4,7 +4,7 @@
* 后续 require 拿到新模块实例、与 import 时绑定的实例状态分裂。
* 注:jsdom 以 getter 暴露 document/window,普通赋值无效,须用 defineProperty 覆盖。
* @module tests
* @version 0.5.0
* @version 0.5.1
*/
/** 临时移除全局对象,返回恢复函数 */