Skip to content

added nuxt, added canonical-list.json, changed script behaviors#4

Open
jeremymwells wants to merge 1 commit intomainfrom
adding-nuxt
Open

added nuxt, added canonical-list.json, changed script behaviors#4
jeremymwells wants to merge 1 commit intomainfrom
adding-nuxt

Conversation

@jeremymwells
Copy link
Contributor

@jeremymwells jeremymwells commented Mar 20, 2026

Branch Changes: canonical-list + purls-to-json Rework

Source File

  • Introduced canonical-list.json as the new canonical purl source, replacing nes-package-forkpoint.purls.json
  • Entries in canonical-list.json support two formats:
    • Plain string: "pkg:npm/nuxt@2.18.1"
    • Object with EOL metadata: { "identifier": "pkg:npm/nuxt@2.18.1", "eolFrom": "2024-06-30" }
  • Added nuxt 2.x and 3.x packages as object entries with eolFrom: "2024-06-30" (derived from endoflife.date data)

tools/purls-to-json.js

Deterministic Ordering

  • Both convertPurlsToManufacturers and converPurlsToEOLDate now sort the input purl list
    alphabetically by identifier before processing, ensuring consistent output ordering across
    all runs and clean diffs going forward

Input File

  • Default input changed from nes-package-forkpoint.purls.json to canonical-list.json

String vs Object Entry Handling

  • Plain string entries behave as before
  • Object entries use identifier as the purl and eolFrom as the releaseDate

releaseDate Logic (EOL date output)

  • Object entry with eolFrom → use eolFrom (always overwrites)
  • Plain string with no eolFrom, but existing releaseDate in current registry → preserve existing value
  • Neither present → default to today's date

Backup Before Write

  • Before overwriting registry-{letter}.json, checks for any existing
    registry-{letter}.previous.{timestamp}.json backup
  • If none exists and the output file is present, creates one before overwriting

Bug Fixes

  • Manufacturers (-o m): Fixed components[componentName] being reset on every iteration,
    which caused only the last purl per component to survive in lifecycles; now uses ||
    initialization so existing lifecycles are preserved
  • Maven URLs: Fixed missing groupId in sonatype links by computing a linkId
    (namespace/name) for maven separately from componentName

package.json

  • Both convert-purls:to-eoldate and convert-purls:to-manufacturers scripts updated
    to use -f canonical-list.json

@jeremymwells jeremymwells force-pushed the adding-nuxt branch 5 times, most recently from a4a921a to 30b5334 Compare March 20, 2026 15:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants