Skip to content

Commit ea79302

Browse files
Remove dependencies on mkdirp (microsoft#2040)
1 parent 2dabf5f commit ea79302

File tree

11 files changed

+54
-43
lines changed

11 files changed

+54
-43
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"changes": [
3+
{
4+
"packageName": "@typespec/compiler",
5+
"comment": "Remove `mkdirp` dependencies and replace with built-in `mkdir({recursive: true})`.",
6+
"type": "none"
7+
}
8+
],
9+
"packageName": "@typespec/compiler"
10+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"changes": [
3+
{
4+
"packageName": "typespec-vscode",
5+
"comment": "Remove `mkdirp` dependencies and replace with built-in `mkdir({recursive: true})`.",
6+
"type": "none"
7+
}
8+
],
9+
"packageName": "typespec-vscode"
10+
}

common/config/rush/pnpm-lock.yaml

+22-24
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/compiler/core/node-host.ts

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
import { readdir, readFile, realpath, rm, stat, writeFile } from "fs/promises";
2-
import mkdirp from "mkdirp";
1+
import { mkdir, readdir, readFile, realpath, rm, stat, writeFile } from "fs/promises";
32
import { fileURLToPath, pathToFileURL } from "url";
43
import { createSourceFile } from "./diagnostics.js";
54
import { fetch } from "./fetch.js";
@@ -35,8 +34,8 @@ export const NodeHost: CompilerHost = {
3534
return realpath(path);
3635
},
3736
getSourceFileKind: getSourceFileKindFromExt,
37+
mkdirp: (path: string) => mkdir(path, { recursive: true }),
3838
logSink: createConsoleSink(),
39-
mkdirp: (path: string) => mkdirp(path) as any,
4039
fileURLToPath,
4140
pathToFileURL(path: string) {
4241
return pathToFileURL(path).href;

packages/compiler/package.json

-1
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,6 @@
7777
"picocolors": "~1.0.0",
7878
"globby": "~13.1.1",
7979
"js-yaml": "~4.1.0",
80-
"mkdirp": "~2.1.6",
8180
"mustache": "~4.2.0",
8281
"prettier": "~2.8.7",
8382
"prompts": "~2.4.1",

packages/compiler/scripts/watch-tmlanguage.js

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import { runWatch } from "@typespec/internal-build-utils";
2-
import { copyFile } from "fs/promises";
3-
import mkdirp from "mkdirp";
2+
import { copyFile, mkdir } from "fs/promises";
43
import { resolve } from "path";
54
import { pathToFileURL } from "url";
65

@@ -10,7 +9,7 @@ const scriptPath = resolve("dist/server/tmlanguage.js");
109
async function regenerate() {
1110
const script = await import(`${pathToFileURL(scriptPath)}?q=${count++}`);
1211
await script.main();
13-
await mkdirp("../typespec-vscode/dist");
12+
await mkdir("../typespec-vscode/dist", { recursive: true });
1413
await copyFile("dist/typespec.tmLanguage", "../typespec-vscode/dist/typespec.tmLanguage");
1514
}
1615

packages/compiler/server/server.ts

+4-5
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,18 @@
11
import { Console } from "console";
2-
import { writeFile } from "fs/promises";
2+
import { mkdir, writeFile } from "fs/promises";
33
import inspector from "inspector";
4-
import mkdirp from "mkdirp";
54
import { join } from "path";
65
import { fileURLToPath } from "url";
76
import { TextDocument } from "vscode-languageserver-textdocument";
87
import {
9-
createConnection,
108
ProposedFeatures,
119
PublishDiagnosticsParams,
1210
TextDocuments,
11+
createConnection,
1312
} from "vscode-languageserver/node.js";
1413
import { NodeHost } from "../core/node-host.js";
1514
import { typespecVersion } from "../core/util.js";
16-
import { createServer, Server, ServerHost } from "./serverlib.js";
15+
import { Server, ServerHost, createServer } from "./serverlib.js";
1716

1817
let server: Server | undefined = undefined;
1918

@@ -130,7 +129,7 @@ function profile<T extends (...args: any) => any>(func: T): T {
130129
// eslint-disable-next-line @typescript-eslint/no-misused-promises
131130
profileSession!.post("Profiler.stop", async (err, args) => {
132131
if (!err && args.profile) {
133-
await mkdirp(profileDir!);
132+
await mkdir(profileDir!, { recursive: true });
134133
await writeFile(join(profileDir!, name + ".cpuprofile"), JSON.stringify(args.profile));
135134
}
136135
});

packages/compiler/server/tmlanguage.ts

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
// TextMate-based syntax highlighting is implemented in this file.
22
// typespec.tmLanguage is generated by running this script.
33

4-
import { writeFile } from "fs/promises";
5-
import mkdirp from "mkdirp";
4+
import { mkdir, writeFile } from "fs/promises";
65
import { resolve } from "path";
76
import * as tm from "tmlanguage-generator";
87

@@ -828,6 +827,6 @@ export async function main() {
828827
const plist = await tm.emitPList(grammar, {
829828
errorSourceFilePath: resolve("./src/tmlanguage.ts"),
830829
});
831-
await mkdirp("./dist");
830+
await mkdir("./dist", { recursive: true });
832831
await writeFile("./dist/typespec.tmLanguage", plist);
833832
}

packages/samples/package.json

-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@
4545
"devDependencies": {
4646
"@typespec/internal-build-utils": "~0.4.2",
4747
"autorest": "~3.3.2",
48-
"mkdirp": "~2.1.6",
4948
"rimraf": "~5.0.0",
5049
"typescript": "~5.0.2"
5150
}

packages/samples/scripts/regen-samples.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
// @ts-check
33
import { run } from "@typespec/internal-build-utils";
44
import { readdirSync, rmSync } from "fs";
5-
import mkdirp from "mkdirp";
5+
import { mkdir } from "fs/promises";
66
import { dirname, join, normalize, resolve } from "path";
77
import { fileURLToPath } from "url";
88

@@ -37,7 +37,7 @@ async function main() {
3737
for (const folderName of getSampleFolders()) {
3838
const inputPath = join(rootInputPath, folderName);
3939
const outputPath = join(rootOutputPath, folderName);
40-
mkdirp(outputPath);
40+
await mkdir(outputPath, { recursive: true });
4141

4242
let emitter = "@typespec/openapi3";
4343
if (inputPath === restEmitterSamplePath) {

packages/typespec-vscode/package.json

-1
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,6 @@
125125
"@typespec/internal-build-utils": "~0.4.2",
126126
"eslint": "^8.36.0",
127127
"c8": "~7.13.0",
128-
"mkdirp": "~2.1.6",
129128
"mocha": "~10.2.0",
130129
"mocha-junit-reporter": "~2.2.0",
131130
"mocha-multi-reporters": "~1.5.1",

0 commit comments

Comments
 (0)