Add Prettier and ESLint tooling (Refs #77)

This commit is contained in:
2026-10-09 15:56:13 -04:00
parent 8ed059b8d3
commit 16469e2d43
711 changed files with 99737 additions and 28286 deletions
+44 -11
View File
@@ -7,27 +7,60 @@ export async function prepareNativeHost(servers: string[] = []) {
const libraries = await import('../../src/lib/server/game-files/index.js');
const { db } = await import('../../src/lib/server/db/index.js');
const host = hosts.createHost({ name: 'Fixture host', portMin: 28960, portMax: 29060 });
const inventory = { protocolVersion: 1, cpuCount: 64, cpuUsagePercent: 0,
memoryTotal: 128 * 1024 ** 3, memoryAvailable: 120 * 1024 ** 3,
dockerRunning: true, directoriesWritable: true, storageAvailable: 100_000_000_000,
runtimeImages: [config.defaultRuntimeImage] };
const inventory = {
protocolVersion: 1,
cpuCount: 64,
cpuUsagePercent: 0,
memoryTotal: 128 * 1024 ** 3,
memoryAvailable: 120 * 1024 ** 3,
dockerRunning: true,
directoriesWritable: true,
storageAvailable: 100_000_000_000,
runtimeImages: [config.defaultRuntimeImage]
};
hosts.enrollHost(hosts.createEnrollment(host.id).token, inventory);
const versions = new Map<string, string>();
for (const game of ['t5', 't6'] as const) {
const version = libraries.createLibraryImport({ hostId: host.id, game });
const manifest = JSON.stringify([{ path: 'zone/base.ff', size: 4, sha256: createHash('sha256').update('game').digest('hex') }]);
const manifest = JSON.stringify([
{
path: 'zone/base.ff',
size: 4,
sha256: createHash('sha256').update('game').digest('hex')
}
]);
const hash = createHash('sha256').update(manifest).digest('hex');
db().prepare("UPDATE game_file_versions SET state='ready',manifest=?,manifest_sha256=?,size_bytes=4,published_at=? WHERE id=?")
db()
.prepare(
"UPDATE game_file_versions SET state='ready',manifest=?,manifest_sha256=?,size_bytes=4,published_at=? WHERE id=?"
)
.run(manifest, hash, new Date().toISOString(), version.id);
libraries.updateHostLibraryCaches(host.id, [{ libraryVersionId: version.id, status: 'ready', manifestSha256: hash }]);
libraries.updateHostLibraryCaches(host.id, [
{ libraryVersionId: version.id, status: 'ready', manifestSha256: hash }
]);
versions.set(game, version.id);
}
const heartbeat = () => hosts.heartbeat(host.id, { ...inventory, libraries: [...versions.values()].map(id => ({ id, state: 'ready' as const })) });
const heartbeat = () =>
hosts.heartbeat(host.id, {
...inventory,
libraries: [...versions.values()].map((id) => ({ id, state: 'ready' as const }))
});
heartbeat();
for (const [index, server] of servers.entries()) {
db().prepare(`INSERT INTO native_instances(id,server,host_id,library_id,image,port,created_at)
VALUES(?,?,?,?,?,?,?)`).run(randomUUID(), server, host.id, versions.get(server.startsWith('t6_') ? 't6' : 't5'),
config.defaultRuntimeImage, 28960 + index, new Date().toISOString());
db()
.prepare(
`INSERT INTO native_instances(id,server,host_id,library_id,image,port,created_at)
VALUES(?,?,?,?,?,?,?)`
)
.run(
randomUUID(),
server,
host.id,
versions.get(server.startsWith('t6_') ? 't6' : 't5'),
config.defaultRuntimeImage,
28960 + index,
new Date().toISOString()
);
}
return { host, versions, heartbeat };
}