@nlabs/lex
Version:
39 lines (38 loc) • 5.92 kB
JavaScript
/**
* Copyright (c) 2018-Present, Nitrogen Labs, Inc.
* Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
*/ import { readFileSync } from 'fs';
import { getLexPackageJsonPath } from '../../utils/file.js';
import { log } from '../../utils/log.js';
const packagePath = getLexPackageJsonPath();
const packageJson = JSON.parse(readFileSync(packagePath, 'utf8'));
export const parseVersion = (packageVersion)=>packageVersion?.replace(/\^/g, '') || 'N/A';
export const packages = {
jest: parseVersion(packageJson?.dependencies?.jest),
lex: packageJson.version,
swc: parseVersion(packageJson?.dependencies?.['@swc/core']),
typescript: parseVersion(packageJson?.dependencies?.typescript),
webpack: parseVersion(packageJson?.dependencies?.webpack)
};
export const jsonVersions = (lexPackages)=>Object.keys(lexPackages).reduce((list, key)=>{
list[key] = packages[key];
return list;
}, {});
export const versions = (cmd, callback)=>{
if (cmd.json) {
console.log(JSON.stringify(jsonVersions(packages)));
} else {
log('Versions:', 'info', false);
log(` Lex: ${packages.lex}`, 'info', false);
log(' ----------', 'note', false);
log(` SWC: ${packages.swc}`, 'info', false);
log(` Jest: ${packages.jest}`, 'info', false);
log(` Typescript: ${packages.typescript}`, 'info', false);
log(` Webpack: ${packages.webpack}`, 'info', false);
}
if (callback) {
callback(0);
}
return Promise.resolve(0);
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy92ZXJzaW9ucy92ZXJzaW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOC1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHtyZWFkRmlsZVN5bmN9IGZyb20gJ2ZzJztcblxuaW1wb3J0IHtnZXRMZXhQYWNrYWdlSnNvblBhdGh9IGZyb20gJy4uLy4uL3V0aWxzL2ZpbGUuanMnO1xuaW1wb3J0IHtsb2d9IGZyb20gJy4uLy4uL3V0aWxzL2xvZy5qcyc7XG5cbmNvbnN0IHBhY2thZ2VQYXRoID0gZ2V0TGV4UGFja2FnZUpzb25QYXRoKCk7XG5jb25zdCBwYWNrYWdlSnNvbiA9IEpTT04ucGFyc2UocmVhZEZpbGVTeW5jKHBhY2thZ2VQYXRoLCAndXRmOCcpKTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlVmVyc2lvbiA9IChwYWNrYWdlVmVyc2lvbjogc3RyaW5nKTogc3RyaW5nID0+IHBhY2thZ2VWZXJzaW9uPy5yZXBsYWNlKC9cXF4vZywgJycpIHx8ICdOL0EnO1xuXG5leHBvcnQgY29uc3QgcGFja2FnZXMgPSB7XG4gIGplc3Q6IHBhcnNlVmVyc2lvbihwYWNrYWdlSnNvbj8uZGVwZW5kZW5jaWVzPy5qZXN0KSxcbiAgbGV4OiBwYWNrYWdlSnNvbi52ZXJzaW9uLFxuICBzd2M6IHBhcnNlVmVyc2lvbihwYWNrYWdlSnNvbj8uZGVwZW5kZW5jaWVzPy5bJ0Bzd2MvY29yZSddKSxcbiAgdHlwZXNjcmlwdDogcGFyc2VWZXJzaW9uKHBhY2thZ2VKc29uPy5kZXBlbmRlbmNpZXM/LnR5cGVzY3JpcHQpLFxuICB3ZWJwYWNrOiBwYXJzZVZlcnNpb24ocGFja2FnZUpzb24/LmRlcGVuZGVuY2llcz8ud2VicGFjaylcbn07XG5cbmV4cG9ydCBjb25zdCBqc29uVmVyc2lvbnMgPSAobGV4UGFja2FnZXMpID0+IE9iamVjdC5rZXlzKGxleFBhY2thZ2VzKS5yZWR1Y2UoKGxpc3QsIGtleSkgPT4ge1xuICBsaXN0W2tleV0gPSBwYWNrYWdlc1trZXldO1xuICByZXR1cm4gbGlzdDtcbn0sIHt9KTtcblxuZXhwb3J0IGludGVyZmFjZSBWZXJzaW9uc0NtZCB7XG4gIHJlYWRvbmx5IGpzb24/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgdmVyc2lvbnMgPSAoY21kOiBWZXJzaW9uc0NtZCwgY2FsbGJhY2s6IChzdGF0dXM6IG51bWJlcik9PiB2b2lkKTogUHJvbWlzZTxudW1iZXI+ID0+IHtcbiAgaWYoY21kLmpzb24pIHtcbiAgICBjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeShqc29uVmVyc2lvbnMocGFja2FnZXMpKSk7XG4gIH0gZWxzZSB7XG4gICAgbG9nKCdWZXJzaW9uczonLCAnaW5mbycsIGZhbHNlKTtcbiAgICBsb2coYCAgTGV4OiAke3BhY2thZ2VzLmxleH1gLCAnaW5mbycsIGZhbHNlKTtcbiAgICBsb2coJyAgLS0tLS0tLS0tLScsICdub3RlJywgZmFsc2UpO1xuICAgIGxvZyhgICBTV0M6ICR7cGFja2FnZXMuc3djfWAsICdpbmZvJywgZmFsc2UpO1xuICAgIGxvZyhgICBKZXN0OiAke3BhY2thZ2VzLmplc3R9YCwgJ2luZm8nLCBmYWxzZSk7XG4gICAgbG9nKGAgIFR5cGVzY3JpcHQ6ICR7cGFja2FnZXMudHlwZXNjcmlwdH1gLCAnaW5mbycsIGZhbHNlKTtcbiAgICBsb2coYCAgV2VicGFjazogJHtwYWNrYWdlcy53ZWJwYWNrfWAsICdpbmZvJywgZmFsc2UpO1xuICB9XG5cbiAgaWYoY2FsbGJhY2spIHtcbiAgICBjYWxsYmFjaygwKTtcbiAgfVxuXG4gIHJldHVybiBQcm9taXNlLnJlc29sdmUoMCk7XG59OyJdLCJuYW1lcyI6WyJyZWFkRmlsZVN5bmMiLCJnZXRMZXhQYWNrYWdlSnNvblBhdGgiLCJsb2ciLCJwYWNrYWdlUGF0aCIsInBhY2thZ2VKc29uIiwiSlNPTiIsInBhcnNlIiwicGFyc2VWZXJzaW9uIiwicGFja2FnZVZlcnNpb24iLCJyZXBsYWNlIiwicGFja2FnZXMiLCJqZXN0IiwiZGVwZW5kZW5jaWVzIiwibGV4IiwidmVyc2lvbiIsInN3YyIsInR5cGVzY3JpcHQiLCJ3ZWJwYWNrIiwianNvblZlcnNpb25zIiwibGV4UGFja2FnZXMiLCJPYmplY3QiLCJrZXlzIiwicmVkdWNlIiwibGlzdCIsImtleSIsInZlcnNpb25zIiwiY21kIiwiY2FsbGJhY2siLCJqc29uIiwiY29uc29sZSIsInN0cmluZ2lmeSIsIlByb21pc2UiLCJyZXNvbHZlIl0sIm1hcHBpbmdzIjoiQUFBQTs7O0NBR0MsR0FDRCxTQUFRQSxZQUFZLFFBQU8sS0FBSztBQUVoQyxTQUFRQyxxQkFBcUIsUUFBTyxzQkFBc0I7QUFDMUQsU0FBUUMsR0FBRyxRQUFPLHFCQUFxQjtBQUV2QyxNQUFNQyxjQUFjRjtBQUNwQixNQUFNRyxjQUFjQyxLQUFLQyxLQUFLLENBQUNOLGFBQWFHLGFBQWE7QUFFekQsT0FBTyxNQUFNSSxlQUFlLENBQUNDLGlCQUFtQ0EsZ0JBQWdCQyxRQUFRLE9BQU8sT0FBTyxNQUFNO0FBRTVHLE9BQU8sTUFBTUMsV0FBVztJQUN0QkMsTUFBTUosYUFBYUgsYUFBYVEsY0FBY0Q7SUFDOUNFLEtBQUtULFlBQVlVLE9BQU87SUFDeEJDLEtBQUtSLGFBQWFILGFBQWFRLGNBQWMsQ0FBQyxZQUFZO0lBQzFESSxZQUFZVCxhQUFhSCxhQUFhUSxjQUFjSTtJQUNwREMsU0FBU1YsYUFBYUgsYUFBYVEsY0FBY0s7QUFDbkQsRUFBRTtBQUVGLE9BQU8sTUFBTUMsZUFBZSxDQUFDQyxjQUFnQkMsT0FBT0MsSUFBSSxDQUFDRixhQUFhRyxNQUFNLENBQUMsQ0FBQ0MsTUFBTUM7UUFDbEZELElBQUksQ0FBQ0MsSUFBSSxHQUFHZCxRQUFRLENBQUNjLElBQUk7UUFDekIsT0FBT0Q7SUFDVCxHQUFHLENBQUMsR0FBRztBQU1QLE9BQU8sTUFBTUUsV0FBVyxDQUFDQyxLQUFrQkM7SUFDekMsSUFBR0QsSUFBSUUsSUFBSSxFQUFFO1FBQ1hDLFFBQVEzQixHQUFHLENBQUNHLEtBQUt5QixTQUFTLENBQUNaLGFBQWFSO0lBQzFDLE9BQU87UUFDTFIsSUFBSSxhQUFhLFFBQVE7UUFDekJBLElBQUksQ0FBQyxPQUFPLEVBQUVRLFNBQVNHLEdBQUcsRUFBRSxFQUFFLFFBQVE7UUFDdENYLElBQUksZ0JBQWdCLFFBQVE7UUFDNUJBLElBQUksQ0FBQyxPQUFPLEVBQUVRLFNBQVNLLEdBQUcsRUFBRSxFQUFFLFFBQVE7UUFDdENiLElBQUksQ0FBQyxRQUFRLEVBQUVRLFNBQVNDLElBQUksRUFBRSxFQUFFLFFBQVE7UUFDeENULElBQUksQ0FBQyxjQUFjLEVBQUVRLFNBQVNNLFVBQVUsRUFBRSxFQUFFLFFBQVE7UUFDcERkLElBQUksQ0FBQyxXQUFXLEVBQUVRLFNBQVNPLE9BQU8sRUFBRSxFQUFFLFFBQVE7SUFDaEQ7SUFFQSxJQUFHVSxVQUFVO1FBQ1hBLFNBQVM7SUFDWDtJQUVBLE9BQU9JLFFBQVFDLE9BQU8sQ0FBQztBQUN6QixFQUFFIn0=