mirror of
https://github.com/webinstall/webi-installers.git
synced 2026-04-06 02:16:49 +00:00
These files are no longer loaded at runtime. All release data now comes
from _cache/YYYY-MM/{pkg}.json files generated by the Go webicached daemon.
Deleted:
- 94 {pkg}/releases.js files (per-package upstream fetchers)
- 8 _common/*.js files (github.js, gitea.js, git-tag.js, fetcher.js, etc.)
Updated:
- _webi/classify-one.js: reads from cache instead of require(releases.js)
- Fixed hardcoded triplet key to use dynamic lookup
90 lines
2.4 KiB
JavaScript
90 lines
2.4 KiB
JavaScript
'use strict';
|
|
|
|
let Fs = require('node:fs/promises');
|
|
let Path = require('node:path');
|
|
|
|
let BuildsCacher = require('./builds-cacher.js');
|
|
let Triplet = require('./build-classifier/triplet.js');
|
|
|
|
async function main() {
|
|
let projName = process.argv[2];
|
|
if (!projName) {
|
|
console.error(``);
|
|
console.error(`USAGE`);
|
|
console.error(``);
|
|
console.error(` classify-one <project-name>`);
|
|
console.error(``);
|
|
console.error(`EXAMPLE`);
|
|
console.error(``);
|
|
console.error(` classify-one caddy`);
|
|
console.error(``);
|
|
return;
|
|
}
|
|
|
|
let tsDate = new Date(0);
|
|
let meta = {
|
|
// version info
|
|
versions: [],
|
|
lexvers: [],
|
|
lexversMap: {},
|
|
// culled release assets
|
|
packages: [],
|
|
releasesByTriplet: {},
|
|
// target info
|
|
triplets: [],
|
|
oses: [],
|
|
arches: [],
|
|
libcs: [],
|
|
formats: [],
|
|
};
|
|
|
|
let cacheDir = Path.join(__dirname, '..', '_cache');
|
|
let yearMonth = new Date().toISOString().slice(0, 7);
|
|
let dataFile = `${cacheDir}/${yearMonth}/${projName}.json`;
|
|
let json = await Fs.readFile(dataFile, 'utf8');
|
|
let projInfo = JSON.parse(json);
|
|
|
|
// let packages = await Builds.getPackage({ name: projName });
|
|
// console.log(packages);
|
|
|
|
let bc = {};
|
|
bc.ALL_TERMS = Triplet.TERMS_PRIMARY_MAP;
|
|
bc.orphanTerms = Object.assign({}, bc.ALL_TERMS);
|
|
bc.unknownTerms = {};
|
|
bc.usedTerms = {};
|
|
bc.formats = [];
|
|
bc._targetsByBuildIdCache = {};
|
|
bc._triplets = {};
|
|
|
|
let transformed = BuildsCacher.transformAndUpdate(
|
|
projName,
|
|
projInfo,
|
|
meta,
|
|
tsDate,
|
|
bc,
|
|
);
|
|
|
|
console.log(`[DEBUG] transformed`);
|
|
let sample = transformed.packages.slice(0, 20);
|
|
console.log('packages:', sample, ':packages');
|
|
let firstTriplet = Object.keys(transformed.releasesByTriplet)[0];
|
|
let firstVersion = transformed.versions[0];
|
|
console.log(
|
|
`releasesByTriplet[${firstTriplet}][${firstVersion}]:`,
|
|
transformed.releasesByTriplet[firstTriplet]?.[firstVersion],
|
|
':releasesByTriplet',
|
|
);
|
|
console.log('versions:', transformed.versions, ':versions');
|
|
console.log('triplets:', transformed.triplets, ':triplets');
|
|
console.log('oses:', transformed.oses, ':oses');
|
|
console.log('arches:', transformed.arches, ':arches');
|
|
console.log('libcs:', transformed.libcs, ':libcs');
|
|
console.log('formats:', transformed.formats, ':formats');
|
|
console.log(Object.keys(transformed));
|
|
}
|
|
|
|
main().catch(function (err) {
|
|
console.error('Error:');
|
|
console.error(err);
|
|
});
|