From f78cc54cc0424f6db9767e4488f7743759a1c751 Mon Sep 17 00:00:00 2001 From: abdullahalam123 Date: Mon, 17 Nov 2025 13:51:38 +0530 Subject: [PATCH] feat(pdfjs-annotation-extension): update module export structure and remove unused font files Refactored the module export structure in pdfjs-annotation-extension.js for improved compatibility across module systems. Additionally, deleted unused font files (PingFangChangAnTi-2.ttf and qiantubifengshouxieti.ttf) to streamline the extension's resources. --- README.md | 125 +++++- package-lock.json | 696 +++++++++++++++++++++++++++++-- package.json | 4 +- public/images/bentopdf-tools.png | Bin 0 -> 116232 bytes scripts/package-dist.js | 65 +++ scripts/release.js | 11 +- 6 files changed, 861 insertions(+), 40 deletions(-) create mode 100644 public/images/bentopdf-tools.png create mode 100644 scripts/package-dist.js diff --git a/README.md b/README.md index be70414..6abaa2f 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,17 @@ -# BentoPDF +

+

BentoPDF

-**BentoPDF** is a powerful, privacy-first, client-side PDF toolkit that allows you to manipulate, edit, merge, and process PDF files directly in your browser. No server-side processing is required, ensuring your files remain secure and private. +
+ +**BentoPDF** is a powerful, privacy-first, client-side PDF toolkit that is self hostable and allows you to manipulate, edit, merge, and process PDF files directly in your browser. No server-side processing is required, ensuring your files remain secure and private. ![Docker Pulls](https://img.shields.io/docker/pulls/bentopdf/bentopdf) [![Ko-fi](https://img.shields.io/badge/Buy%20me%20a%20Coffee-yellow?logo=kofi&style=flat-square)](https://ko-fi.com/alio0) ![GitHub Stars](https://img.shields.io/github/stars/alam00000/bentopdf?style=social) [![Sponsor me on GitHub](https://img.shields.io/badge/Sponsor-%E2%9D%A4-ff69b4)](https://github.com/sponsors/alam00000) +![BentoPDF Tools](public/images/bentopdf-tools.png) + +
+ ## ⭐ Stargazers over time [![Star History Chart](https://api.star-history.com/svg?repos=alam00000/bentopdf&type=Date)](https://star-history.com/#alam00000/bentopdf&Date) @@ -38,6 +45,17 @@ BentoPDF offers a comprehensive suite of tools to handle all your PDF needs. | **View PDF** | A powerful, integrated PDF viewer. | | **Alternate & Mix pages** | Merge pages by alternating pages from each PDF. | | **Posterize PDF** | Split a PDF into multiple smaller pages for print. | +| **PDF Multi Tool** | Merge, Split, Organize, Delete, Rotate, Add Blank Pages, Extract and Duplicate in an unified interface. | +| **Add Attachments** | Embed one or more files into your PDF. | +| **Extract Attachments** | Extract all embedded files from PDF(s) as a ZIP. | +| **Edit Attachments** | View or remove attachments in your PDF. | +| **Divide Pages** | Divide pages horizontally or vertically. | +| **Combine to Single Page**| Stitch all pages into one continuous scroll. | +| **Add Blank Page** | Insert an empty page anywhere in your PDF. | +| **Reverse Pages** | Flip the order of all pages in your document. | +| **View Metadata** | Inspect the hidden properties of your PDF. | +| **PDFs to ZIP** | Package multiple PDF files into a ZIP archive. | +| **Compare PDFs** | Compare two PDFs side by side. | ### Edit & Modify PDFs @@ -56,24 +74,39 @@ BentoPDF offers a comprehensive suite of tools to handle all your PDF needs. | **Remove Annotations** | Remove comments, highlights, and other annotations. | | **Remove Blank Pages** | Auto detect and remove blank pages in a PDF. | | **Edit Bookmarks** | Add, Edit, Create, Import and Export PDF Bookmarks. | +| **Add Stamps** | Add image stamps to your PDF using the annotation toolbar. | +| **Table of Contents** | Generate a table of contents page from PDF bookmarks. | +| **Redact Content** | Permanently remove sensitive content from your PDFs. | ### Convert to PDF | Tool Name | Description | | :------------------ | :-------------------------------------------------------------- | | **Image to PDF** | Convert JPG, PNG, WebP, SVG, BMP, HEIC, and TIFF images to PDF. | +| **JPG to PDF** | Convert JPG images to PDF. | +| **PNG to PDF** | Convert PNG images to PDF. | +| **WebP to PDF** | Convert WebP images to PDF. | +| **SVG to PDF** | Convert SVG images to PDF. | +| **BMP to PDF** | Convert BMP images to PDF. | +| **HEIC to PDF** | Convert HEIC images to PDF. | +| **TIFF to PDF** | Convert TIFF images to PDF. | | **Markdown to PDF** | Convert `.md` files into professional PDF documents. | | **Text to PDF** | Convert plain text files into a PDF. | -| **JSON to PDF** | Convert JSON to PDF. | +| **JSON to PDF** | Convert JSON to PDF. | ### Convert from PDF | Tool Name | Description | | :------------------- | :----------------------------------------------------------------------------- | | **PDF to Image** | Convert PDF pages to JPG, PNG, WebP, BMP, or TIFF formats. | +| **PDF to JPG** | Convert each PDF page into a JPG image. | +| **PDF to PNG** | Convert each PDF page into a PNG image. | +| **PDF to WebP** | Convert each PDF page into a WebP image. | +| **PDF to BMP** | Convert each PDF page into a BMP image. | +| **PDF to TIFF** | Convert each PDF page into a TIFF image. | | **PDF to Greyscale** | Convert a color PDF into a black-and-white version. | | **OCR PDF** | Make scanned PDFs searchable and copyable using Optical Character Recognition. | -| **PDF to JSON** | Convert JSON to PDFs. | +| **PDF to JSON** | Convert PDF files to JSON format. | ### Secure & Optimize PDFs @@ -90,6 +123,9 @@ BentoPDF offers a comprehensive suite of tools to handle all your PDF needs. | **Remove Metadata** | Strip all metadata from your PDF for privacy. | | **Linearize PDF** | Optimize PDF for fast web view. | | **Sanitize PDF** | Remove potentially unwanted or malicous files from PDF. | +| **Fix Page Size** | Standardize all pages to a uniform size. | +| **Page Dimensions** | Analyze page size, orientation, and units. | +| **Remove Restrictions**| Remove password protection and security restrictions associated with digitally signed PDF files. | --- @@ -128,6 +164,87 @@ Open your browser at: http://localhost:3000 This is the fastest way to try BentoPDF without setting up a development environment. +### 🏠 Self-Hosting + +Since BentoPDF is fully client-side, all processing happens in the user's browser and no server-side processing is required. This means you can host BentoPDF as simple static files on any web server or hosting platform. + +**Download from Releases (Recommended):** + +The easiest way to self-host is to download the pre-built distribution file from our [GitHub releases](https://github.com/alam00000/bentopdf/releases). Each release includes a `dist-{version}.zip` file that contains all necessary files for self-hosting. + +1. Go to [BentoPDF Releases](https://github.com/alam00000/bentopdf/releases) +2. Download the latest `dist-{version}.zip` file +3. Extract the zip file +4. Serve the extracted folder with your preferred web server + +**Navigate to the extracted Folder:** +```bash +# Navigate to the extracted folder +cd dist-1.6.2 # Replace with your version +``` + +**Serve with Python:** + +```bash +# For Python 3 +python -m http.server 8000 +``` + +The website can be accessible at: ```http://[::1]:8000/``` + +**Serve with Node.js:** + +```bash +# Install a simple server +npx serve . + +# Or if you have serve installed globally +npm install -g serve +serve . +``` + +The website can be accessible at: ```http://localhost:3000/``` + +**Serve with other tools:** + +You can also use other static file servers like: +- Go: `go run main.go` with a simple Go server +- PHP: `php -S localhost:8000` +- Ruby: `ruby -run -e httpd . -p 8000` + +The website can be accessible at: +- Go: ```http://localhost:8080/``` (default) or as specified +- PHP: ```http://localhost:8000/``` +- Ruby: ```http://localhost:8000/``` (default port can be changed) + +Simply serve the extracted folder using any static file server, and BentoPDF will work completely client-side without any server-side dependencies. + +**Build from Source (Advanced):** + +If you prefer to build from source: + +```bash +# Clone the repository +git clone https://github.com/alam00000/bentopdf.git +cd bentopdf + +# Install dependencies +npm install + +# Build the project +npm run build + +# Package the distribution for hosting (optional) +npm run package + +# Serve the dist folder +npx serve dist +``` + +The website can be accessible at: ```http://localhost:3000/``` + +The `npm run package` command creates a `dist-{version}.zip` file that you can use for self-hosting. + ### 🚀 Run with Docker Compose (Recommended) For a more robust setup with auto-restart capabilities: diff --git a/package-lock.json b/package-lock.json index 00f656b..e44c06e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "bento-pdf", - "version": "1.6.1", + "version": "1.6.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "bento-pdf", - "version": "1.6.1", + "version": "1.6.2", "license": "Apache-2.0", "dependencies": { "@fontsource/cedarville-cursive": "^5.2.7", @@ -18,6 +18,7 @@ "@fontsource/merriweather": "^5.2.11", "@neslinesli93/qpdf-wasm": "^0.3.0", "@tailwindcss/vite": "^4.1.15", + "archiver": "^7.0.1", "blob-stream": "^0.1.3", "cropperjs": "^1.6.1", "heic2any": "^0.0.4", @@ -2674,7 +2675,6 @@ "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "dev": true, "license": "ISC", "dependencies": { "string-width": "^5.1.2", @@ -2692,7 +2692,6 @@ "version": "6.2.2", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", - "dev": true, "license": "MIT", "engines": { "node": ">=12" @@ -2705,7 +2704,6 @@ "version": "6.2.3", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", - "dev": true, "license": "MIT", "engines": { "node": ">=12" @@ -2718,14 +2716,12 @@ "version": "9.2.2", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true, "license": "MIT" }, "node_modules/@isaacs/cliui/node_modules/string-width": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, "license": "MIT", "dependencies": { "eastasianwidth": "^0.2.0", @@ -2743,7 +2739,6 @@ "version": "7.1.2", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", - "dev": true, "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" @@ -2759,7 +2754,6 @@ "version": "8.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^6.1.0", @@ -3116,7 +3110,6 @@ "version": "0.11.0", "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "dev": true, "license": "MIT", "optional": true, "engines": { @@ -4168,6 +4161,18 @@ "url": "https://opencollective.com/vitest" } }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "license": "MIT", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, "node_modules/acorn": { "version": "8.15.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", @@ -4241,7 +4246,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -4262,6 +4266,224 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/archiver": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-7.0.1.tgz", + "integrity": "sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==", + "license": "MIT", + "dependencies": { + "archiver-utils": "^5.0.2", + "async": "^3.2.4", + "buffer-crc32": "^1.0.0", + "readable-stream": "^4.0.0", + "readdir-glob": "^1.1.2", + "tar-stream": "^3.0.0", + "zip-stream": "^6.0.1" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/archiver-utils": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-5.0.2.tgz", + "integrity": "sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==", + "license": "MIT", + "dependencies": { + "glob": "^10.0.0", + "graceful-fs": "^4.2.0", + "is-stream": "^2.0.1", + "lazystream": "^1.0.0", + "lodash": "^4.17.15", + "normalize-path": "^3.0.0", + "readable-stream": "^4.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/archiver-utils/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/archiver-utils/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/archiver-utils/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/archiver-utils/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/archiver-utils/node_modules/readable-stream": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", + "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", + "license": "MIT", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/archiver-utils/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/archiver-utils/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/archiver/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/archiver/node_modules/readable-stream": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", + "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", + "license": "MIT", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/archiver/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/archiver/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, "node_modules/argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", @@ -4449,6 +4671,12 @@ "node": ">=8" } }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "license": "MIT" + }, "node_modules/atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", @@ -4477,6 +4705,20 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/b4a": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.7.3.tgz", + "integrity": "sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q==", + "license": "Apache-2.0", + "peerDependencies": { + "react-native-b4a": "*" + }, + "peerDependenciesMeta": { + "react-native-b4a": { + "optional": true + } + } + }, "node_modules/babel-core": { "version": "7.0.0-bridge.0", "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", @@ -4535,6 +4777,20 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "license": "MIT" }, + "node_modules/bare-events": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.8.2.tgz", + "integrity": "sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==", + "license": "Apache-2.0", + "peerDependencies": { + "bare-abort-controller": "*" + }, + "peerDependenciesMeta": { + "bare-abort-controller": { + "optional": true + } + } + }, "node_modules/base": { "version": "0.11.2", "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", @@ -4911,6 +5167,15 @@ "ieee754": "^1.1.13" } }, + "node_modules/buffer-crc32": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-1.0.0.tgz", + "integrity": "sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==", + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", @@ -5356,6 +5621,91 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/compress-commons": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-6.0.2.tgz", + "integrity": "sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==", + "license": "MIT", + "dependencies": { + "crc-32": "^1.2.0", + "crc32-stream": "^6.0.0", + "is-stream": "^2.0.1", + "normalize-path": "^3.0.0", + "readable-stream": "^4.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/compress-commons/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/compress-commons/node_modules/readable-stream": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", + "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", + "license": "MIT", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/compress-commons/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/compress-commons/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -5424,6 +5774,100 @@ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "license": "MIT" }, + "node_modules/crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", + "license": "Apache-2.0", + "bin": { + "crc32": "bin/crc32.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/crc32-stream": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-6.0.0.tgz", + "integrity": "sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==", + "license": "MIT", + "dependencies": { + "crc-32": "^1.2.0", + "readable-stream": "^4.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/crc32-stream/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/crc32-stream/node_modules/readable-stream": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", + "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", + "license": "MIT", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/crc32-stream/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/crc32-stream/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, "node_modules/create-ecdh": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", @@ -5581,7 +6025,6 @@ "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, "license": "MIT", "dependencies": { "path-key": "^3.1.0", @@ -5948,7 +6391,6 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true, "license": "MIT" }, "node_modules/electron-to-chromium": { @@ -5985,7 +6427,6 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, "license": "MIT" }, "node_modules/enhanced-resolve": { @@ -6455,16 +6896,33 @@ "node": ">=0.10.0" } }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/events": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true, "license": "MIT", "engines": { "node": ">=0.8.x" } }, + "node_modules/events-universal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/events-universal/-/events-universal-1.0.1.tgz", + "integrity": "sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==", + "license": "Apache-2.0", + "dependencies": { + "bare-events": "^2.7.0" + } + }, "node_modules/evp_bytestokey": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", @@ -6648,6 +7106,12 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "license": "MIT" }, + "node_modules/fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", + "license": "MIT" + }, "node_modules/fast-glob": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", @@ -7022,7 +7486,6 @@ "version": "3.3.1", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", - "dev": true, "license": "ISC", "dependencies": { "cross-spawn": "^7.0.6", @@ -7039,7 +7502,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, "license": "ISC", "engines": { "node": ">=14" @@ -7500,7 +7962,6 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true, "funding": [ { "type": "github", @@ -7707,7 +8168,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -7825,6 +8285,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-typed-array": { "version": "1.1.15", "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", @@ -7866,7 +8338,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, "license": "ISC" }, "node_modules/isobject": { @@ -7976,7 +8447,6 @@ "version": "3.4.3", "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", - "dev": true, "license": "BlueOak-1.0.0", "dependencies": { "@isaacs/cliui": "^8.0.2" @@ -8359,6 +8829,18 @@ "node": ">=0.10.0" } }, + "node_modules/lazystream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", + "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", + "license": "MIT", + "dependencies": { + "readable-stream": "^2.0.5" + }, + "engines": { + "node": ">= 0.6.3" + } + }, "node_modules/levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", @@ -8669,6 +9151,12 @@ "node": ">=6" } }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "license": "MIT" + }, "node_modules/lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", @@ -8958,7 +9446,6 @@ "version": "7.1.2", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "dev": true, "license": "ISC", "engines": { "node": ">=16 || 14 >=14.17" @@ -9273,6 +9760,15 @@ "node": ">= 6" } }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/object-copy": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", @@ -9491,7 +9987,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", - "dev": true, "license": "BlueOak-1.0.0" }, "node_modules/pako": { @@ -9615,7 +10110,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -9632,7 +10126,6 @@ "version": "1.11.1", "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", - "dev": true, "license": "BlueOak-1.0.0", "dependencies": { "lru-cache": "^10.2.0", @@ -9649,7 +10142,6 @@ "version": "10.4.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true, "license": "ISC" }, "node_modules/pathe": { @@ -10089,6 +10581,36 @@ "util-deprecate": "~1.0.1" } }, + "node_modules/readdir-glob": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz", + "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==", + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.1.0" + } + }, + "node_modules/readdir-glob/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/readdir-glob/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/recast": { "version": "0.16.2", "resolved": "https://registry.npmjs.org/recast/-/recast-0.16.2.tgz", @@ -10667,7 +11189,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" @@ -10680,7 +11201,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -11156,6 +11676,17 @@ "node": ">= 6" } }, + "node_modules/streamx": { + "version": "2.23.0", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.23.0.tgz", + "integrity": "sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg==", + "license": "MIT", + "dependencies": { + "events-universal": "^1.0.0", + "fast-fifo": "^1.3.2", + "text-decoder": "^1.1.0" + } + }, "node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -11175,7 +11706,6 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", @@ -11191,7 +11721,6 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", @@ -11215,7 +11744,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" @@ -11229,7 +11757,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" @@ -11373,6 +11900,17 @@ "url": "https://opencollective.com/webpack" } }, + "node_modules/tar-stream": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", + "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", + "license": "MIT", + "dependencies": { + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + }, "node_modules/temp": { "version": "0.8.4", "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz", @@ -11490,6 +12028,15 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/text-decoder": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.3.tgz", + "integrity": "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==", + "license": "Apache-2.0", + "dependencies": { + "b4a": "^1.6.4" + } + }, "node_modules/text-segmentation": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/text-segmentation/-/text-segmentation-1.0.3.tgz", @@ -12587,7 +13134,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, "license": "ISC", "dependencies": { "isexe": "^2.0.0" @@ -12673,7 +13219,6 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", @@ -12947,6 +13492,89 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/zip-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-6.0.1.tgz", + "integrity": "sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==", + "license": "MIT", + "dependencies": { + "archiver-utils": "^5.0.0", + "compress-commons": "^6.0.2", + "readable-stream": "^4.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/zip-stream/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/zip-stream/node_modules/readable-stream": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", + "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", + "license": "MIT", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/zip-stream/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/zip-stream/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, "node_modules/zlibjs": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/zlibjs/-/zlibjs-0.3.1.tgz", diff --git a/package.json b/package.json index a330f04..310adb4 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,8 @@ "release": "node scripts/release.js patch", "release:minor": "node scripts/release.js minor", "release:major": "node scripts/release.js major", - "serve:simple": "SIMPLE_MODE=true npm run build && npx serve dist -p 3000" + "serve:simple": "SIMPLE_MODE=true npm run build && npx serve dist -p 3000", + "package": "node scripts/package-dist.js" }, "devDependencies": { "@testing-library/dom": "^10.4.1", @@ -48,6 +49,7 @@ "@fontsource/merriweather": "^5.2.11", "@neslinesli93/qpdf-wasm": "^0.3.0", "@tailwindcss/vite": "^4.1.15", + "archiver": "^7.0.1", "blob-stream": "^0.1.3", "cropperjs": "^1.6.1", "heic2any": "^0.0.4", diff --git a/public/images/bentopdf-tools.png b/public/images/bentopdf-tools.png new file mode 100644 index 0000000000000000000000000000000000000000..104e4868604eb23924e469e254694be0df02b8be GIT binary patch literal 116232 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
Wzesq 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 IM6N<$f_4pvu>b%7 literal 0 HcmV?d00001 diff --git a/scripts/package-dist.js b/scripts/package-dist.js new file mode 100644 index 0000000..17c7832 --- /dev/null +++ b/scripts/package-dist.js @@ -0,0 +1,65 @@ +#!/usr/bin/env node + +import fs from 'fs'; +import path from 'path'; +import { execSync } from 'child_process'; + +// Get package.json to extract version +const packageJson = JSON.parse(fs.readFileSync('./package.json', 'utf8')); +const version = packageJson.version; + +console.log(`📦 Building dist folder for version ${version}...`); + +// Run the build command +try { + execSync('npm run build', { stdio: 'inherit' }); + console.log('✅ Build completed successfully'); +} catch (error) { + console.error('❌ Build failed:', error.message); + process.exit(1); +} + +// Package the dist folder into a zip file +import { createWriteStream, existsSync } from 'fs'; +import { pipeline } from 'stream'; +import { promisify } from 'util'; +import archiver from 'archiver'; + +const distDir = path.resolve('./dist'); +const zipPath = path.resolve(`./dist-${version}.zip`); + +// Check if dist directory exists +if (!existsSync(distDir)) { + console.error('❌ dist directory does not exist. Please run build first.'); + process.exit(1); +} + +// Create a write stream for the zip file +const output = createWriteStream(zipPath); +const archive = archiver('zip', { + zlib: { level: 9 } // Maximum compression +}); + +// Event listener for when the archive is finished +output.on('close', () => { + console.log(`✅ Successfully created ${zipPath}. Total bytes: ${archive.pointer()}`); +}); + +// Event listener for errors +archive.on('error', (err) => { + console.error('❌ Error creating zip:', err); + process.exit(1); +}); + +// Pipe the archive to the file +archive.pipe(output); + +// Append the dist directory to the archive +archive.directory(distDir, false); + +// Finalize the archive +archive.finalize(); + +output.on('close', () => { + console.log(`✅ Successfully created ${zipPath}. Total bytes: ${archive.pointer()}`); +}); diff --git a/scripts/release.js b/scripts/release.js index 6f64284..3075ef7 100644 --- a/scripts/release.js +++ b/scripts/release.js @@ -83,16 +83,25 @@ function main() { // 3. Create git tag const tagName = createGitTag(newVersion); - // 4. Push everything to main + // 4. Build and package the distribution files + console.log(`📦 Building and packaging distribution files...`); + execSync('npm run package', { stdio: 'inherit' }); + console.log(`📦 Distribution files packaged successfully`); + + // 5. Push everything to main console.log(`📤 Pushing to main...`); execSync('git push origin main', { stdio: 'inherit' }); execSync(`git push origin ${tagName}`, { stdio: 'inherit' }); console.log(`🎉 Release v${newVersion} complete!`); console.log(`📦 Docker image: bentopdf/bentopdf:${newVersion}`); + console.log(`📦 Distribution: dist-${newVersion}.zip`); console.log( `🏷️ GitHub release: https://github.com/alam00000/bentopdf/releases/tag/${tagName}` ); + console.log( + `💡 Download dist-${newVersion}.zip from the release page for self-hosting.` + ); } main();