fop-cli 4.1.2 → 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 +63 -8
  2. package/install.js +4 -2
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -102,6 +102,8 @@ fop -n ~/easylist ~/easyprivacy ~/fanboy-addon
102
102
  | `--fix-typos` | Fix cosmetic rule typos in all files during sort |
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
+ | `--ignore-config` | Ignore .fopconfig file, use only CLI args |
106
+ | `--output` | Output changed files with --changed suffix (no overwrite) |
105
107
  | `--check-file=FILE` | Process a single file |
106
108
  | `--output-diff=FILE` | Output changes as diff (no files modified) |
107
109
  | `--quiet` | Limit console output, less verbose |
@@ -180,20 +182,73 @@ fix-typos-on-add = false
180
182
 
181
183
  # Auto-fix without prompting
182
184
  auto-fix = false
185
+
186
+ # Suppress most output (for CI)
187
+ quiet = false
188
+
189
+ # Users allowed to push directly when create-pr is enabled (comma-separated, case-insensitive)
190
+ direct-push-users =
183
191
  ```
184
192
 
185
193
  Command line arguments override config file settings.
186
194
 
187
195
  ## Platform Support
188
196
 
189
- | Platform | Binary |
190
- |----------|--------|
191
- | Linux x86_64 | `fop-*-linux-x86_64` |
192
- | Linux x86_64 (AVX2) | `fop-*-linux-x86_64-v3` |
193
- | macOS Intel | `fop-*-macos-x86_64` |
194
- | macOS Apple Silicon | `fop-*-macos-arm64` |
195
- | Windows x86_64 | `fop-*-windows-x86_64.exe` |
196
- | 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
+ ```
197
252
 
198
253
  ## Migrating from Python FOP
199
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.1.2';
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.1.2",
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",