@meterapp/vehicle-db 2.19.1 → 2.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -27
- package/dist/data.js +1 -1
- package/dist/identity-data.js +1 -1
- package/package.json +8 -6
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
An offline, international vehicle make/model catalog for Node.js and TypeScript. The package combines U.S. model-year data, the UK registered fleet, the European Union's new car and van registration register, the daily-updated Dutch vehicle register, Asian-origin vehicles registered in New Zealand, Malaysian registration transactions, Brazil's national vehicle register, an Indian manufacturer catalog, the Brazil-exclusive Hyundai HB20 family, recent U.S. model configurations from FuelEconomy.gov, and reviewed manufacturer body derivatives and Saudi model-year evidence into one small, zero-dependency API. It never makes runtime network requests.
|
|
8
8
|
|
|
9
|
-
The current snapshot spans **1990–2027** and includes **1,608 makes** and **42,
|
|
9
|
+
The current snapshot spans **1990–2027** and includes **1,608 makes** and **42,296 models** in **196,748 model years**, from **23 data sources**. Those are distinct vehicles by name, with case, accents and punctuation normalized while preserving the distinct 03+ badge, which is how the [Car Image API](https://carimage.dev/cars?ref=catalog) counts and lists them. The package's own records number more (1,620 makes from `getMakes()`), because sources spell some makes and models more than one way (`MOTO GUZZI` and `MOTO-GUZZI`) and a few makes have no model in these years; see [Snapshot stats](#snapshot-stats).
|
|
10
10
|
|
|
11
11
|
The catalog covers seven vehicle types: **Motorcycle**, **Passenger Car**, **Truck**, **Bus**, **Multipurpose Passenger Vehicle (MPV)**, **Auto Rickshaw**, and **Other Vehicle**. The European source adds continental models from Dacia, Cupra, DS, Lynk & Co, Alpine, and the Chinese brands entering Europe such as BYD, MG, Omoda, Xpeng, and Nio, as sold in the EU rather than the UK or U.S. The Dutch register keeps that coverage current: vehicles first registered this year appear within days, so 2026 models such as the BYD Atto 2 and Renault 5 E-Tech are already listed. The Asia-Pacific sources add Japanese domestic and kei models, Chinese EVs, Indian and Korean vehicles, Southeast Asian makes such as Perodua and Proton, and additional motorcycles and commercial vehicles. The Brazilian register adds the cars and motorcycles that fill Brazil's roads but are rarely sold elsewhere, such as the Fiat Argo, Mobi and Toro, the Volkswagen Gol and Saveiro, the Renault Kwid, and the Honda Biz and Pop.
|
|
12
12
|
|
|
@@ -331,9 +331,9 @@ For scoped resolution of a dated catalog record, pass `yearBasis: "catalog-year"
|
|
|
331
331
|
|
|
332
332
|
New coverage in 2.16.0 adds 22 year/model/type records: seven consistently labeled Saudi Changan model-year entries, four Mexican Changan catalog facts (one overlaps the Saudi CS75 Plus), six Indonesian Wuling models, and six Indian Bajaj passenger/cargo three-wheelers. Per-record official evidence and year semantics are in `data/evidence/manufacturer-reviewed.json`; the regional audit is in [regional-coverage-status.md](docs/regional-coverage-status.md). `WULING` is now a make alongside the official Malaysian `TQ WULING`; search accepts `wuling bingo` for the latter without changing its published IDs or equating Bingo with BinguoEV.
|
|
333
333
|
|
|
334
|
-
Broad catalogs in 2.17.0 replace individual Changan/Wuling/Bajaj regional edits with `
|
|
334
|
+
Broad catalogs in 2.17.0 replace individual Changan/Wuling/Bajaj regional edits with `pnpm run refresh:manufacturer-catalogs`. Five source snapshots separate official active sales catalogs from explicitly labeled model years: Changan (including separate CHANGAN NEVO), SGMW (separate WULING and BAOJUN), and Bajaj country catalogs. They add 73 selections while retaining all published IDs and legacy source filters. Manufacturer evidence, reviewed translation/body mappings, and manual discovery indexes are retained outside the runtime bundle; see [broad-manufacturer-catalogs.md](docs/broad-manufacturer-catalogs.md).
|
|
335
335
|
|
|
336
|
-
Indian catalogs in 2.19.0 add five sales-catalog snapshots refreshed with `
|
|
336
|
+
Indian catalogs in 2.19.0 add five sales-catalog snapshots refreshed with `pnpm run refresh:india`. Exact reviewed links/headings/selectors preserve model suffixes and published make IDs; their 2026 years mean observed calendar-year catalog presence. Broad dated portfolios refresh with `pnpm run refresh:india-history` into those same sources: Mahindra, Honda, Yamaha, MG and Ola establish individually evidenced 2020–2025 calendar years. Four Tata 2025 portfolio facts, three Ather 2024 sales facts and two individual Ciaz 2023–2024 sales facts use the existing reviewed catalog source. Historical manuals, fiscal-year periods and successor names do not create guessed year ranges or image-sharing permissions. Source mappings, original names, URLs and retrieval hashes stay outside the runtime bundle; see [the historical source review](docs/indian-historical-catalogs.md).
|
|
337
337
|
|
|
338
338
|
## Factory colors
|
|
339
339
|
|
|
@@ -356,11 +356,11 @@ New coverage in 2.18.0 adds 112 sourced year/model/type records and four makes (
|
|
|
356
356
|
| Sources | 23 |
|
|
357
357
|
| Vehicle types | 7 |
|
|
358
358
|
| Makes | 1,608 |
|
|
359
|
-
| Models | 42,
|
|
360
|
-
| Model years | 196,
|
|
359
|
+
| Models | 42,296 |
|
|
360
|
+
| Model years | 196,748 |
|
|
361
361
|
| Make records (`getMakes()`) | 1,620 |
|
|
362
|
-
| Model records (distinct `modelId`) | 46,
|
|
363
|
-
| Model-year records (`getModels()`) | 218,
|
|
362
|
+
| Model records (distinct `modelId`) | 46,799 |
|
|
363
|
+
| Model-year records (`getModels()`) | 218,245 |
|
|
364
364
|
| Bundled TypeScript data | 7.58 MB |
|
|
365
365
|
|
|
366
366
|
## Refreshing and rebuilding
|
|
@@ -368,26 +368,26 @@ New coverage in 2.18.0 adds 112 sourced year/model/type records and four makes (
|
|
|
368
368
|
The committed source snapshots make the package build deterministic and offline:
|
|
369
369
|
|
|
370
370
|
```bash
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
371
|
+
pnpm run build:data
|
|
372
|
+
pnpm test
|
|
373
|
+
pnpm run typecheck
|
|
374
|
+
pnpm run build
|
|
375
375
|
```
|
|
376
376
|
|
|
377
377
|
Refresh either network source independently, then rebuild the combined catalog:
|
|
378
378
|
|
|
379
379
|
```bash
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
380
|
+
pnpm run refresh:uk-dft
|
|
381
|
+
pnpm run refresh:nhtsa -- --start-year 2025 --end-year 2027 --merge --cache-dir .cache/nhtsa
|
|
382
|
+
pnpm run refresh:nzta-asia-pacific -- --start-year 1990 --end-year 2027
|
|
383
|
+
pnpm run refresh:malaysia-jpj -- --start-year 2015 --end-year 2026
|
|
384
|
+
pnpm run refresh:eea-co2 -- --start-year 2010 --end-year 2026
|
|
385
|
+
pnpm run refresh:rdw-nl -- --start-year 1990 --end-year 2026
|
|
386
|
+
pnpm run refresh:senatran-br
|
|
387
|
+
pnpm run refresh:fueleconomy-us -- --start-year 2022 --end-year 2027
|
|
388
|
+
pnpm run refresh:reviewed
|
|
389
|
+
pnpm run refresh:manufacturer-catalogs
|
|
390
|
+
pnpm run build:data
|
|
391
391
|
```
|
|
392
392
|
|
|
393
393
|
**A refresh only adds.** Registers drop scrapped vehicles, count thresholds move between releases, and manufacturers re-file model years in vPIC (the 2026 Maserati MC20 became the MCPura in September 2026), but an application may already store a year/make/model this package published. Every importer therefore keeps the entries its previous snapshot published and the source no longer reports, and logs how many it kept; pass `--prune` to drop them deliberately, for example to remove a source error. Model-year sources run a year ahead of the calendar, so the NHTSA and NZTA importers default to ending next year; registration sources end with the current year.
|
|
@@ -397,12 +397,12 @@ The NHTSA API rate-limits aggressively: past a few requests a second its CDN ans
|
|
|
397
397
|
## Evidence and regression checks
|
|
398
398
|
|
|
399
399
|
```bash
|
|
400
|
-
|
|
401
|
-
|
|
400
|
+
pnpm run refresh:rdw-nl -- --start-year 2026 --end-year 2026 --evidence-out .cache/rdw-evidence.json
|
|
401
|
+
pnpm run refresh:eea-co2 -- --start-year 2024 --end-year 2024 --evidence-out .cache/eea-evidence.json
|
|
402
402
|
npx tsx scripts/reconcile-source.ts
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
403
|
+
pnpm run check:compatibility -- <prior-release-git-ref>
|
|
404
|
+
pnpm run replay
|
|
405
|
+
pnpm run replay -- /private/replay.json /private/report.json
|
|
406
406
|
```
|
|
407
407
|
|
|
408
408
|
Replay cases contain `query` (or `make`, `model`, `year`), `cohort` (`customer`, `synthetic`, `haraj-sweep`), optional `n`, resolver `options`, `expectedStatus`, and `forbiddenModelNames`. Reports record catalog, fixture and resolver hashes, commit/version, and separate cohort totals. Unreviewed matches measure resolution coverage only; they do not establish render correctness. Synthetic cohorts have zero demand weight. Never commit customer exports.
|