fop-cli 4.2.0 → 4.2.1

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.
Files changed (3) hide show
  1. package/README.md +56 -8
  2. package/install.js +4 -2
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -103,6 +103,7 @@ fop -n ~/easylist ~/easyprivacy ~/fanboy-addon
103
103
  | `--fix-typos-on-add` | Check cosmetic rule typos in git additions before commit |
104
104
  | `--auto-fix` | Auto-fix typos without prompting (use with --fix-typos-on-add) |
105
105
  | `--ignore-config` | Ignore .fopconfig file, use only CLI args |
106
+ | `--output` | Output changed files with --changed suffix (no overwrite) |
106
107
  | `--check-file=FILE` | Process a single file |
107
108
  | `--output-diff=FILE` | Output changes as diff (no files modified) |
108
109
  | `--quiet` | Limit console output, less verbose |
@@ -193,14 +194,61 @@ Command line arguments override config file settings.
193
194
 
194
195
  ## Platform Support
195
196
 
196
- | Platform | Binary |
197
- |----------|--------|
198
- | Linux x86_64 | `fop-*-linux-x86_64` |
199
- | Linux x86_64 (AVX2) | `fop-*-linux-x86_64-v3` |
200
- | macOS Intel | `fop-*-macos-x86_64` |
201
- | macOS Apple Silicon | `fop-*-macos-arm64` |
202
- | Windows x86_64 | `fop-*-windows-x86_64.exe` |
203
- | Windows x86_64 (AVX2) | `fop-*-windows-x86_64-v3.exe` |
197
+ ### Pre-built Binaries
198
+
199
+ | Platform | Binary | Optimization | Compatible Devices |
200
+ |----------|--------|--------------|-------------------|
201
+ | **Linux** | | | |
202
+ | x86_64 | `linux-x86_64` | Baseline | All 64-bit Intel/AMD |
203
+ | x86_64 | `linux-x86_64-v3` | AVX2 | Intel Haswell+ / AMD Excavator+ (~2015+) |
204
+ | x86 | `linux-x86_32` | Baseline | 32-bit systems, older hardware |
205
+ | ARM64 | `linux-arm64` | Baseline | Raspberry Pi 3/4/5, Orange Pi 3/4/5, all ARM64 |
206
+ | ARM64 | `linux-arm64-n1` | Neoverse N1 | Pi 5, Orange Pi 5, AWS Graviton2+, Ampere Altra |
207
+ | RISC-V | `linux-riscv64` | Baseline | SiFive, StarFive VisionFive 2, Milk-V |
208
+ | **macOS** | | | |
209
+ | Intel | `macos-x86_64` | Baseline | All Intel Macs |
210
+ | Apple Silicon | `macos-arm64` | Apple M1 | M1, M2, M3, M4, M5 Macs |
211
+ | **Windows** | | | |
212
+ | x86_64 | `windows-x86_64.exe` | Baseline | All 64-bit Windows |
213
+ | x86_64 | `windows-x86_64-v3.exe` | AVX2 | Intel Haswell+ / AMD Excavator+ (~2015+) |
214
+ | x86 | `windows-x86_32.exe` | Baseline | 32-bit Windows |
215
+ | ARM64 | `windows-arm64-v2.exe` | Cortex-A78 | Surface Pro X, Snapdragon laptops |
216
+
217
+ ### Which binary should I use?
218
+
219
+ **Linux/Windows x86_64:**
220
+ - Use `-v3` for CPUs from ~2015+ (Haswell, Ryzen) - ~10-20% faster due to AVX2
221
+ - Use baseline if unsure or on older CPUs
222
+
223
+ **Linux ARM64 (Raspberry Pi / Orange Pi):**
224
+ - Use `linux-arm64` for Pi 3, Pi 4, Orange Pi 3/4, or if unsure
225
+ - Use `linux-arm64-n1` for Pi 5, Orange Pi 5, AWS Graviton2+ (~10-20% faster)
226
+
227
+ **npm install** downloads baseline binaries for maximum compatibility. Optimized versions are available from [GitHub Releases](https://github.com/ryanbr/fop-rs/releases).
228
+
229
+ ### Build Details
230
+
231
+ | Binary | Target | RUSTFLAGS |
232
+ |--------|--------|-----------|
233
+ | `linux-x86_64` | Native | - |
234
+ | `linux-x86_64-v3` | Native | `-C target-cpu=x86-64-v3` |
235
+ | `linux-x86_32` | `i686-unknown-linux-gnu` | - |
236
+ | `linux-arm64` | `aarch64-unknown-linux-gnu` | - |
237
+ | `linux-arm64-n1` | `aarch64-unknown-linux-gnu` | `-C target-cpu=neoverse-n1` |
238
+ | `linux-riscv64` | `riscv64gc-unknown-linux-gnu` | - |
239
+ | `macos-x86_64` | `x86_64-apple-darwin` | - |
240
+ | `macos-arm64` | `aarch64-apple-darwin` | `-C target-cpu=apple-m1` |
241
+ | `windows-x86_64.exe` | `x86_64-pc-windows-gnu` | - |
242
+ | `windows-x86_64-v3.exe` | `x86_64-pc-windows-gnu` | `-C target-cpu=x86-64-v3` |
243
+ | `windows-x86_32.exe` | `i686-pc-windows-gnu` | - |
244
+ | `windows-arm64-v2.exe` | `aarch64-pc-windows-msvc` | `-C target-cpu=cortex-a78` |
245
+
246
+
247
+ **Unsupported platform?**
248
+ FOP.rs builds from source on any platform with Rust 1.80+:
249
+ ```bash
250
+ cargo build --release
251
+ ```
204
252
 
205
253
  ## Migrating from Python FOP
206
254
 
package/install.js CHANGED
@@ -7,7 +7,7 @@ const path = require('path');
7
7
  const { execSync } = require('child_process');
8
8
 
9
9
  // Configuration - UPDATE THESE FOR YOUR RELEASE
10
- const VERSION = '4.2.0';
10
+ const VERSION = '4.2.1';
11
11
  const GITHUB_REPO = 'ryanbr/fop-rs'; // Change to your repo
12
12
  const BINARY_NAME = 'fop';
13
13
 
@@ -16,8 +16,10 @@ const PLATFORMS = {
16
16
  'darwin-x64': `-macos-x86_64`,
17
17
  'darwin-arm64': `-macos-arm64`,
18
18
  'linux-x64': `-linux-x86_64`,
19
- 'linux-arm64': `-linux-arm64-n1`,
19
+ 'linux-arm64': `-linux-arm64`, // Baseline for max compatibility
20
+ 'linux-riscv64': `-linux-riscv64`,
20
21
  'win32-x64': `-windows-x86_64.exe`,
22
+ 'win32-ia32': `-windows-x86_32.exe`,
21
23
  'win32-arm64': `-windows-arm64-v2.exe`,
22
24
  };
23
25
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fop-cli",
3
- "version": "4.2.0",
3
+ "version": "4.2.1",
4
4
  "description": "Filter Orderer and Preener - A tool for sorting and cleaning ad-blocking filter lists",
5
5
  "keywords": [
6
6
  "adblock",