Files
ts-scripts/single-scripts/init-justfile.ts

73 lines
1.5 KiB
TypeScript
Executable File

#!/usr/bin/env runts -- --allow-all
import {parseArgs} from "jsr:@std/cli/parse-args";
import {existsPath, exit, log, writeStringToFile,} from "../libraries/deno-commons-mod.ts";
const TEMPLATE_JAVA = `_:
@just --list
alias b:=build
alias p:=publish
alias pub:=publish
alias i:=ide
# Init for IDEA
ide:
buildj idea
# Build Project
build:
buildj clean
buildj
# Build and Publish
publish: build
hatter repo publish`;
function parseFlags(): any {
const flags = parseArgs(Deno.args, {
boolean: ["help", "java"],
alias: {
h: "help",
},
});
const helpMessage = `init-just.ts - DESCRIPTION
init-just.ts --java - init java justfile
`;
if (flags.help) {
console.log(helpMessage);
exit(0);
}
return flags;
}
async function main(): Promise<void> {
const flags = parseFlags();
let template = null;
if (flags.java) {
template = TEMPLATE_JAVA;
}
if (!template) {
log.error("Template not found.");
exit(1);
}
if (await existsPath("justfile")) {
log.error("justfile already exists");
exit(1);
}
await writeStringToFile("justfile", template);
log.success("justfile write success");
return;
}
main().catch((err) => {
log.error(err);
exit(1);
}).then(() => exit(0));
// @SCRIPT-SIGNATURE-V1: yk-r1.ES256.20260416T010402+08:00.MEYCIQCBl5jqJiCgiASHYp7g
// 3RJDq7H8vkicou6d+eYvd6vftAIhANygF6r1pOYHsdEjasoIvB+oM475zT+9q2kMtc5xXiGL