Skip to content

Commit 5f104ad

Browse files
committed
refactor: remove duplicate directory variables
1 parent 88b4cab commit 5f104ad

File tree

4 files changed

+29
-13
lines changed

4 files changed

+29
-13
lines changed

build/build.ts

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
1-
import { mkdir, readdir, rm, writeFile } from "fs/promises";
1+
import { mkdir, rm, writeFile } from "fs/promises";
22
import path from "path";
33
import prettier from "prettier";
44
import { generate } from "./logic/generate";
5+
import { getLibFiles } from "./logic/getLibFiles";
6+
import { projectDir } from "./logic/projectDir";
57

6-
const projectDir = process.env.PROJECT || process.cwd();
7-
const betterLibDir = path.join(projectDir, "lib");
88
const distDir = path.join(projectDir, "generated");
9-
const tsDir = path.join(projectDir, "TypeScript");
10-
const tsLibDir = path.join(tsDir, "src", "lib");
119

1210
async function main() {
1311
await rm(distDir, {
@@ -19,14 +17,11 @@ async function main() {
1917
});
2018

2119
// copy TypeScript lib files
22-
const libs = await readdir(tsLibDir);
23-
const libFiles: string[] = libs.filter((libFile) =>
24-
/(?:^|\/|\\).+\.d\.ts$/.test(libFile)
25-
);
20+
const { tsLibDir, libFiles } = await getLibFiles();
2621

2722
// modify each lib file
2823
for (const libFile of libFiles) {
29-
let result = generate(libFile, true);
24+
let result = generate(tsLibDir, libFile, true);
3025
if (result === undefined) {
3126
continue;
3227
}

build/logic/generate.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,15 @@ import path from "path";
22
import ts from "typescript";
33
import { replacement } from "../replacement";
44
import { upsert } from "../util/upsert";
5+
import { projectDir } from "./projectDir";
56

6-
const projectDir = process.env.PROJECT || process.cwd();
77
const betterLibDir = path.join(projectDir, "lib");
8-
const tsDir = path.join(projectDir, "TypeScript");
9-
const tsLibDir = path.join(tsDir, "src", "lib");
108

119
/**
1210
* Generate one better lib file.
1311
*/
1412
export function generate(
13+
tsLibDir: string,
1514
libFile: string,
1615
emitOriginalAsComment: boolean
1716
): string | undefined {

build/logic/getLibFiles.ts

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import { readdir } from "fs/promises";
2+
import path from "path";
3+
import { projectDir } from "./projectDir";
4+
5+
const tsDir = path.join(projectDir, "TypeScript");
6+
const tsLibDir = path.join(tsDir, "src", "lib");
7+
8+
export async function getLibFiles(): Promise<{
9+
tsLibDir: string;
10+
libFiles: string[];
11+
}> {
12+
// copy TypeScript lib files
13+
const libs = await readdir(tsLibDir);
14+
const libFiles: string[] = libs.filter((libFile) =>
15+
/(?:^|\/|\\).+\.d\.ts$/.test(libFile)
16+
);
17+
return {
18+
tsLibDir,
19+
libFiles,
20+
};
21+
}

build/logic/projectDir.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export const projectDir = process.env.PROJECT || process.cwd();

0 commit comments

Comments
 (0)