Skip to content

Commit 4b832c3

Browse files
committed
Update build script
1 parent 0c88ca1 commit 4b832c3

File tree

2 files changed

+43
-2
lines changed

2 files changed

+43
-2
lines changed

.eslintrc.cjs

+4-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,10 @@ module.exports = {
3939
},
4040
overrides: [
4141
{
42-
files: ["src/**/*.test.ts", "script/**/*.ts"],
42+
files: ["src/**/*.test.ts", "script/**/*.{ts,js}"],
43+
env: {
44+
node: true,
45+
},
4346
rules: {
4447
"no-console": "off",
4548
"@typescript-eslint/ban-ts-comment": "off",

script/after-build.js

+39-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,41 @@
1-
import { copyFile } from "node:fs/promises";
1+
// @ts-nocheck
2+
import { copyFile, readdir } from "node:fs/promises";
3+
import path from "node:path";
4+
import { fileURLToPath } from "node:url";
5+
6+
import { consola } from "consola";
7+
8+
const srcPath = path.join(fileURLToPath(import.meta.url), "../../src");
29

310
await copyFile("src/temporal.d.ts", "dist/esm/temporal.d.ts");
11+
12+
async function listFns(dirname) {
13+
const files = await readdir(path.join(srcPath, dirname));
14+
return files
15+
.filter(
16+
(d) =>
17+
d.endsWith(".ts") &&
18+
!d.endsWith(".test.ts") &&
19+
!d.startsWith("_") &&
20+
d !== "index.ts",
21+
)
22+
.map((f) => f.replace(/\.ts$/, ""));
23+
}
24+
25+
async function check(dirname, moduleName) {
26+
let fail = false;
27+
const fns = await listFns(dirname);
28+
const mod = await import(moduleName);
29+
for (const fn of fns) {
30+
if (typeof mod[fn] !== "function") {
31+
consola.error(`Missing function in ${dirname}/index.ts: ${fn}`);
32+
fail = true;
33+
}
34+
}
35+
if (fail) {
36+
process.exit(1);
37+
}
38+
}
39+
40+
await check("datetime", "vremel");
41+
await check("duration", "vremel/duration");

0 commit comments

Comments
 (0)