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.
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -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 sdks/browser4-cli)`);
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,6 +1,6 @@
1
1
  {
2
2
  "name": "browser4-cli",
3
- "version": "0.1.4",
3
+ "version": "0.1.5",
4
4
  "description": "Browser automation CLI for AI agents",
5
5
  "type": "module",
6
6
  "files": [
@@ -1,5 +1,5 @@
1
1
  #!/bin/bash
2
- set -e
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
- echo -e "${YELLOW}Building Docker cross-compilation image...${NC}"
25
- docker build -t browser4-builder -f "$PROJECT_ROOT/docker/Dockerfile.build" "$PROJECT_ROOT"
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
- ls -la "$OUTPUT_DIR"/browser4-cli-*
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
@@ -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/browser4';
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) {