This commit is contained in:
fenris 2025-07-08 15:06:16 +02:00
parent 3e2722252c
commit 0c4e6ff649
2 changed files with 64 additions and 26 deletions

View file

@ -183,9 +183,9 @@ namespace _ivaldi
process.stdout.write(
arg_handler.generate_help(
{
"programname": "lixer-event-reminder",
"description": "a telegram bot, which sends reminders about upcoming events",
"executable": "node build/event-reminder",
"programname": "ivaldi",
"description": "a collection of tools for building and deploying a software project",
"executable": "ivaldi",
}
)
);
@ -198,19 +198,45 @@ namespace _ivaldi
"name": data_raw["name"],
"libs": (data_raw["libs"] ?? {}),
"sources": data_raw["sources"],
};
/**
* @todo outsource
*/
const conf = {
"target": (
data_raw["target"]
??
"node"
),
"directories": {
"source": "source",
"libs": "libs",
"temp": "temp",
"build": "build",
"makefile": "/tmp",
"lib": (
(data_raw["misc"] ?? {})["lib"]
??
"lib"
),
"source": (
(data_raw["misc"] ?? {})["source"]
??
"source"
),
"temp": (
(data_raw["misc"] ?? {})["temp"]
??
lib_plankton.string.coin("/tmp/_{{name}}", {"name": data_raw["name"]})
),
"build": (
(data_raw["misc"] ?? {})["build"]
??
lib_plankton.string.coin("/tmp/{{name}}", {"name": data_raw["name"]})
),
"makefile": (
(data_raw["misc"] ?? {})["makefile"]
??
"/tmp"
),
},
"commands": {
"typescript_compile": (
(data_raw["commands"] ?? {})["typescript_compile"]
??
"tsc"
),
},
"command_tsc": "tsc",
};
switch (args.action) {
default: {
@ -224,7 +250,7 @@ namespace _ivaldi
const directory : string = lib_plankton.string.coin(
"{{directory}}/plankton",
{
"directory": conf.directories.libs,
"directory": data.directories.lib,
}
);
/**
@ -240,8 +266,9 @@ namespace _ivaldi
);
await execute(
lib_plankton.string.coin(
"ptk bundle node {{modules}}",
"ptk bundle {{target}}} {{modules}}",
{
"target": data.target,
"modules": lib.data.modules.join(" "),
}
),
@ -272,13 +299,13 @@ namespace _ivaldi
lib_plankton.string.coin(
"rm -r -f {{directory}}",
{
"directory": conf.directories.temp,
"directory": data.directories.temp,
}
),
lib_plankton.string.coin(
"rm -r -f {{directory}}",
{
"directory": conf.directories.build,
"directory": data.directories.build,
}
),
];
@ -296,13 +323,13 @@ namespace _ivaldi
const path_plankton_declaration : string = lib_plankton.string.coin(
"{{directory_libs}}/plankton/plankton.d.ts",
{
"directory_libs": conf.directories.libs,
"directory_libs": data.directories.lib,
}
);
const path_plankton_implementation : string = lib_plankton.string.coin(
"{{directory_libs}}/plankton/plankton.js",
{
"directory_libs": conf.directories.libs,
"directory_libs": data.directories.lib,
}
);
const paths_sources : Array<string> = (
@ -311,7 +338,7 @@ namespace _ivaldi
source => lib_plankton.string.coin(
"{{directory}}/{{name}}",
{
"directory": conf.directories.source,
"directory": data.directories.source,
"name": source,
}
)
@ -320,20 +347,20 @@ namespace _ivaldi
const path_unlinked : string = lib_plankton.string.coin(
"{{directory_temp}}/{{name}}-unlinked.js",
{
"directory_temp": conf.directories.temp,
"directory_temp": data.directories.temp,
"name": data.name,
}
);
const path_head : string = lib_plankton.string.coin(
"{{directory_temp}}/head.js",
{
"directory_temp": conf.directories.temp,
"directory_temp": data.directories.temp,
}
);
const path_result : string = lib_plankton.string.coin(
"{{directory_build}}/{{name}}",
{
"directory_build": conf.directories.build,
"directory_build": data.directories.build,
"name": data.name,
}
);
@ -381,7 +408,7 @@ namespace _ivaldi
lib_plankton.string.coin(
"{{command}} $^ --lib es2020,dom --target es6 --outFile $@",
{
"command": conf.command_tsc,
"command": data.commands.typescript_compile,
}
),
],
@ -475,7 +502,7 @@ namespace _ivaldi
const makefile_path : string = lib_plankton.string.coin(
"{{directory}}/ivaldi-makefile-{{name}}",
{
"directory": conf.directories.makefile,
"directory": data.directories.makefile,
"name": data.name,
}
);

View file

@ -46,6 +46,17 @@ namespace _ivaldi
name : string;
libs : Array<type_lib>;
sources : Array<string>;
target : ("node" | "web");
directories : {
lib : string;
source : string;
temp : string;
build : string;
makefile : string;
};
commands : {
typescript_compile : string;
};
};
}