@@ -7,22 +7,50 @@ set -euo pipefail
77VERSION=" ${2:- $1 } "
88ROOT=" $( git rev-parse --show-toplevel) "
99
10- # Update main package.json files (top-level version only)
11- for pkg in " $ROOT " /packages/* /package.json; do
12- sed -i ' ' ' 0,/"version": "[^"]*"/{s/"version": "[^"]*"/"version": "' " $VERSION " ' "/;}' " $pkg "
10+ # Use node to safely update version fields in package.json files
11+ update_version () {
12+ node -e "
13+ const fs = require('fs');
14+ const pkg = JSON.parse(fs.readFileSync('$1 ', 'utf8'));
15+ pkg.version = '$VERSION ';
16+ fs.writeFileSync('$1 ', JSON.stringify(pkg, null, 2) + '\n');
17+ "
18+ }
19+
20+ update_optional_deps () {
21+ node -e "
22+ const fs = require('fs');
23+ const pkg = JSON.parse(fs.readFileSync('$1 ', 'utf8'));
24+ pkg.version = '$VERSION ';
25+ if (pkg.optionalDependencies) {
26+ for (const key of Object.keys(pkg.optionalDependencies)) {
27+ if (key.startsWith('@srcmap/')) {
28+ pkg.optionalDependencies[key] = '$VERSION ';
29+ }
30+ }
31+ }
32+ fs.writeFileSync('$1 ', JSON.stringify(pkg, null, 2) + '\n');
33+ "
34+ }
35+
36+ # Update main package.json files (version + optionalDependencies)
37+ for pkg in " $ROOT " /packages/codec/package.json " $ROOT " /packages/sourcemap/package.json; do
38+ [ -f " $pkg " ] || continue
39+ update_optional_deps " $pkg "
1340 echo " Updated $( basename " $( dirname " $pkg " ) " ) /package.json → $VERSION "
1441done
1542
16- # Update platform-specific npm package.json files
17- for pkg in " $ROOT " /packages/* /npm/ * /package.json; do
43+ # Update sourcemap-wasm package.json (version only)
44+ for pkg in " $ROOT " /packages/sourcemap-wasm /package.json; do
1845 [ -f " $pkg " ] || continue
19- sed -i ' ' ' s/"version": "[^"]*"/"version": "' " $VERSION " ' "/' " $pkg "
46+ update_version " $pkg "
47+ echo " Updated $( basename " $( dirname " $pkg " ) " ) /package.json → $VERSION "
2048done
2149
22- # Update optionalDependencies versions in main package.json files
23- for pkg in " $ROOT " /packages/codec/package.json " $ROOT " /packages/sourcemap /package.json; do
50+ # Update platform-specific npm package.json files
51+ for pkg in " $ROOT " /packages/* /npm/ * /package.json; do
2452 [ -f " $pkg " ] || continue
25- sed -i ' ' ' s/\("@srcmap\/[^"]*": "\)[^"]*"/\1 ' " $VERSION " ' "/ ' " $pkg "
53+ update_version " $pkg "
2654done
2755
2856echo " Updated all platform package versions → $VERSION "
0 commit comments