md-preview-pdf 1.0.4 → 1.0.6

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.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,271 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.0.6] - 2026-01-05
9
+
10
+ ### 🔧 Fixed
11
+
12
+ #### System Chrome Fallback for Older OS Versions
13
+ - **Issue**: Bundled Chromium failed on macOS 10.x (Catalina and older) with error: `dyld: cannot load 'Google Chrome for Testing' (load command 0x80000034 is unknown)`
14
+ - **Root Cause**: Chrome for Testing binaries require macOS 11+ / Windows 10 1809+. Older systems are incompatible.
15
+ - **Solution**: Implemented automatic fallback to system-installed Chrome when bundled Chromium fails
16
+ - Automatically detects Chrome installation at common paths
17
+ - Supports environment variable `PUPPETEER_EXECUTABLE_PATH` for custom Chrome location
18
+ - Falls back gracefully with clear error messages if no Chrome found
19
+ - Works on macOS, Windows, and Linux
20
+
21
+ #### Compatibility Improvements
22
+ - Added `findSystemChrome()` function that checks:
23
+ - Environment variable `PUPPETEER_EXECUTABLE_PATH`
24
+ - Common Chrome installation paths (macOS, Windows, Linux)
25
+ - System PATH using `which` (Unix) or `where` (Windows) commands
26
+ - Enhanced browser launch with try-catch fallback mechanism
27
+ - Improved error messages with actionable troubleshooting steps
28
+
29
+ ### 📚 Documentation
30
+
31
+ #### System Requirements (README.md)
32
+ - **macOS**: Minimum macOS 11 (Big Sur). For macOS 10.x, install Google Chrome manually.
33
+ - **Windows**: Minimum Windows 10 (version 1809). Older versions need manual Chrome installation.
34
+ - **Linux**: Ubuntu 18.04+, Debian 10+, Fedora 32+, and most modern distributions.
35
+ - Added memory requirements: 512MB minimum, 1GB+ recommended.
36
+
37
+ #### Troubleshooting Guide (README.md)
38
+ New comprehensive troubleshooting section covering:
39
+ - "dyld: cannot load" error on macOS (Chrome installation solution)
40
+ - "Failed to launch browser" on Windows (Chrome path configuration)
41
+ - Missing dependencies on Linux (package installation commands)
42
+ - Out of memory errors (Node.js memory limits)
43
+ - Slow performance tips (feature toggles)
44
+ - How to get help (issue reporting guidelines)
45
+
46
+ #### Why This Happens
47
+ - **Chromium Compatibility**: Puppeteer downloads Chrome for Testing which has minimum OS requirements
48
+ - **macOS 10.x limitation**: Apple's dyld (dynamic linker) in macOS 10.x doesn't support load command 0x80000034 used by modern Chrome builds
49
+ - **Windows limitation**: Modern Chrome requires Windows 10 1809+ for certain APIs
50
+ - **Solution**: System-installed Chrome has broader OS compatibility and is updated independently
51
+
52
+ ### ✅ Testing
53
+ - ✅ Verified on macOS 11+: Bundled Chromium works
54
+ - ✅ Verified fallback on older systems: System Chrome detected and used
55
+ - ✅ Tested environment variable override
56
+ - ✅ Tested error handling when no Chrome available
57
+
58
+ ### 🎯 Supported Systems
59
+
60
+ | OS | Minimum Version | Notes |
61
+ |----|----------------|-------|
62
+ | macOS | 11 (Big Sur) | Older versions: install Chrome manually |
63
+ | Windows | 10 (1809) | Older versions: install Chrome manually |
64
+ | Linux | Ubuntu 18.04+, Debian 10+ | Most modern distributions supported |
65
+
66
+ ### 🔗 Related Links
67
+ - [Puppeteer System Requirements](https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md)
68
+ - [Chrome for Testing](https://developer.chrome.com/blog/chrome-for-testing/)
69
+ - [Google Chrome Download](https://www.google.com/chrome/)
70
+
71
+ ---
72
+
73
+ ## [1.0.5] - 2026-01-05
74
+
75
+ ### 🎉 First Official Release with read me updated
76
+
77
+ This is the first stable release of MD Preview PDF Converter with comprehensive Markdown to PDF conversion capabilities.
78
+
79
+ ### ✨ Features
80
+
81
+ #### Core Capabilities
82
+ - **Full GFM Support**: Complete GitHub Flavored Markdown support including tables, strikethrough, autolinks
83
+ - **Mermaid Diagrams**: Flowcharts, sequence diagrams, class diagrams, state diagrams, and more
84
+ - **Syntax Highlighting**: 150+ programming languages with beautiful color themes
85
+ - **Math Equations**: Full LaTeX math rendering via KaTeX ($inline$ and $$block$$)
86
+ - **Emoji Support**: GitHub-style emoji conversion (`:emoji:` syntax)
87
+ - **Task Lists**: Interactive checkbox support for TODO lists
88
+ - **Footnotes**: Complete footnote and reference support
89
+ - **Custom Containers**: Tips, warnings, danger, info, note, important, and caution boxes
90
+ - **Table of Contents**: Auto-generated with customizable heading depth (1-6)
91
+ - **Anchors**: Automatic heading anchors for linking
92
+ - **Front Matter**: YAML front matter parsing for document metadata
93
+
94
+ #### Theming & Customization
95
+ - **4 Built-in Themes**:
96
+ - GitHub Light (`github`) - Default, clean professional look
97
+ - GitHub Dark (`github-dark`) - Dark mode with full background coverage
98
+ - VS Code Light (`vscode-light`) - VS Code inspired light theme
99
+ - VS Code Dark (`vscode-dark`) - VS Code inspired dark theme
100
+ - **Custom CSS**: Support for custom CSS file injection
101
+ - **Responsive Rendering**: Automatic page layout adaptation
102
+ - **Custom Headers/Footers**: HTML templates for page headers and footers
103
+
104
+ #### Page Layout & Export
105
+ - **Multiple Page Formats**: A4, A3, A5, Letter, Legal, Tabloid
106
+ - **Custom Margins**: Fully customizable via CLI (`--margin`)
107
+ - **Orientation**: Portrait and landscape support
108
+ - **Page Numbers**: Optional page numbering in footer
109
+ - **HTML Export**: Simultaneous HTML output option
110
+ - **Background Printing**: Control over background color/image printing
111
+
112
+ #### CLI & API
113
+ - **Command Line Interface**: Full-featured CLI with 15+ options
114
+ - **Node.js Module API**: Three export modes:
115
+ - `convert()` - Quick conversion function
116
+ - `Converter` class - Flexible instance-based API
117
+ - `convertString()` - Direct markdown string to PDF buffer
118
+ - **Verbose Logging**: Debug mode with detailed conversion logs
119
+
120
+ ### 🔧 Technical Improvements
121
+
122
+ #### Dark Theme Rendering
123
+ - Fixed CSS stylesheet parsing to properly apply theme backgrounds to entire page
124
+ - Dark theme backgrounds now extend to page edges with no white borders
125
+ - Proper margin handling using CSS padding instead of PDF margins
126
+ - Sub-pixel rendering artifacts eliminated via viewport optimization
127
+
128
+ #### Margin & Padding System
129
+ - Redesigned margin handling for better control
130
+ - All margins handled via CSS padding on `.markdown-body`
131
+ - Background colors extend to page edges (no white borders)
132
+ - Default margins optimized at 10mm for professional appearance
133
+ - Custom margin support with format flexibility (`20mm` or `10mm,15mm,20mm,15mm`)
134
+
135
+ #### PDF Generation
136
+ - Viewport set to A4 page dimensions (800x1200px) for consistency
137
+ - Proper font loading and image embedding
138
+ - Optimized Mermaid diagram rendering in browser
139
+ - Comprehensive error handling with graceful fallbacks
140
+
141
+ #### Code Quality
142
+ - **Type Safety**: Full TypeScript with strict typing throughout
143
+ - **ESLint**: 0 warnings with complete type coverage
144
+ - **Tests**: 30 passing tests covering all major features
145
+ - **Dependencies**: 0 npm deprecation warnings, clean dependency tree
146
+
147
+ ### 📦 Build & Distribution
148
+ - **Compiled Output**: TypeScript compiled to JavaScript for distribution
149
+ - **CLI Executable**: Global installation support via npm
150
+ - **Source Maps**: Full debugging support with sourcemap generation
151
+ - **Module Exports**: ESM/CommonJS compatible exports
152
+
153
+ ### 🧪 Testing & Verification
154
+
155
+ **Unit Tests: 30/30 Passing** ✅
156
+ - Markdown parsing (12 tests)
157
+ - Front matter (2 tests)
158
+ - Converter operations (2 tests)
159
+ - Integration tests (3 tests)
160
+ - Feature coverage (11 tests)
161
+
162
+ **CLI Validation: 11/11 Passing** ✅
163
+ - Basic conversion
164
+ - Theme selection (4 themes)
165
+ - Table of Contents
166
+ - Custom margins
167
+ - HTML output
168
+ - Page numbers
169
+ - Feature toggles
170
+ - Page formats
171
+ - Landscape orientation
172
+
173
+ **Module API: 5/5 Passing** ✅
174
+ - Quick convert function
175
+ - Converter class with options
176
+ - TOC generation
177
+ - Markdown string conversion
178
+ - Multiple theme rendering
179
+
180
+ **Feature Verification: 14/14 Passing** ✅
181
+ - All features listed in README verified
182
+ - All documentation examples tested
183
+ - Architecture diagram components validated
184
+
185
+ ### 📋 CLI Reference
186
+
187
+ **Basic Usage**
188
+ ```bash
189
+ md-preview-pdf document.md
190
+ md-preview-pdf document.md output.pdf
191
+ ```
192
+
193
+ **Common Options**
194
+ ```bash
195
+ --theme <theme> # github, github-dark, vscode-light, vscode-dark
196
+ --toc # Generate table of contents
197
+ --margin <size> # Custom margins (e.g., 25mm or 10mm,15mm,20mm,15mm)
198
+ --page-numbers # Add page numbers to footer
199
+ --format <format> # A4, A3, A5, Letter, Legal, Tabloid
200
+ --landscape # Landscape orientation
201
+ --html # Also output HTML file
202
+ --no-math # Disable KaTeX rendering
203
+ --no-emoji # Disable emoji conversion
204
+ --no-highlight # Disable syntax highlighting
205
+ ```
206
+
207
+ **List Available Themes**
208
+ ```bash
209
+ md-preview-pdf themes
210
+ ```
211
+
212
+ ### 🚀 Node.js API
213
+
214
+ ```typescript
215
+ import { Converter, convert, convertString } from 'md-preview-pdf';
216
+
217
+ // Quick convert
218
+ await convert('input.md', 'output.pdf', { theme: { name: 'github-dark' } });
219
+
220
+ // Converter class
221
+ const converter = new Converter({ theme: { name: 'github-dark' }, toc: true });
222
+ await converter.convertFile('input.md', 'output.pdf');
223
+ await converter.cleanup();
224
+
225
+ // String to PDF
226
+ const pdfBuffer = await convertString('# Hello\nWorld', { theme: { name: 'github' } });
227
+ ```
228
+
229
+ ### 💻 System Requirements
230
+ - **Node.js**: >= 18.0.0
231
+ - **npm**: >= 8.0.0
232
+ - **Chromium**: Automatically downloaded by Puppeteer
233
+ - **Memory**: 512MB minimum (1GB+ recommended for large documents)
234
+
235
+ ### 📄 Documentation
236
+ - **README.md**: Quick start guide and feature overview
237
+ - **ARCHITECTURE.md**: Detailed system design and component breakdown
238
+ - **CONTRIBUTING.md**: Contribution guidelines
239
+ - **CODE_OF_CONDUCT.md**: Community standards
240
+
241
+ ### 🐛 Known Limitations
242
+ - Sub-pixel rendering may produce minimal artifacts on PDF edges (Puppeteer limitation)
243
+ - Very large documents (1000+ pages) may require increased memory
244
+ - Some rare CSS edge cases may not render identically to web browsers
245
+ - Mermaid diagram complexity is limited by browser rendering
246
+
247
+ ### 🎯 Performance Benchmarks
248
+ - Simple markdown file: ~2.1 seconds
249
+ - Comprehensive document: ~40 seconds
250
+ - Small document PDF: 100-150 KB
251
+ - Typical document PDF: 500KB-2MB
252
+
253
+ ### ✅ Verification Checklist
254
+ - ✅ Build: 0 errors
255
+ - ✅ Linting: 0 errors, 0 warnings
256
+ - ✅ Tests: 30/30 passing
257
+ - ✅ npm audit: 0 vulnerabilities
258
+ - ✅ CLI: All commands working
259
+ - ✅ API: All methods functional
260
+ - ✅ Themes: All 4 rendering correctly
261
+ - ✅ Features: 14/14 verified
262
+ - ✅ Documentation: Complete and tested
263
+
264
+ ### 🙏 Attribution
265
+ - Built with [Puppeteer](https://github.com/puppeteer/puppeteer) for PDF generation
266
+ - [markdown-it](https://github.com/markdown-it/markdown-it) for parsing
267
+ - [highlight.js](https://highlightjs.org/) for syntax highlighting
268
+ - [KaTeX](https://katex.org/) for math rendering
269
+ - [Mermaid](https://mermaid.js.org/) for diagrams
270
+
271
+ ---
272
+
8
273
  ## [1.0.4] - 2026-01-05
9
274
 
10
275
  ### 🎉 First Official Release
package/README.md CHANGED
@@ -41,7 +41,7 @@ npm run build
41
41
  npm link
42
42
  ```
43
43
 
44
- ### From NPM (Coming Soon)
44
+ ### From NPM
45
45
 
46
46
  ```bash
47
47
  # Global installation
@@ -276,27 +276,6 @@ npm run dev -- input.md
276
276
  npm run lint
277
277
  ```
278
278
 
279
- ## 📂 Project Structure
280
-
281
- ```
282
- md-preview-pdf/
283
- ├── src/
284
- │ ├── index.ts # Main entry point
285
- │ ├── cli.ts # CLI interface
286
- │ ├── converter.ts # Main converter class
287
- │ ├── parser/ # Markdown parsing
288
- │ ├── renderers/ # HTML/PDF/Mermaid rendering
289
- │ ├── themes/ # CSS themes
290
- │ ├── utils/ # Utilities
291
- │ └── types/ # TypeScript types
292
- ├── tests/
293
- │ ├── samples/ # Test markdown files
294
- │ └── *.test.ts # Test files
295
- ├── package.json
296
- ├── tsconfig.json
297
- └── README.md
298
- ```
299
-
300
279
  ## 🔧 API Reference
301
280
 
302
281
  ### Converter Class
@@ -348,6 +327,101 @@ interface ConverterOptions {
348
327
  debug?: boolean; // Debug mode
349
328
  }
350
329
  ```
330
+ ## 💻 System Requirements
331
+
332
+ ### Minimum Requirements
333
+ - **Node.js**: >= 18.0.0
334
+ - **npm**: >= 8.0.0
335
+ - **Memory**: 512MB minimum (1GB+ recommended for large documents)
336
+
337
+ ### Operating System Compatibility
338
+
339
+ #### macOS
340
+ - **Minimum**: macOS 11 (Big Sur) or later
341
+ - **Why**: Bundled Chromium requires macOS 11+
342
+ - **Older Macs**: For macOS 10.x, install Google Chrome manually and the tool will automatically use it
343
+
344
+ #### Windows
345
+ - **Minimum**: Windows 10 (version 1809) or later
346
+ - **Why**: Bundled Chromium requires Windows 10 1809+
347
+ - **Older Windows**: Install Google Chrome manually for compatibility
348
+
349
+ #### Linux
350
+ - **Most distributions supported** (Ubuntu 18.04+, Debian 10+, Fedora 32+, etc.)
351
+ - Required system packages may vary by distribution
352
+ - See [Puppeteer system requirements](https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md) for details
353
+
354
+ ### Browser Requirements
355
+
356
+ This tool uses Puppeteer which automatically downloads Chromium. However, if the bundled Chromium is incompatible with your system:
357
+
358
+ 1. **Install Google Chrome** (recommended): The tool will automatically detect and use it
359
+ 2. **Set custom Chrome path**:
360
+ ```bash
361
+ export PUPPETEER_EXECUTABLE_PATH="/path/to/chrome"
362
+ ```
363
+
364
+ ## 🔧 Troubleshooting
365
+
366
+ ### "dyld: cannot load 'Google Chrome for Testing'" (macOS)
367
+
368
+ **Problem**: This error occurs on macOS 10.x (Catalina and older) because the bundled Chromium requires macOS 11+.
369
+
370
+ **Solution**:
371
+ 1. Install [Google Chrome](https://www.google.com/chrome/) from the official website
372
+ 2. The tool will automatically detect and use your system Chrome installation
373
+ 3. Alternatively, set the Chrome path manually:
374
+ ```bash
375
+ export PUPPETEER_EXECUTABLE_PATH="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
376
+ md-preview-pdf document.md
377
+ ```
378
+
379
+ ### "Failed to launch the browser process" (Windows)
380
+
381
+ **Problem**: Bundled Chromium incompatible with older Windows versions.
382
+
383
+ **Solution**:
384
+ 1. Install [Google Chrome](https://www.google.com/chrome/)
385
+ 2. Or set Chrome path:
386
+ ```bash
387
+ set PUPPETEER_EXECUTABLE_PATH="C:\Program Files\Google\Chrome\Application\chrome.exe"
388
+ md-preview-pdf document.md
389
+ ```
390
+
391
+ ### Out of Memory Errors
392
+
393
+ **Problem**: Large documents exhaust available memory.
394
+
395
+ **Solution**:
396
+ 1. Increase Node.js memory limit:
397
+ ```bash
398
+ export NODE_OPTIONS="--max-old-space-size=4096"
399
+ md-preview-pdf large-document.md
400
+ ```
401
+ 2. Split large documents into smaller files
402
+ 3. Disable resource-intensive features:
403
+ ```bash
404
+ md-preview-pdf document.md --no-highlight --no-math
405
+ ```
406
+
407
+ ### Slow Performance
408
+
409
+ **Tips**:
410
+ - First conversion is slower (Chromium downloads)
411
+ - Use `--no-mermaid` if you don't have diagrams
412
+ - Disable unused features (`--no-math`, `--no-emoji`, `--no-highlight`)
413
+ - Consider SSD for faster file I/O
414
+
415
+ ### Getting Help
416
+
417
+ 1. Check [Puppeteer troubleshooting](https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md)
418
+ 2. Search [existing issues](https://github.com/anuragkr29/md-preview-pdf/issues)
419
+ 3. Create a [new issue](https://github.com/anuragkr29/md-preview-pdf/issues/new) with:
420
+ - Operating system and version
421
+ - Node.js version (`node --version`)
422
+ - Full error message
423
+ - Command that failed
424
+
351
425
 
352
426
  ## 🧪 Testing
353
427
 
@@ -1 +1 @@
1
- {"version":3,"file":"pdf-renderer.d.ts","sourceRoot":"","sources":["../../src/renderers/pdf-renderer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,UAAU,EAAE,cAAc,EAAa,MAAM,UAAU,CAAC;AAyBjE;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAGlD;AA6FD;;GAEG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;IACP,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;CACZ,GACL,OAAO,CAAC,MAAM,CAAC,CAsFjB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAKtD;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE;IACP,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;CACZ,GACL,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAUlD;;;;;;;AAED,wBAKE"}
1
+ {"version":3,"file":"pdf-renderer.d.ts","sourceRoot":"","sources":["../../src/renderers/pdf-renderer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,UAAU,EAAE,cAAc,EAAa,MAAM,UAAU,CAAC;AAmHjE;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAGlD;AA6FD;;GAEG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;IACP,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;CACZ,GACL,OAAO,CAAC,MAAM,CAAC,CAsFjB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAKtD;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE;IACP,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;CACZ,GACL,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAUlD;;;;;;;AAED,wBAKE"}
@@ -48,12 +48,66 @@ const puppeteer_1 = __importDefault(require("puppeteer"));
48
48
  const types_1 = require("../types");
49
49
  const utils_1 = require("../utils");
50
50
  const mermaid_renderer_1 = require("./mermaid-renderer");
51
+ const child_process_1 = require("child_process");
52
+ const fs = __importStar(require("fs"));
51
53
  /**
52
- * Launch a new browser instance
54
+ * Find system Chrome installation
55
+ */
56
+ function findSystemChrome() {
57
+ const possiblePaths = [
58
+ '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome', // macOS
59
+ '/Applications/Chromium.app/Contents/MacOS/Chromium', // macOS Chromium
60
+ 'C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe', // Windows
61
+ 'C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe', // Windows 32-bit
62
+ '/usr/bin/google-chrome', // Linux
63
+ '/usr/bin/chromium-browser', // Linux Chromium
64
+ '/usr/bin/chromium', // Linux Chromium alt
65
+ '/snap/bin/chromium', // Linux Snap
66
+ ];
67
+ // Check environment variable first
68
+ if (process.env.PUPPETEER_EXECUTABLE_PATH) {
69
+ if (fs.existsSync(process.env.PUPPETEER_EXECUTABLE_PATH)) {
70
+ return process.env.PUPPETEER_EXECUTABLE_PATH;
71
+ }
72
+ }
73
+ // Check common paths
74
+ for (const chromePath of possiblePaths) {
75
+ if (fs.existsSync(chromePath)) {
76
+ return chromePath;
77
+ }
78
+ }
79
+ // Try to find Chrome using which/where command
80
+ try {
81
+ if (process.platform === 'darwin' || process.platform === 'linux') {
82
+ const result = (0, child_process_1.execSync)('which google-chrome || which chromium || which chromium-browser', {
83
+ encoding: 'utf8',
84
+ stdio: ['pipe', 'pipe', 'ignore'],
85
+ }).trim();
86
+ if (result && fs.existsSync(result)) {
87
+ return result;
88
+ }
89
+ }
90
+ else if (process.platform === 'win32') {
91
+ const result = (0, child_process_1.execSync)('where chrome', {
92
+ encoding: 'utf8',
93
+ stdio: ['pipe', 'pipe', 'ignore'],
94
+ }).trim().split('\n')[0];
95
+ if (result && fs.existsSync(result)) {
96
+ return result;
97
+ }
98
+ }
99
+ }
100
+ catch {
101
+ // Ignore errors from which/where commands
102
+ }
103
+ return null;
104
+ }
105
+ /**
106
+ * Launch a new browser instance with fallback to system Chrome
53
107
  */
54
108
  async function launchBrowser(headless = true) {
55
109
  utils_1.logger.debug('Launching browser for PDF rendering');
56
- const browser = await puppeteer_1.default.launch({
110
+ const launchOptions = {
57
111
  headless: headless,
58
112
  args: [
59
113
  '--no-sandbox',
@@ -64,8 +118,39 @@ async function launchBrowser(headless = true) {
64
118
  '--font-render-hinting=none',
65
119
  ],
66
120
  protocolTimeout: 120000,
67
- });
68
- return browser;
121
+ };
122
+ try {
123
+ // Try to launch with bundled Chromium first
124
+ const browser = await puppeteer_1.default.launch(launchOptions);
125
+ utils_1.logger.debug('Launched bundled Chromium successfully');
126
+ return browser;
127
+ }
128
+ catch (error) {
129
+ // If bundled Chrome fails, try system Chrome
130
+ utils_1.logger.warn('Failed to launch bundled Chromium, trying system Chrome...');
131
+ utils_1.logger.debug(`Error: ${error instanceof Error ? error.message : 'Unknown error'}`);
132
+ const systemChrome = findSystemChrome();
133
+ if (systemChrome) {
134
+ utils_1.logger.info(`Found system Chrome at: ${systemChrome}`);
135
+ try {
136
+ const browser = await puppeteer_1.default.launch({
137
+ ...launchOptions,
138
+ executablePath: systemChrome,
139
+ });
140
+ utils_1.logger.info('Launched system Chrome successfully');
141
+ return browser;
142
+ }
143
+ catch (systemError) {
144
+ utils_1.logger.error(`Failed to launch system Chrome: ${systemError instanceof Error ? systemError.message : 'Unknown error'}`);
145
+ throw systemError;
146
+ }
147
+ }
148
+ else {
149
+ utils_1.logger.error('No system Chrome installation found');
150
+ throw new Error('Failed to launch browser. Please install Google Chrome or set PUPPETEER_EXECUTABLE_PATH environment variable. ' +
151
+ 'See troubleshooting: https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md');
152
+ }
153
+ }
69
154
  }
70
155
  /**
71
156
  * Close browser instance
@@ -1 +1 @@
1
- {"version":3,"file":"pdf-renderer.js","sourceRoot":"","sources":["../../src/renderers/pdf-renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pdf-renderer.js","sourceRoot":"","sources":["../../src/renderers/pdf-renderer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "md-preview-pdf",
3
- "version": "1.0.4",
3
+ "version": "1.0.6",
4
4
  "description": "State-of-the-art Markdown to PDF converter with Mermaid diagrams, syntax highlighting, math equations, and more",
5
5
  "main": "dist/index.js",
6
6
  "bin": {