import { fetchJobs } from "../fetch.ts"; import type { SearchConfig } from "../config.ts"; const EM_KEYWORDS = [ "Engineering Manager", "Engineering Lead", "Head of Engineering", "VP Engineering", "Director of Engineering", "CTO", "Tech Lead Manager", ].join(" OR "); const configs: SearchConfig[] = [ { label: "Basel city", keywords: EM_KEYWORDS, geoId: "103383283", workType: ["onsite", "hybrid"], timePosted: "month" }, { label: "Basel Metro", keywords: EM_KEYWORDS, geoId: "90009885", workType: ["onsite", "hybrid"], timePosted: "month" }, { label: "Zürich city", keywords: EM_KEYWORDS, geoId: "102436504", workType: ["onsite", "hybrid"], timePosted: "month" }, { label: "Zürich Metro", keywords: EM_KEYWORDS, geoId: "107814425", workType: ["onsite", "hybrid"], timePosted: "month" }, { label: "Bern", keywords: EM_KEYWORDS, location: "Bern, Switzerland", workType: ["onsite", "hybrid"], timePosted: "month" }, { label: "CH Remote", keywords: EM_KEYWORDS, location: "Switzerland", workType: ["remote"], timePosted: "month" }, ]; const all = new Map>[number]>(); for (const config of configs) { console.log(`\n--- ${config.label} ---`); const jobs = await fetchJobs(config); for (const j of jobs) { if (!all.has(j.id)) all.set(j.id, j); } } console.log(`\nTotal: ${all.size} vagas de Engineering Manager na Suíça\n`); for (const j of all.values()) { console.log(`${j.title} — ${j.company} (${j.location})`); console.log(` ${j.link}`); }