//! Curated baseline of high-profile npm package names. Used as the typosquat
//! reference list when the user hasn't refreshed via `packguard sync`. The
//! goal is broad coverage of names that *get typosquatted in the wild* —
//! React/lodash/express/axios — not exhaustiveness. Refresh via the cached
//! file at `~/.packguard/cache/reference/npm-top-packages.json`.
//!
//! Maintenance note: keep this list short and curated. The PyPI list is
//! fetched from hugovk's well-maintained dataset; npm has no equivalent
//! upstream we can rely on without scraping the registry, so we accept a
//! smaller embedded baseline + user-side refresh.

pub const NPM_TOP: &[&str] = &[
    // Front-end frameworks / runtimes
    "react",
    "react-dom",
    "react-router",
    "react-router-dom",
    "next",
    "vue",
    "@vue/core",
    "angular",
    "@angular/core",
    "svelte",
    "preact",
    "solid-js",
    // State / data
    "redux",
    "react-redux",
    "zustand",
    "mobx",
    "@reduxjs/toolkit",
    "@tanstack/react-query",
    "@tanstack/query-core",
    "swr",
    "recoil",
    "jotai",
    // HTTP / networking
    "axios",
    "node-fetch",
    "got",
    "request",
    "superagent",
    "isomorphic-fetch",
    "cross-fetch",
    "ky",
    "undici",
    // Utilities
    "lodash",
    "lodash-es",
    "underscore",
    "ramda",
    "rxjs",
    "moment",
    "dayjs",
    "date-fns",
    "uuid",
    "nanoid",
    "chalk",
    "kleur",
    "pino",
    "winston",
    "debug",
    "ms",
    "qs",
    "minimist",
    "yargs",
    "commander",
    "inquirer",
    "prompts",
    "ora",
    "boxen",
    // Build / bundlers
    "webpack",
    "rollup",
    "esbuild",
    "vite",
    "parcel",
    "tsup",
    "turbo",
    "swc",
    "@swc/core",
    "babel",
    "@babel/core",
    "@babel/preset-env",
    "@babel/preset-react",
    "typescript",
    "ts-node",
    "tsx",
    // Linters / formatters
    "eslint",
    "prettier",
    "stylelint",
    "eslint-plugin-react",
    "eslint-plugin-import",
    "eslint-config-airbnb",
    "eslint-config-prettier",
    "eslint-plugin-prettier",
    // Testing
    "jest",
    "vitest",
    "mocha",
    "chai",
    "ava",
    "tap",
    "tape",
    "supertest",
    "@testing-library/react",
    "@testing-library/dom",
    "@testing-library/jest-dom",
    "puppeteer",
    "playwright",
    "@playwright/test",
    "cypress",
    // Server / web
    "express",
    "koa",
    "fastify",
    "hapi",
    "@nestjs/core",
    "@nestjs/common",
    "body-parser",
    "cors",
    "helmet",
    "morgan",
    "compression",
    "cookie-parser",
    "passport",
    "jsonwebtoken",
    "bcrypt",
    "bcryptjs",
    "argon2",
    // Database / ORM
    "mongoose",
    "sequelize",
    "prisma",
    "@prisma/client",
    "typeorm",
    "knex",
    "pg",
    "mysql",
    "mysql2",
    "redis",
    "ioredis",
    "mongodb",
    "sqlite3",
    // Cloud / infra
    "aws-sdk",
    "@aws-sdk/client-s3",
    "google-auth-library",
    "googleapis",
    "firebase",
    "firebase-admin",
    "@sentry/node",
    "@sentry/nextjs",
    "@sentry/react",
    // Markdown / templating / docs
    "marked",
    "markdown-it",
    "remark",
    "rehype",
    "handlebars",
    "ejs",
    "pug",
    "mustache",
    // CSS / styling
    "tailwindcss",
    "@tailwindcss/forms",
    "styled-components",
    "emotion",
    "@emotion/react",
    "@emotion/styled",
    "postcss",
    "autoprefixer",
    "sass",
    "less",
    // i18n
    "i18next",
    "react-i18next",
    "next-intl",
    "intl-messageformat",
    // Forms / validation
    "react-hook-form",
    "formik",
    "yup",
    "zod",
    "joi",
    "ajv",
    "validator",
    // File / fs / paths
    "fs-extra",
    "glob",
    "fast-glob",
    "globby",
    "rimraf",
    "mkdirp",
    "path-to-regexp",
    // Crypto / encoding
    "crypto-js",
    "node-forge",
    "jsonwebtoken",
    "@noble/curves",
    "@noble/hashes",
    // Misc heavy hitters
    "graphql",
    "@apollo/client",
    "@apollo/server",
    "graphql-tools",
    "subscriptions-transport-ws",
    "socket.io",
    "socket.io-client",
    "ws",
    "engine.io",
    "discord.js",
    "telegraf",
    "twilio",
    "stripe",
    "octokit",
    "@octokit/rest",
    "puppeteer-core",
    "sharp",
    "jimp",
    "canvas",
    "cheerio",
    // Common targets of supply-chain attacks
    "colors",
    "faker",
    "event-stream",
    "ua-parser-js",
    "node-ipc",
    "coa",
    "rc",
    "electron-native-notify",
    "flatmap-stream",
    "left-pad",
    // Headless UI / icons
    "@headlessui/react",
    "@heroicons/react",
    "lucide-react",
    "react-icons",
    "@radix-ui/react-dialog",
    "@radix-ui/react-dropdown-menu",
];
