From 1c490aee42b9701b1caf94b7be7d7f5393ce6da5 Mon Sep 17 00:00:00 2001 From: Elliot DeNolf Date: Wed, 1 May 2024 12:20:45 -0400 Subject: [PATCH] fix(deps): move file-type to deps (#6171) --- jest.config.js | 21 ++++++ packages/next/package.json | 5 +- .../next/src/routes/rest/files/getFile.ts | 4 +- pnpm-lock.yaml | 69 ++++++++++++++++--- 4 files changed, 86 insertions(+), 13 deletions(-) diff --git a/jest.config.js b/jest.config.js index c92e0bbf5..6b07c6f93 100644 --- a/jest.config.js +++ b/jest.config.js @@ -1,3 +1,20 @@ +/** + * Ignores all ESM packages that make Jest mad. + * + * "Jest encountered an unexpected token" + * + * Direct packages: + * - file-type + */ +const esModules = [ + // file-type and all dependencies: https://github.com/sindresorhus/file-type + 'file-type', + 'strtok3', + 'readable-web-to-node-stream', + 'token-types', + 'peek-readable', +].join('|') + /** @type {import('jest').Config} */ const baseJestConfig = { extensionsToTreatAsEsm: ['.ts', '.tsx'], @@ -14,6 +31,10 @@ const baseJestConfig = { transform: { '^.+\\.(t|j)sx?$': ['@swc/jest'], }, + transformIgnorePatterns: [ + `/node_modules/(?!.pnpm)(?!(${esModules})/)`, + `/node_modules/.pnpm/(?!(${esModules.replace(/\//g, '\\+')})@)`, + ], verbose: true, } diff --git a/packages/next/package.json b/packages/next/package.json index 60731e11a..f528df1bd 100644 --- a/packages/next/package.json +++ b/packages/next/package.json @@ -49,8 +49,10 @@ "@types/busboy": "^1.5.3", "busboy": "^1.6.0", "deep-equal": "2.2.2", + "file-type": "19.0.0", "graphql-http": "^1.22.0", "graphql-playground-html": "1.6.30", + "http-status": "1.6.2", "path-to-regexp": "^6.2.1", "qs": "6.11.2", "react-diff-viewer-continued": "3.2.6", @@ -66,7 +68,6 @@ "@types/ws": "^8.5.10", "css-loader": "^6.10.0", "css-minimizer-webpack-plugin": "^6.0.0", - "file-type": "16.5.4", "mini-css-extract-plugin": "1.6.2", "payload": "workspace:*", "postcss-loader": "^8.1.1", @@ -79,9 +80,7 @@ "webpack-cli": "^5.1.4" }, "peerDependencies": { - "file-type": "16.5.4", "graphql": "^16.8.1", - "http-status": "1.6.2", "next": "^14.3.0-canary.7", "payload": "workspace:*" }, diff --git a/packages/next/src/routes/rest/files/getFile.ts b/packages/next/src/routes/rest/files/getFile.ts index 3dbd61df0..3de562552 100644 --- a/packages/next/src/routes/rest/files/getFile.ts +++ b/packages/next/src/routes/rest/files/getFile.ts @@ -1,6 +1,6 @@ import type { Collection, PayloadRequestWithData } from 'payload/types' -import getFileType from 'file-type' +import { fileTypeFromFile } from 'file-type' import fsPromises from 'fs/promises' import httpStatus from 'http-status' import path from 'path' @@ -58,7 +58,7 @@ export const getFile = async ({ collection, filename, req }: Args): Promise=18'} + dependencies: + readable-web-to-node-stream: 3.0.2 + strtok3: 7.0.0 + token-types: 5.0.1 + dev: false + /filename-reserved-regex@3.0.0: resolution: {integrity: sha512-hn4cQfU6GOT/7cFHXBqeBg2TbrMBgdD0kcjLhvSQYYwm3s4B6cjvBfb7nBALJLAXqmU5xajSa7X2NnUud/VCdw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -12344,6 +12354,48 @@ packages: /next-tick@1.1.0: resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} + /next@14.3.0-canary.7(@babel/core@7.24.4)(@playwright/test@1.43.0)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-loPrWTCvHvZgOy3rgL9+2WpxNDxlRNt462ihqm/DUuyK8LUZV1F4H920YTAu1wEiYC8RrpNUbpz8K7KRYAkQiA==} + engines: {node: '>=18.17.0'} + hasBin: true + peerDependencies: + '@opentelemetry/api': ^1.1.0 + '@playwright/test': ^1.41.2 + react: ^18.0.0 + react-dom: ^18.0.0 + sass: ^1.3.0 + peerDependenciesMeta: + '@opentelemetry/api': + optional: true + '@playwright/test': + optional: true + sass: + optional: true + dependencies: + '@next/env': 14.3.0-canary.7 + '@playwright/test': 1.43.0 + '@swc/helpers': 0.5.5 + busboy: 1.6.0 + caniuse-lite: 1.0.30001607 + graceful-fs: 4.2.11 + postcss: 8.4.31 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + styled-jsx: 5.1.1(@babel/core@7.24.4)(react@18.2.0) + optionalDependencies: + '@next/swc-darwin-arm64': 14.3.0-canary.7 + '@next/swc-darwin-x64': 14.3.0-canary.7 + '@next/swc-linux-arm64-gnu': 14.3.0-canary.7 + '@next/swc-linux-arm64-musl': 14.3.0-canary.7 + '@next/swc-linux-x64-gnu': 14.3.0-canary.7 + '@next/swc-linux-x64-musl': 14.3.0-canary.7 + '@next/swc-win32-arm64-msvc': 14.3.0-canary.7 + '@next/swc-win32-ia32-msvc': 14.3.0-canary.7 + '@next/swc-win32-x64-msvc': 14.3.0-canary.7 + transitivePeerDependencies: + - '@babel/core' + - babel-plugin-macros + /next@14.3.0-canary.7(@babel/core@7.24.4)(@playwright/test@1.43.0)(react-dom@18.2.0)(react@18.2.0)(sass@1.74.1): resolution: {integrity: sha512-loPrWTCvHvZgOy3rgL9+2WpxNDxlRNt462ihqm/DUuyK8LUZV1F4H920YTAu1wEiYC8RrpNUbpz8K7KRYAkQiA==} engines: {node: '>=18.17.0'} @@ -12386,6 +12438,7 @@ packages: transitivePeerDependencies: - '@babel/core' - babel-plugin-macros + dev: false /node-abi@3.57.0: resolution: {integrity: sha512-Dp+A9JWxRaKuHP35H77I4kCKesDy5HUDEmScia2FyncMTOXASMyg251F5PhFoDA5uqBrDDffiLpbqnrZmNXW+g==} @@ -12886,11 +12939,11 @@ packages: /peek-readable@4.1.0: resolution: {integrity: sha512-ZI3LnwUv5nOGbQzD9c2iDG6toheuXSZP5esSHBjopsXH4dg19soufvpUGA3uohi5anFtGb2lhAVdHzH6R/Evvg==} engines: {node: '>=8'} + dev: false /peek-readable@5.0.0: resolution: {integrity: sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A==} engines: {node: '>=14.16'} - dev: true /pend@1.2.0: resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} @@ -15211,6 +15264,7 @@ packages: dependencies: '@tokenizer/token': 0.3.0 peek-readable: 4.1.0 + dev: false /strtok3@7.0.0: resolution: {integrity: sha512-pQ+V+nYQdC5H3Q7qBZAz/MO6lwGhoC2gOAjuouGf/VO0m7vQRh8QNMl2Uf6SwAtzZ9bOw3UIeBukEGNJl5dtXQ==} @@ -15218,7 +15272,6 @@ packages: dependencies: '@tokenizer/token': 0.3.0 peek-readable: 5.0.0 - dev: true /stubs@3.0.0: resolution: {integrity: sha512-PdHt7hHUJKxvTCgbKX9C1V/ftOcjJQgz8BZwNfV5c4B6dcGqlpelTbJ999jBGZ2jYiPAwcX5dP6oBwVlBlUbxw==} @@ -15562,6 +15615,7 @@ packages: dependencies: '@tokenizer/token': 0.3.0 ieee754: 1.2.1 + dev: false /token-types@5.0.1: resolution: {integrity: sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg==} @@ -15569,7 +15623,6 @@ packages: dependencies: '@tokenizer/token': 0.3.0 ieee754: 1.2.1 - dev: true /totalist@3.0.1: resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==}