vite-plugin-react-server
Version:
Vite plugin for React Server Components (RSC)
68 lines (65 loc) • 9.89 kB
JavaScript
/**
* vite-plugin-react-server
* Copyright (c) Nico Brinkkemper
* MIT License
*/
import { DEFAULT_CONFIG } from '../config/defaults.js';
function mergeMessageWithDefaults(message, defaultUserOptions = {}) {
const options = message.options || {};
const {
type = "INIT",
id,
route = options.route,
pagePath = options.pagePath,
propsPath = options.propsPath,
rootPath = options.rootPath,
htmlPath = options.htmlPath,
rootExportName = options.rootExportName ?? defaultUserOptions.rootExportName ?? DEFAULT_CONFIG.ROOT_EXPORT_NAME,
htmlExportName = options.htmlExportName ?? defaultUserOptions.htmlExportName ?? DEFAULT_CONFIG.HTML_EXPORT_NAME,
pageExportName = options.pageExportName ?? defaultUserOptions.pageExportName ?? DEFAULT_CONFIG.PAGE_EXPORT_NAME,
propsExportName = options.propsExportName ?? defaultUserOptions.propsExportName ?? DEFAULT_CONFIG.PROPS_EXPORT_NAME,
projectRoot = options.projectRoot ?? defaultUserOptions.projectRoot,
moduleRootPath = options.moduleRootPath ?? defaultUserOptions.moduleRootPath ?? "",
moduleBaseURL = options.moduleBaseURL ?? defaultUserOptions.moduleBaseURL ?? DEFAULT_CONFIG.MODULE_BASE_URL,
moduleBasePath = options.moduleBasePath ?? defaultUserOptions.moduleBasePath ?? DEFAULT_CONFIG.MODULE_BASE_PATH,
moduleBase = options.moduleBase ?? defaultUserOptions.moduleBase ?? "",
serverPipeableStreamOptions = options.serverPipeableStreamOptions ?? defaultUserOptions.serverPipeableStreamOptions,
verbose = options.verbose ?? defaultUserOptions.verbose ?? DEFAULT_CONFIG.VERBOSE,
build = options.build ?? defaultUserOptions.build ?? DEFAULT_CONFIG.BUILD,
rscTimeout = options.rscTimeout ?? defaultUserOptions.rscTimeout ?? DEFAULT_CONFIG.RSC_TIMEOUT,
panicThreshold = options.panicThreshold ?? defaultUserOptions.panicThreshold ?? DEFAULT_CONFIG.PANIC_THRESHOLD,
publicOrigin = options.publicOrigin ?? defaultUserOptions.publicOrigin ?? DEFAULT_CONFIG.PUBLIC_ORIGIN,
HtmlComponent: _htmlComponent = options.HtmlComponent,
// Ignore message component, use parameter
RootComponent: _rootComponent = options.RootComponent,
// Ignore message component, use parameter
...rest
} = { ...message, ...options };
return {
type,
id,
route,
pagePath,
propsPath,
rootPath,
htmlPath,
rootExportName,
htmlExportName,
pageExportName,
propsExportName,
projectRoot,
moduleRootPath,
moduleBaseURL,
moduleBasePath,
moduleBase,
serverPipeableStreamOptions,
verbose,
build,
rscTimeout,
panicThreshold,
publicOrigin,
...rest
};
}
export { mergeMessageWithDefaults };
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVyZ2VNZXNzYWdlV2l0aERlZmF1bHRzLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9wbHVnaW4vaGVscGVycy9tZXJnZU1lc3NhZ2VXaXRoRGVmYXVsdHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgREVGQVVMVF9DT05GSUcgfSBmcm9tIFwiLi4vY29uZmlnL2RlZmF1bHRzLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFJlc29sdmVkVXNlck9wdGlvbnMgfSBmcm9tIFwiLi4vdHlwZXMuanNcIjtcbmltcG9ydCB0eXBlIHsgUnNjUmVuZGVyTWVzc2FnZSB9IGZyb20gXCIuLi93b3JrZXIvcnNjL3R5cGVzLmpzXCI7XG5cbi8qKlxuICogTWVyZ2VzIG1lc3NhZ2UgdmFsdWVzIHdpdGggZGVmYXVsdHMsIHByaW9yaXRpemluZyBtZXNzYWdlIHZhbHVlc1xuICogXG4gKiBAcGFyYW0gbWVzc2FnZSAtIFRoZSBSU0MgcmVuZGVyIG1lc3NhZ2UgY29udGFpbmluZyB2YWx1ZXMgdG8gbWVyZ2VcbiAqIEBwYXJhbSBkZWZhdWx0VXNlck9wdGlvbnMgLSBEZWZhdWx0IHVzZXIgb3B0aW9ucyB0byBmYWxsIGJhY2sgdG9cbiAqIEByZXR1cm5zIE1lcmdlZCB2YWx1ZXMgd2l0aCBtZXNzYWdlIHZhbHVlcyB0YWtpbmcgcHJlY2VkZW5jZVxuICovXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2VNZXNzYWdlV2l0aERlZmF1bHRzKFxuICBtZXNzYWdlOiBSc2NSZW5kZXJNZXNzYWdlLFxuICBkZWZhdWx0VXNlck9wdGlvbnM6IFBhcnRpYWw8UmVzb2x2ZWRVc2VyT3B0aW9ucz4gPSB7fVxuKSB7XG4gIC8vIEV4dHJhY3Qgb3B0aW9ucyBmcm9tIHRoZSBuZXN0ZWQgc3RydWN0dXJlXG4gIGNvbnN0IG9wdGlvbnMgPSBtZXNzYWdlLm9wdGlvbnMgfHwge307XG4gIFxuICBjb25zdCB7XG4gICAgdHlwZSA9IFwiSU5JVFwiLFxuICAgIGlkLFxuICAgIHJvdXRlID0gb3B0aW9ucy5yb3V0ZSxcbiAgICBwYWdlUGF0aCA9IG9wdGlvbnMucGFnZVBhdGgsXG4gICAgcHJvcHNQYXRoID0gb3B0aW9ucy5wcm9wc1BhdGgsXG4gICAgcm9vdFBhdGggPSBvcHRpb25zLnJvb3RQYXRoLFxuICAgIGh0bWxQYXRoID0gb3B0aW9ucy5odG1sUGF0aCxcbiAgICByb290RXhwb3J0TmFtZSA9IG9wdGlvbnMucm9vdEV4cG9ydE5hbWUgPz8gZGVmYXVsdFVzZXJPcHRpb25zLnJvb3RFeHBvcnROYW1lID8/XG4gICAgICBERUZBVUxUX0NPTkZJRy5ST09UX0VYUE9SVF9OQU1FLFxuICAgIGh0bWxFeHBvcnROYW1lID0gb3B0aW9ucy5odG1sRXhwb3J0TmFtZSA/PyBkZWZhdWx0VXNlck9wdGlvbnMuaHRtbEV4cG9ydE5hbWUgPz9cbiAgICAgIERFRkFVTFRfQ09ORklHLkhUTUxfRVhQT1JUX05BTUUsXG4gICAgcGFnZUV4cG9ydE5hbWUgPSBvcHRpb25zLnBhZ2VFeHBvcnROYW1lID8/IGRlZmF1bHRVc2VyT3B0aW9ucy5wYWdlRXhwb3J0TmFtZSA/P1xuICAgICAgREVGQVVMVF9DT05GSUcuUEFHRV9FWFBPUlRfTkFNRSxcbiAgICBwcm9wc0V4cG9ydE5hbWUgPSBvcHRpb25zLnByb3BzRXhwb3J0TmFtZSA/PyBkZWZhdWx0VXNlck9wdGlvbnMucHJvcHNFeHBvcnROYW1lID8/XG4gICAgICBERUZBVUxUX0NPTkZJRy5QUk9QU19FWFBPUlRfTkFNRSxcbiAgICBwcm9qZWN0Um9vdCA9IG9wdGlvbnMucHJvamVjdFJvb3QgPz8gZGVmYXVsdFVzZXJPcHRpb25zLnByb2plY3RSb290LFxuICAgIG1vZHVsZVJvb3RQYXRoID0gb3B0aW9ucy5tb2R1bGVSb290UGF0aCA/PyBkZWZhdWx0VXNlck9wdGlvbnMubW9kdWxlUm9vdFBhdGggPz8gXCJcIixcbiAgICBtb2R1bGVCYXNlVVJMID0gb3B0aW9ucy5tb2R1bGVCYXNlVVJMID8/IGRlZmF1bHRVc2VyT3B0aW9ucy5tb2R1bGVCYXNlVVJMID8/XG4gICAgICBERUZBVUxUX0NPTkZJRy5NT0RVTEVfQkFTRV9VUkwsXG4gICAgbW9kdWxlQmFzZVBhdGggPSBvcHRpb25zLm1vZHVsZUJhc2VQYXRoID8/IGRlZmF1bHRVc2VyT3B0aW9ucy5tb2R1bGVCYXNlUGF0aCA/P1xuICAgICAgREVGQVVMVF9DT05GSUcuTU9EVUxFX0JBU0VfUEFUSCxcbiAgICBtb2R1bGVCYXNlID0gb3B0aW9ucy5tb2R1bGVCYXNlID8/IGRlZmF1bHRVc2VyT3B0aW9ucy5tb2R1bGVCYXNlID8/IFwiXCIsXG4gICAgc2VydmVyUGlwZWFibGVTdHJlYW1PcHRpb25zID0gb3B0aW9ucy5zZXJ2ZXJQaXBlYWJsZVN0cmVhbU9wdGlvbnMgPz8gZGVmYXVsdFVzZXJPcHRpb25zLnNlcnZlclBpcGVhYmxlU3RyZWFtT3B0aW9ucyxcbiAgICB2ZXJib3NlID0gb3B0aW9ucy52ZXJib3NlID8/IGRlZmF1bHRVc2VyT3B0aW9ucy52ZXJib3NlID8/IERFRkFVTFRfQ09ORklHLlZFUkJPU0UsXG4gICAgYnVpbGQgPSBvcHRpb25zLmJ1aWxkID8/IGRlZmF1bHRVc2VyT3B0aW9ucy5idWlsZCA/PyBERUZBVUxUX0NPTkZJRy5CVUlMRCxcbiAgICByc2NUaW1lb3V0ID0gb3B0aW9ucy5yc2NUaW1lb3V0ID8/IGRlZmF1bHRVc2VyT3B0aW9ucy5yc2NUaW1lb3V0ID8/IERFRkFVTFRfQ09ORklHLlJTQ19USU1FT1VULFxuICAgIHBhbmljVGhyZXNob2xkID0gb3B0aW9ucy5wYW5pY1RocmVzaG9sZCA/PyBkZWZhdWx0VXNlck9wdGlvbnMucGFuaWNUaHJlc2hvbGQgPz9cbiAgICAgIERFRkFVTFRfQ09ORklHLlBBTklDX1RIUkVTSE9MRCxcbiAgICBwdWJsaWNPcmlnaW4gPSBvcHRpb25zLnB1YmxpY09yaWdpbiA/PyBkZWZhdWx0VXNlck9wdGlvbnMucHVibGljT3JpZ2luID8/XG4gICAgICBERUZBVUxUX0NPTkZJRy5QVUJMSUNfT1JJR0lOLFxuICAgIEh0bWxDb21wb25lbnQ6IF9odG1sQ29tcG9uZW50ID0gb3B0aW9ucy5IdG1sQ29tcG9uZW50LCAvLyBJZ25vcmUgbWVzc2FnZSBjb21wb25lbnQsIHVzZSBwYXJhbWV0ZXJcbiAgICBSb290Q29tcG9uZW50OiBfcm9vdENvbXBvbmVudCA9IG9wdGlvbnMuUm9vdENvbXBvbmVudCwgLy8gSWdub3JlIG1lc3NhZ2UgY29tcG9uZW50LCB1c2UgcGFyYW1ldGVyXG4gICAgLi4ucmVzdFxuICB9ID0geyAuLi5tZXNzYWdlLCAuLi5vcHRpb25zIH07XG5cbiAgcmV0dXJuIHtcbiAgICB0eXBlLFxuICAgIGlkLFxuICAgIHJvdXRlLFxuICAgIHBhZ2VQYXRoLFxuICAgIHByb3BzUGF0aCxcbiAgICByb290UGF0aCxcbiAgICBodG1sUGF0aCxcbiAgICByb290RXhwb3J0TmFtZSxcbiAgICBodG1sRXhwb3J0TmFtZSxcbiAgICBwYWdlRXhwb3J0TmFtZSxcbiAgICBwcm9wc0V4cG9ydE5hbWUsXG4gICAgcHJvamVjdFJvb3QsXG4gICAgbW9kdWxlUm9vdFBhdGgsXG4gICAgbW9kdWxlQmFzZVVSTCxcbiAgICBtb2R1bGVCYXNlUGF0aCxcbiAgICBtb2R1bGVCYXNlLFxuICAgIHNlcnZlclBpcGVhYmxlU3RyZWFtT3B0aW9ucyxcbiAgICB2ZXJib3NlLFxuICAgIGJ1aWxkLFxuICAgIHJzY1RpbWVvdXQsXG4gICAgcGFuaWNUaHJlc2hvbGQsXG4gICAgcHVibGljT3JpZ2luLFxuICAgIC4uLnJlc3QsXG4gIH07XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQVdPLFNBQVMsd0JBQ2QsQ0FBQSxPQUFBLEVBQ0Esa0JBQW1ELEdBQUEsRUFDbkQsRUFBQTtBQUVBLEVBQU0sTUFBQSxPQUFBLEdBQVUsT0FBUSxDQUFBLE9BQUEsSUFBVyxFQUFDO0FBRXBDLEVBQU0sTUFBQTtBQUFBLElBQ0osSUFBTyxHQUFBLE1BQUE7QUFBQSxJQUNQLEVBQUE7QUFBQSxJQUNBLFFBQVEsT0FBUSxDQUFBLEtBQUE7QUFBQSxJQUNoQixXQUFXLE9BQVEs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