one
Version:
One is a new React Framework that makes Vite serve both native and web.
60 lines (59 loc) • 2 kB
JavaScript
import { loadConfigFromFile } from "vite";
function setOneOptions(next) {
globalThis.__oneOptions = next;
}
function getUserOneOptions() {
if (!globalThis.__oneOptions) {
throw new Error(`One not loaded properly, is the one() plugin in your vite.config.ts?`);
}
return globalThis.__oneOptions;
}
async function loadUserOneOptions(command) {
var silent = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;
var originalConsoleError = console.error;
var previousIsVxrnCli = process.env.IS_VXRN_CLI;
var previousOneOptions = globalThis["__oneOptions"];
var previousVxrnPluginConfig = globalThis["__vxrnPluginConfig__"];
var previousVxrnMetroOptions = globalThis["__vxrnMetroOptions__"];
if (silent) {
console.error = function () {};
}
try {
process.env.IS_VXRN_CLI = "true";
delete globalThis["__oneOptions"];
delete globalThis["__vxrnPluginConfig__"];
delete globalThis["__vxrnMetroOptions__"];
var config = await loadConfigFromFile({
mode: command === "serve" ? "dev" : "prod",
command
});
if (!config) {
throw new Error(`No config config in ${process.cwd()}. Is this the correct directory?`);
}
var oneOptions = getUserOneOptions();
if (!oneOptions) {
throw new Error(`No One plugin config in this vite.config`);
}
return {
config,
oneOptions,
metroOptions: globalThis["__vxrnMetroOptions__"]
};
} catch (error) {
globalThis["__oneOptions"] = previousOneOptions;
globalThis["__vxrnPluginConfig__"] = previousVxrnPluginConfig;
globalThis["__vxrnMetroOptions__"] = previousVxrnMetroOptions;
throw error;
} finally {
if (previousIsVxrnCli === void 0) {
delete process.env.IS_VXRN_CLI;
} else {
process.env.IS_VXRN_CLI = previousIsVxrnCli;
}
if (silent) {
console.error = originalConsoleError;
}
}
}
export { loadUserOneOptions, setOneOptions };
//# sourceMappingURL=loadConfig.native.js.map