UNPKG

@actuatorjs/actuatorjs

Version:

Core interfaces and classes for actuatorjs ecosystem

3 lines (2 loc) 1.01 kB
#!/usr/bin/env node import{execSync as s}from"node:child_process";import*as n from"node:fs/promises";import*as e from"node:path";async function c(){let t=e.resolve(process.cwd(),"package.json"),o=await n.readFile(t,"utf-8");return JSON.parse(o).outDir||"dist"}async function g(){let t=e.resolve(process.cwd(),"package.json"),o=await n.readFile(t,"utf-8"),r=JSON.parse(o);return{name:r.name,version:r.version}}function f(){try{let t=s("git rev-parse --abbrev-ref HEAD").toString().trim(),o=s("git rev-parse --short HEAD").toString().trim(),r=s("git show -s --format=%cI HEAD").toString().trim();return{branch:t,commit:{id:o,time:r}}}catch{return null}}async function m(){let t=await c(),o=e.resolve(process.cwd(),t,"actuator.info.json"),r=f(),a=await g(),i={git:r,build:a};await n.mkdir(e.dirname(o),{recursive:!0}),await n.writeFile(o,JSON.stringify(i,null,2),"utf-8"),console.log(`[generate-info] actuator.info.json created at ${o}`)}m().catch((t)=>{console.error("[generate-info] Failed:",t),process.exit(1)});