Compare commits

..
6 Commits
Author SHA1 Message Date
Abimael MartellandClaude Opus 4.6 9868c02f6e add npm package description, keywords, and README
Publish npm package / Build aarch64-apple-darwin (push) Has been cancelled
Publish npm package / Build x86_64-unknown-linux-gnu (push) Has been cancelled
Publish npm package / Publish to npm (push) Has been cancelled
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 12:18:34 -07:00
Abimael MartellandClaude Opus 4.6 3a711bdfb0 bump napi to 0.2.2
Publish npm package / Build aarch64-apple-darwin (push) Has been cancelled
Publish npm package / Build x86_64-unknown-linux-gnu (push) Has been cancelled
Publish npm package / Publish to npm (push) Has been cancelled
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 12:14:35 -07:00
Abimael MartellandClaude Opus 4.6 5c6ddf158b fix publish: use trusted publisher pattern from cli repo (no NPM_TOKEN)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 12:14:21 -07:00
Abimael MartellandClaude Opus 4.6 a7fa32e22b bump napi package to 0.2.1
Publish npm package / Build aarch64-apple-darwin (push) Has been cancelled
Publish npm package / Build x86_64-unknown-linux-gnu (push) Has been cancelled
Publish npm package / Publish to npm (push) Has been cancelled
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 12:10:57 -07:00
Abimael MartellandClaude Opus 4.6 f1579fc0d1 use npm trusted publisher (OIDC provenance) instead of NPM_TOKEN
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 12:08:04 -07:00
Abimael MartellandClaude Opus 4.6 be032b0696 switch to single npm package on npmjs.com (firecrawl-pdf-inspector)
Drop platform-specific optional deps — ship all .node binaries in one
package (~4 MB total). Simplifies publishing and consumer install.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 12:07:36 -07:00
4 changed files with 184 additions and 118 deletions
+14 -57
View File
@@ -6,7 +6,7 @@ on:
permissions:
contents: read
packages: write
id-token: write
jobs:
build:
@@ -57,75 +57,32 @@ jobs:
if-no-files-found: error
publish:
name: Publish to GitHub Packages
name: Publish to npm
needs: build
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
- uses: oven-sh/setup-bun@v2
- uses: actions/setup-node@v6
with:
bun-version: latest
- name: Install dependencies
working-directory: napi
run: bun install
node-version: '24'
registry-url: 'https://registry.npmjs.org'
- name: Download all artifacts
uses: actions/download-artifact@v4
with:
path: napi/artifacts
- name: Prepare and publish
- name: Collect binaries and publish
working-directory: napi
run: |
echo "//npm.pkg.github.com/:_authToken=${{ secrets.GITHUB_TOKEN }}" > ~/.npmrc
echo "@firecrawl:registry=https://npm.pkg.github.com" >> ~/.npmrc
VERSION=$(node -p "require('./package.json').version")
# Create platform package dirs and package.json files
mkdir -p npm/linux-x64-gnu npm/darwin-arm64
cat > npm/linux-x64-gnu/package.json << PKGEOF
{
"name": "@firecrawl/pdf-inspector-js-linux-x64-gnu",
"version": "${VERSION}",
"os": ["linux"],
"cpu": ["x64"],
"main": "pdf-inspector.linux-x64-gnu.node",
"files": ["pdf-inspector.linux-x64-gnu.node"],
"license": "MIT",
"repository": { "type": "git", "url": "https://github.com/firecrawl/pdf-inspector" },
"publishConfig": { "registry": "https://npm.pkg.github.com", "access": "public" }
}
PKGEOF
cat > npm/darwin-arm64/package.json << PKGEOF
{
"name": "@firecrawl/pdf-inspector-js-darwin-arm64",
"version": "${VERSION}",
"os": ["darwin"],
"cpu": ["arm64"],
"main": "pdf-inspector.darwin-arm64.node",
"files": ["pdf-inspector.darwin-arm64.node"],
"license": "MIT",
"repository": { "type": "git", "url": "https://github.com/firecrawl/pdf-inspector" },
"publishConfig": { "registry": "https://npm.pkg.github.com", "access": "public" }
}
PKGEOF
# Move binaries into platform dirs
cp artifacts/bindings-x86_64-unknown-linux-gnu/*.node npm/linux-x64-gnu/
cp artifacts/bindings-aarch64-apple-darwin/*.node npm/darwin-arm64/
# Copy all .node binaries into the package directory
cp artifacts/bindings-*/*.node .
echo "=== Package contents ==="
ls -R npm/
ls -la *.node index.js index.d.ts
# Publish platform packages first, then main package
for dir in npm/*/; do
echo "Publishing $dir"
(cd "$dir" && npm publish --access public)
done
echo "Publishing main package"
npm publish --access public
npm publish --provenance --access public
+99
View File
@@ -0,0 +1,99 @@
# firecrawl-pdf-inspector
Fast PDF classification and region-based text extraction for Node.js/Bun. Native Rust performance via [napi-rs](https://napi.rs).
Built by [Firecrawl](https://firecrawl.dev) for hybrid OCR pipelines — extract text from PDF structure where possible, fall back to OCR only when needed.
## Install
```bash
npm install firecrawl-pdf-inspector
# or
bun add firecrawl-pdf-inspector
```
Prebuilt binaries included for **linux-x64** and **macOS ARM64**. No Rust toolchain needed.
## API
### `classifyPdf(buffer: Buffer): PdfClassification`
Classify a PDF as TextBased, Scanned, Mixed, or ImageBased (~10-50ms). Returns which pages need OCR.
```typescript
import { classifyPdf } from 'firecrawl-pdf-inspector'
import { readFileSync } from 'fs'
const pdf = readFileSync('document.pdf')
const result = classifyPdf(pdf)
console.log(result.pdfType) // "TextBased" | "Scanned" | "Mixed" | "ImageBased"
console.log(result.pageCount) // 42
console.log(result.pagesNeedingOcr) // [5, 12, 15] (0-indexed)
console.log(result.confidence) // 0.875
```
### `extractTextInRegions(buffer: Buffer, pageRegions: PageRegions[]): PageRegionTexts[]`
Extract text within bounding-box regions from a PDF. Designed for hybrid OCR pipelines where a layout model detects regions in rendered page images, and this function extracts text from the PDF structure for text-based pages — skipping GPU OCR.
Each region result includes a `needsOcr` flag that signals unreliable extraction (empty text, GID-encoded fonts, garbage text, encoding issues).
```typescript
import { extractTextInRegions } from 'firecrawl-pdf-inspector'
const result = extractTextInRegions(pdf, [
{
page: 0, // 0-indexed
regions: [
[0, 0, 300, 400], // [x1, y1, x2, y2] in PDF points, top-left origin
[300, 0, 612, 400],
]
}
])
for (const region of result[0].regions) {
if (region.needsOcr) {
// Unreliable text — send this region to OCR instead
} else {
console.log(region.text) // Extracted text in reading order
}
}
```
## Types
```typescript
interface PdfClassification {
pdfType: string // "TextBased" | "Scanned" | "Mixed" | "ImageBased"
pageCount: number
pagesNeedingOcr: number[] // 0-indexed page numbers
confidence: number // 0.0 - 1.0
}
interface PageRegions {
page: number // 0-indexed
regions: number[][] // [[x1, y1, x2, y2], ...] in PDF points, top-left origin
}
interface PageRegionTexts {
page: number
regions: RegionText[]
}
interface RegionText {
text: string
needsOcr: boolean // true when text is unreliable
}
```
## Platforms
| Platform | Architecture | Supported |
|----------|-------------|-----------|
| Linux | x64 | Yes |
| macOS | ARM64 | Yes |
## License
MIT
+53 -53
View File
@@ -75,8 +75,8 @@ function requireNative() {
loadErrors.push(e)
}
try {
const binding = require('@firecrawl/pdf-inspector-js-android-arm64')
const bindingPackageVersion = require('@firecrawl/pdf-inspector-js-android-arm64/package.json').version
const binding = require('firecrawl-pdf-inspector-android-arm64')
const bindingPackageVersion = require('firecrawl-pdf-inspector-android-arm64/package.json').version
if (bindingPackageVersion !== '0.2.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.2.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
@@ -91,8 +91,8 @@ function requireNative() {
loadErrors.push(e)
}
try {
const binding = require('@firecrawl/pdf-inspector-js-android-arm-eabi')
const bindingPackageVersion = require('@firecrawl/pdf-inspector-js-android-arm-eabi/package.json').version
const binding = require('firecrawl-pdf-inspector-android-arm-eabi')
const bindingPackageVersion = require('firecrawl-pdf-inspector-android-arm-eabi/package.json').version
if (bindingPackageVersion !== '0.2.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.2.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
@@ -112,8 +112,8 @@ function requireNative() {
loadErrors.push(e)
}
try {
const binding = require('@firecrawl/pdf-inspector-js-win32-x64-gnu')
const bindingPackageVersion = require('@firecrawl/pdf-inspector-js-win32-x64-gnu/package.json').version
const binding = require('firecrawl-pdf-inspector-win32-x64-gnu')
const bindingPackageVersion = require('firecrawl-pdf-inspector-win32-x64-gnu/package.json').version
if (bindingPackageVersion !== '0.2.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.2.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
@@ -128,8 +128,8 @@ function requireNative() {
loadErrors.push(e)
}
try {
const binding = require('@firecrawl/pdf-inspector-js-win32-x64-msvc')
const bindingPackageVersion = require('@firecrawl/pdf-inspector-js-win32-x64-msvc/package.json').version
const binding = require('firecrawl-pdf-inspector-win32-x64-msvc')
const bindingPackageVersion = require('firecrawl-pdf-inspector-win32-x64-msvc/package.json').version
if (bindingPackageVersion !== '0.2.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.2.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
@@ -145,8 +145,8 @@ function requireNative() {
loadErrors.push(e)
}
try {
const binding = require('@firecrawl/pdf-inspector-js-win32-ia32-msvc')
const bindingPackageVersion = require('@firecrawl/pdf-inspector-js-win32-ia32-msvc/package.json').version
const binding = require('firecrawl-pdf-inspector-win32-ia32-msvc')
const bindingPackageVersion = require('firecrawl-pdf-inspector-win32-ia32-msvc/package.json').version
if (bindingPackageVersion !== '0.2.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.2.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
@@ -161,8 +161,8 @@ function requireNative() {
loadErrors.push(e)
}
try {
const binding = require('@firecrawl/pdf-inspector-js-win32-arm64-msvc')
const bindingPackageVersion = require('@firecrawl/pdf-inspector-js-win32-arm64-msvc/package.json').version
const binding = require('firecrawl-pdf-inspector-win32-arm64-msvc')
const bindingPackageVersion = require('firecrawl-pdf-inspector-win32-arm64-msvc/package.json').version
if (bindingPackageVersion !== '0.2.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.2.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
@@ -180,8 +180,8 @@ function requireNative() {
loadErrors.push(e)
}
try {
const binding = require('@firecrawl/pdf-inspector-js-darwin-universal')
const bindingPackageVersion = require('@firecrawl/pdf-inspector-js-darwin-universal/package.json').version
const binding = require('firecrawl-pdf-inspector-darwin-universal')
const bindingPackageVersion = require('firecrawl-pdf-inspector-darwin-universal/package.json').version
if (bindingPackageVersion !== '0.2.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.2.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
@@ -196,8 +196,8 @@ function requireNative() {
loadErrors.push(e)
}
try {
const binding = require('@firecrawl/pdf-inspector-js-darwin-x64')
const bindingPackageVersion = require('@firecrawl/pdf-inspector-js-darwin-x64/package.json').version
const binding = require('firecrawl-pdf-inspector-darwin-x64')
const bindingPackageVersion = require('firecrawl-pdf-inspector-darwin-x64/package.json').version
if (bindingPackageVersion !== '0.2.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.2.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
@@ -212,8 +212,8 @@ function requireNative() {
loadErrors.push(e)
}
try {
const binding = require('@firecrawl/pdf-inspector-js-darwin-arm64')
const bindingPackageVersion = require('@firecrawl/pdf-inspector-js-darwin-arm64/package.json').version
const binding = require('firecrawl-pdf-inspector-darwin-arm64')
const bindingPackageVersion = require('firecrawl-pdf-inspector-darwin-arm64/package.json').version
if (bindingPackageVersion !== '0.2.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.2.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
@@ -232,8 +232,8 @@ function requireNative() {
loadErrors.push(e)
}
try {
const binding = require('@firecrawl/pdf-inspector-js-freebsd-x64')
const bindingPackageVersion = require('@firecrawl/pdf-inspector-js-freebsd-x64/package.json').version
const binding = require('firecrawl-pdf-inspector-freebsd-x64')
const bindingPackageVersion = require('firecrawl-pdf-inspector-freebsd-x64/package.json').version
if (bindingPackageVersion !== '0.2.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.2.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
@@ -248,8 +248,8 @@ function requireNative() {
loadErrors.push(e)
}
try {
const binding = require('@firecrawl/pdf-inspector-js-freebsd-arm64')
const bindingPackageVersion = require('@firecrawl/pdf-inspector-js-freebsd-arm64/package.json').version
const binding = require('firecrawl-pdf-inspector-freebsd-arm64')
const bindingPackageVersion = require('firecrawl-pdf-inspector-freebsd-arm64/package.json').version
if (bindingPackageVersion !== '0.2.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.2.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
@@ -269,8 +269,8 @@ function requireNative() {
loadErrors.push(e)
}
try {
const binding = require('@firecrawl/pdf-inspector-js-linux-x64-musl')
const bindingPackageVersion = require('@firecrawl/pdf-inspector-js-linux-x64-musl/package.json').version
const binding = require('firecrawl-pdf-inspector-linux-x64-musl')
const bindingPackageVersion = require('firecrawl-pdf-inspector-linux-x64-musl/package.json').version
if (bindingPackageVersion !== '0.2.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.2.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
@@ -285,8 +285,8 @@ function requireNative() {
loadErrors.push(e)
}
try {
const binding = require('@firecrawl/pdf-inspector-js-linux-x64-gnu')
const bindingPackageVersion = require('@firecrawl/pdf-inspector-js-linux-x64-gnu/package.json').version
const binding = require('firecrawl-pdf-inspector-linux-x64-gnu')
const bindingPackageVersion = require('firecrawl-pdf-inspector-linux-x64-gnu/package.json').version
if (bindingPackageVersion !== '0.2.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.2.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
@@ -303,8 +303,8 @@ function requireNative() {
loadErrors.push(e)
}
try {
const binding = require('@firecrawl/pdf-inspector-js-linux-arm64-musl')
const bindingPackageVersion = require('@firecrawl/pdf-inspector-js-linux-arm64-musl/package.json').version
const binding = require('firecrawl-pdf-inspector-linux-arm64-musl')
const bindingPackageVersion = require('firecrawl-pdf-inspector-linux-arm64-musl/package.json').version
if (bindingPackageVersion !== '0.2.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.2.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
@@ -319,8 +319,8 @@ function requireNative() {
loadErrors.push(e)
}
try {
const binding = require('@firecrawl/pdf-inspector-js-linux-arm64-gnu')
const bindingPackageVersion = require('@firecrawl/pdf-inspector-js-linux-arm64-gnu/package.json').version
const binding = require('firecrawl-pdf-inspector-linux-arm64-gnu')
const bindingPackageVersion = require('firecrawl-pdf-inspector-linux-arm64-gnu/package.json').version
if (bindingPackageVersion !== '0.2.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.2.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
@@ -337,8 +337,8 @@ function requireNative() {
loadErrors.push(e)
}
try {
const binding = require('@firecrawl/pdf-inspector-js-linux-arm-musleabihf')
const bindingPackageVersion = require('@firecrawl/pdf-inspector-js-linux-arm-musleabihf/package.json').version
const binding = require('firecrawl-pdf-inspector-linux-arm-musleabihf')
const bindingPackageVersion = require('firecrawl-pdf-inspector-linux-arm-musleabihf/package.json').version
if (bindingPackageVersion !== '0.2.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.2.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
@@ -353,8 +353,8 @@ function requireNative() {
loadErrors.push(e)
}
try {
const binding = require('@firecrawl/pdf-inspector-js-linux-arm-gnueabihf')
const bindingPackageVersion = require('@firecrawl/pdf-inspector-js-linux-arm-gnueabihf/package.json').version
const binding = require('firecrawl-pdf-inspector-linux-arm-gnueabihf')
const bindingPackageVersion = require('firecrawl-pdf-inspector-linux-arm-gnueabihf/package.json').version
if (bindingPackageVersion !== '0.2.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.2.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
@@ -371,8 +371,8 @@ function requireNative() {
loadErrors.push(e)
}
try {
const binding = require('@firecrawl/pdf-inspector-js-linux-loong64-musl')
const bindingPackageVersion = require('@firecrawl/pdf-inspector-js-linux-loong64-musl/package.json').version
const binding = require('firecrawl-pdf-inspector-linux-loong64-musl')
const bindingPackageVersion = require('firecrawl-pdf-inspector-linux-loong64-musl/package.json').version
if (bindingPackageVersion !== '0.2.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.2.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
@@ -387,8 +387,8 @@ function requireNative() {
loadErrors.push(e)
}
try {
const binding = require('@firecrawl/pdf-inspector-js-linux-loong64-gnu')
const bindingPackageVersion = require('@firecrawl/pdf-inspector-js-linux-loong64-gnu/package.json').version
const binding = require('firecrawl-pdf-inspector-linux-loong64-gnu')
const bindingPackageVersion = require('firecrawl-pdf-inspector-linux-loong64-gnu/package.json').version
if (bindingPackageVersion !== '0.2.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.2.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
@@ -405,8 +405,8 @@ function requireNative() {
loadErrors.push(e)
}
try {
const binding = require('@firecrawl/pdf-inspector-js-linux-riscv64-musl')
const bindingPackageVersion = require('@firecrawl/pdf-inspector-js-linux-riscv64-musl/package.json').version
const binding = require('firecrawl-pdf-inspector-linux-riscv64-musl')
const bindingPackageVersion = require('firecrawl-pdf-inspector-linux-riscv64-musl/package.json').version
if (bindingPackageVersion !== '0.2.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.2.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
@@ -421,8 +421,8 @@ function requireNative() {
loadErrors.push(e)
}
try {
const binding = require('@firecrawl/pdf-inspector-js-linux-riscv64-gnu')
const bindingPackageVersion = require('@firecrawl/pdf-inspector-js-linux-riscv64-gnu/package.json').version
const binding = require('firecrawl-pdf-inspector-linux-riscv64-gnu')
const bindingPackageVersion = require('firecrawl-pdf-inspector-linux-riscv64-gnu/package.json').version
if (bindingPackageVersion !== '0.2.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.2.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
@@ -438,8 +438,8 @@ function requireNative() {
loadErrors.push(e)
}
try {
const binding = require('@firecrawl/pdf-inspector-js-linux-ppc64-gnu')
const bindingPackageVersion = require('@firecrawl/pdf-inspector-js-linux-ppc64-gnu/package.json').version
const binding = require('firecrawl-pdf-inspector-linux-ppc64-gnu')
const bindingPackageVersion = require('firecrawl-pdf-inspector-linux-ppc64-gnu/package.json').version
if (bindingPackageVersion !== '0.2.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.2.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
@@ -454,8 +454,8 @@ function requireNative() {
loadErrors.push(e)
}
try {
const binding = require('@firecrawl/pdf-inspector-js-linux-s390x-gnu')
const bindingPackageVersion = require('@firecrawl/pdf-inspector-js-linux-s390x-gnu/package.json').version
const binding = require('firecrawl-pdf-inspector-linux-s390x-gnu')
const bindingPackageVersion = require('firecrawl-pdf-inspector-linux-s390x-gnu/package.json').version
if (bindingPackageVersion !== '0.2.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.2.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
@@ -474,8 +474,8 @@ function requireNative() {
loadErrors.push(e)
}
try {
const binding = require('@firecrawl/pdf-inspector-js-openharmony-arm64')
const bindingPackageVersion = require('@firecrawl/pdf-inspector-js-openharmony-arm64/package.json').version
const binding = require('firecrawl-pdf-inspector-openharmony-arm64')
const bindingPackageVersion = require('firecrawl-pdf-inspector-openharmony-arm64/package.json').version
if (bindingPackageVersion !== '0.2.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.2.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
@@ -490,8 +490,8 @@ function requireNative() {
loadErrors.push(e)
}
try {
const binding = require('@firecrawl/pdf-inspector-js-openharmony-x64')
const bindingPackageVersion = require('@firecrawl/pdf-inspector-js-openharmony-x64/package.json').version
const binding = require('firecrawl-pdf-inspector-openharmony-x64')
const bindingPackageVersion = require('firecrawl-pdf-inspector-openharmony-x64/package.json').version
if (bindingPackageVersion !== '0.2.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.2.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
@@ -506,8 +506,8 @@ function requireNative() {
loadErrors.push(e)
}
try {
const binding = require('@firecrawl/pdf-inspector-js-openharmony-arm')
const bindingPackageVersion = require('@firecrawl/pdf-inspector-js-openharmony-arm/package.json').version
const binding = require('firecrawl-pdf-inspector-openharmony-arm')
const bindingPackageVersion = require('firecrawl-pdf-inspector-openharmony-arm/package.json').version
if (bindingPackageVersion !== '0.2.0' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
throw new Error(`Native binding package version mismatch, expected 0.2.0 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
}
@@ -538,7 +538,7 @@ if (!nativeBinding || process.env.NAPI_RS_FORCE_WASI) {
}
if (!nativeBinding || process.env.NAPI_RS_FORCE_WASI) {
try {
wasiBinding = require('@firecrawl/pdf-inspector-js-wasm32-wasi')
wasiBinding = require('firecrawl-pdf-inspector-wasm32-wasi')
nativeBinding = wasiBinding
} catch (err) {
if (process.env.NAPI_RS_FORCE_WASI) {
+18 -8
View File
@@ -1,19 +1,33 @@
{
"name": "@firecrawl/pdf-inspector-js",
"version": "0.2.0",
"name": "firecrawl-pdf-inspector",
"version": "0.2.3",
"description": "Fast PDF classification and text extraction. Detect text-based vs scanned PDFs, extract text by region with quality checks. Native Rust performance via napi-rs.",
"main": "index.js",
"types": "index.d.ts",
"license": "MIT",
"keywords": [
"pdf",
"pdf-extraction",
"pdf-parser",
"text-extraction",
"ocr",
"pdf-classification",
"napi",
"rust",
"firecrawl"
],
"files": [
"index.js",
"index.d.ts"
"index.d.ts",
"*.node",
"README.md"
],
"repository": {
"type": "git",
"url": "https://github.com/firecrawl/pdf-inspector"
},
"homepage": "https://github.com/firecrawl/pdf-inspector",
"publishConfig": {
"registry": "https://npm.pkg.github.com",
"access": "public"
},
"napi": {
@@ -26,10 +40,6 @@
"name": "@firecrawl/pdf-inspector-js"
}
},
"optionalDependencies": {
"@firecrawl/pdf-inspector-js-linux-x64-gnu": "0.2.0",
"@firecrawl/pdf-inspector-js-darwin-arm64": "0.2.0"
},
"scripts": {
"build": "napi build --platform --release",
"build:debug": "napi build --platform"