fix: update file-type dependency and fix dependency version mismatch (#6638)
This commit is contained in:
9
.idea/runConfigurations/_template__of_JavaScriptTestRunnerJest.xml
generated
Normal file
9
.idea/runConfigurations/_template__of_JavaScriptTestRunnerJest.xml
generated
Normal file
@@ -0,0 +1,9 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="true" type="JavaScriptTestRunnerJest">
|
||||
<node-interpreter value="project" />
|
||||
<node-options value="--experimental-vm-modules --no-deprecation" />
|
||||
<envs />
|
||||
<scope-kind value="ALL" />
|
||||
<method v="2" />
|
||||
</configuration>
|
||||
</component>
|
||||
3
.vscode/settings.json
vendored
3
.vscode/settings.json
vendored
@@ -41,5 +41,6 @@
|
||||
"source.fixAll.eslint": "explicit"
|
||||
}
|
||||
},
|
||||
"files.insertFinalNewline": true
|
||||
"files.insertFinalNewline": true,
|
||||
"jestrunner.jestCommand": "pnpm exec cross-env NODE_OPTIONS=\"--experimental-vm-modules --no-deprecation\" node 'node_modules/jest/bin/jest.js'"
|
||||
}
|
||||
|
||||
@@ -1,24 +1,7 @@
|
||||
/**
|
||||
* 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 = {
|
||||
/** @type {import('jest').Config} */ const baseJestConfig = {
|
||||
extensionsToTreatAsEsm: ['.ts', '.tsx'],
|
||||
setupFilesAfterEnv: ['<rootDir>/test/jest.setup.ts'],
|
||||
setupFiles: ['<rootDir>/test/jest.setup.env.js'],
|
||||
setupFilesAfterEnv: ['<rootDir>/test/jest.setup.js'],
|
||||
moduleNameMapper: {
|
||||
'\\.(css|scss)$': '<rootDir>/test/helpers/mocks/emptyModule.js',
|
||||
'\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$':
|
||||
@@ -31,10 +14,6 @@ const baseJestConfig = {
|
||||
transform: {
|
||||
'^.+\\.(t|j)sx?$': ['@swc/jest'],
|
||||
},
|
||||
transformIgnorePatterns: [
|
||||
`/node_modules/(?!.pnpm)(?!(${esModules})/)`,
|
||||
`/node_modules/.pnpm/(?!(${esModules.replace(/\//g, '\\+')})@)`,
|
||||
],
|
||||
verbose: true,
|
||||
}
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
/** @type {import('jest').Config} */
|
||||
const customJestConfig = {
|
||||
extensionsToTreatAsEsm: ['.ts', '.tsx'],
|
||||
// setupFilesAfterEnv: ['<rootDir>/jest.setup.ts'],
|
||||
// setupFilesAfterEnv: ['<rootDir>/jest.setup.js'],
|
||||
moduleNameMapper: {
|
||||
'\\.(css|scss)$': '<rootDir>/helpers/mocks/emptyModule.js',
|
||||
'\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$':
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
"@payloadcms/translations": "workspace:*",
|
||||
"@payloadcms/ui": "workspace:*",
|
||||
"busboy": "^1.6.0",
|
||||
"file-type": "19.0.0 || 19.0.0-rc-f994737d14-20240522",
|
||||
"file-type": "17.1.6",
|
||||
"graphql-http": "^1.22.0",
|
||||
"graphql-playground-html": "1.6.30",
|
||||
"http-status": "1.6.2",
|
||||
|
||||
@@ -89,7 +89,7 @@
|
||||
"console-table-printer": "2.11.2",
|
||||
"dataloader": "2.2.2",
|
||||
"deepmerge": "4.3.1",
|
||||
"file-type": "16.5.4",
|
||||
"file-type": "17.1.6",
|
||||
"find-up": "7.0.0",
|
||||
"get-tsconfig": "^4.7.2",
|
||||
"http-status": "1.6.2",
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import type { OutputInfo, Sharp, SharpOptions } from 'sharp'
|
||||
|
||||
import fileType from 'file-type'
|
||||
const { fromBuffer } = fileType
|
||||
import { fileTypeFromBuffer } from 'file-type'
|
||||
import fs from 'fs'
|
||||
import mkdirp from 'mkdirp'
|
||||
import sanitize from 'sanitize-filename'
|
||||
@@ -161,7 +160,7 @@ export const generateFileData = async <T>({
|
||||
if (sharpFile) {
|
||||
const metadata = await sharpFile.metadata()
|
||||
fileBuffer = await sharpFile.toBuffer({ resolveWithObject: true })
|
||||
;({ ext, mime } = await fromBuffer(fileBuffer.data)) // This is getting an incorrect gif height back.
|
||||
;({ ext, mime } = await fileTypeFromBuffer(fileBuffer.data)) // This is getting an incorrect gif height back.
|
||||
fileData.width = fileBuffer.info.width
|
||||
fileData.height = fileBuffer.info.height
|
||||
fileData.filesize = fileBuffer.info.size
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import fileType from 'file-type'
|
||||
import { fileTypeFromFile } from 'file-type'
|
||||
import fs from 'fs'
|
||||
import path from 'path'
|
||||
const { fromFile } = fileType
|
||||
|
||||
import type { PayloadRequestWithData } from '../types/index.js'
|
||||
|
||||
@@ -12,7 +11,7 @@ const mimeTypeEstimate = {
|
||||
export const getFileByPath = async (filePath: string): Promise<PayloadRequestWithData['file']> => {
|
||||
if (typeof filePath === 'string') {
|
||||
const data = fs.readFileSync(filePath)
|
||||
const mimetype = fromFile(filePath)
|
||||
const mimetype = fileTypeFromFile(filePath)
|
||||
const { size } = fs.statSync(filePath)
|
||||
|
||||
const name = path.basename(filePath)
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
import type { OutputInfo, Sharp, SharpOptions } from 'sharp'
|
||||
|
||||
import fileType from 'file-type'
|
||||
const { fromBuffer } = fileType
|
||||
|
||||
import { fileTypeFromBuffer } from 'file-type'
|
||||
import fs from 'fs'
|
||||
import sanitize from 'sanitize-filename'
|
||||
|
||||
@@ -343,7 +341,7 @@ export async function resizeAndTransformImageSizes({
|
||||
req.payloadUploadSizes[imageResizeConfig.name] = bufferData
|
||||
}
|
||||
|
||||
const mimeInfo = await fromBuffer(bufferData)
|
||||
const mimeInfo = await fileTypeFromBuffer(bufferData)
|
||||
|
||||
const imageNameWithDimensions = createImageName(
|
||||
sanitizedImage.name,
|
||||
|
||||
48
pnpm-lock.yaml
generated
48
pnpm-lock.yaml
generated
@@ -571,8 +571,8 @@ importers:
|
||||
specifier: ^1.6.0
|
||||
version: 1.6.0
|
||||
file-type:
|
||||
specifier: 19.0.0 || 19.0.0-rc-f994737d14-20240522
|
||||
version: 19.0.0
|
||||
specifier: 17.1.6
|
||||
version: 17.1.6
|
||||
graphql:
|
||||
specifier: ^16.8.1
|
||||
version: 16.8.1
|
||||
@@ -701,8 +701,8 @@ importers:
|
||||
specifier: 4.3.1
|
||||
version: 4.3.1
|
||||
file-type:
|
||||
specifier: 16.5.4
|
||||
version: 16.5.4
|
||||
specifier: 17.1.6
|
||||
version: 17.1.6
|
||||
find-up:
|
||||
specifier: 7.0.0
|
||||
version: 7.0.0
|
||||
@@ -10762,15 +10762,6 @@ packages:
|
||||
dependencies:
|
||||
flat-cache: 3.2.0
|
||||
|
||||
/file-type@16.5.4:
|
||||
resolution: {integrity: sha512-/yFHK0aGjFEgDJjEKP0pWCplsPFPhwyfwevf/pVxiN0tmE4L9LmwWxWukdJSHdoCli4VgQLehjJtwQBnqmsKcw==}
|
||||
engines: {node: '>=10'}
|
||||
dependencies:
|
||||
readable-web-to-node-stream: 3.0.2
|
||||
strtok3: 6.3.0
|
||||
token-types: 4.2.1
|
||||
dev: false
|
||||
|
||||
/file-type@17.1.6:
|
||||
resolution: {integrity: sha512-hlDw5Ev+9e883s0pwUsuuYNu4tD7GgpUnOvykjv1Gya0ZIjuKumthDRua90VUn6/nlRKAjcxLUnHNTIUWwWIiw==}
|
||||
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
||||
@@ -10778,16 +10769,6 @@ packages:
|
||||
readable-web-to-node-stream: 3.0.2
|
||||
strtok3: 7.0.0
|
||||
token-types: 5.0.1
|
||||
dev: true
|
||||
|
||||
/file-type@19.0.0:
|
||||
resolution: {integrity: sha512-s7cxa7/leUWLiXO78DVVfBVse+milos9FitauDLG1pI7lNaJ2+5lzPnr2N24ym+84HVwJL6hVuGfgVE+ALvU8Q==}
|
||||
engines: {node: '>=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==}
|
||||
@@ -14029,11 +14010,6 @@ packages:
|
||||
resolution: {integrity: sha512-YYEs+eauIjDH5nUEGi18EohWE0nV2QbGTqmxQcqgZ/0g+laPCQmuIqq7EBLVi9uim9zMgfJv0QBZEnQ3uHw/Tw==}
|
||||
dev: false
|
||||
|
||||
/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'}
|
||||
@@ -16404,14 +16380,6 @@ packages:
|
||||
/strnum@1.0.5:
|
||||
resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==}
|
||||
|
||||
/strtok3@6.3.0:
|
||||
resolution: {integrity: sha512-fZtbhtvI9I48xDSywd/somNqgUHl2L2cstmXCCif0itOf96jeW18MBSyrLuNicYQVkvpOxkZtkzujiTJ9LW5Jw==}
|
||||
engines: {node: '>=10'}
|
||||
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==}
|
||||
engines: {node: '>=14.16'}
|
||||
@@ -16755,14 +16723,6 @@ packages:
|
||||
engines: {node: '>=0.6'}
|
||||
dev: false
|
||||
|
||||
/token-types@4.2.1:
|
||||
resolution: {integrity: sha512-6udB24Q737UD/SDsKAHI9FCRP7Bqc9D/MQUV02ORQg5iskjtLJlZJNdN4kKtcdtwCeWIwIHDGaUsTsCCAa8sFQ==}
|
||||
engines: {node: '>=10'}
|
||||
dependencies:
|
||||
'@tokenizer/token': 0.3.0
|
||||
ieee754: 1.2.1
|
||||
dev: false
|
||||
|
||||
/token-types@5.0.1:
|
||||
resolution: {integrity: sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg==}
|
||||
engines: {node: '>=14.16'}
|
||||
|
||||
@@ -7,6 +7,7 @@ export default async () => {
|
||||
process.env.PAYLOAD_DROP_DATABASE = 'true'
|
||||
process.env.NODE_OPTIONS = '--no-deprecation'
|
||||
process.env.DISABLE_PAYLOAD_HMR = 'true'
|
||||
process.env.NODE_OPTIONS = '--experimental-vm-modules --no-deprecation'
|
||||
|
||||
if (
|
||||
(!process.env.PAYLOAD_DATABASE || process.env.PAYLOAD_DATABASE === 'mongodb') &&
|
||||
|
||||
@@ -9,10 +9,8 @@ const dirname = path.dirname(filename)
|
||||
const customJestConfig = {
|
||||
...jestBaseConfig,
|
||||
testMatch: ['<rootDir>/**/*int.spec.ts'],
|
||||
setupFilesAfterEnv: [
|
||||
//path.resolve(dirname, './helpers/startMemoryDB.ts'),
|
||||
'<rootDir>/jest.setup.ts',
|
||||
],
|
||||
setupFiles: ['<rootDir>/jest.setup.env.js'],
|
||||
setupFilesAfterEnv: ['<rootDir>/jest.setup.js'],
|
||||
globalSetup: path.resolve(dirname, './helpers/startMemoryDB.ts'),
|
||||
moduleNameMapper: {
|
||||
'\\.(css|scss)$': '<rootDir>/helpers/mocks/emptyModule.js',
|
||||
|
||||
1
test/jest.setup.env.js
Normal file
1
test/jest.setup.env.js
Normal file
@@ -0,0 +1 @@
|
||||
process.env.NODE_OPTIONS = '--experimental-vm-modules --no-deprecation'
|
||||
@@ -2,3 +2,5 @@ process.env.PAYLOAD_DISABLE_ADMIN = 'true'
|
||||
process.env.PAYLOAD_DROP_DATABASE = 'true'
|
||||
|
||||
process.env.PAYLOAD_PUBLIC_CLOUD_STORAGE_ADAPTER = 's3'
|
||||
|
||||
process.env.NODE_OPTIONS = '--experimental-vm-modules --no-deprecation'
|
||||
Reference in New Issue
Block a user