webextension-store-meta
Version:
Get browser extension(webextension) item meta from Chrome Web Store and Firefox add-ons.
34 lines (27 loc) • 909 B
text/typescript
import { fetchText } from "../../utils/fetch-text";
const IDs = [
"cdonnmffkdaoajfknoeeecmchibpmkmg",
// https://github.com/awesome-webextension/webextension-store-meta/pull/3
"ekbmhggedfdlajiikminikhcjffbleac",
// https://github.com/awesome-webextension/webextension-store-meta/pull/9
"modkelfkcfjpgbfmnbnllalkiogfofhb",
];
export async function fixtures(): Promise<string[]> {
const exts = new Set(IDs);
if (process.env.CI) {
const idMatcher = /\/detail\/(?:[^/]+\/)?([\d\w]+)/g;
const html = await fetchText("https://chromewebstore.google.com/");
const initialSize = exts.size;
for (
let match = idMatcher.exec(html);
exts.size - initialSize < 5 && match;
match = idMatcher.exec(html)
) {
exts.add(match[1]);
}
if (exts.size - initialSize <= 0) {
throw new Error("No extensions found");
}
}
return [...exts.values()];
}