diff --git a/build/build-bundle.js b/build/build-bundle.js index f1f32a3de02b..ddcc2ce62464 100644 --- a/build/build-bundle.js +++ b/build/build-bundle.js @@ -12,11 +12,11 @@ const fs = require('fs'); const path = require('path'); +const mkdir = fs.promises.mkdir; const LighthouseRunner = require('../lighthouse-core/runner.js'); const babel = require('babel-core'); const browserify = require('browserify'); -const makeDir = require('make-dir'); const pkg = require('../package.json'); const VERSION = pkg.version; @@ -66,7 +66,6 @@ async function browserifyFile(entryPath, distPath) { .ignore('intl') .ignore('intl-pluralrules') .ignore('raven') - .ignore('mkdirp') .ignore('rimraf') .ignore('pako/lib/zlib/inflate.js'); @@ -104,7 +103,7 @@ async function browserifyFile(entryPath, distPath) { const bundleStream = bundle.bundle(); // Make sure path exists. - await makeDir(path.dirname(distPath)); + await mkdir(path.dirname(distPath), {recursive: true}); return new Promise((resolve, reject) => { const writeStream = fs.createWriteStream(distPath); writeStream.on('finish', resolve); diff --git a/build/build-extension.js b/build/build-extension.js index 9c1085fc9542..e5580ec88445 100644 --- a/build/build-extension.js +++ b/build/build-extension.js @@ -6,10 +6,10 @@ 'use strict'; const fs = require('fs'); +const mkdir = fs.promises.mkdir; const archiver = require('archiver'); const cpy = require('cpy'); -const makeDir = require('make-dir'); const bundleBuilder = require('./build-bundle.js'); const sourceName = 'extension-entry.js'; @@ -38,7 +38,7 @@ async function copyPopup() { popupSrc = popupSrc.replace(/__COMMITHASH__/g, bundleBuilder.COMMIT_HASH); const popupDir = `${distDir}/scripts`; - await makeDir(popupDir); + await mkdir(popupDir, {recursive: true}); fs.writeFileSync(`${popupDir}/popup.js`, popupSrc); } @@ -65,7 +65,7 @@ async function copyAssets() { */ async function packageExtension() { const packagePath = `${distDir}/../extension-package`; - await makeDir(packagePath); + await mkdir(packagePath, {recursive: true}); return new Promise((resolve, reject) => { const archive = archiver('zip', { diff --git a/build/build-lightrider-bundles.js b/build/build-lightrider-bundles.js index 0fa8c562a313..047ed3d4d0b1 100644 --- a/build/build-lightrider-bundles.js +++ b/build/build-lightrider-bundles.js @@ -8,7 +8,6 @@ const browserify = require('browserify'); const fs = require('fs'); const path = require('path'); -const makeDir = require('make-dir'); const bundleBuilder = require('./build-bundle.js'); const {minifyFileTransform} = require('./build-utils.js'); @@ -21,7 +20,7 @@ const generatorFilename = `./lighthouse-core/report/report-generator.js`; const entrySourceName = 'lightrider-entry.js'; const entryDistName = 'lighthouse-lr-bundle.js'; -makeDir.sync(path.dirname(distDir)); +fs.mkdirSync(path.dirname(distDir), {recursive: true}); /** * Browserify and minify entry point. diff --git a/build/build-viewer.js b/build/build-viewer.js index c3db40f4ba81..6a9359b62831 100644 --- a/build/build-viewer.js +++ b/build/build-viewer.js @@ -10,13 +10,13 @@ const path = require('path'); const {promisify} = require('util'); const readFileAsync = promisify(fs.readFile); const writeFileAsync = promisify(fs.writeFile); +const mkdir = fs.promises.mkdir; const browserify = require('browserify'); const cpy = require('cpy'); const ghPages = require('gh-pages'); const glob = promisify(require('glob')); const lighthousePackage = require('../package.json'); -const makeDir = require('make-dir'); const rimraf = require('rimraf'); const terser = require('terser'); const {minifyFileTransform} = require('./build-utils.js'); @@ -59,7 +59,7 @@ async function loadFiles(pattern) { */ async function safeWriteFileAsync(filePath, data) { const fileDir = path.dirname(filePath); - await makeDir(fileDir); + await mkdir(fileDir, {recursive: true}); return writeFileAsync(filePath, data); } diff --git a/build/tests/bundled-lighthouse-cli.js b/build/tests/bundled-lighthouse-cli.js index 2b4958e33cc6..b3d8e73b1fb8 100644 --- a/build/tests/bundled-lighthouse-cli.js +++ b/build/tests/bundled-lighthouse-cli.js @@ -23,7 +23,6 @@ const fs = require('fs'); const path = require('path'); -const mkdirp = require('mkdirp'); const rimraf = require('rimraf'); const ChromeProtocol = require('../../lighthouse-core/gather/connections/cri.js'); @@ -51,16 +50,13 @@ const lighthouse = (function getLighthouseCoreBundled() { // TODO: use `globalThis` when we drop Node 10. .replace('new ChromeProtocol', 'new global.ChromeProtocol') // Needed for asset-saver.js. - .replace(/mkdirp\./g, 'global.mkdirp.') .replace(/rimraf\./g, 'global.rimraf.') - .replace(/fs\.(writeFileSync|createWriteStream)/g, 'global.$&'); + .replace(/fs\.(writeFileSync|createWriteStream|mkdirSync)/g, 'global.$&'); /* eslint-disable no-undef */ // @ts-ignore global.ChromeProtocol = ChromeProtocol; // @ts-ignore - global.mkdirp = mkdirp; - // @ts-ignore global.rimraf = rimraf; // @ts-ignore global.fs = fs; diff --git a/lighthouse-cli/test/smokehouse/smokehouse.js b/lighthouse-cli/test/smokehouse/smokehouse.js index dd21f44acd49..f4db12d490b3 100755 --- a/lighthouse-cli/test/smokehouse/smokehouse.js +++ b/lighthouse-cli/test/smokehouse/smokehouse.js @@ -9,7 +9,6 @@ /* eslint-disable no-console */ const fs = require('fs'); -const mkdirp = require('mkdirp'); const spawnSync = require('child_process').spawnSync; const yargs = require('yargs'); const log = require('lighthouse-logger'); @@ -127,7 +126,7 @@ if (!smokeTest) { const lhRootDir = `${__dirname}/../../..`; const tmpDir = `${lhRootDir}/.tmp`; -mkdirp.sync(tmpDir); +fs.mkdirSync(tmpDir, {recursive: true}); const configPath = `${tmpDir}/smoke-config-${smokeTest.id}.json`; fs.writeFileSync(configPath, JSON.stringify(smokeTest.config)); diff --git a/lighthouse-core/lib/asset-saver.js b/lighthouse-core/lib/asset-saver.js index 677e6115623a..027268b14a44 100644 --- a/lighthouse-core/lib/asset-saver.js +++ b/lighthouse-core/lib/asset-saver.js @@ -13,7 +13,6 @@ const Simulator = require('./dependency-graph/simulator/simulator.js'); const lanternTraceSaver = require('./lantern-trace-saver.js'); const Metrics = require('./traces/pwmetrics-events.js'); const rimraf = require('rimraf'); -const mkdirp = require('mkdirp'); const NetworkAnalysisComputed = require('../computed/network-analysis.js'); const LoadSimulatorComputed = require('../computed/load-simulator.js'); const LHError = require('../lib/lh-error.js'); @@ -100,7 +99,7 @@ function stringifyReplacer(key, value) { async function saveArtifacts(artifacts, basePath) { const status = {msg: 'Saving artifacts', id: 'lh:assetSaver:saveArtifacts'}; log.time(status); - mkdirp.sync(basePath); + fs.mkdirSync(basePath, {recursive: true}); rimraf.sync(`${basePath}/*${traceSuffix}`); rimraf.sync(`${basePath}/${artifactsFilename}`); diff --git a/lighthouse-core/scripts/build-report-for-autodeployment.js b/lighthouse-core/scripts/build-report-for-autodeployment.js index ea1260a86e3c..19d65330e136 100644 --- a/lighthouse-core/scripts/build-report-for-autodeployment.js +++ b/lighthouse-core/scripts/build-report-for-autodeployment.js @@ -10,7 +10,6 @@ /* eslint-disable no-console */ const fs = require('fs'); const path = require('path'); -const mkdirp = require('mkdirp').sync; const rimraf = require('rimraf').sync; const swapLocale = require('../lib/i18n/swap-locale.js'); @@ -45,7 +44,7 @@ const DIST = path.join(__dirname, `../../dist/now`); html = html.replace(`"lh-root lh-vars"`, `"lh-root lh-vars lh-devtools"`); } const filepath = `${DIST}/${variant}${filename}/index.html`; - mkdirp(path.dirname(filepath)); + fs.mkdirSync(path.dirname(filepath), {recursive: true}); fs.writeFileSync(filepath, html, {encoding: 'utf-8'}); console.log('✅', filepath, 'written.'); } @@ -96,7 +95,7 @@ async function generateErrorLHR() { // Save artifacts to disk then run `lighthouse -G` with them. const TMP = `${DIST}/.tmp/`; - mkdirp(TMP); + fs.mkdirSync(TMP, {recursive: true}); fs.writeFileSync(`${TMP}/artifacts.json`, JSON.stringify(artifacts), 'utf-8'); const errorRunnerResult = await lighthouse(artifacts.URL.requestedUrl, {auditMode: TMP}); diff --git a/package.json b/package.json index d4a800cf3db8..35a07748f6ae 100644 --- a/package.json +++ b/package.json @@ -85,8 +85,6 @@ "@types/jpeg-js": "^0.3.0", "@types/lodash.isequal": "^4.5.2", "@types/lodash.set": "^4.3.6", - "@types/make-dir": "^1.0.3", - "@types/mkdirp": "^0.5.2", "@types/node": "*", "@types/raven": "^2.5.1", "@types/resize-observer-browser": "^0.1.1", @@ -121,7 +119,6 @@ "isomorphic-fetch": "^2.2.1", "jest": "^24.3.0", "jsdom": "^12.2.0", - "make-dir": "^1.3.0", "npm-run-posix-or-windows": "^2.0.2", "nyc": "^13.3.0", "package-json-versionify": "^1.0.4", @@ -151,7 +148,6 @@ "lodash.set": "^4.3.2", "lookup-closest-locale": "6.0.4", "metaviewport-parser": "0.2.0", - "mkdirp": "0.5.1", "open": "^6.4.0", "parse-cache-control": "1.0.1", "raven": "^2.2.1", diff --git a/yarn.lock b/yarn.lock index b88ec638f459..1e20d91d6cb8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -541,25 +541,11 @@ resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.106.tgz#6093e9a02aa567ddecfe9afadca89e53e5dce4dd" integrity sha512-tOSvCVrvSqFZ4A/qrqqm6p37GZoawsZtoR0SJhlF7EonNZUgrn8FfT+RNQ11h+NUpMt6QVe36033f3qEKBwfWA== -"@types/make-dir@^1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@types/make-dir/-/make-dir-1.0.3.tgz#91fb52cefd07b0755d2373bcd46229765197ca3e" - integrity sha512-bFRvlvUdPwxj47K2yVh7OBL8Mu8h//5k/hQJkz0iAZAlxhnIDydFezGA96zehtnRfrZDuIyPd+RC2kmBGtcs0w== - dependencies: - "@types/node" "*" - "@types/minimatch@*": version "3.0.3" resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== -"@types/mkdirp@^0.5.2": - version "0.5.2" - resolved "https://registry.yarnpkg.com/@types/mkdirp/-/mkdirp-0.5.2.tgz#503aacfe5cc2703d5484326b1b27efa67a339c1f" - integrity sha512-U5icWpv7YnZYGsN4/cmh3WD2onMY0aJIiTE6+51TwJCttdHvtCYmkBNOobHlXwrJRL0nkH9jH4kD+1FAdMN4Tg== - dependencies: - "@types/node" "*" - "@types/node@*": version "10.14.0" resolved "https://registry.yarnpkg.com/@types/node/-/node-10.14.0.tgz#1c297530428c6f4e0a0a3222f5b44745669aa9f7"