@naturalcycles/nodejs-lib
Version:
Standard library for Node.js
32 lines (31 loc) • 1.18 kB
JavaScript
import fs from 'node:fs';
import path from 'node:path';
import { appendToBashEnv, appendToGithubEnv, appendToGithubOutput } from '../fs/json2env.js';
import { runScript } from '../script/runScript.js';
import { generateBuildInfo } from '../util/buildInfo.util.js';
import { _yargs } from '../yargs/yargs.util.js';
runScript(async () => {
const { dir, overrideTimestamp } = _yargs().options({
dir: {
type: 'string',
desc: 'Output directory',
},
overrideTimestamp: {
type: 'number',
desc: 'This unix timestamp will be used instead of "current time"',
},
}).argv;
const buildInfo = generateBuildInfo({
overrideTimestamp: overrideTimestamp,
});
console.log(buildInfo);
if (dir)
fs.mkdirSync(dir, { recursive: true });
const buildInfoPath = dir ? path.resolve(dir, 'buildInfo.json') : 'buildInfo.json';
fs.writeFileSync(buildInfoPath, JSON.stringify(buildInfo, null, 2));
const prefix = 'buildInfo_';
appendToBashEnv(buildInfo, prefix);
appendToGithubEnv(buildInfo, prefix);
appendToGithubOutput(buildInfo, prefix);
});