From 735e9ffe9acca5cb3fff4adc713d39b66873dba2 Mon Sep 17 00:00:00 2001 From: JounQin Date: Tue, 2 May 2023 19:31:39 +0800 Subject: [PATCH] feat(imagemin): replace tiny-glob with fast-glob (#327) --- .changeset/fluffy-planes-compare.md | 5 +++++ packages/imagemin/package.json | 4 ++-- packages/imagemin/src/cli.ts | 13 ++++++------- packages/imagemin/src/index.ts | 6 +++--- yarn.lock | 18 ------------------ 5 files changed, 16 insertions(+), 30 deletions(-) create mode 100644 .changeset/fluffy-planes-compare.md diff --git a/.changeset/fluffy-planes-compare.md b/.changeset/fluffy-planes-compare.md new file mode 100644 index 000000000..04ac873ce --- /dev/null +++ b/.changeset/fluffy-planes-compare.md @@ -0,0 +1,5 @@ +--- +"@pkgr/imagemin": minor +--- + +feat(imagemin): replace tiny-glob with fast-glob diff --git a/packages/imagemin/package.json b/packages/imagemin/package.json index a6d6db3e6..15edbc516 100644 --- a/packages/imagemin/package.json +++ b/packages/imagemin/package.json @@ -9,7 +9,7 @@ "funding": "https://opencollective.com/unts", "license": "MIT", "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + "node": ">=16.0.0" }, "bin": { "i": "lib/cli.js" @@ -26,6 +26,7 @@ "lib" ], "dependencies": { + "fast-glob": "^3.2.12", "imagemin": "^8.0.1", "imagemin-gifsicle": "^7.0.0", "imagemin-jpegtran": "^7.0.0", @@ -36,7 +37,6 @@ "imagemin-upng": "^4.0.0", "imagemin-webp": "^8.0.0", "is-glob": "^4.0.3", - "tiny-glob": "^0.2.9", "tslib": "^2.5.0" }, "publishConfig": { diff --git a/packages/imagemin/src/cli.ts b/packages/imagemin/src/cli.ts index 4c61fc573..84dabe1d5 100755 --- a/packages/imagemin/src/cli.ts +++ b/packages/imagemin/src/cli.ts @@ -1,6 +1,7 @@ #!/usr/bin/env node + +import glob from 'fast-glob' import isGlob from 'is-glob' -import glob from 'tiny-glob' import imagemin from './index.js' @@ -9,12 +10,10 @@ process.argv .reduce( (files, file) => isGlob(file) - ? Promise.all([ - files, - glob(file, { - filesOnly: true, - }), - ]).then(([files, matched]) => [...files, ...matched]) + ? Promise.all([files, glob(file)]).then(([files, matched]) => [ + ...files, + ...matched, + ]) : files.then(files => [...files, file]), Promise.resolve([]), ) diff --git a/packages/imagemin/src/index.ts b/packages/imagemin/src/index.ts index 648c37120..5f444d202 100644 --- a/packages/imagemin/src/index.ts +++ b/packages/imagemin/src/index.ts @@ -1,4 +1,4 @@ -import fs from 'node:fs' +import fs from 'node:fs/promises' import { Plugin } from 'imagemin' @@ -57,10 +57,10 @@ const plugins = ( ) export default async (filename: string) => - fs.promises.writeFile( + fs.writeFile( filename, await plugins.reduce( async (acc, it) => (await it)(await acc), - fs.promises.readFile(filename), + fs.readFile(filename), ), ) diff --git a/yarn.lock b/yarn.lock index 7e94b1b1d..7c14ab747 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6398,11 +6398,6 @@ globalthis@^1.0.3: dependencies: define-properties "^1.1.3" -globalyzer@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/globalyzer/-/globalyzer-0.1.0.tgz#cb76da79555669a1519d5a8edf093afaa0bf1465" - integrity sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q== - globby@10.0.1: version "10.0.1" resolved "https://registry.yarnpkg.com/globby/-/globby-10.0.1.tgz#4782c34cb75dd683351335c5829cc3420e606b22" @@ -6452,11 +6447,6 @@ globby@^13.1.3: merge2 "^1.4.1" slash "^4.0.0" -globrex@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/globrex/-/globrex-0.1.2.tgz#dd5d9ec826232730cd6793a5e33a9302985e6098" - integrity sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg== - gopd@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" @@ -12118,14 +12108,6 @@ timers-ext@^0.1.7: es5-ext "~0.10.46" next-tick "1" -tiny-glob@^0.2.9: - version "0.2.9" - resolved "https://registry.yarnpkg.com/tiny-glob/-/tiny-glob-0.2.9.tgz#2212d441ac17928033b110f8b3640683129d31e2" - integrity sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg== - dependencies: - globalyzer "0.1.0" - globrex "^0.1.2" - titleize@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/titleize/-/titleize-3.0.0.tgz#71c12eb7fdd2558aa8a44b0be83b8a76694acd53"