fix ci
Publish to npm / publish (push) Failing after 12s
Publish to npm / publish (push) Failing after 12s
This commit is contained in:
@@ -31,7 +31,10 @@ jobs:
|
||||
run: npm ci
|
||||
|
||||
- name: Build
|
||||
run: npm run build -- --define=$VERSION
|
||||
env:
|
||||
AppVersion: ${{ github.ref_name }}
|
||||
SimApiVersion: ${{ github.ref_name }}
|
||||
run: npm run build
|
||||
|
||||
- name: Publish to npm
|
||||
run: npm publish --access public
|
||||
+29
-6
@@ -54,7 +54,7 @@ SimApiBusinessCallback // { [code]: (data) => void },支持数字码或 'co
|
||||
- 改 Token 存储:替换 `localStorage` 为 `sessionStorage` 或内存变量,修改 `getToken()`/`setToken()`/`removeToken()`
|
||||
- 改登录/登出逻辑:修改 `login()`/`logout()` 方法
|
||||
- 改超时处理:修改 `fetchWithTimeout()` 函数
|
||||
- 版本管理:版本号在库构建时通过 `scripts/replace-version.js` 注入,源码中使用占位符 `0.0.0-version-placeholder`
|
||||
- **版本管理**:版本号通过 `declare const` 声明常量,构建时通过 Vite 的 `define` 注入。未指定时默认为 `0.0.0-dev`
|
||||
|
||||
**autoInit 设计约束**:
|
||||
|
||||
@@ -104,11 +104,34 @@ npm run build
|
||||
→ vite build vite.core.config.ts 输出 dist/index.mjs / index.cjs
|
||||
→ vite build vite.pinia.config.ts 输出 dist/pinia.mjs
|
||||
→ tsc -p tsconfig.build.json 输出 *.d.ts 类型声明
|
||||
```
|
||||
|
||||
npm run build:version
|
||||
→ node scripts/replace-version.js 替换版本占位符
|
||||
→ npm run build 构建
|
||||
→ node scripts/restore-version.js 恢复占位符
|
||||
**版本号注入:**
|
||||
|
||||
版本号通过 `vite.core.config.ts` 的 `define` 配置注入,从环境变量读取:
|
||||
|
||||
```typescript
|
||||
define: {
|
||||
'AppVersion': JSON.stringify(process.env.AppVersion || process.env.npm_config_AppVersion || '0.0.0-develop'),
|
||||
'SimApiVersion': JSON.stringify(process.env.SimApiVersion || process.env.npm_config_SimApiVersion || '0.0.0-develop'),
|
||||
}
|
||||
```
|
||||
|
||||
**本地构建示例:**
|
||||
```bash
|
||||
# Windows PowerShell
|
||||
$env:AppVersion="1.0.0"; $env:SimApiVersion="1.0.0"; npm run build
|
||||
|
||||
# Linux/Mac
|
||||
AppVersion=1.0.0 SimApiVersion=1.0.0 npm run build
|
||||
```
|
||||
|
||||
**GitHub Actions 自动发布:**
|
||||
```yaml
|
||||
env:
|
||||
AppVersion: ${{ github.ref_name }}
|
||||
SimApiVersion: ${{ github.ref_name }}
|
||||
run: npm run build
|
||||
```
|
||||
|
||||
**dist 输出是平铺的**,core 和 pinia 的编译产物全部在同一目录:
|
||||
@@ -142,4 +165,4 @@ dist/
|
||||
- **无 Cookie**:所有请求不发送 Cookie,Token 通过请求头传递
|
||||
- **零依赖**:不需要安装 axios,使用原生 fetch
|
||||
- 删除了 Angular 支持,如需恢复参考 git 历史
|
||||
- 版本号通过构建脚本注入,GitHub Actions 发布时会自动替换 `0.0.0-version-placeholder` 占位符
|
||||
- **版本号管理**:使用 `declare const` + Vite `define` 注入,不再需要 sed 替换脚本
|
||||
|
||||
@@ -332,6 +332,28 @@ npm run build
|
||||
npm link # 本地调试
|
||||
```
|
||||
|
||||
### 版本号注入
|
||||
|
||||
库使用 `declare const` 声明版本常量,构建时通过 Vite 的 `define` 注入版本号:
|
||||
|
||||
**本地构建:**
|
||||
```bash
|
||||
# Windows PowerShell
|
||||
$env:AppVersion="1.0.0"; $env:SimApiVersion="1.0.0"; npm run build
|
||||
|
||||
# Linux/Mac
|
||||
AppVersion=1.0.0 SimApiVersion=1.0.0 npm run build
|
||||
```
|
||||
|
||||
**CI/CD 构建版本号:**
|
||||
```bash
|
||||
env:
|
||||
AppVersion: ${VERSION}
|
||||
SimApiVersion: ${VERSION}
|
||||
```
|
||||
|
||||
如果未指定环境变量,版本号默认为 `0.0.0-develop`。
|
||||
|
||||
---
|
||||
|
||||
## 从旧版迁移
|
||||
|
||||
@@ -38,7 +38,6 @@
|
||||
"build": "npm run build:core && npm run build:pinia && npm run types",
|
||||
"build:core": "vite build --config vite.core.config.ts",
|
||||
"build:pinia": "vite build --config vite.pinia.config.ts",
|
||||
"build:version": "node scripts/replace-version.js && npm run build && node scripts/restore-version.js",
|
||||
"dev": "vite build --config vite.core.config.ts --watch",
|
||||
"types": "tsc --declaration --emitDeclarationOnly --project tsconfig.build.json",
|
||||
"lint": "tsc --noEmit"
|
||||
|
||||
+2
-9
@@ -11,8 +11,6 @@
|
||||
*/
|
||||
|
||||
import {
|
||||
AppVersion,
|
||||
SimApiVersion,
|
||||
type SimApiVersions,
|
||||
type SimApiAuthConfig,
|
||||
type SimApiApiConfig,
|
||||
@@ -20,7 +18,6 @@ import {
|
||||
type SimApiBaseResponse,
|
||||
} from './types'
|
||||
|
||||
export { SimApiVersion, AppVersion } from './types'
|
||||
export type {
|
||||
SimApiVersions,
|
||||
SimApiAuthConfig,
|
||||
@@ -29,6 +26,8 @@ export type {
|
||||
SimApiBaseResponse,
|
||||
} from './types'
|
||||
|
||||
declare const AppVersion: string;
|
||||
declare const SimApiVersion: string;
|
||||
// ── Helper: Fetch with Timeout ────────────────────────────────────────
|
||||
|
||||
function fetchWithTimeout(
|
||||
@@ -120,9 +119,6 @@ export class SimApiCore {
|
||||
if (config.debug !== undefined) {
|
||||
this.debug = config.debug
|
||||
}
|
||||
if (config.uiAppVersion !== undefined) {
|
||||
this.uiAppVersion = config.uiAppVersion
|
||||
}
|
||||
if (config.endpoints) {
|
||||
this.api.endpoints = { ...this.api.endpoints, ...config.endpoints }
|
||||
}
|
||||
@@ -135,9 +131,6 @@ export class SimApiCore {
|
||||
if (options.debug !== undefined) {
|
||||
this.debug = options.debug
|
||||
}
|
||||
if (options.uiAppVersion !== undefined) {
|
||||
this.uiAppVersion = options.uiAppVersion
|
||||
}
|
||||
if (options.auth) {
|
||||
this.auth = { ...this.auth, ...options.auth }
|
||||
}
|
||||
|
||||
+1
-5
@@ -2,10 +2,6 @@
|
||||
* SimApi 类型定义
|
||||
*/
|
||||
|
||||
// 版本号占位符,构建时由 GitHub Action 替换
|
||||
export const SimApiVersion = '0.0.0-version-placeholder'
|
||||
export const AppVersion = '0.0.0-version-placeholder'
|
||||
|
||||
/** 版本信息 */
|
||||
export interface SimApiVersions {
|
||||
uiApp: string
|
||||
@@ -56,7 +52,7 @@ export interface SimApiApiConfig {
|
||||
/** SimApi 完整配置 */
|
||||
export interface SimApiOptions {
|
||||
debug?: boolean
|
||||
/** UI 应用版本,如果不指定则使用库内置的占位符版本 */
|
||||
/** UI 应用版本,如果不指定则使用库内置的版本号 */
|
||||
uiAppVersion?: string
|
||||
auth?: Partial<SimApiAuthConfig>
|
||||
api?: Partial<SimApiApiConfig>
|
||||
|
||||
+10
-2
@@ -1,6 +1,6 @@
|
||||
import { defineConfig } from 'vite'
|
||||
|
||||
export default defineConfig({
|
||||
export default defineConfig(({ mode }) => ({
|
||||
build: {
|
||||
outDir: 'dist',
|
||||
emptyOutDir: true,
|
||||
@@ -13,5 +13,13 @@ export default defineConfig({
|
||||
rollupOptions: {
|
||||
// 不再需要 external,使用原生 fetch
|
||||
}
|
||||
},
|
||||
define: {
|
||||
// 版本号从环境变量读取,构建时传入:
|
||||
// npm run build:core -- --AppVersion=1.2.3 --SimApiVersion=2.3.4
|
||||
// 或:
|
||||
// AppVersion=1.2.3 SimApiVersion=2.3.4 npm run build:core
|
||||
'AppVersion': JSON.stringify(process.env.AppVersion || process.env.npm_config_AppVersion || '0.0.0-develop'),
|
||||
'SimApiVersion': JSON.stringify(process.env.SimApiVersion || process.env.npm_config_SimApiVersion || '0.0.0-develop'),
|
||||
}
|
||||
})
|
||||
}))
|
||||
|
||||
Reference in New Issue
Block a user