feat: deno base project

This commit is contained in:
2025-11-27 22:40:24 +01:00
parent 7cb4573737
commit 11fd4cb826
6 changed files with 63 additions and 0 deletions

12
deno.json Normal file
View File

@@ -0,0 +1,12 @@
{
"tasks": {
"dev": "deno run -R --watch src/main.ts",
"today:dev": "deno run -R --watch src/main.ts $(date +%e)",
"today": "deno run -R src/main.ts $(date +%e)",
"test": "deno test --parallel src"
},
"imports": {
"@std/assert": "jsr:@std/assert@1",
"@/": "./src/"
}
}

23
deno.lock generated Normal file
View File

@@ -0,0 +1,23 @@
{
"version": "5",
"specifiers": {
"jsr:@std/assert@1": "1.0.14",
"jsr:@std/internal@^1.0.10": "1.0.10"
},
"jsr": {
"@std/assert@1.0.14": {
"integrity": "68d0d4a43b365abc927f45a9b85c639ea18a9fab96ad92281e493e4ed84abaa4",
"dependencies": [
"jsr:@std/internal"
]
},
"@std/internal@1.0.10": {
"integrity": "e3be62ce42cab0e177c27698e5d9800122f67b766a0bea6ca4867886cbde8cf7"
}
},
"workspace": {
"dependencies": [
"jsr:@std/assert@1"
]
}
}

View File

@@ -0,0 +1 @@
Test

4
src/exercises/day_1.ts Normal file
View File

@@ -0,0 +1,4 @@
export default function FirstDayExerciseName() {
console.log("test_module");
return 1;
}

17
src/main.ts Normal file
View File

@@ -0,0 +1,17 @@
async function main(): Promise<number> {
const args = Deno.args;
if (!args || args.length !== 1) {
return Promise.resolve(-1);
}
const day = parseInt(args[0]);
const module = await import(`./exercises/day_${day}.ts`);
module.default();
return Promise.resolve(0);
}
// Learn more at https://docs.deno.com/runtime/manual/examples/module_metadata#concepts
if (import.meta.main) {
await main();
}

6
src/main_test.ts Normal file
View File

@@ -0,0 +1,6 @@
import { assertEquals } from "@std/assert";
import { add } from "./main.ts";
Deno.test(function addTest() {
assertEquals(add(2, 3), 5);
});