From d72c0d75018a1a487d75e97d486bd15fb5003bcf Mon Sep 17 00:00:00 2001 From: Hatter Jiang Date: Thu, 16 Apr 2026 01:04:20 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=86=95=20Add=20new=20script=20`init-just.?= =?UTF-8?q?ts`=20and=20update=20metadata=20file=20to=20include=20its=20det?= =?UTF-8?q?ails?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- script-meta-v2.json | 9 +++++ single-scripts/init-just.ts | 72 +++++++++++++++++++++++++++++++++++++ 2 files changed, 81 insertions(+) create mode 100755 single-scripts/init-just.ts diff --git a/script-meta-v2.json b/script-meta-v2.json index 2c2d30d..c15ff36 100644 --- a/script-meta-v2.json +++ b/script-meta-v2.json @@ -169,6 +169,15 @@ "publish_time": 1775929369681, "update_time": 1776006975912 }, + "init-just.ts": { + "script_name": "init-just.ts", + "script_length": 1503, + "script_sha256": "6e7310da61cc06afed6dde2d78ae69ba85e3905369fa8b44df5e5ca2b3a25e5c", + "script_full_url": "https://git.hatter.ink/hatter/ts-scripts/raw/branch/main/single-scripts/init-just.ts", + "single_script_file": true, + "publish_time": 1776272649361, + "update_time": 1776272649361 + }, "init-tsscript.ts": { "script_name": "init-tsscript.ts", "script_length": 1992, diff --git a/single-scripts/init-just.ts b/single-scripts/init-just.ts new file mode 100755 index 0000000..29a5f5e --- /dev/null +++ b/single-scripts/init-just.ts @@ -0,0 +1,72 @@ +#!/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 { + 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