PHP 7.4.33
Preview: node-crypto.js.map Size: 7.43 KB
/var/www/uibuilder.cmshelp.dk/httpdocs/node_modules/next/dist/server/node-environment-extensions/node-crypto.js.map
{"version":3,"sources":["../../../src/server/node-environment-extensions/node-crypto.tsx"],"sourcesContent":["/**\n * We extend node:crypto APIs during builds and revalidates to ensure that prerenders don't observe random bytes\n * When dynamicIO is enabled. Random bytes are a form of IO even if they resolve synchronously. When dyanmicIO is\n * enabled we need to ensure that random bytes are excluded from prerenders unless they are cached.\n *\n *\n * The extensions here never error nor alter the underlying return values and thus should be transparent to callers.\n */\n\nimport { io } from './utils'\n\nif (process.env.NEXT_RUNTIME === 'edge') {\n  // nothing to patch\n} else {\n  const nodeCrypto = require('node:crypto')\n\n  // require('node:crypto').getRandomValues is an alias for\n  // crypto.getRandomValues which is extended in web-crypto.tsx\n\n  // require('node:crypto').randomUUID is not an alias for crypto.randomUUID\n\n  const randomUUIDExpression = \"`require('node:crypto').randomUUID()`\"\n  try {\n    const _randomUUID = nodeCrypto.randomUUID\n    nodeCrypto.randomUUID = function randomUUID() {\n      io(randomUUIDExpression, 'random')\n      return _randomUUID.apply(this, arguments as any)\n    }\n  } catch {\n    console.error(\n      `Failed to install ${randomUUIDExpression} extension. When using \\`experimental.dynamicIO\\` calling this function will not correctly trigger dynamic behavior.`\n    )\n  }\n\n  const randomBytesExpression = \"`require('node:crypto').randomBytes(size)`\"\n  try {\n    const _randomBytes = nodeCrypto.randomBytes\n    nodeCrypto.randomBytes = function randomBytes() {\n      if (typeof arguments[1] !== 'function') {\n        // randomBytes is sync if the second arg is undefined\n        io(randomBytesExpression, 'random')\n      }\n      return _randomBytes.apply(this, arguments as any)\n    }\n  } catch {\n    console.error(\n      `Failed to install ${randomBytesExpression} extension. When using \\`experimental.dynamicIO\\` calling this function without a callback argument will not correctly trigger dynamic behavior.`\n    )\n  }\n\n  const randomFillSyncExpression =\n    \"`require('node:crypto').randomFillSync(...)`\"\n  try {\n    const _randomFillSync = nodeCrypto.randomFillSync\n    nodeCrypto.randomFillSync = function randomFillSync() {\n      io(randomFillSyncExpression, 'random')\n      return _randomFillSync.apply(this, arguments as any)\n    }\n  } catch {\n    console.error(\n      `Failed to install ${randomFillSyncExpression} extension. When using \\`experimental.dynamicIO\\` calling this function will not correctly trigger dynamic behavior.`\n    )\n  }\n\n  const randomIntExpression = \"`require('node:crypto').randomInt(min, max)`\"\n  try {\n    const _randomInt = nodeCrypto.randomInt\n    nodeCrypto.randomInt = function randomInt() {\n      if (typeof arguments[2] !== 'function') {\n        // randomInt is sync if the third arg is undefined\n        io(randomIntExpression, 'random')\n      }\n      return _randomInt.apply(this, arguments as any)\n    }\n  } catch {\n    console.error(\n      `Failed to install ${randomBytesExpression} extension. When using \\`experimental.dynamicIO\\` calling this function without a callback argument will not correctly trigger dynamic behavior.`\n    )\n  }\n\n  const generatePrimeSyncExpression =\n    \"`require('node:crypto').generatePrimeSync(...)`\"\n  try {\n    const _generatePrimeSync = nodeCrypto.generatePrimeSync\n    nodeCrypto.generatePrimeSync = function generatePrimeSync() {\n      io(generatePrimeSyncExpression, 'random')\n      return _generatePrimeSync.apply(this, arguments as any)\n    }\n  } catch {\n    console.error(\n      `Failed to install ${generatePrimeSyncExpression} extension. When using \\`experimental.dynamicIO\\` calling this function will not correctly trigger dynamic behavior.`\n    )\n  }\n\n  const generateKeyPairSyncExpression =\n    \"`require('node:crypto').generateKeyPairSync(...)`\"\n  try {\n    const _generateKeyPairSync = nodeCrypto.generateKeyPairSync\n    nodeCrypto.generateKeyPairSync = function generateKeyPairSync() {\n      io(generateKeyPairSyncExpression, 'random')\n      return _generateKeyPairSync.apply(this, arguments as any)\n    }\n  } catch {\n    console.error(\n      `Failed to install ${generateKeyPairSyncExpression} extension. When using \\`experimental.dynamicIO\\` calling this function will not correctly trigger dynamic behavior.`\n    )\n  }\n\n  const generateKeySyncExpression =\n    \"`require('node:crypto').generateKeySync(...)`\"\n  try {\n    const _generateKeySync = nodeCrypto.generateKeySync\n    nodeCrypto.generateKeySync = function generateKeySync() {\n      io(generateKeySyncExpression, 'random')\n      return _generateKeySync.apply(this, arguments as any)\n    }\n  } catch {\n    console.error(\n      `Failed to install ${generateKeySyncExpression} extension. When using \\`experimental.dynamicIO\\` calling this function will not correctly trigger dynamic behavior.`\n    )\n  }\n}\n"],"names":["process","env","NEXT_RUNTIME","nodeCrypto","require","randomUUIDExpression","_randomUUID","randomUUID","io","apply","arguments","console","error","randomBytesExpression","_randomBytes","randomBytes","randomFillSyncExpression","_randomFillSync","randomFillSync","randomIntExpression","_randomInt","randomInt","generatePrimeSyncExpression","_generatePrimeSync","generatePrimeSync","generateKeyPairSyncExpression","_generateKeyPairSync","generateKeyPairSync","generateKeySyncExpression","_generateKeySync","generateKeySync"],"mappings":"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"}

Directory Contents

Dirs: 0 × Files: 18
Name Size Perms Modified Actions
11 B lrw-r--r-- 2025-03-28 11:04:44
Edit Download
2.29 KB lrw-r--r-- 2025-03-28 11:04:40
Edit Download
3.37 KB lrw-r--r-- 2025-03-28 11:04:43
Edit Download
11 B lrw-r--r-- 2025-03-28 11:04:45
Edit Download
252 B lrw-r--r-- 2025-03-28 11:04:40
Edit Download
344 B lrw-r--r-- 2025-03-28 11:04:44
Edit Download
469 B lrw-r--r-- 2025-03-28 11:04:45
Edit Download
5.06 KB lrw-r--r-- 2025-03-28 11:04:41
Edit Download
7.43 KB lrw-r--r-- 2025-03-28 11:04:44
Edit Download
435 B lrw-r--r-- 2025-03-28 11:04:45
Edit Download
1.18 KB lrw-r--r-- 2025-03-28 11:04:41
Edit Download
1.67 KB lrw-r--r-- 2025-03-28 11:04:44
Edit Download
125 B lrw-r--r-- 2025-03-28 11:04:45
Edit Download
2.84 KB lrw-r--r-- 2025-03-28 11:04:42
Edit Download
3.42 KB lrw-r--r-- 2025-03-28 11:04:44
Edit Download
468 B lrw-r--r-- 2025-03-28 11:04:45
Edit Download
1.79 KB lrw-r--r-- 2025-03-28 11:04:43
Edit Download
2.72 KB lrw-r--r-- 2025-03-28 11:04:44
Edit Download
If ZipArchive is unavailable, a .tar will be created (no compression).