fix(config): add back md4 monkey-patch for wider ecosystem (#27865)

This commit is contained in:
Daniel Roe 2024-06-27 17:02:26 +02:00 committed by GitHub
parent 5ef7311f09
commit 803d2e6cc7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 14 additions and 1 deletions

View File

@ -520,6 +520,17 @@ export function getNuxtConfig (_options) {
options.build.indicator = false options.build.indicator = false
} }
// Monkey patch crypto.createHash in dev/build to upgrade hashing fnction
if (parseInt(process.versions.node.slice(0, 2)) > 16 && !options.buildModules.some(m => m.name === 'patchMD4')) {
options.buildModules.push(function patchMD4 () {
const crypto = require('crypto')
const _createHash = crypto.createHash
crypto.createHash = function (algorithm, options) {
return _createHash(algorithm === 'md4' ? 'md5' : algorithm, options)
}
})
}
// Components Module // Components Module
if (!options._start && getPKG('@nuxt/components')) { if (!options._start && getPKG('@nuxt/components')) {
options._modules.push('@nuxt/components') options._modules.push('@nuxt/components')

View File

@ -24,6 +24,7 @@ describe('config', () => {
UNIX_SOCKET: '/var/run/nuxt.sock' UNIX_SOCKET: '/var/run/nuxt.sock'
} }
const config = getDefaultNuxtConfig({ env }) const config = getDefaultNuxtConfig({ env })
config.buildModules = config.buildModules.filter(p => p.name !== 'patchMD4')
expect(config).toMatchSnapshot() expect(config).toMatchSnapshot()
}) })
}) })

View File

@ -34,6 +34,7 @@ describe('config: options', () => {
} }
} }
}) })
config.buildModules = config.buildModules.filter(p => p.name !== 'patchMD4')
expect(config).toMatchSnapshot() expect(config).toMatchSnapshot()
process.cwd.mockRestore() process.cwd.mockRestore()
@ -297,7 +298,7 @@ describe('config: options', () => {
const config = getNuxtConfig({ devModules: ['foo'], buildModules: ['bar'] }) const config = getNuxtConfig({ devModules: ['foo'], buildModules: ['bar'] })
expect(consola.warn).toHaveBeenCalledWith('`devModules` has been renamed to `buildModules` and will be removed in Nuxt 3.') expect(consola.warn).toHaveBeenCalledWith('`devModules` has been renamed to `buildModules` and will be removed in Nuxt 3.')
expect(config.devModules).toBe(undefined) expect(config.devModules).toBe(undefined)
expect(config.buildModules).toEqual(['bar', 'foo']) expect(config.buildModules.filter(p => p.name !== 'patchMD4')).toEqual(['bar', 'foo'])
}) })
test('should deprecate build.extractCSS.allChunks', () => { test('should deprecate build.extractCSS.allChunks', () => {