{"version":3,"file":"closure.js","names":[],"sources":["esm/native/closure.js"],"sourcesContent":["const FORBIDDEN_EXPO_PATTERN_SOURCES = [\n  \"^expo$\",\n  \"^expo-.*\",\n  \"^@expo/.*\",\n  \"^expo-modules-core$\",\n  \"^@expo/config-plugins$\",\n  \"^babel-preset-expo$\"\n];\nconst FORBIDDEN_EXPO_PATTERNS = FORBIDDEN_EXPO_PATTERN_SOURCES.map(\n  (source) => new RegExp(source)\n);\nfunction isForbiddenExpoSpecifier(specifier) {\n  const bare = specifier.split(\"?\")[0].split(\"#\")[0];\n  const name = bare.startsWith(\"@\") ? bare.split(\"/\").slice(0, 2).join(\"/\") : bare.split(\"/\")[0];\n  return FORBIDDEN_EXPO_PATTERNS.some((pattern) => pattern.test(name));\n}\nfunction findForbiddenDependencies(resolved) {\n  const names = Array.isArray(resolved) ? resolved : Object.keys(resolved);\n  return [...new Set(names.filter(isForbiddenExpoSpecifier))].sort();\n}\nfunction auditUnpackedManifest(manifest) {\n  return findForbiddenDependencies({\n    ...manifest.dependencies,\n    ...manifest.devDependencies,\n    ...manifest.peerDependencies\n  });\n}\nfunction createResolutionRecorder() {\n  const events = [];\n  return {\n    record(specifier, importer) {\n      if (isForbiddenExpoSpecifier(specifier)) {\n        throw new Error(`[one] forbidden expo specifier resolves: \"${specifier}\"`);\n      }\n      if (specifier.includes(\"/expo/\") || specifier.includes(\"expo-modules-core\")) {\n        throw new Error(`[one] forbidden expo source path resolves: \"${specifier}\"`);\n      }\n      events.push({ specifier, importer });\n    },\n    events() {\n      return [...events];\n    }\n  };\n}\nexport {\n  FORBIDDEN_EXPO_PATTERN_SOURCES,\n  auditUnpackedManifest,\n  createResolutionRecorder,\n  findForbiddenDependencies,\n  isForbiddenExpoSpecifier\n};\n//# sourceMappingURL=closure.js.map\n"],"mappings":";AAAA,MAAM,iCAAiC;CACrC;CACA;CACA;CACA;CACA;CACA;AACF;AACA,MAAM,0BAA0B,+BAA+B,KAC5D,WAAW,IAAI,OAAO,MAAM,CAC/B;AACA,SAAS,yBAAyB,WAAW;CAC3C,MAAM,OAAO,UAAU,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;CAChD,MAAM,OAAO,KAAK,WAAW,GAAG,IAAI,KAAK,MAAM,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,KAAK,MAAM,GAAG,CAAC,CAAC;CAC5F,OAAO,wBAAwB,MAAM,YAAY,QAAQ,KAAK,IAAI,CAAC;AACrE;AACA,SAAS,0BAA0B,UAAU;CAC3C,MAAM,QAAQ,MAAM,QAAQ,QAAQ,IAAI,WAAW,OAAO,KAAK,QAAQ;CACvE,OAAO,CAAC,GAAG,IAAI,IAAI,MAAM,OAAO,wBAAwB,CAAC,CAAC,CAAC,CAAC,KAAK;AACnE;AACA,SAAS,sBAAsB,UAAU;CACvC,OAAO,0BAA0B;EAC/B,GAAG,SAAS;EACZ,GAAG,SAAS;EACZ,GAAG,SAAS;CACd,CAAC;AACH;AACA,SAAS,2BAA2B;CAClC,MAAM,SAAS,CAAC;CAChB,OAAO;EACL,OAAO,WAAW,UAAU;GAC1B,IAAI,yBAAyB,SAAS,GAAG;IACvC,MAAM,IAAI,MAAM,6CAA6C,UAAU,EAAE;GAC3E;GACA,IAAI,UAAU,SAAS,QAAQ,KAAK,UAAU,SAAS,mBAAmB,GAAG;IAC3E,MAAM,IAAI,MAAM,+CAA+C,UAAU,EAAE;GAC7E;GACA,OAAO,KAAK;IAAE;IAAW;GAAS,CAAC;EACrC;EACA,SAAS;GACP,OAAO,CAAC,GAAG,MAAM;EACnB;CACF;AACF"}