diff --git a/admin/scripts/resizeImage.js b/admin/scripts/resizeImage.js index 59baff0de3..09bf4f4ee5 100644 --- a/admin/scripts/resizeImage.js +++ b/admin/scripts/resizeImage.js @@ -9,9 +9,9 @@ import fs from 'fs-extra'; import path from 'path'; import {fileURLToPath} from 'url'; import {program} from 'commander'; -import logger from '@docusaurus/logger'; +import {logger} from '@docusaurus/logger'; import sharp from 'sharp'; -import imageSize from 'image-size'; +import {imageSizeFromFile} from 'image-size/fromFile'; // You can use it as: // @@ -64,7 +64,7 @@ program await Promise.all( images.map(async (imgPath) => { - const {width, height} = imageSize(imgPath); + const {width, height} = await imageSizeFromFile(imgPath); const targetWidth = options.width ?? (imgPath.includes(showcasePath) ? 640 : 1000); const targetHeight = diff --git a/package.json b/package.json index 57a6276935..73dc95d848 100644 --- a/package.json +++ b/package.json @@ -104,7 +104,7 @@ "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-regexp": "^1.15.0", "husky": "^8.0.3", - "image-size": "^1.0.2", + "image-size": "^2.0.2", "jest": "^29.7.0", "jest-environment-jsdom": "^29.7.0", "jest-serializer-ansi-escapes": "^3.0.0", diff --git a/packages/docusaurus-mdx-loader/package.json b/packages/docusaurus-mdx-loader/package.json index fa135a39f1..3c2e7cb9d3 100644 --- a/packages/docusaurus-mdx-loader/package.json +++ b/packages/docusaurus-mdx-loader/package.json @@ -27,7 +27,7 @@ "estree-util-value-to-estree": "^3.0.1", "file-loader": "^6.2.0", "fs-extra": "^11.1.1", - "image-size": "^1.0.2", + "image-size": "^2.0.2", "mdast-util-mdx": "^3.0.0", "mdast-util-to-string": "^4.0.0", "rehype-raw": "^7.0.0", diff --git a/packages/docusaurus-mdx-loader/src/remark/transformImage/index.ts b/packages/docusaurus-mdx-loader/src/remark/transformImage/index.ts index a13bebf922..adf59a40ad 100644 --- a/packages/docusaurus-mdx-loader/src/remark/transformImage/index.ts +++ b/packages/docusaurus-mdx-loader/src/remark/transformImage/index.ts @@ -8,7 +8,6 @@ import path from 'path'; import url from 'url'; import fs from 'fs-extra'; -import {promisify} from 'util'; import { toMessageRelativeFilePath, posixPath, @@ -17,7 +16,7 @@ import { getFileLoaderUtils, } from '@docusaurus/utils'; import escapeHtml from 'escape-html'; -import sizeOf from 'image-size'; +import {imageSizeFromFile} from 'image-size/fromFile'; import logger from '@docusaurus/logger'; import {assetRequireAttributeValue, transformNode} from '../utils'; import type {Plugin, Transformer} from 'unified'; @@ -80,7 +79,7 @@ async function toImageRequireNode( } try { - const size = (await promisify(sizeOf)(imagePath))!; + const size = (await imageSizeFromFile(imagePath))!; if (size.width) { attributes.push({ type: 'mdxJsxAttribute', diff --git a/website/src/data/__tests__/user.test.ts b/website/src/data/__tests__/user.test.ts index 8dfcdd1874..8ef51035c4 100644 --- a/website/src/data/__tests__/user.test.ts +++ b/website/src/data/__tests__/user.test.ts @@ -8,7 +8,7 @@ import fs from 'fs-extra'; import path from 'path'; import _ from 'lodash'; -import imageSize from 'image-size'; +import {imageSizeFromFile} from 'image-size/fromFile'; import {Joi} from '@docusaurus/utils-validation'; import {TagList, sortedUsers, type User} from '../users'; @@ -157,8 +157,8 @@ describe('preview images', () => { .readdirSync(imageDir) .filter((file) => ['.png', 'jpg', '.jpeg'].includes(path.extname(file))); - it.each(files)('%s', (file) => { - const size = imageSize(path.join(imageDir, file)); + it.each(files)('%s', async (file) => { + const size = await imageSizeFromFile(path.join(imageDir, file)); expect(size).toHaveGoodDimensions(); }); diff --git a/website/src/data/showcase/Seaography.png b/website/src/data/showcase/Seaography.png index ad3fbfc615..c493ad4eb6 100644 Binary files a/website/src/data/showcase/Seaography.png and b/website/src/data/showcase/Seaography.png differ diff --git a/yarn.lock b/yarn.lock index f7a30fc61a..644101722c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9847,12 +9847,10 @@ ignore@^5.0.4, ignore@^5.2.0, ignore@^5.2.1, ignore@^5.2.4: resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== -image-size@^1.0.2: - version "1.1.1" - resolved "https://registry.yarnpkg.com/image-size/-/image-size-1.1.1.tgz#ddd67d4dc340e52ac29ce5f546a09f4e29e840ac" - integrity sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ== - dependencies: - queue "6.0.2" +image-size@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/image-size/-/image-size-2.0.2.tgz#84a7b43704db5736f364bf0d1b029821299b4bdc" + integrity sha512-IRqXKlaXwgSMAMtpNzZa1ZAe8m+Sa1770Dhk8VkSsP9LS+iHD62Zd8FQKs8fbPiagBE7BzoFX23cxFnwshpV6w== import-fresh@^3.2.1, import-fresh@^3.3.0: version "3.3.0" @@ -14939,13 +14937,6 @@ queue-tick@^1.0.1: resolved "https://registry.yarnpkg.com/queue-tick/-/queue-tick-1.0.1.tgz#f6f07ac82c1fd60f82e098b417a80e52f1f4c142" integrity sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag== -queue@6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/queue/-/queue-6.0.2.tgz#b91525283e2315c7553d2efa18d83e76432fed65" - integrity sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA== - dependencies: - inherits "~2.0.3" - quick-lru@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f"