msw
1const CORE_ESM_IMPORT_PATTERN = /from ["'](~\/core(.*))["'](;)?/gm2const CORE_CJS_IMPORT_PATTERN = /require\(["'](~\/core(.*))["']\)(;)?/gm3
4function getCoreImportPattern(isEsm) {5return isEsm ? CORE_ESM_IMPORT_PATTERN : CORE_CJS_IMPORT_PATTERN6}
7
8function hasCoreImports(fileContents, isEsm) {9return getCoreImportPattern(isEsm).test(fileContents)10}
11
12function replaceCoreImports(fileContents, isEsm) {13return fileContents.replace(14getCoreImportPattern(isEsm),15(_, __, maybeSubmodulePath, maybeSemicolon) => {16const submodulePath = maybeSubmodulePath || '/index'17const semicolon = maybeSemicolon || ''18
19return isEsm20? `from "../core${submodulePath}"${semicolon}`21: `require("../core${submodulePath}")${semicolon}`22},23)24}
25
26module.exports = {27hasCoreImports,28replaceCoreImports,29}
30