vite-plugin-react-server
Version:
Vite plugin for React Server Components (RSC)
40 lines (37 loc) • 4.4 kB
JavaScript
/**
* vite-plugin-react-server
* Copyright (c) Nico Brinkkemper
* MIT License
*/
import { hydrateUserOptions } from '../../helpers/hydrateUserOptions.js';
import { workerData } from 'node:worker_threads';
const safeWorkerUserOptions = (initMessage, workerDataOptions = workerData?.userOptions) => hydrateUserOptions({
...workerDataOptions,
...initMessage,
// Deep merge build config if both exist
build: {
...workerDataOptions,
...initMessage?.build
},
dev: {
...workerDataOptions,
...initMessage?.dev
},
css: {
...workerDataOptions,
...initMessage?.css
},
autoDiscover: {
...workerDataOptions,
...initMessage?.autoDiscover
}
});
const workerUserOptions = (initMessage, workerDataOptions = workerData?.userOptions) => {
const userOptionsResult = safeWorkerUserOptions(initMessage, workerDataOptions);
if (userOptionsResult.type === "error") {
throw userOptionsResult.error;
}
return userOptionsResult.userOptions;
};
export { safeWorkerUserOptions, workerUserOptions };
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2VyVXNlck9wdGlvbnMuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BsdWdpbi93b3JrZXIvcnNjL3dvcmtlclVzZXJPcHRpb25zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGh5ZHJhdGVVc2VyT3B0aW9ucyB9IGZyb20gXCIuLi8uLi9oZWxwZXJzL2h5ZHJhdGVVc2VyT3B0aW9ucy5qc1wiO1xuaW1wb3J0IHsgd29ya2VyRGF0YSB9IGZyb20gXCJub2RlOndvcmtlcl90aHJlYWRzXCI7XG5pbXBvcnQgdHlwZSB7IFNlcmlhbGl6YWJsZUhhbmRsZXJPcHRpb25zIH0gZnJvbSBcIi4uLy4uL2hlbHBlcnMvY3JlYXRlU2VyaWFsaXphYmxlSGFuZGxlck9wdGlvbnMuanNcIjtcblxuXG5leHBvcnQgY29uc3Qgc2FmZVdvcmtlclVzZXJPcHRpb25zID0gKFxuICBpbml0TWVzc2FnZTogUGljazxcbiAgICBTZXJpYWxpemFibGVIYW5kbGVyT3B0aW9ucyxcbiAgICB8IFwibW9kdWxlQmFzZVwiXG4gICAgfCBcIm1vZHVsZUJhc2VQYXRoXCJcbiAgICB8IFwibW9kdWxlQmFzZVVSTFwiXG4gICAgfCBcIm1vZHVsZVJvb3RQYXRoXCJcbiAgICB8IFwiYnVpbGRcIlxuICAgIHwgXCJkZXZcIlxuICAgIHwgXCJjc3NcIlxuICAgIHwgXCJhdXRvRGlzY292ZXJcIlxuICA+LFxuICB3b3JrZXJEYXRhT3B0aW9ucyA9IHdvcmtlckRhdGE/LnVzZXJPcHRpb25zXG4pID0+IGh5ZHJhdGVVc2VyT3B0aW9ucyh7XG4gICAgLi4ud29ya2VyRGF0YU9wdGlvbnMsXG4gICAgLi4uaW5pdE1lc3NhZ2UsXG4gICAgLy8gRGVlcCBtZXJnZSBidWlsZCBjb25maWcgaWYgYm90aCBleGlzdFxuICAgIGJ1aWxkOiB7XG4gICAgICAuLi53b3JrZXJEYXRhT3B0aW9ucyxcbiAgICAgIC4uLmluaXRNZXNzYWdlPy5idWlsZCxcbiAgICB9LFxuICAgIGRldjoge1xuICAgICAgLi4ud29ya2VyRGF0YU9wdGlvbnMsXG4gICAgICAuLi5pbml0TWVzc2FnZT8uZGV2LFxuICAgIH0sXG4gICAgY3NzOiB7XG4gICAgICAuLi53b3JrZXJEYXRhT3B0aW9ucyxcbiAgICAgIC4uLmluaXRNZXNzYWdlPy5jc3MsXG4gICAgfSxcbiAgICBhdXRvRGlzY292ZXI6IHtcbiAgICAgIC4uLndvcmtlckRhdGFPcHRpb25zLFxuICAgICAgLi4uaW5pdE1lc3NhZ2U/LmF1dG9EaXNjb3ZlcixcbiAgICB9LFxuICB9KTtcblxuZXhwb3J0IGNvbnN0IHdvcmtlclVzZXJPcHRpb25zID0gKFxuICBpbml0TWVzc2FnZTogUGljazxcbiAgICBTZXJpYWxpemFibGVIYW5kbGVyT3B0aW9ucyxcbiAgICB8IFwibW9kdWxlQmFzZVwiXG4gICAgfCBcIm1vZHVsZUJhc2VQYXRoXCJcbiAgICB8IFwibW9kdWxlQmFzZVVSTFwiXG4gICAgfCBcIm1vZHVsZVJvb3RQYXRoXCJcbiAgICB8IFwiYnVpbGRcIlxuICAgIHwgXCJkZXZcIlxuICAgIHwgXCJjc3NcIlxuICAgIHwgXCJhdXRvRGlzY292ZXJcIlxuICA+LFxuICB3b3JrZXJEYXRhT3B0aW9ucyA9IHdvcmtlckRhdGE/LnVzZXJPcHRpb25zXG4pID0+IHtcbiAgLy8gRmlyc3QgaHlkcmF0ZSB0aGUgYmFzZSB1c2VyIG9wdGlvbnMgZnJvbSB3b3JrZXJEYXRhXG4gIGNvbnN0IHVzZXJPcHRpb25zUmVzdWx0ID0gc2FmZVdvcmtlclVzZXJPcHRpb25zKGluaXRNZXNzYWdlLCB3b3JrZXJEYXRhT3B0aW9ucyk7XG4gIFxuICBpZiAodXNlck9wdGlvbnNSZXN1bHQudHlwZSA9PT0gXCJlcnJvclwiKSB7XG4gICAgdGhyb3cgdXNlck9wdGlvbnNSZXN1bHQuZXJyb3I7XG4gIH1cbiAgXG4gIHJldHVybiB1c2VyT3B0aW9uc1Jlc3VsdC51c2VyT3B0aW9ucztcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFLTyxNQUFNLHdCQUF3QixDQUNuQyxXQUFBLEVBV0EsaUJBQW9CLEdBQUEsVUFBQSxFQUFZLGdCQUM3QixrQkFBbUIsQ0FBQTtBQUFBLEVBQ3BCLEdBQUcsaUJBQUE7QUFBQSxFQUNILEdBQUcsV0FBQTtBQUFBO0FBQUEsRUFFSCxLQUFPLEVBQUE7QUFBQSxJQUNMLEdBQUcsaUJBQUE7QUFBQSxJQUNILEdBQUcsV0FBYSxFQUFBO0FBQUEsR0FDbEI7QUFBQSxFQUNBLEdBQUssRUFBQTtBQUFBLElBQ0gsR0FBRyxpQkFBQTtBQUFBLElBQ0gsR0FBRyxXQUFhLEVBQUE7QUFBQSxHQUNsQjtBQUFBLEVBQ0EsR0FBSyxFQUFBO0FBQUEsSUFDSCxHQUFHLGlCQUFBO0FBQUEsSUFDSCxHQUFHLFdBQWEsRUFBQTtBQUFBLEdBQ2xCO0FBQUEsRUFDQSxZQUFjLEVBQUE7QUFBQSxJQUNaLEdBQUcsaUJBQUE7QUFBQSxJQUNILEdBQUcsV0FBYSxFQUFBO0FBQUE7QUFFcEIsQ0FBQztBQUVJLE1BQU0saUJBQW9CLEdBQUEsQ0FDL0IsV0FXQSxFQUFBLGlCQUFBLEdBQW9CLFlBQVksV0FDN0IsS0FBQTtBQUVILEVBQU0sTUFBQSxpQkFBQSxHQUFvQixxQkFBc0IsQ0FBQSxXQUFBLEVBQWEsaUJBQWlCLENBQUE7QUFFOUUsRUFBSSxJQUFBLGlCQUFBLENBQWtCLFNBQVMsT0FBUyxFQUFBO0FBQ3RDLElBQUEsTUFBTSxpQkFBa0IsQ0FBQSxLQUFBO0FBQUE7QUFHMUIsRUFBQSxPQUFPLGlCQUFrQixDQUFBLFdBQUE7QUFDM0I7Ozs7In0=