UNPKG

one

Version:

One is a React framework for web, iOS, and Android apps.

1 lines • 1.55 kB
{"version":3,"file":"environment-guard.js","names":[],"sources":["esm/babel-plugins/environment-guard.js"],"sourcesContent":["import * as t from \"@babel/types\";\nconst GUARD_SPECIFIERS = [\n \"server-only\",\n \"client-only\",\n \"native-only\",\n \"web-only\"\n];\nconst ALLOWED_IN_NATIVE = [\"native-only\"];\nfunction environmentGuardBabelPlugin(_) {\n return {\n name: \"one-environment-guard\",\n visitor: {\n ImportDeclaration(path) {\n const source = path.node.source.value;\n if (!GUARD_SPECIFIERS.includes(source)) return;\n if (ALLOWED_IN_NATIVE.includes(source)) {\n path.remove();\n } else {\n path.replaceWith(\n t.throwStatement(\n t.newExpression(t.identifier(\"Error\"), [\n t.stringLiteral(`${source} cannot be imported in a native environment`)\n ])\n )\n );\n }\n }\n }\n };\n}\nvar environment_guard_default = environmentGuardBabelPlugin;\nexport {\n environment_guard_default as default\n};\n//# sourceMappingURL=environment-guard.js.map\n"],"mappings":";;;AACA,MAAM,mBAAmB;CACvB;CACA;CACA;CACA;AACF;AACA,MAAM,oBAAoB,CAAC,aAAa;AACxC,SAAS,4BAA4B,GAAG;CACtC,OAAO;EACL,MAAM;EACN,SAAS,EACP,kBAAkB,MAAM;GACtB,MAAM,SAAS,KAAK,KAAK,OAAO;GAChC,IAAI,CAAC,iBAAiB,SAAS,MAAM,GAAG;GACxC,IAAI,kBAAkB,SAAS,MAAM,GAAG;IACtC,KAAK,OAAO;GACd,OAAO;IACL,KAAK,YACH,EAAE,eACA,EAAE,cAAc,EAAE,WAAW,OAAO,GAAG,CACrC,EAAE,cAAc,GAAG,OAAO,4CAA4C,CACxE,CAAC,CACH,CACF;GACF;EACF,EACF;CACF;AACF;AACA,IAAI,4BAA4B"}