meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-22.22/oe-npm-cache
Jason Schonberg 0bb156371e
nodejs: upgrade 22.21.1 -> 22.22.0
This is the December 2025 security release that the nodejs team released
January 13, 2026.

  3 high severity issues.
  4 medium severity issues.
  1 low severity issue.

High priority fixes:
  CVE-2025-55131
  CVE-2025-55130
  CVE-2025-59465

Medium priority fixes:
  CVE-2025-59466
  CVE-2025-59464
  CVE-2026-21636 *
  CVE-2026-21637

Low priority fixes:
  CVE-2025-55132

* note that this medium priority CVE only effects Nodejs v25.

https://nodejs.org/en/blog/vulnerability/december-2025-security-releases

Changelog: https://github.com/nodejs/node/releases/tag/v22.22.0

Signed-off-by: Jason Schonberg <schonm@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2026-01-14 08:55:39 -08:00

1.6 KiB
Executable File

#!/usr/bin/env node

/// Usage: oe-npm-cache /// ... meta - metainformation about package /// tgz - tarball

const process = require("node:process");

module.paths.unshift("@@libdir@@/node_modules/npm/node_modules");

const cacache = require('cacache') const fs = require('fs')

// argv[0] is 'node', argv[1] is this script const cache_dir = process.argv[2] const type = process.argv[3] const key = process.argv[4] const file = process.argv[5]

const data = fs.readFileSync(file)

// metadata content is highly nodejs dependent; when cache entries are not // found, place debug statements in 'make-fetch-happen/lib/cache/policy.js' // (CachePolicy::satisfies()) const xlate = { 'meta': { 'key_prefix': 'make-fetch-happen:request-cache:', 'metadata': function() { return { time: Date.now(), url: key, reqHeaders: { 'accept': 'application/json', }, resHeaders: { "content-type": "application/json", "status": 200, }, options: { compress: true, } }; }, },

'tgz': {
'key_prefix': 'make-fetch-happen:request-cache:',
'metadata': function() {
    return {
	time: Date.now(),
	url:  key,
	reqHeaders: {
	    'accept': '*/*',
	},
	resHeaders: {
	    "content-type": "application/octet-stream",
	    "status": 200,
	},
	options: {
	    compress: true,
	},
    };
},
},

};

const info = xlate[type]; let opts = {}

if (info.metadata) { opts['metadata'] = info.metadata(); }

cacache.put(cache_dir, info.key_prefix + key, data, opts) .then(integrity => { console.log(Saved content of ${key} (${file}).); })