mirror of
https://github.com/primedigitaltech/azon_seeker.git
synced 2026-10-05 07:13:06 +08:00
* feat: add Amazon collection metadata and reliable sync * fix: route extension sync through configured server * chore: release extension v0.7.13 * fix: handle extension ports across BFCache navigation * fix: classify bottom Sponsored Brands video placements * fix: exclude hidden Amazon ad cards * fix: derive Amazon result page from URL * fix: ignore hidden Amazon sponsored products * fix: preserve base Amazon product collection * fix: bind Amazon results to visible page * fix: classify visible Amazon ad formats * fix: wait for lazy Amazon ad modules * perf: reduce Amazon lazy-load scroll stops * fix: classify Amazon sponsored brand and video search ads Co-authored-by: Cursor <cursoragent@cursor.com> * fix: collect Shop by type thematic SP ads via redirect chains without data-asin Co-authored-by: Cursor <cursoragent@cursor.com> * fix: classify sponsored ads across new Amazon templates --------- Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: PetrichorFun <127877748+PetrichorFun@users.noreply.github.com>
30 lines
1.2 KiB
JavaScript
30 lines
1.2 KiB
JavaScript
import { readdir, readFile } from 'node:fs/promises';
|
|
import { join } from 'node:path';
|
|
|
|
const background = await readFile('extension/dist/background/index.mjs', 'utf8');
|
|
async function readJavaScriptFiles(directory) {
|
|
const entries = await readdir(directory, { withFileTypes: true });
|
|
const contents = await Promise.all(
|
|
entries.map(async (entry) => {
|
|
const path = join(directory, entry.name);
|
|
if (entry.isDirectory()) return readJavaScriptFiles(path);
|
|
if (!/\.(?:m?js)$/.test(entry.name)) return '';
|
|
return readFile(path, 'utf8');
|
|
}),
|
|
);
|
|
return contents.flat().join('\n');
|
|
}
|
|
const allJavaScript = await readJavaScriptFiles('extension/dist');
|
|
|
|
if (!background.includes('amzplugin.rekeymed.com')) {
|
|
throw new Error('Production background bundle does not target the public server.');
|
|
}
|
|
if (background.includes('127.0.0.1:18000')) {
|
|
throw new Error('Production background bundle still contains the local API endpoint.');
|
|
}
|
|
if (!allJavaScript.includes('wss://') || !background.includes('https://')) {
|
|
throw new Error('Production bundle is missing secure HTTP/WebSocket protocols.');
|
|
}
|
|
|
|
console.log('Production endpoint verification passed.');
|