UNPKG

@rstest/core

Version:
49 lines (48 loc) 2.66 kB
import 'module'; /*#__PURE__*/ import.meta.url; import { __webpack_require__ } from "./rslib-runtime.js"; import "./2672.js"; import { createRequire } from "./4881.js"; import { pathToFileURL } from "./6198.js"; import "./1157.js"; import { logger as logger_logger } from "./3278.js"; const picocolors = __webpack_require__("../../node_modules/.pnpm/picocolors@1.1.1/node_modules/picocolors/picocolors.js"); var picocolors_default = /*#__PURE__*/ __webpack_require__.n(picocolors); async function loadBrowserModule(options = {}) { const coreVersion = "0.7.9"; const { projectRoots = [] } = options; let browserModule; let browserVersion; const resolutionBases = [ ...projectRoots.map((projectRoot)=>pathToFileURL(`${projectRoot}/package.json`).href), pathToFileURL(`${process.cwd()}/package.json`).href, import.meta.url ]; const uniqueBases = [ ...new Set(resolutionBases) ]; for (const base of uniqueBases)try { const userRequire = createRequire(base); const browserPath = userRequire.resolve('@rstest/browser'); const browserPkgPath = userRequire.resolve('@rstest/browser/package.json'); browserModule = await import(pathToFileURL(browserPath).href); const browserPkg = userRequire(browserPkgPath); browserVersion = browserPkg.version; if (browserVersion !== coreVersion) { logger_logger.error(`\n${picocolors_default().red('Error:')} Version mismatch between ${picocolors_default().cyan('@rstest/core')} and ${picocolors_default().cyan('@rstest/browser')}.\n`); logger_logger.error(` @rstest/core version: ${picocolors_default().yellow(coreVersion)}\n @rstest/browser version: ${picocolors_default().yellow(browserVersion)}\n`); logger_logger.error(`Please ensure both packages have the same version:\n\n ${picocolors_default().cyan(`npm install @rstest/browser@${coreVersion}`)}\n`); process.exit(1); } return browserModule; } catch (error) { const err = error; if ('ERR_MODULE_NOT_FOUND' === err.code || 'MODULE_NOT_FOUND' === err.code) continue; throw error; } logger_logger.error(`\n${picocolors_default().red('Error:')} Browser mode requires ${picocolors_default().cyan('@rstest/browser')} to be installed.\n`); logger_logger.error(`Please install it with:\n\n ${picocolors_default().cyan(`npm install @rstest/browser@${coreVersion}`)}\n`); logger_logger.error(`Or if using pnpm:\n\n ${picocolors_default().cyan(`pnpm add @rstest/browser@${coreVersion}`)}\n`); process.exit(1); } export { loadBrowserModule };