From ed5d4edaddea3d02d5c39abc9690e4fd78d86896 Mon Sep 17 00:00:00 2001 From: winixt Date: Tue, 28 Apr 2026 21:27:44 +0800 Subject: [PATCH] ci: release4.0.0 --- .npmrc | 2 + packages/builder-vite/package.json | 2 +- packages/builder-webpack/package.json | 2 +- packages/plugin-access/package.json | 2 +- packages/plugin-enums/package.json | 6 +-- packages/plugin-icon/package.json | 2 +- packages/plugin-layout/package.json | 4 +- packages/plugin-locale/package.json | 2 +- packages/plugin-login/package.json | 8 ++-- packages/plugin-model/package.json | 2 +- packages/plugin-monaco-editor/package.json | 2 +- packages/plugin-pinia/package.json | 4 +- packages/plugin-qiankun/package.json | 2 +- packages/plugin-request/package.json | 4 +- packages/plugin-sass/package.json | 6 +-- packages/plugin-swc/package.json | 2 +- packages/plugin-watermark/package.json | 2 +- packages/preset-built-in/package.json | 4 +- packages/runtime/package.json | 2 +- packages/shared/package.json | 2 +- scripts/release.mjs | 43 ++++++++++++++++++++-- 21 files changed, 72 insertions(+), 33 deletions(-) diff --git a/.npmrc b/.npmrc index 9c4c738e..e8b4984a 100644 --- a/.npmrc +++ b/.npmrc @@ -1,3 +1,5 @@ +//registry.npmjs.org/:_authToken=${NPM_TOKEN} + registry=https://registry.npmmirror.com link-workspace-packages=true prefer-workspace-packages=true diff --git a/packages/builder-vite/package.json b/packages/builder-vite/package.json index b04e1f8e..73384133 100644 --- a/packages/builder-vite/package.json +++ b/packages/builder-vite/package.json @@ -34,7 +34,7 @@ "core-js": "^3.45.1" }, "dependencies": { - "@fesjs/shared": "^4.0.0-beta.1", + "@fesjs/shared": "^4.0.0", "@fesjs/utils": "^4.0.0", "@vitejs/plugin-basic-ssl": "^2.3.0", "@vitejs/plugin-legacy": "^8.0.1", diff --git a/packages/builder-webpack/package.json b/packages/builder-webpack/package.json index d5f8b338..27730c2a 100644 --- a/packages/builder-webpack/package.json +++ b/packages/builder-webpack/package.json @@ -42,7 +42,7 @@ "@babel/plugin-transform-runtime": "^7.28.3", "@babel/preset-env": "^7.28.3", "@babel/preset-typescript": "^7.27.1", - "@fesjs/shared": "^4.0.0-beta.1", + "@fesjs/shared": "^4.0.0", "@fesjs/utils": "^4.0.0", "@vue/babel-plugin-jsx": "^2.0.1", "ajv": "^8.12.0", diff --git a/packages/plugin-access/package.json b/packages/plugin-access/package.json index f56cfcc0..ebe26538 100644 --- a/packages/plugin-access/package.json +++ b/packages/plugin-access/package.json @@ -35,7 +35,7 @@ "vue-router": "^4.5.1" }, "dependencies": { - "@fesjs/shared": "^4.0.0-beta.1", + "@fesjs/shared": "^4.0.0", "@fesjs/utils": "^4.0.0", "es-toolkit": "^1.46.0" }, diff --git a/packages/plugin-enums/package.json b/packages/plugin-enums/package.json index f09a812c..f179fb4d 100644 --- a/packages/plugin-enums/package.json +++ b/packages/plugin-enums/package.json @@ -1,6 +1,6 @@ { "name": "@fesjs/plugin-enums", - "version": "4.0.0-beta.0", + "version": "4.0.0", "description": "@fesjs/plugin-enums", "author": "aringlai", "license": "MIT", @@ -30,11 +30,11 @@ "access": "public" }, "peerDependencies": { - "@fesjs/fes": "^4.0.0-beta.0", + "@fesjs/fes": "^4.0.0", "vue": "^3.5.21" }, "dependencies": { - "@fesjs/shared": "^4.0.0-beta.0" + "@fesjs/shared": "4.0.1" }, "typings": "./types.d.ts" } diff --git a/packages/plugin-icon/package.json b/packages/plugin-icon/package.json index 7deea762..67633e9d 100644 --- a/packages/plugin-icon/package.json +++ b/packages/plugin-icon/package.json @@ -34,7 +34,7 @@ "vue": "^3.5.21" }, "dependencies": { - "@fesjs/shared": "^4.0.0-beta.1", + "@fesjs/shared": "^4.0.0", "glob": "^13.0.6", "svgo": "^4.0.0" }, diff --git a/packages/plugin-layout/package.json b/packages/plugin-layout/package.json index 0a67d8c5..d4438a17 100644 --- a/packages/plugin-layout/package.json +++ b/packages/plugin-layout/package.json @@ -1,6 +1,6 @@ { "name": "@fesjs/plugin-layout", - "version": "6.0.0-beta.1", + "version": "6.0.0", "description": "@fesjs/plugin-layout", "author": "harrywan", "license": "MIT", @@ -36,7 +36,7 @@ "vue-router": "^4.5.1" }, "dependencies": { - "@fesjs/shared": "^4.0.0-beta.1", + "@fesjs/shared": "^4.0.0", "@fesjs/utils": "^4.0.0", "dompurify": "^3.1.7" }, diff --git a/packages/plugin-locale/package.json b/packages/plugin-locale/package.json index d5e8ff7c..24fae5c5 100644 --- a/packages/plugin-locale/package.json +++ b/packages/plugin-locale/package.json @@ -35,7 +35,7 @@ "vue": "^3.5.21" }, "dependencies": { - "@fesjs/shared": "^4.0.0-beta.1", + "@fesjs/shared": "^4.0.0", "@fesjs/utils": "^4.0.0", "glob": "^13.0.6", "es-toolkit": "^1.46.0", diff --git a/packages/plugin-login/package.json b/packages/plugin-login/package.json index 71f8e1cf..0f2211cb 100644 --- a/packages/plugin-login/package.json +++ b/packages/plugin-login/package.json @@ -1,6 +1,6 @@ { "name": "@fesjs/plugin-login", - "version": "4.0.0-beta.0", + "version": "4.0.0", "description": "@fesjs/plugin-login", "author": "qlin", "license": "MIT", @@ -30,12 +30,12 @@ "access": "public" }, "peerDependencies": { - "@fesjs/fes": "^4.0.0-beta.0", - "@fesjs/plugin-request": "^5.0.0-beta.0", + "@fesjs/fes": "^4.0.0", + "@fesjs/plugin-request": "^5.0.0", "vue": "^3.5.21" }, "dependencies": { - "@fesjs/shared": "^4.0.0-beta.0" + "@fesjs/shared": "4.0.1" }, "typings": "./types.d.ts" } diff --git a/packages/plugin-model/package.json b/packages/plugin-model/package.json index 89c8dc81..bdfef434 100644 --- a/packages/plugin-model/package.json +++ b/packages/plugin-model/package.json @@ -35,7 +35,7 @@ "vue": "^3.5.21" }, "dependencies": { - "@fesjs/shared": "^4.0.0-beta.1", + "@fesjs/shared": "^4.0.0", "@fesjs/utils": "^4.0.0", "es-toolkit": "^1.46.0", "glob": "^13.0.6" diff --git a/packages/plugin-monaco-editor/package.json b/packages/plugin-monaco-editor/package.json index f330ee3f..79d69ea4 100644 --- a/packages/plugin-monaco-editor/package.json +++ b/packages/plugin-monaco-editor/package.json @@ -34,7 +34,7 @@ "vue": "^3.5.21" }, "dependencies": { - "@fesjs/shared": "^4.0.0-beta.1", + "@fesjs/shared": "^4.0.0", "@fesjs/utils": "^4.0.0", "es-toolkit": "^1.46.0", "monaco-editor": "^0.36.1", diff --git a/packages/plugin-pinia/package.json b/packages/plugin-pinia/package.json index 1641b829..33db3580 100644 --- a/packages/plugin-pinia/package.json +++ b/packages/plugin-pinia/package.json @@ -1,6 +1,6 @@ { "name": "@fesjs/plugin-pinia", - "version": "4.0.0-beta.1", + "version": "4.0.0", "description": "@fesjs/plugin-pinia", "author": "harrywan", "license": "MIT", @@ -35,7 +35,7 @@ "vue": "^3.5.21" }, "dependencies": { - "@fesjs/shared": "^4.0.0-beta.1", + "@fesjs/shared": "^4.0.0", "@fesjs/utils": "^4.0.0" }, "typings": "./types.d.ts" diff --git a/packages/plugin-qiankun/package.json b/packages/plugin-qiankun/package.json index c0e3b39b..c9effb38 100644 --- a/packages/plugin-qiankun/package.json +++ b/packages/plugin-qiankun/package.json @@ -40,7 +40,7 @@ "vue": "^3.5.21" }, "dependencies": { - "@fesjs/shared": "^4.0.0-beta.1", + "@fesjs/shared": "^4.0.0", "@fesjs/utils": "^4.0.0", "address": "^1.1.2", "cheerio": "^1.0.0", diff --git a/packages/plugin-request/package.json b/packages/plugin-request/package.json index 8993f7d2..b9053e80 100644 --- a/packages/plugin-request/package.json +++ b/packages/plugin-request/package.json @@ -1,6 +1,6 @@ { "name": "@fesjs/plugin-request", - "version": "5.0.0-beta.1", + "version": "5.0.0", "description": "@fesjs/plugin-request", "author": "qlin", "license": "MIT", @@ -34,7 +34,7 @@ "vue": "^3.2.37" }, "dependencies": { - "@fesjs/shared": "^4.0.0-beta.1", + "@fesjs/shared": "^4.0.0", "@fesjs/utils": "^4.0.0", "@qlin/request": "^0.3.1" }, diff --git a/packages/plugin-sass/package.json b/packages/plugin-sass/package.json index 14d572d2..9518d385 100644 --- a/packages/plugin-sass/package.json +++ b/packages/plugin-sass/package.json @@ -1,6 +1,6 @@ { "name": "@fesjs/plugin-sass", - "version": "4.0.0-beta.0", + "version": "4.0.0", "description": "@fesjs/plugin-sass", "author": "harrywan", "license": "MIT", @@ -30,10 +30,10 @@ "access": "public" }, "peerDependencies": { - "@fesjs/fes": "^4.0.0-beta.0" + "@fesjs/fes": "^4.0.0" }, "dependencies": { - "@fesjs/shared": "^4.0.0-beta.0", + "@fesjs/shared": "4.0.1", "sass": "^1.92.0", "sass-loader": "^16.0.5" }, diff --git a/packages/plugin-swc/package.json b/packages/plugin-swc/package.json index 13cb2537..d7f4f015 100644 --- a/packages/plugin-swc/package.json +++ b/packages/plugin-swc/package.json @@ -34,7 +34,7 @@ "@fesjs/fes": "^4.0.0" }, "dependencies": { - "@fesjs/shared": "^4.0.0-beta.1", + "@fesjs/shared": "^4.0.0", "@fesjs/utils": "^4.0.0", "@swc/core": "1.13.5", "@swc/css": "^0.0.28", diff --git a/packages/plugin-watermark/package.json b/packages/plugin-watermark/package.json index 59bcc37f..0cb68cad 100644 --- a/packages/plugin-watermark/package.json +++ b/packages/plugin-watermark/package.json @@ -34,7 +34,7 @@ "vue": "^3.5.21" }, "dependencies": { - "@fesjs/shared": "^4.0.0-beta.1", + "@fesjs/shared": "^4.0.0", "@fesjs/utils": "^4.0.0", "es-toolkit": "^1.46.0" }, diff --git a/packages/preset-built-in/package.json b/packages/preset-built-in/package.json index e27f6ef9..d571df2a 100644 --- a/packages/preset-built-in/package.json +++ b/packages/preset-built-in/package.json @@ -35,8 +35,8 @@ }, "dependencies": { "@fesjs/compiler": "^4.0.0", - "@fesjs/runtime": "^4.0.0-beta.0", - "@fesjs/shared": "^4.0.0-beta.1", + "@fesjs/runtime": "^4.0.0", + "@fesjs/shared": "^4.0.0", "@fesjs/utils": "^4.0.0", "@vue/compiler-sfc": "^3.5.33", "@wll8/better-mock": "0.3.3-alpha", diff --git a/packages/runtime/package.json b/packages/runtime/package.json index 4e2e1fa0..e9f99447 100644 --- a/packages/runtime/package.json +++ b/packages/runtime/package.json @@ -1,6 +1,6 @@ { "name": "@fesjs/runtime", - "version": "4.0.0-beta.0", + "version": "4.0.0", "description": "@fesjs/runtime", "author": "qlin", "license": "MIT", diff --git a/packages/shared/package.json b/packages/shared/package.json index 772a5edd..7ee48a2c 100644 --- a/packages/shared/package.json +++ b/packages/shared/package.json @@ -1,6 +1,6 @@ { "name": "@fesjs/shared", - "version": "4.0.0-beta.1", + "version": "4.0.0", "description": "@fesjs/shared", "author": "qlin", "license": "MIT", diff --git a/scripts/release.mjs b/scripts/release.mjs index 736d30f1..0f682963 100644 --- a/scripts/release.mjs +++ b/scripts/release.mjs @@ -11,7 +11,7 @@ import { getPublicPkgs } from './shared.mjs'; const __dirname = url.fileURLToPath(new URL('.', import.meta.url)); -const { preid: preId, dry: isDryRun } = minimist(process.argv.slice(2)); +const { preid: preId, dry: isDryRun, force: isForce } = minimist(process.argv.slice(2)); const packages = getPublicPkgs(); @@ -64,7 +64,7 @@ async function publishPackage(pkg, runIfNotDry) { console.log('Successfully published :', pc.green(`${pkg.name}@${pkg.newVersion}`)); } catch (e) { - if (e.stderr.match(/previously published/)) { + if (/previously published/.test(e.stderr)) { console.log(pc.red(`Skipping already published: ${pkg.name}`)); } @@ -177,7 +177,7 @@ async function genRootPackageVersion() { } function genOtherPkgsVersion(packagesVersion) { - const noChangedPkgs = packages.filter(name => !packagesVersion.find(item => item.dirName === name)); + const noChangedPkgs = packages.filter(name => !packagesVersion.some(item => item.dirName === name)); const pkgs = arrToObj(packagesVersion, 'name'); const result = []; noChangedPkgs.forEach((currentPkg) => { @@ -210,6 +210,43 @@ function genOtherPkgsVersion(packagesVersion) { } async function main() { + if (isForce) { + const packagesVersion = packages.map((pkg) => { + const { name, version } = readPackageVersionAndName(pkg); + return { dirName: pkg, name, version, newVersion: version }; + }); + + const yes = await consola.prompt(`These packages will be published (force, version unchanged): \n${packagesVersion + .map(pkg => `${pc.magenta(pkg.name)}: v${pkg.version}`) + .join('\n')}\nConfirm?`, { + type: 'confirm', + }); + + if (!yes) { + return; + } + + // build all packages + step('\nBuilding all packages...'); + if (!isDryRun) { + await run('pnpm', ['build']); + } + else { console.log(`(skipped build)`); } + + // publish packages + step('\nPublishing packages...'); + for (const pkg of packagesVersion) { + await publishPackage(pkg, runIfNotDry); + } + + if (isDryRun) { + console.log(`\nDry run finished.`); + } + + console.log(); + return; + } + const changedPackages = await filterChangedPackages(); if (!changedPackages.length) {