ivaldi/source/types.ts

95 lines
1.7 KiB
TypeScript
Raw Normal View History

2025-04-25 10:47:04 +02:00
/*
2025-04-25 12:50:44 +02:00
This file is part of »ivaldi«.
2025-04-25 10:47:04 +02:00
Copyright 2025 'Fenris Wolf' <fenris@folksprak.org>
2025-04-25 12:50:44 +02:00
»ivaldi« is free software: you can redistribute it and/or modify
2025-04-25 10:47:04 +02:00
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
2025-04-25 12:50:44 +02:00
»ivaldi« is distributed in the hope that it will be useful,
2025-04-25 10:47:04 +02:00
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
2025-04-25 12:50:44 +02:00
along with »ivaldi«. If not, see <http://www.gnu.org/licenses/>.
2025-04-25 10:47:04 +02:00
*/
2025-04-25 12:50:44 +02:00
namespace _ivaldi
2025-04-25 10:47:04 +02:00
{
/**
*/
type type_lib = (
{
kind : "node";
data : {
modules : Array<string>;
};
}
|
{
kind : "plankton";
data : {
modules : Array<string>;
};
}
);
2026-09-18 02:13:11 +02:00
/**
*/
export type type_app = {
name : string;
sources : Array<string>;
additional_dependencies : Array<string>;
destination : string;
2026-09-18 02:31:28 +02:00
head : (null | string);
2026-09-18 02:13:11 +02:00
executable : boolean;
};
2025-04-25 10:47:04 +02:00
/**
*/
export type type_data = {
version : string;
name : string;
2025-07-08 15:06:16 +02:00
target : ("node" | "web");
2026-09-18 02:31:28 +02:00
settings : {
typescript : {
command : string;
libs : Array<string>;
};
};
2025-07-08 15:06:16 +02:00
directories : {
lib : string;
source : string;
2026-09-18 02:13:11 +02:00
misc : string;
2025-07-08 15:06:16 +02:00
temp : string;
build : string;
makefile : string;
};
2026-09-18 02:13:11 +02:00
libs : {
plankton : (null | Array<string>);
node : (null | Array<string>);
};
core : Array<string>;
apps : Array<
type_app
>;
custom_rules: Array<
{
targets : Array<string>;
dependencies : Array<string>;
actions : Array<string>;
info : (null | string);
}
>;
2025-04-25 10:47:04 +02:00
};
}