Skip to content

Commit 5ffe73d

Browse files
committed
refactor: Remove fs-extra
1 parent a446431 commit 5ffe73d

18 files changed

+343
-345
lines changed

.eslintrc

Lines changed: 19 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
{
22
"root": true,
33
"parser": "@typescript-eslint/parser",
4+
"parserOptions": {
5+
"project": "tsconfig.json"
6+
},
47
"env": {
58
"node": true,
69
"es6": true
@@ -11,8 +14,23 @@
1114
"plugin:@typescript-eslint/eslint-recommended",
1215
"plugin:@typescript-eslint/recommended"
1316
],
14-
"ignorePatterns": ["src/test/renderer/specs/**", "examples/**", "dist"],
17+
"ignorePatterns": [
18+
"src/test/renderer/specs",
19+
"examples",
20+
"dist",
21+
"coverage",
22+
// Would be nice to lint these, but they shouldn't be included in the project,
23+
// so we need a second eslint config file.
24+
"src/test/converter",
25+
"src/test/converter2",
26+
"src/test/module",
27+
"src/test/renderer",
28+
"scripts",
29+
"bin"
30+
],
1531
"rules": {
32+
"@typescript-eslint/no-floating-promises": 1,
33+
1634
// This rule is factually incorrect. Interfaces which extend some type alias can be used to introduce
1735
// new type names. This is useful particularly when dealing with mixins.
1836
"@typescript-eslint/no-empty-interface": 0,
@@ -40,32 +58,6 @@
4058
]
4159
},
4260
"overrides": [
43-
{
44-
"files": [
45-
"src/test/converter/**",
46-
"src/test/converter2/**",
47-
"src/test/renderer/**"
48-
],
49-
"rules": {
50-
"prefer-rest-params": 0,
51-
"no-inner-declarations": 0,
52-
"no-var": 0,
53-
"prefer-const": 0,
54-
"@typescript-eslint/prefer-namespace-keyword": 0,
55-
"@typescript-eslint/no-inferrable-types": 0,
56-
"@typescript-eslint/explicit-module-boundary-types": 0,
57-
"@typescript-eslint/no-empty-function": 0,
58-
"@typescript-eslint/no-unused-vars": 0,
59-
"@typescript-eslint/no-misused-new": 0
60-
}
61-
},
62-
{
63-
"files": ["scripts/**", "bin/typedoc.js"],
64-
"rules": {
65-
// We don't depend on a new enough version of node to use imports here...
66-
"@typescript-eslint/no-var-requires": 0
67-
}
68-
},
6961
{
7062
"files": ["src/test/**"],
7163
"env": {

package-lock.json

Lines changed: 23 additions & 66 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
},
2222
"dependencies": {
2323
"colors": "^1.4.0",
24-
"fs-extra": "^9.1.0",
2524
"handlebars": "^4.7.7",
2625
"lodash": "^4.17.21",
2726
"lunr": "^2.3.9",
@@ -36,19 +35,17 @@
3635
"typescript": "3.9.x || 4.0.x || 4.1.x || 4.2.x"
3736
},
3837
"devDependencies": {
39-
"@types/fs-extra": "^9.0.11",
4038
"@types/lodash": "^4.14.168",
4139
"@types/lunr": "^2.3.3",
4240
"@types/marked": "^2.0.2",
4341
"@types/minimatch": "3.0.4",
4442
"@types/mocha": "^8.2.2",
4543
"@types/mockery": "^1.4.29",
46-
"@types/node": "^14.14.41",
47-
"@types/semver": "^7.3.4",
44+
"@types/node": "^15.0.1",
4845
"@types/shelljs": "^0.8.8",
4946
"@typescript-eslint/eslint-plugin": "^4.22.0",
5047
"@typescript-eslint/parser": "^4.22.0",
51-
"eslint": "^7.24.0",
48+
"eslint": "^7.25.0",
5249
"mocha": "^8.3.2",
5350
"mockery": "^2.1.0",
5451
"nyc": "^15.1.0",

scripts/copy_test_files.js

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,21 @@
11
// @ts-check
22

3-
const fs = require("fs-extra");
3+
const { remove, copy } = require("../dist/lib/utils/fs");
44
const { join } = require("path");
55

6-
const copy = [
6+
const toCopy = [
77
"test/converter",
88
"test/converter2",
99
"test/renderer",
1010
"test/module",
1111
"test/utils/options/readers/data",
1212
];
1313

14-
const copies = copy.map((dir) => {
14+
const copies = toCopy.map(async (dir) => {
1515
const source = join(__dirname, "../src", dir);
1616
const target = join(__dirname, "../dist", dir);
17-
return fs
18-
.remove(target)
19-
.then(() => fs.mkdirp(target))
20-
.then(() => fs.copy(source, target));
17+
await remove(target);
18+
await copy(source, target);
2119
});
2220

2321
Promise.all(copies).catch((reason) => {

scripts/rebuild_specs.js

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
"use strict";
21
// @ts-check
2+
"use strict";
33

44
const ts = require("typescript");
5-
const fs = require("fs-extra");
5+
const fs = require("fs");
6+
const { remove } = require("../dist/lib/utils/fs");
67
const path = require("path");
78
const TypeDoc = require("..");
89

@@ -89,10 +90,10 @@ function rebuildConverterTests(dirs) {
8990
}
9091

9192
async function rebuildRendererTest() {
92-
await fs.remove(path.join(__dirname, "../src/test/renderer/specs"));
93+
await remove(path.join(__dirname, "../src/test/renderer/specs"));
9394
const src = path.join(__dirname, "../examples/basic/src");
9495
const out = path.join(__dirname, "../src/test/renderer/specs");
95-
await fs.remove(out);
96+
await remove(out);
9697

9798
const app = new TypeDoc.Application();
9899
app.options.addReader(new TypeDoc.TSConfigReader());
@@ -132,10 +133,10 @@ async function rebuildRendererTest() {
132133
const gitHubRegExp = /https:\/\/github.com\/[A-Za-z0-9-]+\/typedoc\/blob\/[^/]*\/examples/g;
133134
return getFiles(out).map((file) => {
134135
const full = path.join(out, file);
135-
return fs
136+
return fs.promises
136137
.readFile(full, { encoding: "utf-8" })
137138
.then((text) =>
138-
fs.writeFile(
139+
fs.promises.writeFile(
139140
full,
140141
text.replace(
141142
gitHubRegExp,
@@ -156,9 +157,9 @@ async function main(command = "all", filter = "") {
156157

157158
if (["all", "converter"].includes(command)) {
158159
const dirs = await Promise.all(
159-
(await fs.readdir(base)).map((dir) => {
160+
(await fs.promises.readdir(base)).map((dir) => {
160161
const dirPath = path.join(base, dir);
161-
return Promise.all([dirPath, fs.stat(dirPath)]);
162+
return Promise.all([dirPath, fs.promises.stat(dirPath)]);
162163
})
163164
);
164165

scripts/set_strict.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
// @ts-check
22
// Sets the Strict type that TypeDoc uses to enable overloads for consumers only.
3-
// See the rationale in src/lib/utils/index.ts
3+
// See the rationale in src/lib/utils/general.ts
44

5-
const fs = require("fs-extra");
5+
const { promises: fs } = require("fs");
66
const { join } = require("path");
77

8-
const file = join(__dirname, "../src/lib/utils/index.ts");
8+
const file = join(__dirname, "../src/lib/utils/general.ts");
99

1010
const isStrict = process.argv[2] === "true";
1111

0 commit comments

Comments
 (0)