{"version":3,"sources":["../../scripts/postinstall.ts"],"names":[],"mappings":";;;;AAQO,IAAM,kBAAA,GAAqB,KAAK,IAAA,CAAK,SAAA,CAAQ,QAAQ,KAAK,CAAA,EAAG,IAAA,EAAM,IAAA,EAAM,IAAI;AAC7E,IAAM,gBAAA,GAAmB,IAAA,CAAK,IAAA,CAAK,kBAAA,EAAoB,cAAc;AAE5E,eAAe,eAAA,GAAkB;AAC/B,EAAA,MAAM,4BAA4B,MAAM,EAAA,CAAG,QAAA,CAAS,QAAA,CAAS,kBAAkB,OAAO,CAAA;AACtF,EAAA,MAAM,iBAAA,GAAoB,IAAA,CAAK,KAAA,CAAM,yBAAyB,CAAA;AAE9D,EAAA,MAAM,aAAa,iBAAA,CAAkB,OAAA;AAKrC,EAAA,UAAA,CAAW,WAAW,CAAA,CAAE,IAAA,GAAO,UAAA,CAAW,QAAQ,CAAA,CAAE,IAAA;AACpD,EAAA,UAAA,CAAW,QAAQ,CAAA,CAAE,OAAA,GAAU,UAAA,CAAW,WAAW,CAAA,CAAE,OAAA;AAGvD,EAAA,MAAM,EAAE,OAAA,EAAS,iBAAA,EAAmB,GAAG,yBAAA,EAA0B,GAAI,WAAW,QAAQ,CAAA;AACxF,EAAA,UAAA,CAAW,QAAQ,CAAA,GAAI,EAAE,OAAA,EAAS,iBAAA,EAAmB,GAAG,yBAAA,EAA0B;AAElF,EAAA,MAAM,gCAAA,GAAmC,IAAA,CAAK,SAAA,CAAU,iBAAA,EAAmB,MAAM,CAAC,CAAA;AAClF,EAAA,MAAM,EAAA,CAAG,QAAA,CAAS,SAAA,CAAU,gBAAA,EAAkB,gCAAgC,CAAA;AAChF;AAEA,eAAe,WAAA,GAAc;AAC3B,EAAA,MAAM,eAAA,EAAgB;AACxB;AAEO,IAAM,qBAAqB,WAAA","file":"postinstall.mjs","sourcesContent":["import { Override } from '@zimic/utils/types';\nimport fs from 'fs';\nimport type mswPackage from 'msw/package.json';\nimport path from 'path';\n\nexport type MSWPackage = typeof mswPackage;\nexport type MSWExports = MSWPackage['exports'];\n\nexport const MSW_ROOT_DIRECTORY = path.join(require.resolve('msw'), '..', '..', '..');\nexport const MSW_PACKAGE_PATH = path.join(MSW_ROOT_DIRECTORY, 'package.json');\n\nasync function patchMSWExports() {\n  const mswPackageContentAsString = await fs.promises.readFile(MSW_PACKAGE_PATH, 'utf-8');\n  const mswPackageContent = JSON.parse(mswPackageContentAsString) as MSWPackage;\n\n  const mswExports = mswPackageContent.exports as {\n    './browser': Override<MSWExports['./browser'], { node: MSWExports['./node']['node'] | string | null }>;\n    './node': Override<MSWExports['./node'], { browser: MSWExports['./browser']['browser'] | string | null }>;\n  };\n\n  mswExports['./browser'].node = mswExports['./node'].node;\n  mswExports['./node'].browser = mswExports['./browser'].browser;\n\n  // To avoid issues with export condition ordering, the browser export must be defined before the node export.\n  const { browser: browserNodeExport, ...nodeExportsWithoutBrowser } = mswExports['./node'];\n  mswExports['./node'] = { browser: browserNodeExport, ...nodeExportsWithoutBrowser };\n\n  const patchedMSWPackageContentAsString = JSON.stringify(mswPackageContent, null, 2);\n  await fs.promises.writeFile(MSW_PACKAGE_PATH, patchedMSWPackageContentAsString);\n}\n\nasync function postinstall() {\n  await patchMSWExports();\n}\n\nexport const postinstallPromise = postinstall();\n"]}