UNPKG

one

Version:

One is a new React Framework that makes Vite serve both native and web.

136 lines (131 loc) 5.65 kB
"use strict"; var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf, __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: !0 }); }, __copyProps = (to, from, except, desc) => { if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); return to; }; var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( // If the importer is in node compatibility mode or this is not an ESM // file that has been converted to a CommonJS file using a Babel- // compatible transform (i.e. "__esModule" has not been set), then set // "default" to the CommonJS "module.exports" for node compatibility. isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target, mod)), __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod); var easPrebuild_exports = {}; __export(easPrebuild_exports, { run: () => run }); module.exports = __toCommonJS(easPrebuild_exports); var import_fs = __toESM(require("fs"), 1), import_path = __toESM(require("path"), 1), import_loadConfig = require("../vite/loadConfig.native.js"), import_getRouterRootFromOneOptions = require("../utils/getRouterRootFromOneOptions.native.js"); function _type_of(obj) { "@swc/helpers - typeof"; return obj && typeof Symbol < "u" && obj.constructor === Symbol ? "symbol" : typeof obj; } var GENERATED_COMMENT = `// auto-generated by "one eas-prebuild" - do not edit manually // regenerate with: npx one eas-prebuild `; async function run() { var _oneOptions_react, root = process.cwd(); console.info("one eas-prebuild: generating EAS build configs..."), process.env.IS_VXRN_CLI = "true"; var { oneOptions } = await (0, import_loadConfig.loadUserOneOptions)("build", !0), routerRoot = (0, import_getRouterRootFromOneOptions.getRouterRootFromOneOptions)(oneOptions), setupFile = oneOptions.setupFile, reactCompiler = (_oneOptions_react = oneOptions.react) === null || _oneOptions_react === void 0 ? void 0 : _oneOptions_react.compiler, useReactCompiler = reactCompiler === !0 || reactCompiler === "native" || (typeof reactCompiler > "u" ? "undefined" : _type_of(reactCompiler)) === "object", hasReanimated = checkDependency(root, "react-native-reanimated"), babelConfig = generateBabelConfig({ routerRoot, setupFile, useReactCompiler, hasReanimated }), babelPath = import_path.default.join(root, "babel.config.cjs"); import_fs.default.writeFileSync(babelPath, babelConfig), console.info(` \u2713 wrote ${import_path.default.relative(root, babelPath)}`); var metroConfig = generateMetroConfig(), metroPath = import_path.default.join(root, "metro.config.cjs"); import_fs.default.writeFileSync(metroPath, metroConfig), console.info(` \u2713 wrote ${import_path.default.relative(root, metroPath)}`), console.info("one eas-prebuild: done"); } function checkDependency(root, pkg) { try { var _pkgJson_dependencies, _pkgJson_devDependencies, pkgJsonPath = import_path.default.join(root, "package.json"), pkgJson = JSON.parse(import_fs.default.readFileSync(pkgJsonPath, "utf-8")); return !!(!((_pkgJson_dependencies = pkgJson.dependencies) === null || _pkgJson_dependencies === void 0) && _pkgJson_dependencies[pkg] || !((_pkgJson_devDependencies = pkgJson.devDependencies) === null || _pkgJson_devDependencies === void 0) && _pkgJson_devDependencies[pkg]); } catch { return !1; } } function generateBabelConfig(param) { var { routerRoot, setupFile, useReactCompiler, hasReanimated } = param, setupFileArg = setupFile ? typeof setupFile == "string" ? `'${setupFile}'` : `{ ${Object.entries(setupFile).filter(function (param2) { var [, v] = param2; return v; }).map(function (param2) { var [k, v] = param2; return `${k}: '${v}'`; }).join(", ")} }` : "undefined", prePlugins = [], postPlugins = []; useReactCompiler && prePlugins.push("'babel-plugin-react-compiler'"), hasReanimated && postPlugins.push("'react-native-reanimated/plugin'"); var pluginsCode = function () { if (!prePlugins.length && !postPlugins.length) return "options.babelConfig?.plugins || []"; var parts = []; return prePlugins.length && parts.push(...prePlugins), parts.push("...(options.babelConfig?.plugins || [])"), postPlugins.length && parts.push(...postPlugins), `[ ${parts.join(`, `)}, ]`; }(); return `${GENERATED_COMMENT} const { getViteMetroPluginOptions } = require('one/getViteMetroPluginOptions') const options = getViteMetroPluginOptions({ projectRoot: __dirname, relativeRouterRoot: '${routerRoot}', setupFile: ${setupFileArg}, }) module.exports = function (api) { api.cache(true) return { presets: ['babel-preset-expo'], plugins: ${pluginsCode}, } } `; } function generateMetroConfig() { return `${GENERATED_COMMENT} const { getDefaultConfig } = require('one/metro-eas') module.exports = getDefaultConfig(__dirname) `; } //# sourceMappingURL=easPrebuild.native.js.map