Переглянути джерело

deps: remove `mkdirp` in favor of the built-in `fs.mkdir`

Antoine du Hamel 3 роки тому
батько
коміт
06d5b3e254
6 змінених файлів з 13 додано та 22 видалено
  1. 3 4
      bin/build-bundle.js
  2. 2 3
      bin/build-css.js
  3. 3 7
      bin/build-lib.js
  4. 0 1
      package.json
  5. 4 5
      website/build-examples.js
  6. 1 2
      website/package.json

+ 3 - 4
bin/build-bundle.js

@@ -1,6 +1,5 @@
 const fs = require('fs')
 const chalk = require('chalk')
-const mkdirp = require('mkdirp')
 const babelify = require('babelify')
 const tinyify = require('tinyify')
 const browserify = require('browserify')
@@ -88,9 +87,9 @@ async function transpileDownForIE ([bundleFile, standalone]) {
   })
 }
 
-mkdirp.sync('./packages/uppy/dist')
-mkdirp.sync('./packages/@uppy/robodog/dist')
-mkdirp.sync('./packages/@uppy/locales/dist')
+fs.mkdirSync('./packages/uppy/dist', { recursive: true })
+fs.mkdirSync('./packages/@uppy/robodog/dist', { recursive: true })
+fs.mkdirSync('./packages/@uppy/locales/dist', { recursive: true })
 
 const methods = [
   buildBundle(

+ 2 - 3
bin/build-css.js

@@ -9,11 +9,10 @@ const { promisify } = require('util')
 const fs = require('fs')
 const path = require('path')
 const resolve = require('resolve')
-const mkdirp = promisify(require('mkdirp'))
 const glob = promisify(require('glob'))
 
 const renderScss = promisify(sass.render)
-const writeFile = promisify(fs.writeFile)
+const { mkdir, writeFile } = fs.promises
 
 const cwd = process.cwd()
 
@@ -75,7 +74,7 @@ async function compileCSS () {
     } else if (outdir.includes(path.normalize('packages/@uppy/robodog/'))) {
       outfile = path.join(outdir, 'robodog.css')
     }
-    await mkdirp(outdir)
+    await mkdir(outdir, { recursive: true })
     await writeFile(outfile, postcssResult.css)
     console.info(
       chalk.green('✓ Built Uppy CSS:'),

+ 3 - 7
bin/build-lib.js

@@ -2,13 +2,11 @@ const chalk = require('chalk')
 const babel = require('@babel/core')
 const { promisify } = require('util')
 const glob = promisify(require('glob'))
-const mkdirp = promisify(require('mkdirp'))
 const fs = require('fs')
 const path = require('path')
 
 const transformFile = promisify(babel.transformFile)
-const writeFile = promisify(fs.writeFile)
-const stat = promisify(fs.stat)
+const { mkdir, stat, writeFile } = fs.promises
 
 const SOURCE = 'packages/{*,@uppy/*}/src/**/*.js'
 // Files not to build (such as tests)
@@ -26,9 +24,7 @@ function lastModified (file) {
 }
 
 async function buildLib () {
-  const metaMtimes = await Promise.all(META_FILES.map((filename) => (
-    lastModified(path.join(__dirname, '..', filename))
-  )))
+  const metaMtimes = await Promise.all(META_FILES.map((filename) => lastModified(path.join(__dirname, '..', filename))))
   const metaMtime = Math.max(...metaMtimes)
 
   const files = await glob(SOURCE)
@@ -51,7 +47,7 @@ async function buildLib () {
     }
 
     const { code, map } = await transformFile(file, { sourceMaps: true })
-    await mkdirp(path.dirname(libFile))
+    await mkdir(path.dirname(libFile), { recursive: true })
     await Promise.all([
       writeFile(libFile, code),
       writeFile(`${libFile}.map`, JSON.stringify(map)),

+ 0 - 1
package.json

@@ -106,7 +106,6 @@
     "mime-types": "2.1.26",
     "minify-stream": "2.0.1",
     "minimist": "^1.2.5",
-    "mkdirp": "0.5.1",
     "multi-glob": "1.0.2",
     "nodemon": "1.19.4",
     "npm-auth-to-token": "1.0.0",

+ 4 - 5
website/build-examples.js

@@ -21,11 +21,10 @@
  * the Set when it has been bundled.
  */
 
-const createStream = require('fs').createWriteStream
-const glob = require('multi-glob').glob
+const { createWriteStream, mkdirSync } = require('fs')
+const { glob } = require('multi-glob')
 const chalk = require('chalk')
 const path = require('path')
-const mkdirp = require('mkdirp')
 const notifier = require('node-notifier')
 const babelify = require('babelify')
 const aliasify = require('aliasify')
@@ -127,14 +126,14 @@ glob(srcPattern, (err, files) => {
       const output = dstPattern.replace('**', exampleName)
       const parentDir = path.dirname(output)
 
-      mkdirp.sync(parentDir)
+      mkdirSync(parentDir, { recursive: true })
 
       console.info(chalk.grey(`⏳ building: ${path.relative(process.cwd(), file)}`))
 
       b
         .bundle()
         .on('error', onError)
-        .pipe(createStream(output))
+        .pipe(createWriteStream(output))
         .on('finish', () => {
           console.info(chalk.green(`✓ built: ${path.relative(process.cwd(), file)}`))
         })

+ 1 - 2
website/package.json

@@ -12,8 +12,8 @@
     "aliasify": "^2.1.0",
     "autoprefixer": "^9.5.1",
     "babelify": "^10.0.0",
-    "browserify": "^16.5.2",
     "browser-resolve": "2.0.0",
+    "browserify": "^16.5.2",
     "chalk": "2.4.2",
     "cssnano": "^4.1.10",
     "drag-drop": "^4.2.0",
@@ -39,7 +39,6 @@
     "js-yaml": "^3.13.1",
     "marked": "^0.7.0",
     "mdast-util-inject": "1.1.0",
-    "mkdirp": "0.5.1",
     "multi-glob": "^1.0.2",
     "node-notifier": "^8.0.1",
     "postcss-inline-svg": "^3.1.1",