htmv 0.0.1 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bun.lock +90 -0
- package/dist/cli/cli.d.ts +2 -0
- package/dist/cli/cli.js +23 -0
- package/dist/cli/commands/help.d.ts +2 -0
- package/dist/cli/commands/help.js +4 -0
- package/dist/cli/commands/new.d.ts +2 -0
- package/dist/cli/commands/new.js +4 -0
- package/dist/cli/messages.json +3 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.js +63 -0
- package/package.json +3 -3
- package/src/cli/cli.ts +26 -0
- package/src/cli/commands/help.ts +5 -0
- package/src/cli/commands/new.ts +4 -0
- package/src/cli/messages.json +3 -0
- package/tsconfig.json +8 -4
- package/cli.ts +0 -2
- /package/{index.ts → src/index.ts} +0 -0
package/bun.lock
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
{
|
|
2
|
+
"lockfileVersion": 1,
|
|
3
|
+
"workspaces": {
|
|
4
|
+
"": {
|
|
5
|
+
"name": "htmv",
|
|
6
|
+
"dependencies": {
|
|
7
|
+
"@elysiajs/static": "^1.4.6",
|
|
8
|
+
"elysia": "^1.4.15",
|
|
9
|
+
},
|
|
10
|
+
"devDependencies": {
|
|
11
|
+
"@biomejs/biome": "2.3.3",
|
|
12
|
+
"@types/bun": "latest",
|
|
13
|
+
},
|
|
14
|
+
"peerDependencies": {
|
|
15
|
+
"typescript": "^5",
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
"packages": {
|
|
20
|
+
"@biomejs/biome": ["@biomejs/biome@2.3.3", "", { "optionalDependencies": { "@biomejs/cli-darwin-arm64": "2.3.3", "@biomejs/cli-darwin-x64": "2.3.3", "@biomejs/cli-linux-arm64": "2.3.3", "@biomejs/cli-linux-arm64-musl": "2.3.3", "@biomejs/cli-linux-x64": "2.3.3", "@biomejs/cli-linux-x64-musl": "2.3.3", "@biomejs/cli-win32-arm64": "2.3.3", "@biomejs/cli-win32-x64": "2.3.3" }, "bin": { "biome": "bin/biome" } }, "sha512-zn/P1pRBCpDdhi+VNSMnpczOz9DnqzOA2c48K8xgxjDODvi5O8gs3a2H233rck/5HXpkFj6TmyoqVvxirZUnvg=="],
|
|
21
|
+
|
|
22
|
+
"@biomejs/cli-darwin-arm64": ["@biomejs/cli-darwin-arm64@2.3.3", "", { "os": "darwin", "cpu": "arm64" }, "sha512-5+JtW6RKmjqL9un0UtHV0ezOslAyYBzyl5ZhYiu7GHesX2x8NCDl6tXYrenv9m7e1RLbkO5E5Kh04kseMtz6lw=="],
|
|
23
|
+
|
|
24
|
+
"@biomejs/cli-darwin-x64": ["@biomejs/cli-darwin-x64@2.3.3", "", { "os": "darwin", "cpu": "x64" }, "sha512-UPmKRalkHicvIpeccuKqq+/gA2HYV8FUnAEDJnqYBlGlycKqe6xrovWqvWTE4TTNpIFf4UQyuaDzLkN6Kz6tbA=="],
|
|
25
|
+
|
|
26
|
+
"@biomejs/cli-linux-arm64": ["@biomejs/cli-linux-arm64@2.3.3", "", { "os": "linux", "cpu": "arm64" }, "sha512-zeiKwALNB/hax7+LLhCYqhqzlWdTfgE9BGkX2Z8S4VmCYnGFrf2fON/ec6KCos7mra5MDm6fYICsEWN2+HKZhw=="],
|
|
27
|
+
|
|
28
|
+
"@biomejs/cli-linux-arm64-musl": ["@biomejs/cli-linux-arm64-musl@2.3.3", "", { "os": "linux", "cpu": "arm64" }, "sha512-KhCDMV+V7Yu72v40ssGJTHuv/j0n7JQ6l0s/c+EMcX5zPYLMLr4XpmI+WXhp4Vfkz0T5Xnh5wbrTBI3f2UTpjQ=="],
|
|
29
|
+
|
|
30
|
+
"@biomejs/cli-linux-x64": ["@biomejs/cli-linux-x64@2.3.3", "", { "os": "linux", "cpu": "x64" }, "sha512-05CjPLbvVVU8J6eaO6iSEoA0FXKy2l6ddL+1h/VpiosCmIp3HxRKLOa1hhC1n+D13Z8g9b1DtnglGtM5U3sTag=="],
|
|
31
|
+
|
|
32
|
+
"@biomejs/cli-linux-x64-musl": ["@biomejs/cli-linux-x64-musl@2.3.3", "", { "os": "linux", "cpu": "x64" }, "sha512-IyqQ+jYzU5MVy9CK5NV0U+NnUMPUAhYMrB/x4QgL/Dl1MqzBVc61bHeyhLnKM6DSEk73/TQYrk/8/QmVHudLdQ=="],
|
|
33
|
+
|
|
34
|
+
"@biomejs/cli-win32-arm64": ["@biomejs/cli-win32-arm64@2.3.3", "", { "os": "win32", "cpu": "arm64" }, "sha512-NtlLs3pdFqFAQYZjlEHKOwJEn3GEaz7rtR2oCrzaLT2Xt3Cfd55/VvodQ5V+X+KepLa956QJagckJrNL+DmumQ=="],
|
|
35
|
+
|
|
36
|
+
"@biomejs/cli-win32-x64": ["@biomejs/cli-win32-x64@2.3.3", "", { "os": "win32", "cpu": "x64" }, "sha512-klJKPPQvUk9Rlp0Dd56gQw/+Wt6uUprHdHWtbDC93f3Iv+knA2tLWpcYoOZJgPV+9s+RBmYv0DGy4mUlr20esg=="],
|
|
37
|
+
|
|
38
|
+
"@borewit/text-codec": ["@borewit/text-codec@0.1.1", "", {}, "sha512-5L/uBxmjaCIX5h8Z+uu+kA9BQLkc/Wl06UGR5ajNRxu+/XjonB5i8JpgFMrPj3LXTCPA0pv8yxUvbUi+QthGGA=="],
|
|
39
|
+
|
|
40
|
+
"@elysiajs/static": ["@elysiajs/static@1.4.6", "", { "peerDependencies": { "elysia": ">= 1.4.0" } }, "sha512-cd61aY/DHOVhlnBjzTBX8E1XANIrsCH8MwEGHeLMaZzNrz0gD4Q8Qsde2dFMzu81I7ZDaaZ2Rim9blSLtUrYBg=="],
|
|
41
|
+
|
|
42
|
+
"@sinclair/typebox": ["@sinclair/typebox@0.34.41", "", {}, "sha512-6gS8pZzSXdyRHTIqoqSVknxolr1kzfy4/CeDnrzsVz8TTIWUbOBr6gnzOmTYJ3eXQNh4IYHIGi5aIL7sOZ2G/g=="],
|
|
43
|
+
|
|
44
|
+
"@tokenizer/inflate": ["@tokenizer/inflate@0.2.7", "", { "dependencies": { "debug": "^4.4.0", "fflate": "^0.8.2", "token-types": "^6.0.0" } }, "sha512-MADQgmZT1eKjp06jpI2yozxaU9uVs4GzzgSL+uEq7bVcJ9V1ZXQkeGNql1fsSI0gMy1vhvNTNbUqrx+pZfJVmg=="],
|
|
45
|
+
|
|
46
|
+
"@tokenizer/token": ["@tokenizer/token@0.3.0", "", {}, "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A=="],
|
|
47
|
+
|
|
48
|
+
"@types/bun": ["@types/bun@1.3.1", "", { "dependencies": { "bun-types": "1.3.1" } }, "sha512-4jNMk2/K9YJtfqwoAa28c8wK+T7nvJFOjxI4h/7sORWcypRNxBpr+TPNaCfVWq70tLCJsqoFwcf0oI0JU/fvMQ=="],
|
|
49
|
+
|
|
50
|
+
"@types/node": ["@types/node@24.10.0", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-qzQZRBqkFsYyaSWXuEHc2WR9c0a0CXwiE5FWUvn7ZM+vdy1uZLfCunD38UzhuB7YN/J11ndbDBcTmOdxJo9Q7A=="],
|
|
51
|
+
|
|
52
|
+
"@types/react": ["@types/react@19.2.2", "", { "dependencies": { "csstype": "^3.0.2" } }, "sha512-6mDvHUFSjyT2B2yeNx2nUgMxh9LtOWvkhIU3uePn2I2oyNymUAX1NIsdgviM4CH+JSrp2D2hsMvJOkxY+0wNRA=="],
|
|
53
|
+
|
|
54
|
+
"bun-types": ["bun-types@1.3.1", "", { "dependencies": { "@types/node": "*" }, "peerDependencies": { "@types/react": "^19" } }, "sha512-NMrcy7smratanWJ2mMXdpatalovtxVggkj11bScuWuiOoXTiKIu2eVS1/7qbyI/4yHedtsn175n4Sm4JcdHLXw=="],
|
|
55
|
+
|
|
56
|
+
"cookie": ["cookie@1.0.2", "", {}, "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA=="],
|
|
57
|
+
|
|
58
|
+
"csstype": ["csstype@3.1.3", "", {}, "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="],
|
|
59
|
+
|
|
60
|
+
"debug": ["debug@4.4.3", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA=="],
|
|
61
|
+
|
|
62
|
+
"elysia": ["elysia@1.4.15", "", { "dependencies": { "cookie": "^1.0.2", "exact-mirror": "0.2.2", "fast-decode-uri-component": "^1.0.1", "memoirist": "^0.4.0" }, "peerDependencies": { "@sinclair/typebox": ">= 0.34.0 < 1", "@types/bun": ">= 1.2.0", "file-type": ">= 20.0.0", "openapi-types": ">= 12.0.0", "typescript": ">= 5.0.0" }, "optionalPeers": ["@types/bun", "typescript"] }, "sha512-RaDqqZdLuC4UJetfVRQ4Z5aVpGgEtQ+pZnsbI4ZzEaf3l/MzuHcqSVoL/Fue3d6qE4RV9HMB2rAZaHyPIxkyzg=="],
|
|
63
|
+
|
|
64
|
+
"exact-mirror": ["exact-mirror@0.2.2", "", { "peerDependencies": { "@sinclair/typebox": "^0.34.15" }, "optionalPeers": ["@sinclair/typebox"] }, "sha512-CrGe+4QzHZlnrXZVlo/WbUZ4qQZq8C0uATQVGVgXIrNXgHDBBNFD1VRfssRA2C9t3RYvh3MadZSdg2Wy7HBoQA=="],
|
|
65
|
+
|
|
66
|
+
"fast-decode-uri-component": ["fast-decode-uri-component@1.0.1", "", {}, "sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg=="],
|
|
67
|
+
|
|
68
|
+
"fflate": ["fflate@0.8.2", "", {}, "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A=="],
|
|
69
|
+
|
|
70
|
+
"file-type": ["file-type@21.0.0", "", { "dependencies": { "@tokenizer/inflate": "^0.2.7", "strtok3": "^10.2.2", "token-types": "^6.0.0", "uint8array-extras": "^1.4.0" } }, "sha512-ek5xNX2YBYlXhiUXui3D/BXa3LdqPmoLJ7rqEx2bKJ7EAUEfmXgW0Das7Dc6Nr9MvqaOnIqiPV0mZk/r/UpNAg=="],
|
|
71
|
+
|
|
72
|
+
"ieee754": ["ieee754@1.2.1", "", {}, "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="],
|
|
73
|
+
|
|
74
|
+
"memoirist": ["memoirist@0.4.0", "", {}, "sha512-zxTgA0mSYELa66DimuNQDvyLq36AwDlTuVRbnQtB+VuTcKWm5Qc4z3WkSpgsFWHNhexqkIooqpv4hdcqrX5Nmg=="],
|
|
75
|
+
|
|
76
|
+
"ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="],
|
|
77
|
+
|
|
78
|
+
"openapi-types": ["openapi-types@12.1.3", "", {}, "sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw=="],
|
|
79
|
+
|
|
80
|
+
"strtok3": ["strtok3@10.3.4", "", { "dependencies": { "@tokenizer/token": "^0.3.0" } }, "sha512-KIy5nylvC5le1OdaaoCJ07L+8iQzJHGH6pWDuzS+d07Cu7n1MZ2x26P8ZKIWfbK02+XIL8Mp4RkWeqdUCrDMfg=="],
|
|
81
|
+
|
|
82
|
+
"token-types": ["token-types@6.1.1", "", { "dependencies": { "@borewit/text-codec": "^0.1.0", "@tokenizer/token": "^0.3.0", "ieee754": "^1.2.1" } }, "sha512-kh9LVIWH5CnL63Ipf0jhlBIy0UsrMj/NJDfpsy1SqOXlLKEVyXXYrnFxFT1yOOYVGBSApeVnjPw/sBz5BfEjAQ=="],
|
|
83
|
+
|
|
84
|
+
"typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="],
|
|
85
|
+
|
|
86
|
+
"uint8array-extras": ["uint8array-extras@1.5.0", "", {}, "sha512-rvKSBiC5zqCCiDZ9kAOszZcDvdAHwwIKJG33Ykj43OKcWsnmcBRL09YTU4nOeHZ8Y2a7l1MgTd08SBe9A8Qj6A=="],
|
|
87
|
+
|
|
88
|
+
"undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="],
|
|
89
|
+
}
|
|
90
|
+
}
|
package/dist/cli/cli.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import help from "./commands/help";
|
|
3
|
+
import newCommand from "./commands/new";
|
|
4
|
+
import { AVAILABLE_COMMANDS } from "./messages.json";
|
|
5
|
+
const args = process.argv.slice(2);
|
|
6
|
+
const command = args[0];
|
|
7
|
+
if (command === undefined) {
|
|
8
|
+
console.error("No command specified. Available commands are:");
|
|
9
|
+
console.error(AVAILABLE_COMMANDS);
|
|
10
|
+
process.exit(1);
|
|
11
|
+
}
|
|
12
|
+
const commandArgs = args.slice(1);
|
|
13
|
+
const commands = {
|
|
14
|
+
help,
|
|
15
|
+
new: () => newCommand(commandArgs),
|
|
16
|
+
};
|
|
17
|
+
if (command in commands) {
|
|
18
|
+
commands[command]();
|
|
19
|
+
process.exit(0);
|
|
20
|
+
}
|
|
21
|
+
console.error("Unknown command. Available commands are:");
|
|
22
|
+
console.error(AVAILABLE_COMMANDS);
|
|
23
|
+
process.exit(1);
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare function view(view: string, props: Record<string, unknown>): Promise<Response>;
|
|
2
|
+
export type RouteParams = {
|
|
3
|
+
query: Record<string, string>;
|
|
4
|
+
request: Request;
|
|
5
|
+
params: Record<string, string>;
|
|
6
|
+
};
|
|
7
|
+
type Paths = {
|
|
8
|
+
routes: string;
|
|
9
|
+
views: string;
|
|
10
|
+
public: string;
|
|
11
|
+
port: number;
|
|
12
|
+
};
|
|
13
|
+
export declare function setup(paths: Paths): Promise<void>;
|
|
14
|
+
export {};
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import fs from "node:fs/promises";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import staticPlugin from "@elysiajs/static";
|
|
4
|
+
import { Elysia } from "elysia";
|
|
5
|
+
let viewsPath = "";
|
|
6
|
+
export async function view(view, props) {
|
|
7
|
+
if (viewsPath === "")
|
|
8
|
+
throw new Error("Views folder path not yet configured. Use `Htmv.setup` before rendering a view.");
|
|
9
|
+
const file = Bun.file(path.join(viewsPath, `${view}.html`));
|
|
10
|
+
const code = await file.text();
|
|
11
|
+
const replacedCode = code.replace(/{(.+)}/g, (_, propName) => {
|
|
12
|
+
return props[propName];
|
|
13
|
+
});
|
|
14
|
+
return new Response(replacedCode, {
|
|
15
|
+
headers: { "Content-Type": "text/html; charset=utf-8" },
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
export async function setup(paths) {
|
|
19
|
+
viewsPath = paths.views;
|
|
20
|
+
const app = new Elysia().use(staticPlugin({
|
|
21
|
+
assets: paths.public,
|
|
22
|
+
}));
|
|
23
|
+
await registerRoutes(app, paths.routes);
|
|
24
|
+
app.listen(paths.port);
|
|
25
|
+
console.log("");
|
|
26
|
+
console.log(`HTMV running on port ${paths.port}! 🎉`);
|
|
27
|
+
console.log(`http://localhost:${paths.port}`);
|
|
28
|
+
}
|
|
29
|
+
async function registerRoutes(app, baseDir, prefix = "/") {
|
|
30
|
+
const entries = await fs.readdir(baseDir, { withFileTypes: true });
|
|
31
|
+
for (const entry of entries) {
|
|
32
|
+
const fullPath = path.join(baseDir, entry.name);
|
|
33
|
+
if (entry.isDirectory()) {
|
|
34
|
+
await registerRoutes(app, fullPath, path.join(prefix, entry.name));
|
|
35
|
+
continue;
|
|
36
|
+
}
|
|
37
|
+
if (entry.name !== "index.ts" && entry.name !== "index.tsx")
|
|
38
|
+
continue;
|
|
39
|
+
const module = (await import(fullPath));
|
|
40
|
+
const defaultFn = module.default;
|
|
41
|
+
if (defaultFn && typeof defaultFn === "function") {
|
|
42
|
+
app.all(prefix, async ({ request, query, params }) => {
|
|
43
|
+
const result = await defaultFn({ request, query, params });
|
|
44
|
+
return result;
|
|
45
|
+
});
|
|
46
|
+
console.log(`Registered ${fullPath} on ${prefix} route with method all`);
|
|
47
|
+
}
|
|
48
|
+
for (const propName in module) {
|
|
49
|
+
const prop = module[propName];
|
|
50
|
+
if (typeof prop !== "function")
|
|
51
|
+
continue;
|
|
52
|
+
const fn = prop;
|
|
53
|
+
const name = fn.name.toLowerCase();
|
|
54
|
+
if (!["get", "post", "put", "patch", "delete"].includes(name))
|
|
55
|
+
continue;
|
|
56
|
+
app[name](prefix, async ({ request, query, params }) => {
|
|
57
|
+
const result = await fn({ request, query, params });
|
|
58
|
+
return result;
|
|
59
|
+
});
|
|
60
|
+
console.log(`Registered ${fullPath} on ${prefix} route with method ${name}`);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "htmv",
|
|
3
|
-
"
|
|
3
|
+
"main": "dist/index.js",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"version": "0.0.
|
|
5
|
+
"version": "0.0.3",
|
|
6
6
|
"devDependencies": {
|
|
7
7
|
"@biomejs/biome": "2.3.3",
|
|
8
8
|
"@types/bun": "latest"
|
|
@@ -15,6 +15,6 @@
|
|
|
15
15
|
"elysia": "^1.4.15"
|
|
16
16
|
},
|
|
17
17
|
"bin": {
|
|
18
|
-
"htmv": "
|
|
18
|
+
"htmv": "dist/cli/cli.js"
|
|
19
19
|
}
|
|
20
20
|
}
|
package/src/cli/cli.ts
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import help from "./commands/help";
|
|
3
|
+
import newCommand from "./commands/new";
|
|
4
|
+
import { AVAILABLE_COMMANDS } from "./messages.json";
|
|
5
|
+
|
|
6
|
+
const args = process.argv.slice(2);
|
|
7
|
+
const command = args[0];
|
|
8
|
+
if (command === undefined) {
|
|
9
|
+
console.error("No command specified. Available commands are:");
|
|
10
|
+
console.error(AVAILABLE_COMMANDS);
|
|
11
|
+
process.exit(1);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
const commandArgs = args.slice(1);
|
|
15
|
+
const commands = {
|
|
16
|
+
help,
|
|
17
|
+
new: () => newCommand(commandArgs),
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
if (command in commands) {
|
|
21
|
+
commands[command as keyof typeof commands]();
|
|
22
|
+
process.exit(0);
|
|
23
|
+
}
|
|
24
|
+
console.error("Unknown command. Available commands are:");
|
|
25
|
+
console.error(AVAILABLE_COMMANDS);
|
|
26
|
+
process.exit(1);
|
package/tsconfig.json
CHANGED
|
@@ -10,9 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
// Bundler mode
|
|
12
12
|
"moduleResolution": "bundler",
|
|
13
|
-
"allowImportingTsExtensions": true,
|
|
14
13
|
"verbatimModuleSyntax": true,
|
|
15
|
-
"noEmit": true,
|
|
16
14
|
|
|
17
15
|
// Best practices
|
|
18
16
|
"strict": true,
|
|
@@ -24,6 +22,12 @@
|
|
|
24
22
|
// Some stricter flags (disabled by default)
|
|
25
23
|
"noUnusedLocals": false,
|
|
26
24
|
"noUnusedParameters": false,
|
|
27
|
-
"noPropertyAccessFromIndexSignature": false
|
|
28
|
-
|
|
25
|
+
"noPropertyAccessFromIndexSignature": false,
|
|
26
|
+
|
|
27
|
+
// Config for npm
|
|
28
|
+
"noEmit": false, // Changed to false to allow it to compile
|
|
29
|
+
"outDir": "./dist",
|
|
30
|
+
"declaration": true //generates .d.ts
|
|
31
|
+
},
|
|
32
|
+
"include": ["src"]
|
|
29
33
|
}
|
package/cli.ts
DELETED
|
File without changes
|