BEACON

← candidates

npm eslint-plugin-etc-misc @2.0.0

score
0.5269 med
flagged 2026-07-21 02:41
signals by category
content 1 cadence 1 topology 1

maintainers added:

package profile →

Signals fired

signalweightrationale
content
script_count_spike 0.5 scripts count 136 -> 143
cadence
rapid_release 0.8 3 versions in last 24h: ['1.3.0', '1.3.1', '2.0.0']
topology
typosquat 1.0 combosquat of 'eslint'

Prior profile (what it deviated from)

{
  "had_install_script": false,
  "maintainers": [
    "typpi"
  ],
  "versions": 19
}

Evidence (package doc at flag time)

{
  "dependencies_count": 9,
  "dist": {
    "integrity": "sha512-FLr4EdQU3UDYsN08oWS1/QxT598hDa9DJ19al1kEirzqXb6CJQzrBjMlkS+E/LIcf9ibgXf+RvI9++eyl7jbjg==",
    "tarball": "https://registry.npmjs.org/eslint-plugin-etc-misc/-/eslint-plugin-etc-misc-2.0.0.tgz",
    "unpackedSize": 3336430
  },
  "dist-tags": {
    "latest": "2.0.0"
  },
  "latest_version": "2.0.0",
  "maintainers": [
    {
      "email": "Typpi.NPM@outlook.com",
      "name": "typpi"
    }
  ],
  "num_versions": 21,
  "repository": {
    "type": "git",
    "url": "git+https://github.com/Nick2bad4u/eslint-plugin-etc-misc.git"
  },
  "scripts": {
    "bench:eslint:stats": "node benchmarks/run-eslint-stats.mjs",
    "bench:eslint:timing": "npx cross-env TIMING=1 npx eslint --config benchmarks/eslint-timing.config.mjs benchmarks/fixtures/recommended-valid.fixture.ts",
    "build": "npx tsc -b tsconfig.build.json --force && npm run build:types:cjs && npm run build:cjs && npm run build:verify",
    "build:cjs": "npx esbuild dist/plugin.js --bundle --format=cjs --platform=node --packages=external --sourcemap --outfile=dist/plugin.cjs --footer:js=\"module.exports = module.exports.default;\"",
    "build:clean": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"",
    "build:eslint-inspector": "npx -y @eslint/config-inspector@latest build --outDir \"docs/docusaurus/static/eslint-inspector\" --base \"/eslint-plugin-etc-misc/eslint-inspector/\"",
    "build:eslint-inspector:local": "npx @eslint/config-inspector",
    "build:types:cjs": "node scripts/build-cjs-types.mjs",
    "build:verify": "node scripts/verify-built-plugin-meta.mjs",
    "changelog:generate": "git cliff --config node_modules/gitcliff-config-nick2bad4u/cliff.toml --github-repo Nick2bad4u/eslint-plugin-etc-misc --output CHANGELOG.md",
    "changelog:preview": "git cliff --config node_modules/gitcliff-config-nick2bad4u/cliff.toml --github-repo Nick2bad4u/eslint-plugin-etc-misc --unreleased",
    "changelog:release-notes": "git cliff --config node_modules/gitcliff-config-nick2bad4u/cliff.toml --github-repo Nick2bad4u/eslint-plugin-etc-misc --current",
    "clean:cache": "node scripts/remove-paths.mjs dist coverage cache .cache .vite .turbo",
    "clean:cache:coverage": "node scripts/remove-paths.mjs coverage .coverage",
    "clean:cache:dist": "node scripts/remove-paths.mjs dist release",
    "clean:cache:eslint": "node scripts/remove-paths.mjs .cache/.eslintcache",
    "clean:cache:ncu": "node scripts/remove-paths.mjs .cache/.ncu-cache.json",
    "clean:cache:prettier": "node scripts/remove-paths.mjs .cache/.prettier-cache .prettier-cache .prettiercache",
    "clean:cache:stryker": "node scripts/remove-paths.mjs .stryker-tmp",
    "clean:cache:stylelint": "node scripts/remove-paths.mjs .cache/stylelintcache stylelintcache .stylelintcache",
    "clean:cache:temp": "node scripts/remove-paths.mjs \".temp/.**\"",
    "clean:cache:typescript": "node scripts/remove-paths.mjs .cache/**.tsbuildinfo .cache/builds",
    "clean:cache:vite": "node scripts/remove-paths.mjs .cache/vite .cache/vitest .cache/vitest-zero-coverage .cache/vite-zero-coverage",
    "clean:database": "node scripts/remove-paths.mjs %appdata%/uptime-watcher/uptime-watcher.sqlite",
    "clean:docs": "node scripts/remove-paths.mjs docs/docusaurus/.docusaurus/** docs/docusaurus/build/** docs/docusaurus/site-docs/developer/api/**",
    "clean:docusaurus": "npm run clean:docs && npm run --workspace docs/docusaurus clear",
    "commit": "npx git-cz",
    "contrib": "npx all-contributors",
    "contrib:add": "npx all-contributors add",
    "contrib:check": "npx all-contributors check",
    "contrib:compare": "npm run contrib:check",
    "contrib:generate": "npx all-contributors generate",
    "coverage": "npx vitest run --coverage",
    "docs:api": "npm run --workspace docs/docusaurus docs:api",
    "docs:build": "npm run --workspace docs/docusaurus build",
    "docs:build:local": "npm run --workspace docs/docusaurus build:local",
    "docs:check-links": "node ./scripts/check-doc-links.mjs",
    "docs:serve": "npm run --workspace docs/docusaurus serve",
    "docs:start": "npm run --workspace docs/docusaurus start",
    "docs:toc": "npx remark docs --use remark-toc --output",
    "docs:typecheck": "npm run --workspace docs/docusaurus typecheck",
    "docs:typedoc": "node scripts/run-typedoc-docs.mjs",
    "docs:validate-links": "npx remark docs --use remark-validate-links --frail",
    "knip": "npx cross-env NODE_OPTIONS=--max_old_space_size=4096 NODE_NO_WARNINGS=1 npx knip -c knip.config.ts --cache --cache-location .cache/knip --no-config-hints --tsConfig tsconfig.json",
    "lint": "npx cross-env NODE_OPTIONS=--max_old_space_size=16384 npx eslint --cache --cache-strategy content --cache-location .cache/.eslintcache",
    "lint:action": "npm run lint:actions",
    "lint:actions": "actionlint -color -shellcheck= -pyflakes=",
    "lint:all": "npm run lint && npm run lint:css && npm run lint:prettier && npm run lint:remark && npm run lint:package && npm run lint:gitleaks && npm run lint:secretlint && npm run lint:yaml && npm run lint:yamllint && npm run lint:actions && npm run lint:circular",
    "lint:all:fix": "npm run lint:fix && npm run lint:remark:fix && npm run lint:css:fix && npm run lint:prettier:fix && npm run lint:remark && npm run lint:package && npm run lint:secretlint && npm run lint:yaml:fix && npm run lint:actions && npm run lint:circular",
    "lint:all:fix:quiet": "npm run lint:fix:quiet && npm run lint:css:fix && npm run lint:prettier:fix && npm run lint:remark && npm run lint:package && npm run lint:secretlint && npm run lint:yaml:fix && npm run lint:actions && npm run lint:circular",
    "lint:circular": "npm run madge:circular",
    "lint:compat:eslint9": "node scripts/eslint9-compat-smoke.mjs",
    "lint:config:build": "npm run build:eslint-inspector",
    "lint:config:inspect": "npx eslint --inspect-config",
    "lint:css": "npx stylelint --cache --config stylelint.config.mjs --cache-strategy content --cache-location .cache/stylelintcache src/ docs/ --custom-formatter stylelint-formatter-pretty && echo \"Stylelint done!\"",
    "lint:css:fix": "npx stylelint --cache --config stylelint.config.mjs --cache-strategy content --cache-location .cache/stylelintcache src/ docs/ --custom-formatter stylelint-formatter-pretty --fix && echo \"Stylelint done!\"",
    "lint:depcheck": "npm run knip -- --dependencies",
    "lint:deps": "npm run knip -- --dependencies && npm run knip",
    "lint:dupes": "npx jscpd src/ --config node_modules/jscpd-config-nick2bad4u/jscpd.json",
    "lint:dupes:all": "npx jscpd src/ --config node_modules/jscpd-config-nick2bad4u/jscpd.json --min-lines 3",
    "lint:dupes:skiplocal": "npx jscpd src/ --skipLocal --config node_modules/jscpd-config-nick2bad4u/jscpd.json",
    "lint:dupes:skiplocal:all": "npx jscpd src/ --skipLocal --config node_modules/jscpd-config-nick2bad4u/jscpd.json --min-lines 3",
    "lint:duplicates": "npm run lint:dupes",
    "lint:exports": "npx ts-unused-exports tsconfig.json src/plugin.ts --excludePathsFromReport=plugin.ts",
    "lint:fix": "npx cross-env NODE_OPTIONS=--max_old_space_size=16384 npx eslint --cache --cache-strategy content --cache-location .cache/.eslintcache --fix",
    "lint:fix:quiet": "npx cross-env ESLINT_PROGRESS=off NODE_OPTIONS=--max_old_space_size=16384 eslint --cache --cache-strategy content --cache-location .cache/.eslintcache --fix && echo \"Eslint fix done!\"",
    "lint:gitleaks": "gitleaks dir --config .gitleaks.toml .",
    "lint:grype": "grype . -c .grype.yaml --name eslint-plugin-etc-misc",
    "lint:jscpd": "npx jscpd --config node_modules/jscpd-config-nick2bad4u/jscpd.json",
    "lint:knip": "npm run knip",
    "lint:knip:exports": "npm run knip -- --include exports,nsExports,classMembers,types,nsTypes,enumMembers,duplicates",
    "lint:knip:unused:exports": "npm run knip -- --dependencies --exports",
    "lint:leaves": "npm run madge:leaves",
    "lint:lychee": "lychee --config node_modules/lychee-config-nick2bad4u/lychee.toml .",
    "lint:lychee:smoke": "lychee --config node_modules/lychee-config-nick2bad4u/lychee.toml --dump-inputs README.md",
    "lint:node-version-files": "node scripts/sync-node-version-files.mjs --check",
    "lint:orphans": "npm run madge:orphans",
    "lint:package": "npm run lint:node-version-files && npm run lint:package-sort && npm run lint:packagelintrc && echo \"Package.json lint done!\"",
    "lint:package-check": "npx publint && npx attw --pack .",
    "lint:package-check:strict": "npx publint && npx attw --pack . --profile strict --config-path ./.attw.json",
    "lint:package-json": "npx npmPkgJsonLint . --config .npmpackagejsonlintrc.json",
    "lint:package-sort": "npx sort-package-json \"./package.json\" \"./docs/docusaurus/package.json\"",
    "lint:package-sort-check": "npx sort-package-json --check \"./package.json\" \"./docs/docusaurus/package.json\"",
    "lint:package:strict": "npm run lint:node-version-files && npm run lint:package-sort && npm run lint:package-check:strict && npm run lint:packagelintrc && echo \"Package.json lint done!\"",
    "lint:packagelintrc": "npx npmPkgJsonLint . --config .npmpackagejsonlintrc.json",
    "lint:prettier": "npx prettier . --log-level warn --cache --cache-location=.cache/.prettier-cache --cache-strategy=content --check",
    "lint:prettier:fix": "npx prettier . --log-level warn --cache --cache-location=.cache/.prettier-cache --cache-strategy=content --write",
    "lint:publint": "npx publint",
    "lint:quiet": "npx cross-env ESLINT_PROGRESS=nofile NODE_OPTIONS=--max_old_space_size=16384 eslint --cache --cache-strategy content --cache-location .cache/.eslintcache && echo \"Eslint done!\"",
    "lint:remark": "npx remark . --frail --ignore-path .remarkignore",
    "lint:remark:fix": "npx remark . --ignore-path .remarkignore --output",
    "lint:secretlint": "npx secretlint --secretlintrc .secretlintrc.cjs --secretlintignore .secretlintignore \"./*\" \".vscode/**\" \"assets/**\" \"src/**\" \"electron/**\" \"shared/**\" \"config/**\" \"scripts/**\" \"playwright/**\" \"storybook/**\" \".storybook\" \"tests/**\" \"benchmarks/**\" \".devin/**\" \"public/**\" \".github/**\" \"docs/Architecture/**\" \"docs/*\" \"docs/assets/**\" \"docs/Guides/**\" \"docs/Testing/**\" \"docs/TSDoc/**\" \"docs/docusaurus/src/**\" \"docs/docusaurus/static/**\" \"docs/docusaurus/blog/**\" \"docs/docusaurus/docs/**\" \"docs/docusaurus/docs/*\"",
    "lint:secrets": "detect-secrets scan",
    "lint:unused": "npm run knip -- --include unlisted,unresolved,duplicates",
    "lint:unused-deps": "npm run knip -- --dependencies",
    "lint:yaml": "npx cross-env NODE_OPTIONS=--max_old_space_size=16384 npx eslint --cache --cache-strategy content --cache-location .cache/.eslintcache \"**/*.{yml,yaml}\" && echo \"YAML lint done!\"",
    "lint:yaml:fix": "npx cross-env NODE_OPTIONS=--max_old_space_size=16384 npx eslint --cache --cache-strategy content --cache-location .cache/.eslintcache --fix \"**/*.{yml,yaml}\" && echo \"YAML lint (fix) done!\"",
    "lint:yamllint": "yamllint -c .yamllint .",
    "madge:circular": "npx madge --circular --no-spinner --ts-config tsconfig.json --extensions ts,tsx,js,jsx,mjs,cjs,cts,mts ./src --exclude \"(^|[\\/])(test|dist|node_modules|cache|.cache|coverage|build|eslint-inspector|temp|.docusaurus)($|[\\/])|\\.css$\"",
    "madge:leaves": "npx madge --leaves --no-spinner --ts-config tsconfig.json --extensions ts,tsx,js,jsx,mjs,cjs,cts,mts ./src --exclude \"(^|[\\/])(test|dist|node_modules|cache|.cache|coverage|build|eslint-inspector|temp|.docusaurus)($|[\\/])|\\.css$\"",
    "madge:orphans": "npx madge --orphans --no-spinner --ts-config tsconfig.json --extensions ts,tsx,js,jsx,mjs,cjs,cts,mts ./src --exclude \"(^|[\\/])(test|dist|node_modules|cache|.cache|coverage|build|eslint-inspector|temp|.docusaurus)($|[\\/])|\\.css$\"",
    "open:coverage": "npx open-cli coverage/index.html",
    "prebuild": "npm run build:clean",
    "prelint": "npm run build",
    "prelint:compat:eslint9": "npm run build",
    "prepublishOnly": "npm run release:check",
    "pretest": "npm run build",
    "release:check": "npm run release:verify",
    "release:verify": "npm run lint:all && npm run typecheck && npm run test && npm pack --dry-run",
    "remark:fix": "npx remark --rc-path .remarkrc.mjs --silently-ignore --ignore-path .remarkignore --frail --quiet --output -- \"*.{md,mdx}\" \"docs/**/*.{md,mdx}\"",
    "remark:test-config": "npx remark --rc-path .remarkrc.mjs --silently-ignore --ignore-path .remarkignore --frail \"README.md\"",
    "sync:node-version-files": "node scripts/sync-node-version-files.mjs",
    "sync:peer-eslint-range": "node scripts/sync-peer-eslint-range.mjs",
    "sync:preset-rule-links": "node scripts/sync-preset-rule-links.mjs",
    "sync:readme-rules-table": "node scripts/sync-readme-rules-table.mjs",
    "sync:rule-catalog-ids": "node scripts/sync-rule-catalog-ids.mjs",
    "sync:rule-doc-structure": "node scripts/sync-rule-doc-structure.mjs",
    "sync:rules:write": "npm run sync:readme-rules-table && npm run sync:peer-eslint-range && npm run sync:node-version-files",
    "test": "npx vitest run",
    "test:ci": "npx cross-env CI=true npx vitest run --reporter=default",
    "test:coverage": "npx vitest run --coverage --reporter=default",
    "test:coverage:detailed": "npx vitest run --coverage --reporter=verbose",
    "test:coverage:minimal": "npx vitest run --coverage --reporter=dot",
    "test:coverage:open": "npm run test:coverage && npm run open:coverage",
    "test:coverage:quiet": "npx vitest run --coverage --reporter=default --silent",
    "test:coverage:verbose": "npx vitest run --coverage --reporter=verbose",
    "test:detailed": "npx vitest run --reporter=verbose",
    "test:minimal": "npx vitest run --reporter=dot",
    "test:open": "npm run test:coverage && npm run open:coverage",
    "test:quiet": "npx vitest run --reporter=default --silent",
    "test:serial": "npx cross-env MAX_THREADS=1 npx vitest run",
    "test:stryker": "npx stryker run --ignoreStatic --concurrency 12 --incrementalFile .cache/stryker/incremental-fast.json",
    "test:stryker:ci": "npx cross-env CI=true npx stryker run --ignoreStatic --concurrency 2 --incrementalFile .cache/stryker/incremental-fast-ci.json",
    "test:stryker:full": "npx stryker run --concurrency 12 --incrementalFile .cache/stryker/incremental-full.json",
    "test:stryker:full:ci": "npx cross-env CI=true npx stryker run --concurrency 2 --incrementalFile .cache/stryker/incremental-full-ci.json",
    "test:verbose": "npx vitest run --reporter=verbose",
    "test:watch": "npx vitest",
    "typecheck": "npx tsc -p tsconfig.json --noEmit && npx tsc -p tsconfig.build.json --noEmit && npx tsc -p tsconfig.eslint.json --noEmit && npx tsc -p tsconfig.js.json --noEmit && npm run --workspace docs/docusaurus typecheck",
    "typecheck:all": "npm run typecheck",
    "types:update": "npx typesync",
    "update-actions": "npx actions-up --yes --style sha",
    "update-all": "npm run update-actions && npm run update-deps",
    "update-deps": "npx ncu --configFileName .ncurc.workspaces.json --configFilePath node_modules/ncu-config-nick2bad4u && npm update --workspaces --force && npm install --force && npm run sync:rules:write"
  },
  "signal_details": {
    "rapid_release": "3 versions in last 24h: ['1.3.0', '1.3.1', '2.0.0']",
    "script_count_spike": "scripts count 136 -> 143",
    "typosquat": "combosquat of 'eslint'"
  },
  "time": {
    "created": "2026-03-15T00:38:35.305Z",
    "modified": "2026-07-21T07:41:01.999Z"
  }
}