Skip to content

Commit ab097ae

Browse files
committed
Improve provider maintenance tooling and spotter integrations
1 parent 0fb763d commit ab097ae

24 files changed

Lines changed: 477 additions & 1465 deletions

AGENTS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
The ES module bundle lives in `src/` with `main.js` assembling provider and location metadata from `data/`. Generated assets resolve to `dist/` (never edit by hand) while validation utilities and scrapers reside in `tools/`. Sample integrations live under `examples/`, and exploratory notebooks plus CSV exports are stored in `notebooks/`. Tests that exercise the published build are in `test/index.test.mjs`.
55

66
## Build, Test, and Development Commands
7-
Run `pnpm install` before contributing. `pnpm run prebuild` formats JSON and JavaScript and should precede any commit touching data. Build the distributable bundle with `pnpm run build`, which executes Rollup using `rollup.config.js`. Execute `pnpm test` to load the compiled bundle and assert key lookups. Data sanity checks are available via `pnpm run validate`, and spotter scripts (e.g., `pnpm run spotter-cloudflare`) refresh provider inventories.
7+
Run `pnpm install` before contributing. `pnpm run prebuild` formats JSON and JavaScript and should precede any commit touching data. Build the distributable bundle with `pnpm run build`, which executes Rollup using `rollup.config.js`. Execute `pnpm test` to load the compiled bundle and assert key lookups. Data sanity checks are available via `pnpm run validate`, and provider maintenance commands such as `pnpm run provider:show vultr` and `pnpm run provider:update vultr ...` drive inventory refreshes.
88

99
## Coding Style & Naming Conventions
1010
Contributors write modern ESM JavaScript with 2-space indentation. Favor immutable helpers and array iteration to keep dataset transformations predictable. Prettier 3 enforces formatting; run it through the `prebuild` script rather than manual touches. Provider keys must stay lowercase and hyphen-free, matching entries in `data/providers/*.json`. IATA location identifiers remain uppercase and align with the `iata` map.

package.json

Lines changed: 7 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@adaptivelink/pops",
3-
"version": "0.5.9",
3+
"version": "0.6.0",
44
"description": "Points of Presence geolocation",
55
"main": "dist/bundle.js",
66
"types": "main.d.ts",
@@ -64,13 +64,11 @@
6464
],
6565
"devDependencies": {
6666
"@adaptivelink/iata": "0.1.4",
67-
"concurrently": "9.2.1",
67+
"@rollup/plugin-terser": "1.0.0",
6868
"isomorphic-fetch": "3.0.0",
6969
"lodash": "4.17.23",
7070
"prettier": "3.8.1",
71-
"puppeteer": "24.38.0",
72-
"rollup": "4.59.0",
73-
"@rollup/plugin-terser": "1.0.0"
71+
"rollup": "4.59.0"
7472
},
7573
"scripts": {
7674
"build": "npx rollup -c",
@@ -80,22 +78,10 @@
8078
"validate": "node ./tools/validator.js",
8179
"test": "node ./test/index.test.mjs",
8280
"csv": "node ./tools/csv-generator.js > ./notebooks/data.csv",
83-
"spotter-atlatincnet": "node ./tools/spotters/atlanticnet.js",
84-
"spotter-cdn77": "node ./tools/spotters/cdn77.js",
85-
"spotter-cloudflare": "node ./tools/spotters/cloudflare.js",
86-
"spotter-deno": "node ./tools/spotters/deno.js",
87-
"spotter-digitalocean": "node ./tools/spotters/digitalocean.js",
88-
"spotter-ec2": "node ./tools/spotters/ec2.js",
89-
"spotter-fastly": "node ./tools/spotters/fastly.js",
90-
"spotter-imperva": "node ./tools/spotters/imperva.js",
91-
"spotter-keycdn": "node ./tools/spotters/keycdn.js",
92-
"spotter-lightsail": "node ./tools/spotters/lightsail.js",
93-
"spotter-linode": "node ./tools/spotters/linode.js",
94-
"spotter-stackpath": "node ./tools/spotters/stackpath.js",
95-
"spotter-upcloud": "node ./tools/spotters/upcloud.js",
96-
"spotter-vercel": "node ./tools/spotters/vercel.js",
97-
"spotter-vultr": "node ./tools/spotters/vultr.js",
98-
"spotters": "concurrently \"yarn:spotter-*\""
81+
"providers:list": "node ./tools/providers/list.js",
82+
"provider:maintain": "node ./tools/providers/maintain-provider.js",
83+
"provider:show": "node ./tools/providers/show-provider.js",
84+
"provider:update": "node ./tools/providers/update-provider.js"
9985
},
10086
"packageManager": "pnpm@10.32.1"
10187
}

0 commit comments

Comments
 (0)