@@ -2,35 +2,14 @@ import * as path from "path";
22import { rspack , NormalModule , type Configuration } from "@rspack/core" ;
33import { readFileSync } from "fs" ;
44import { v4 as uuidv4 } from "uuid" ;
5- import semver from "semver " ;
5+ import { toChromeVersion } from "./scripts/version.js " ;
66
77const pkg = JSON . parse ( readFileSync ( "./package.json" , "utf-8" ) ) ;
88
99const version = pkg . version ;
1010const dirname = path . resolve ( ) ;
1111const isDev = process . env . NODE_ENV === "development" ;
1212const isBeta = version . includes ( "-" ) ;
13-
14- // 将 prerelease 版本号转换为 Chrome 兼容的纯数字格式
15- // 例如: "1.4.0-beta" -> "1.4.0.1100", "1.4.0-alpha.1" -> "1.4.0.1002"
16- function toChromeVersion ( ver : string ) : string {
17- const parsed = semver . parse ( ver ) ;
18- if ( ! parsed || ! parsed . prerelease . length ) {
19- return ver ;
20- }
21- let betaVersion = 1000 ;
22- switch ( parsed . prerelease [ 0 ] ) {
23- case "alpha" :
24- betaVersion += parseInt ( String ( parsed . prerelease [ 1 ] || "0" ) , 10 ) + 1 || 1 ;
25- break ;
26- case "beta" :
27- betaVersion += 100 * ( parseInt ( String ( parsed . prerelease [ 1 ] || "0" ) , 10 ) + 1 || 1 ) ;
28- break ;
29- default :
30- throw new Error ( "未知的版本类型" ) ;
31- }
32- return `${ parsed . major } .${ parsed . minor } .${ parsed . patch } .${ betaVersion } ` ;
33- }
3413const isReactTools = process . env . REACT_DEVTOOLS === "true" ;
3514
3615// Target browsers, see: https://github.com/browserslist/browserslist
0 commit comments