Package Exports
- resource-saver-headless
- resource-saver-headless/dist/src/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (resource-saver-headless) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
resource-saver-headless
Save every resource a webpage needs for offline use — HTML, CSS, JavaScript, images, fonts, and more — powered by Puppeteer and the Chrome DevTools Protocol.
Key Features
- Works with any website, including single-page applications (SPAs)
- Preserves the original directory structure
- Concurrent, resumable downloads with robust error handling
- Optional headless/DevTools debug mode
- Modern, strictly-typed TypeScript codebase
Installation
git clone https://github.com/minzique/resource-saver-headless.git
cd resource-saver-headless
pnpm install
pnpm buildCLI Usage
# Save all resources from a webpage to ./output
resource-saver save https://example.com ./outputOptions
| Flag | Description | Default |
|---|---|---|
--timeout <ms> |
Request timeout in milliseconds | 30000 |
--parallel <num> |
Maximum concurrent downloads | 10 |
--debug |
Launch Chrome window + DevTools | false |
Programmatic Usage
import { BrowserHelper } from 'resource-saver-headless';
async function save() {
const browser = new BrowserHelper({ timeout: 30000 });
await browser.init('https://example.com');
const resources = await browser.getResources();
for (const { path, content } of resources) {
// Persist to disk or process as needed
}
await browser.close();
}TODO
- Core resource extraction engine
- CLI interface
- Concurrent downloads & robust error handling
- Debug / DevTools mode
- Strict TypeScript setup
- Enhanced SPA support
- Source-map extraction for original source files
License
ISC License — see the LICENSE file for details.