angular-build-info
Version:
🛠A CLI to generate an easily importable `build.ts` file containing various details about the application build
32 lines (27 loc) • 973 B
text/typescript
import { Build } from "src/interfaces/build.interface";
import { promises as fs } from "fs";
import signale from "signale";
/**
* Writes a given Build objects to a file
* @param content File contents to write to `build.ts` file
* @param path Optional `path` parameter, defaults to ``${process.cwd()}/src/build.ts``
*/
const write = async (content: Build, path?: string): Promise<void> => {
const writePath = path || `${process.cwd()}/src/build.ts`;
try {
await fs.writeFile(
writePath,
"// Build information, automatically generated by `ng-info`\n" +
"const build = " +
JSON.stringify(content, null, 4).replace(
/\"([^(\")"]+)\":/g,
"$1:"
) +
";\n\nexport default build;"
);
} catch (error) {
signale.fatal(`Error writing to \`${path}\``);
signale.fatal(error);
}
};
export default write;