diff --git a/package-lock.json b/package-lock.json index 09c41f78f65..af2b9d882b1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,7 +16,6 @@ "@esfx/canceltoken": "^1.0.0", "@octokit/rest": "^19.0.13", "@types/chai": "^4.3.4", - "@types/fs-extra": "^9.0.13", "@types/glob": "^8.1.0", "@types/microsoft__typescript-etw": "^0.1.1", "@types/minimist": "^1.2.2", @@ -42,7 +41,6 @@ "eslint-plugin-no-null": "^1.0.2", "eslint-plugin-simple-import-sort": "^10.0.0", "fast-xml-parser": "^4.0.11", - "fs-extra": "^9.1.0", "glob": "^8.1.0", "hereby": "^1.6.4", "jsonc-parser": "^3.2.0", @@ -886,15 +884,6 @@ "integrity": "sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==", "dev": true }, - "node_modules/@types/fs-extra": { - "version": "9.0.13", - "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.13.tgz", - "integrity": "sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/glob": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/@types/glob/-/glob-8.1.0.tgz", @@ -1279,15 +1268,6 @@ "node": "*" } }, - "node_modules/at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, "node_modules/azure-devops-node-api": { "version": "12.1.0", "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-12.1.0.tgz", @@ -2202,21 +2182,6 @@ "node": ">=12.20.0" } }, - "node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -2686,18 +2651,6 @@ "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", "dev": true }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -3727,15 +3680,6 @@ "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==", "dev": true }, - "node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -4416,15 +4360,6 @@ "integrity": "sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==", "dev": true }, - "@types/fs-extra": { - "version": "9.0.13", - "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.13.tgz", - "integrity": "sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, "@types/glob": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/@types/glob/-/glob-8.1.0.tgz", @@ -4684,12 +4619,6 @@ "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", "dev": true }, - "at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "dev": true - }, "azure-devops-node-api": { "version": "12.1.0", "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-12.1.0.tgz", @@ -5376,18 +5305,6 @@ "fetch-blob": "^3.1.2" } }, - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -5731,16 +5648,6 @@ "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", "dev": true }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, "levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -6457,12 +6364,6 @@ "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==", "dev": true }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true - }, "uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", diff --git a/package.json b/package.json index f33b6d8f66b..75ca0cc206a 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,6 @@ "@esfx/canceltoken": "^1.0.0", "@octokit/rest": "^19.0.13", "@types/chai": "^4.3.4", - "@types/fs-extra": "^9.0.13", "@types/glob": "^8.1.0", "@types/microsoft__typescript-etw": "^0.1.1", "@types/minimist": "^1.2.2", @@ -68,7 +67,6 @@ "eslint-plugin-no-null": "^1.0.2", "eslint-plugin-simple-import-sort": "^10.0.0", "fast-xml-parser": "^4.0.11", - "fs-extra": "^9.1.0", "glob": "^8.1.0", "hereby": "^1.6.4", "jsonc-parser": "^3.2.0", diff --git a/scripts/produceLKG.mjs b/scripts/produceLKG.mjs index f5dc7a5c27c..7e13fc7c78e 100644 --- a/scripts/produceLKG.mjs +++ b/scripts/produceLKG.mjs @@ -1,4 +1,4 @@ -import fs from "fs-extra"; +import fs from "fs"; import glob from "glob"; import path from "path"; import url from "url"; @@ -16,8 +16,8 @@ const dest = path.join(root, "lib"); async function produceLKG() { console.log(`Building LKG from ${source} to ${dest}`); - await (fs.rm || fs.rmdir)(dest, { recursive: true, force: true }); - await fs.mkdirp(dest); + await fs.promises.rm(dest, { recursive: true, force: true }); + await fs.promises.mkdir(dest, { recursive: true }); await copyLibFiles(); await copyLocalizedDiagnostics(); await copyTypesMap(); @@ -32,9 +32,15 @@ async function copyLibFiles() { async function copyLocalizedDiagnostics() { for (const d of localizationDirectories) { - const fileName = path.join(source, d); - if (fs.statSync(fileName).isDirectory()) { - await fs.copy(fileName, path.join(dest, d)); + const inputDir = path.join(source, d); + if (!fs.statSync(inputDir).isDirectory()) throw new Error(`Expected ${inputDir} to be a directory`); + const outputDir = path.join(dest, d); + await fs.promises.mkdir(outputDir, { recursive: true }); + for (const f of await fs.promises.readdir(inputDir)) { + const inputFile = path.join(inputDir, f); + if (!fs.statSync(inputFile).isFile()) throw new Error(`Expected ${inputFile} to be a file`); + const outputFile = path.join(outputDir, f); + await fs.promises.copyFile(inputFile, outputFile); } } } @@ -59,14 +65,14 @@ async function copyDeclarationOutputs() { } async function writeGitAttributes() { - await fs.writeFile(path.join(dest, ".gitattributes"), `* text eol=lf`, "utf-8"); + await fs.promises.writeFile(path.join(dest, ".gitattributes"), `* text eol=lf`, "utf-8"); } /** * @param {string} fileName */ async function copyFromBuiltLocal(fileName) { - await fs.copy(path.join(source, fileName), path.join(dest, fileName)); + await fs.promises.copyFile(path.join(source, fileName), path.join(dest, fileName)); } /**