@arach/og 0.2.1 → 0.2.4

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.
@@ -1 +1 @@
1
- {"version":3,"file":"viewer.d.ts","sourceRoot":"","sources":["../src/viewer.ts"],"names":[],"mappings":"AAwZA,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,SAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAyCzE"}
1
+ {"version":3,"file":"viewer.d.ts","sourceRoot":"","sources":["../src/viewer.ts"],"names":[],"mappings":"AA0dA,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,SAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAyDzE"}
package/dist/viewer.js CHANGED
@@ -11,6 +11,59 @@ const MIME_TYPES = {
11
11
  '.svg': 'image/svg+xml',
12
12
  '.json': 'application/json',
13
13
  };
14
+ async function getImageDimensions(filePath) {
15
+ try {
16
+ const { createReadStream } = await import('node:fs');
17
+ return new Promise((resolve) => {
18
+ const stream = createReadStream(filePath, { start: 0, end: 29 });
19
+ let data = Buffer.alloc(0);
20
+ stream.on('data', (chunk) => {
21
+ data = Buffer.concat([data, Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk)]);
22
+ });
23
+ stream.on('end', () => {
24
+ // PNG: width at bytes 16-19, height at 20-23
25
+ if (data[0] === 0x89 && data[1] === 0x50 && data[2] === 0x4E && data[3] === 0x47) {
26
+ const width = data.readUInt32BE(16);
27
+ const height = data.readUInt32BE(20);
28
+ resolve({ width, height });
29
+ return;
30
+ }
31
+ // JPEG: Need to parse markers - just return null for now, we'll check by name
32
+ resolve(null);
33
+ });
34
+ stream.on('error', () => resolve(null));
35
+ });
36
+ }
37
+ catch {
38
+ return null;
39
+ }
40
+ }
41
+ function isLikelyOGImage(name, width, height) {
42
+ const lowerName = name.toLowerCase();
43
+ // Exclude common non-OG image patterns
44
+ const excludePatterns = ['logo', 'icon', 'avatar', 'favicon', 'header', 'banner', 'thumb', 'thumbnail', 'badge', 'button', 'sprite'];
45
+ if (excludePatterns.some(pattern => lowerName.includes(pattern))) {
46
+ return false;
47
+ }
48
+ // Strong match: filename explicitly mentions OG
49
+ if (lowerName.includes('og.') || lowerName.includes('og-') || lowerName.includes('-og.') ||
50
+ lowerName.includes('opengraph') || lowerName.includes('open-graph') ||
51
+ lowerName.includes('social-card') || lowerName.includes('social-image')) {
52
+ return true;
53
+ }
54
+ // Dimension match: must be close to standard OG size (1200x630)
55
+ if (width && height) {
56
+ const ratio = width / height;
57
+ // OG ratio is ~1.91, tight variance (1.85 to 1.95)
58
+ const isOGRatio = ratio >= 1.85 && ratio <= 1.95;
59
+ // Must be reasonably large (at least 1000px wide for proper OG)
60
+ const isOGSize = width >= 1000;
61
+ if (isOGRatio && isOGSize) {
62
+ return true;
63
+ }
64
+ }
65
+ return false;
66
+ }
14
67
  async function findOGImages(dir) {
15
68
  const images = [];
16
69
  async function scan(currentDir, depth = 0) {
@@ -29,19 +82,18 @@ async function findOGImages(dir) {
29
82
  else if (entry.isFile()) {
30
83
  const ext = extname(entry.name).toLowerCase();
31
84
  if (['.png', '.jpg', '.jpeg'].includes(ext)) {
32
- // Check if it looks like an OG image (has 'og' in name or in common locations)
33
- const name = entry.name.toLowerCase();
34
- const isOG = name.includes('og') ||
35
- currentDir.includes('public') ||
36
- currentDir.includes('static') ||
37
- currentDir.includes('assets');
85
+ // Get dimensions to check if it's an OG image
86
+ const dimensions = await getImageDimensions(fullPath);
87
+ const isOG = isLikelyOGImage(entry.name, dimensions?.width, dimensions?.height);
38
88
  if (isOG) {
39
89
  const stats = await stat(fullPath);
40
90
  images.push({
41
91
  path: fullPath,
42
92
  name: entry.name,
43
93
  size: stats.size,
44
- url: `/image?path=${encodeURIComponent(fullPath)}`
94
+ url: `/image?path=${encodeURIComponent(fullPath)}`,
95
+ width: dimensions?.width,
96
+ height: dimensions?.height
45
97
  });
46
98
  }
47
99
  }
@@ -355,6 +407,7 @@ function generateHTML(images, dir) {
355
407
  <div class="card-meta">
356
408
  <div class="card-name">${img.name}</div>
357
409
  <div class="card-details">
410
+ ${img.width && img.height ? `<span>${img.width}x${img.height}</span>` : ''}
358
411
  <span>${Math.round(img.size / 1024)}KB</span>
359
412
  <span>${img.path.replace(dir, '.')}</span>
360
413
  </div>
@@ -419,16 +472,32 @@ export async function startViewer(dir, port = 3333) {
419
472
  res.writeHead(200, { 'Content-Type': 'text/html' });
420
473
  res.end(html);
421
474
  });
422
- server.listen(port, () => {
423
- console.log(`\n OG Viewer running at http://localhost:${port}`);
424
- console.log(` Scanning: ${dir}`);
425
- console.log(` Found ${images.length} image${images.length !== 1 ? 's' : ''}\n`);
426
- console.log(` Press Ctrl+C to stop\n`);
427
- });
428
- // Try to open in browser
429
- const open = await import('node:child_process').then(m => m.exec);
430
- const cmd = process.platform === 'darwin' ? 'open' :
431
- process.platform === 'win32' ? 'start' : 'xdg-open';
432
- open(`${cmd} http://localhost:${port}`);
475
+ const tryListen = (currentPort) => {
476
+ server.once('error', (err) => {
477
+ if (err.code === 'EADDRINUSE' && currentPort < port + 10) {
478
+ tryListen(currentPort + 1);
479
+ }
480
+ else if (err.code === 'EADDRINUSE') {
481
+ console.error(`\n Could not find available port (tried ${port}-${currentPort})`);
482
+ process.exit(1);
483
+ }
484
+ else {
485
+ throw err;
486
+ }
487
+ });
488
+ server.listen(currentPort, () => {
489
+ console.log(`\n OG Viewer running at http://localhost:${currentPort}`);
490
+ console.log(` Scanning: ${dir}`);
491
+ console.log(` Found ${images.length} image${images.length !== 1 ? 's' : ''}\n`);
492
+ console.log(` Press Ctrl+C to stop\n`);
493
+ // Try to open in browser
494
+ import('node:child_process').then(m => {
495
+ const cmd = process.platform === 'darwin' ? 'open' :
496
+ process.platform === 'win32' ? 'start' : 'xdg-open';
497
+ m.exec(`${cmd} http://localhost:${currentPort}`);
498
+ });
499
+ });
500
+ };
501
+ tryListen(port);
433
502
  }
434
503
  //# sourceMappingURL=viewer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"viewer.js","sourceRoot":"","sources":["../src/viewer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAY,MAAM,WAAW,CAAA;AAEnD,MAAM,UAAU,GAA2B;IACzC,OAAO,EAAE,WAAW;IACpB,MAAM,EAAE,UAAU;IAClB,KAAK,EAAE,wBAAwB;IAC/B,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE,eAAe;IACvB,OAAO,EAAE,kBAAkB;CAC5B,CAAA;AASD,KAAK,UAAU,YAAY,CAAC,GAAW;IACrC,MAAM,MAAM,GAAgB,EAAE,CAAA;IAE9B,KAAK,UAAU,IAAI,CAAC,UAAkB,EAAE,KAAK,GAAG,CAAC;QAC/C,IAAI,KAAK,GAAG,CAAC;YAAE,OAAM,CAAC,oBAAoB;QAE1C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;YAElE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;gBAE7C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;oBACxB,oCAAoC;oBACpC,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc;wBAAE,SAAQ;oBACzE,MAAM,IAAI,CAAC,QAAQ,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;gBACjC,CAAC;qBAAM,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;oBAC1B,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAA;oBAC7C,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC5C,+EAA+E;wBAC/E,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAA;wBACrC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;4BACpB,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC;4BAC7B,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC;4BAC7B,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;wBAEzC,IAAI,IAAI,EAAE,CAAC;4BACT,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAA;4BAClC,MAAM,CAAC,IAAI,CAAC;gCACV,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,KAAK,CAAC,IAAI;gCAChB,IAAI,EAAE,KAAK,CAAC,IAAI;gCAChB,GAAG,EAAE,eAAe,kBAAkB,CAAC,QAAQ,CAAC,EAAE;6BACnD,CAAC,CAAA;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,+BAA+B;QACjC,CAAC;IACH,CAAC;IAED,MAAM,IAAI,CAAC,GAAG,CAAC,CAAA;IACf,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,YAAY,CAAC,MAAmB,EAAE,GAAW;IACpD,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAgPiB,GAAG;;yBAEJ,MAAM,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;;;IAGzE,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAuCQ,GAAG;;;;GAIlC,CAAC,CAAC,CAAC;;MAEA,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;;;oBAGJ,GAAG,CAAC,GAAG,UAAU,GAAG,CAAC,IAAI;;;;mCAIV,GAAG,CAAC,IAAI;;oBAEvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;oBAC3B,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;;;;mDAIK,GAAG,CAAC,IAAI;;;;;;;;wBAQnC,GAAG,CAAC,GAAG;;;;wBAIP,GAAG,CAAC,GAAG;;;;wBAIP,GAAG,CAAC,GAAG;;;;;KAK1B,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;;GAEZ;;;;;;;;QAQK,CAAA;AACR,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,GAAW,EAAE,IAAI,GAAG,IAAI;IACxD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAA;IAEtC,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAC7C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,oBAAoB,IAAI,EAAE,CAAC,CAAA;QAE/D,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YAC9C,IAAI,SAAS,EAAE,CAAC;gBACd,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,CAAA;oBACtC,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAA;oBAC5C,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,0BAA0B,EAAE,CAAC,CAAA;oBACrF,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;oBACb,OAAM;gBACR,CAAC;gBAAC,MAAM,CAAC;oBACP,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;oBAClB,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;oBACpB,OAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,sBAAsB;QACtB,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;QACtC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAA;QACnD,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACf,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;QACvB,OAAO,CAAC,GAAG,CAAC,6CAA6C,IAAI,EAAE,CAAC,CAAA;QAChE,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,EAAE,CAAC,CAAA;QACjC,OAAO,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;QAChF,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;IAEF,yBAAyB;IACzB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IACjE,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACxC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAA;IAC/D,IAAI,CAAC,GAAG,GAAG,qBAAqB,IAAI,EAAE,CAAC,CAAA;AACzC,CAAC"}
1
+ {"version":3,"file":"viewer.js","sourceRoot":"","sources":["../src/viewer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arach/og",
3
- "version": "0.2.1",
3
+ "version": "0.2.4",
4
4
  "description": "Declarative OG image generation with Puppeteer",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",