chore: bump version to v1.0.6 and deprecate ESM [By: AICoder]

This commit is contained in:
AI Engineer 2026-06-09 20:20:25 +08:00
parent dbbd658fed
commit 81a688d532
19 changed files with 33 additions and 9445 deletions

View File

@ -1,5 +1,15 @@
# Changelog
## 1.0.6 (2026-06-09)
### Breaking Changes
- **ESM Deprecation**: Completely removed ESM exports to align with the "zero-boilerplate" project philosophy. The library now relies solely on global injection via `globalThis`.
- **Build Format**: Switched build output to IIFE format only.
### Improvements
- **Integration**: Simplified dependency handling for `@apigo.cc/state` by using global variables.
- **Docs**: Updated README with new versioning and non-ESM usage instructions.
## 1.0.5 (2026-06-05)
### Features

View File

@ -3,14 +3,16 @@
Bootstrap 5.3 自包含集成引擎。
## 0. 快速开始 (Quick Start)
直接在 HTML 中引入(无需打包):
直接在 HTML 中引入(无需打包,完全非 ESM 注入
```html
<script src="https://cdn.jsdelivr.net/npm/@apigo.cc/bootstrap@1.0.5/dist/bootstrap.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@apigo.cc/bootstrap@1.0.6/dist/bootstrap.min.js"></script>
```
## 1. 运行时接口
- **`bootstrap`**: (Object) 官方原生 Bootstrap 镜像。
- **`Bootstrap`**: (Object) 增强控制接口。
- **`bootstrap`**: (Object) 官方原生 Bootstrap 镜像。已挂载至 `globalThis.bootstrap`
- **`Bootstrap`**: (Object) 增强控制接口。已挂载至 `globalThis.Bootstrap`
*(注意:本库自 v1.0.6 起全面废弃 ESM 导出,改为纯全局注入模式。)*
## 2. API 参考

9
dist/bootstrap.js vendored
View File

@ -2120,9 +2120,7 @@ url("data:font/woff;base64,d09GRgABAAAAAsBAAAsAAAAHavgAAQAAAAAAAAAAAAAAAAAAAAAAA
console.error("vite-plugin-css-injected-by-js", e);
}
})();
(function(global, factory) {
typeof exports === "object" && typeof module !== "undefined" ? factory(exports, require("@apigo.cc/state")) : typeof define === "function" && define.amd ? define(["exports", "@apigo.cc/state"], factory) : (global = typeof globalThis !== "undefined" ? globalThis : global || self, factory(global.ApigoBootstrap = {}));
})(this, function(exports2) {
(function() {
"use strict";
var top = "top";
var bottom = "bottom";
@ -7279,7 +7277,4 @@ url("data:font/woff;base64,d09GRgABAAAAAsBAAAsAAAAHavgAAQAAAAAAAAAAAAAAAAAAAAAAA
globalThis.bootstrap = bootstrap;
globalThis.Bootstrap = Bootstrap;
}
exports2.Bootstrap = Bootstrap;
exports2.default = Bootstrap;
Object.defineProperties(exports2, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
});
})();

File diff suppressed because one or more lines are too long

2128
dist/bootstrap.min.mjs vendored

File diff suppressed because one or more lines are too long

7282
dist/bootstrap.mjs vendored

File diff suppressed because one or more lines are too long

View File

@ -1,9 +1,8 @@
{
"name": "@apigo.cc/bootstrap",
"version": "1.0.5",
"version": "1.0.6",
"type": "module",
"main": "dist/bootstrap.js",
"module": "dist/bootstrap.js",
"files": [
"dist"
],

View File

@ -1,8 +1,9 @@
import * as bootstrap from 'bootstrap'
import 'bootstrap/dist/css/bootstrap.min.css'
import 'bootstrap-icons/font/bootstrap-icons.css'
import { Hash, LocalStorage, RefreshState } from '@apigo.cc/state'
import '@apigo.cc/state'
const { Hash, LocalStorage, _unsafeRefreshState } = globalThis
const GlobalStates = { Hash, LocalStorage }
/**
@ -10,8 +11,8 @@ const GlobalStates = { Hash, LocalStorage }
* 自包含的 Bootstrap 5.3 集成引擎
*/
// 导出增强功能对象
export const Bootstrap = {
// 定义增强功能对象
const Bootstrap = {
config: (options = {}) => {
if (typeof document === 'undefined') return
const root = document.documentElement
@ -127,5 +128,3 @@ if (typeof globalThis !== 'undefined') {
globalThis.Bootstrap = Bootstrap;
}
export default Bootstrap;

View File

@ -22,12 +22,14 @@
</div>
<script type="module">
import { Bootstrap } from '@apigo.cc/bootstrap';
import { LocalStorage } from '@apigo.cc/state';
import '@apigo.cc/state';
import '@apigo.cc/bootstrap';
const { Bootstrap, LocalStorage } = globalThis;
// 初始化
LocalStorage.darkMode = false;
Bootstrap.bindDarkMode(LocalStorage, 'darkMode');
Bootstrap.config({ bindDarkMode: [LocalStorage, 'darkMode'] });
document.getElementById('toggle-btn').onclick = () => {
LocalStorage.darkMode = !LocalStorage.darkMode;

View File

@ -17,13 +17,13 @@ export default defineConfig({
lib: {
entry: resolve(__dirname, 'src/index.js'),
name: 'ApigoBootstrap',
formats: ['umd', 'es']
formats: ['iife']
},
rollupOptions: {
external: ['@apigo.cc/state'],
output: [
{
format: 'umd',
format: 'iife',
name: 'ApigoBootstrap',
entryFileNames: 'bootstrap.js',
globals: {
@ -31,22 +31,13 @@ export default defineConfig({
}
},
{
format: 'umd',
format: 'iife',
name: 'ApigoBootstrap',
entryFileNames: 'bootstrap.min.js',
globals: {
'@apigo.cc/state': 'ApigoState'
},
plugins: [terser()]
},
{
format: 'es',
entryFileNames: 'bootstrap.mjs'
},
{
format: 'es',
entryFileNames: 'bootstrap.min.mjs',
plugins: [terser()]
}
]
},