release: v0.1.2

This commit is contained in:
Ran
2026-02-24 23:29:06 +08:00
parent ab3746fb27
commit d92993e56e
10 changed files with 32 additions and 11 deletions
+23 -2
View File
@@ -146,19 +146,24 @@ prepare_assets() {
JSDOM_STYLE_RULES_FILE=""
JSDOM_STYLE_RULES_BACKUP=""
JSDOM_XHR_IMPL_FILE=""
JSDOM_XHR_IMPL_BACKUP=""
patch_jsdom_style_loader_for_compile() {
local css_path css_json
JSDOM_STYLE_RULES_FILE="$(node -e "try{process.stdout.write(require.resolve('jsdom/lib/jsdom/living/helpers/style-rules.js',{paths:['$ROOT_DIR/agent']}))}catch{process.exit(1)}" 2>/dev/null || true)"
css_path="$(node -e "try{process.stdout.write(require.resolve('jsdom/lib/jsdom/browser/default-stylesheet.css',{paths:['$ROOT_DIR/agent']}))}catch{process.exit(1)}" 2>/dev/null || true)"
JSDOM_XHR_IMPL_FILE="$(node -e "try{process.stdout.write(require.resolve('jsdom/lib/jsdom/living/xhr/XMLHttpRequest-impl.js',{paths:['$ROOT_DIR/agent']}))}catch{process.exit(1)}" 2>/dev/null || true)"
if [[ -z "$JSDOM_STYLE_RULES_FILE" || -z "$css_path" ]]; then
if [[ -z "$JSDOM_STYLE_RULES_FILE" || -z "$css_path" || -z "$JSDOM_XHR_IMPL_FILE" ]]; then
log "skip jsdom patch (jsdom sources not resolved)"
return 0
fi
JSDOM_STYLE_RULES_BACKUP="${JSDOM_STYLE_RULES_FILE}.memoh.bak"
JSDOM_XHR_IMPL_BACKUP="${JSDOM_XHR_IMPL_FILE}.memoh.bak"
cp "$JSDOM_STYLE_RULES_FILE" "$JSDOM_STYLE_RULES_BACKUP"
cp "$JSDOM_XHR_IMPL_FILE" "$JSDOM_XHR_IMPL_BACKUP"
css_json="$(node -e "const fs=require('fs');process.stdout.write(JSON.stringify(fs.readFileSync(process.argv[1],'utf8')))" "$css_path")"
node - "$JSDOM_STYLE_RULES_FILE" "$css_json" <<'NODE'
@@ -173,6 +178,19 @@ if (!pattern.test(src)) {
}
src = src.replace(pattern, `const defaultStyleSheet = ${css};\n`);
fs.writeFileSync(file, src, "utf8");
NODE
node - "$JSDOM_XHR_IMPL_FILE" <<'NODE'
const fs = require("fs");
const file = process.argv[2];
let src = fs.readFileSync(file, "utf8");
const pattern = /const syncWorkerFile = require\.resolve \? require\.resolve\("\.\/xhr-sync-worker\.js"\) : null;/;
if (!pattern.test(src)) {
console.error("[release] jsdom xhr patch target not found");
process.exit(1);
}
src = src.replace(pattern, 'const syncWorkerFile = `${__dirname}/xhr-sync-worker.js`;');
fs.writeFileSync(file, src, "utf8");
NODE
log "patched jsdom style loader for compile-time embedding"
@@ -181,8 +199,11 @@ NODE
restore_jsdom_style_loader_patch() {
if [[ -n "$JSDOM_STYLE_RULES_BACKUP" && -f "$JSDOM_STYLE_RULES_BACKUP" && -n "$JSDOM_STYLE_RULES_FILE" ]]; then
mv "$JSDOM_STYLE_RULES_BACKUP" "$JSDOM_STYLE_RULES_FILE"
log "restored jsdom style loader patch"
fi
if [[ -n "$JSDOM_XHR_IMPL_BACKUP" && -f "$JSDOM_XHR_IMPL_BACKUP" && -n "$JSDOM_XHR_IMPL_FILE" ]]; then
mv "$JSDOM_XHR_IMPL_BACKUP" "$JSDOM_XHR_IMPL_FILE"
fi
log "restored jsdom compile-time patches"
}
compress_agent_bin_if_enabled() {