browser4-cli 0.1.4 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/browser4-cli-darwin-arm64 +0 -0
- package/bin/browser4-cli-darwin-x64 +0 -0
- package/bin/browser4-cli-linux-arm64 +0 -0
- package/bin/browser4-cli-linux-musl-arm64 +0 -0
- package/bin/browser4-cli-linux-musl-x64 +0 -0
- package/bin/browser4-cli-linux-x64 +0 -0
- package/bin/browser4-cli-win32-x64.exe +0 -0
- package/bin/browser4-cli.js +1 -1
- package/package.json +1 -1
- package/scripts/build-all-platforms.sh +48 -5
- package/scripts/postinstall.js +1 -1
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/bin/browser4-cli.js
CHANGED
|
@@ -13,7 +13,7 @@ const exePath = path.join(scriptDir, "target", "release", exeName);
|
|
|
13
13
|
if (!fs.existsSync(exePath)) {
|
|
14
14
|
const scriptName = path.basename(__filename);
|
|
15
15
|
console.error(`[${scriptName}] ERROR: executable not found: "${exePath}"`);
|
|
16
|
-
console.error(`[${scriptName}] Run: cargo build --release (in
|
|
16
|
+
console.error(`[${scriptName}] Run: cargo build --release (in cli/browser4-cli)`);
|
|
17
17
|
process.exit(1);
|
|
18
18
|
}
|
|
19
19
|
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
|
-
set -
|
|
2
|
+
set -euo pipefail
|
|
3
3
|
|
|
4
4
|
# Build browser4 for all platforms using Docker
|
|
5
5
|
# Usage: ./scripts/build-all-platforms.sh
|
|
@@ -7,6 +7,24 @@ set -e
|
|
|
7
7
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
8
8
|
PROJECT_ROOT="$(dirname "$SCRIPT_DIR")"
|
|
9
9
|
OUTPUT_DIR="$PROJECT_ROOT/bin"
|
|
10
|
+
SKIP_DOCKER_BUILD=false
|
|
11
|
+
DRY_RUN=false
|
|
12
|
+
|
|
13
|
+
while [[ $# -gt 0 ]]; do
|
|
14
|
+
case "$1" in
|
|
15
|
+
--skip-docker-build)
|
|
16
|
+
SKIP_DOCKER_BUILD=true
|
|
17
|
+
;;
|
|
18
|
+
--dry-run)
|
|
19
|
+
DRY_RUN=true
|
|
20
|
+
;;
|
|
21
|
+
*)
|
|
22
|
+
echo "Unknown argument: $1" >&2
|
|
23
|
+
exit 1
|
|
24
|
+
;;
|
|
25
|
+
esac
|
|
26
|
+
shift
|
|
27
|
+
done
|
|
10
28
|
|
|
11
29
|
# Colors
|
|
12
30
|
RED='\033[0;31m'
|
|
@@ -20,9 +38,24 @@ echo ""
|
|
|
20
38
|
# Ensure output directory exists
|
|
21
39
|
mkdir -p "$OUTPUT_DIR"
|
|
22
40
|
|
|
41
|
+
run_cmd() {
|
|
42
|
+
if [ "$DRY_RUN" = true ]; then
|
|
43
|
+
echo "[DRY-RUN] $*"
|
|
44
|
+
else
|
|
45
|
+
"$@"
|
|
46
|
+
fi
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
if ! command -v docker >/dev/null 2>&1; then
|
|
50
|
+
echo "Docker CLI not found in PATH. Install Docker and retry." >&2
|
|
51
|
+
exit 1
|
|
52
|
+
fi
|
|
53
|
+
|
|
23
54
|
# Build the Docker image if needed
|
|
24
|
-
|
|
25
|
-
|
|
55
|
+
if [ "$SKIP_DOCKER_BUILD" = false ]; then
|
|
56
|
+
echo -e "${YELLOW}Building Docker cross-compilation image...${NC}"
|
|
57
|
+
run_cmd docker build -t browser4-builder -f "$PROJECT_ROOT/docker/Dockerfile.build" "$PROJECT_ROOT"
|
|
58
|
+
fi
|
|
26
59
|
|
|
27
60
|
# Function to build for a target
|
|
28
61
|
build_target() {
|
|
@@ -31,12 +64,17 @@ build_target() {
|
|
|
31
64
|
|
|
32
65
|
echo -e "${YELLOW}Building for ${target}...${NC}"
|
|
33
66
|
|
|
34
|
-
docker run --rm \
|
|
67
|
+
run_cmd docker run --rm \
|
|
35
68
|
-v "$PROJECT_ROOT/cli:/build" \
|
|
36
69
|
-v "$OUTPUT_DIR:/output" \
|
|
37
70
|
browser4-builder \
|
|
38
71
|
-c "cargo zigbuild --release --target ${target} && cp /build/target/${target}/release/browser4-cli* /output/${output_name} && chmod +x /output/${output_name} 2>/dev/null || true"
|
|
39
72
|
|
|
73
|
+
if [ "$DRY_RUN" = true ]; then
|
|
74
|
+
echo -e "${YELLOW}[DRY-RUN] Skipping artifact verification for ${output_name}${NC}"
|
|
75
|
+
return 0
|
|
76
|
+
fi
|
|
77
|
+
|
|
40
78
|
if [ -f "$OUTPUT_DIR/$output_name" ]; then
|
|
41
79
|
echo -e "${GREEN}✓ Built ${output_name}${NC}"
|
|
42
80
|
else
|
|
@@ -71,4 +109,9 @@ echo ""
|
|
|
71
109
|
echo -e "${GREEN}Build complete!${NC}"
|
|
72
110
|
echo ""
|
|
73
111
|
echo "Binaries are in: $OUTPUT_DIR"
|
|
74
|
-
|
|
112
|
+
|
|
113
|
+
if [ "$DRY_RUN" = true ]; then
|
|
114
|
+
echo "[DRY-RUN] Skipping artifact listing."
|
|
115
|
+
else
|
|
116
|
+
ls -la "$OUTPUT_DIR"/browser4-cli-*
|
|
117
|
+
fi
|
package/scripts/postinstall.js
CHANGED
|
@@ -45,7 +45,7 @@ const packageJson = JSON.parse(
|
|
|
45
45
|
const version = packageJson.version;
|
|
46
46
|
|
|
47
47
|
// GitHub release URL
|
|
48
|
-
const GITHUB_REPO = 'platonai/
|
|
48
|
+
const GITHUB_REPO = 'platonai/Browser4';
|
|
49
49
|
const DOWNLOAD_URL = `https://github.com/${GITHUB_REPO}/releases/download/v${version}/${binaryName}`;
|
|
50
50
|
|
|
51
51
|
async function downloadFile(url, dest) {
|