UNPKG

vite-plugin-react-server

Version:
67 lines (64 loc) 9.6 kB
/** * vite-plugin-react-server * Copyright (c) Nico Brinkkemper * MIT License */ import { join } from 'node:path'; import { deserializeRegExp } from './serializeUserOptions.js'; import { DEFAULT_CONFIG } from '../config/defaults.js'; const createCssProps = ({ id, code, userOptions }) => { const { css, moduleRootPath } = userOptions; let inline = css?.inlineCss !== false && typeof code === "string" && (css?.inlineThreshold === 0 || code.length <= (css?.inlineThreshold ?? DEFAULT_CONFIG.CSS.inlineThreshold)); const [, value] = userOptions.normalizer(id); const moduleID = userOptions?.moduleID?.(value) ?? value; if (css.inlinePatterns?.length) { const inlinePatterns = css.inlinePatterns; if (inlinePatterns.some((pattern) => pattern.test?.(id))) { inline = true; } } if (css.linkPatterns?.length) { const linkPatterns = css.linkPatterns?.map( (pattern) => typeof pattern === "string" ? deserializeRegExp(pattern) : pattern ); if (linkPatterns.some((pattern) => pattern.test?.(id))) { inline = false; } } if (inline) { return { type: "text/css", id: moduleID, as: "style", children: code.trim(), ...process.env["NODE_ENV"] !== "production" ? { "data-vite-dev-id": join(moduleRootPath, moduleID) } : {} }; } const normalModuleBaseURL = !moduleID.startsWith(userOptions.moduleBaseURL) ? userOptions.moduleBaseURL + moduleID.slice( Number( moduleID.startsWith("/") && userOptions.moduleBaseURL.endsWith("/") ) ) : moduleID; const normalOrigin = !userOptions.moduleBaseURL.startsWith( userOptions.publicOrigin ) ? userOptions.publicOrigin + userOptions.moduleBaseURL.slice( Number( userOptions.publicOrigin.endsWith("/") && userOptions.moduleBaseURL.startsWith("/") ) ) : userOptions.moduleBaseURL; return { id: moduleID, as: "link", rel: "stylesheet", href: userOptions.publicOrigin !== "" ? new URL(normalModuleBaseURL, normalOrigin).href : normalModuleBaseURL, precedence: "high" }; }; export { createCssProps }; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlQ3NzUHJvcHMuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BsdWdpbi9oZWxwZXJzL2NyZWF0ZUNzc1Byb3BzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJlc29sdmVkVXNlck9wdGlvbnMsIENzc0NvbnRlbnQgfSBmcm9tIFwiLi4vdHlwZXMuanNcIjtcbmltcG9ydCB7IGpvaW4gfSBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgeyBkZXNlcmlhbGl6ZVJlZ0V4cCB9IGZyb20gXCIuL3NlcmlhbGl6ZVVzZXJPcHRpb25zLmpzXCI7XG5pbXBvcnQgeyBERUZBVUxUX0NPTkZJRyB9IGZyb20gXCIuLi9jb25maWcvZGVmYXVsdHMuanNcIjtcblxuLyoqXG4gKiBDcmVhdGVzIGEgQ3NzQ29udGVudCBvYmplY3QgZm9yIGEgZ2l2ZW4gcGF0aCBhbmQgY3NzIG9wdGlvbnNcbiAqXG4gKiBSZXF1aXJlbWVudHM6XG4gKiAtIHBhdGggaXMgYSBzdHJpbmdcbiAqIC0gY3NzIGlzIGFuIG9iamVjdCB3aXRoIHRoZSBmb2xsb3dpbmcgcHJvcGVydGllczpcbiAqICAgLSBpbmxpbmVDc3M6IGJvb2xlYW5cbiAqICAgLSBwdXJnZUNzczogYm9vbGVhblxuICogICAtIGlubGluZVRocmVzaG9sZDogbnVtYmVyXG4gKiAgIC0gaW5saW5lUGF0dGVybnM6IFJlZ0V4cFtdXG4gKiAgIC0gbGlua1BhdHRlcm5zOiBSZWdFeHBbXVxuICogYmFzZWQgb24gdGhlIGJ1bmRsZSwgd2UgcmV0cmlldmUgdGhlIGNzcyBjb250ZW50IGFuZCBjaGVjayBpZiBpdCBzaG91bGQgYmUgaW5saW5lZCBvciBsaW5rZWRcbiAqIGlubGluZWQgdGFncyBnZXQgdGhlIGFzOnN0eWxlIGFuZCB0aGUgY2hpbGRyZW4gYXJlIHRoZSBjc3MgY29udGVudFxuICogbGlua2VkIHRhZ3MgZ2V0IHRoZSBhczpsaW5rIGFuZCB0aGUgaHJlZiBpcyB0aGUgcGF0aFxuICpcbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggdG8gdGhlIGNzcyBmaWxlXG4gKiBAcGFyYW0gY3NzIC0gVGhlIGNzcyBvcHRpb25zXG4gKiBAcmV0dXJucyBBIENzc0NvbnRlbnQgb2JqZWN0XG4gKi9cbmV4cG9ydCBjb25zdCBjcmVhdGVDc3NQcm9wcyA9ICh7XG4gIGlkLFxuICBjb2RlLFxuICB1c2VyT3B0aW9ucyxcbn06IHtcbiAgaWQ6IHN0cmluZztcbiAgY29kZTogc3RyaW5nO1xuICB1c2VyT3B0aW9uczogUGljazxcbiAgICBSZXNvbHZlZFVzZXJPcHRpb25zLFxuICAgIHwgXCJjc3NcIlxuICAgIHwgXCJtb2R1bGVCYXNlVVJMXCJcbiAgICB8IFwibW9kdWxlQmFzZVBhdGhcIlxuICAgIHwgXCJtb2R1bGVSb290UGF0aFwiXG4gICAgfCBcInByb2plY3RSb290XCJcbiAgICB8IFwibm9ybWFsaXplclwiXG4gICAgfCBcIm1vZHVsZUlEXCJcbiAgICB8IFwicHVibGljT3JpZ2luXCJcbiAgPjtcbn0pOiBDc3NDb250ZW50PGJvb2xlYW4+ID0+IHtcbiAgY29uc3QgeyBjc3MsIG1vZHVsZVJvb3RQYXRoIH0gPSB1c2VyT3B0aW9ucztcbiAgLy8gSWYgd2UgZG9uJ3QgaGF2ZSBhIGJ1bmRsZSBlbnRyeSwgY3JlYXRlIGEgbGlua2VkIENTUyBmaWxlXG4gIGxldCBpbmxpbmUgPVxuICAgIGNzcz8uaW5saW5lQ3NzICE9PSBmYWxzZSAmJlxuICAgIHR5cGVvZiBjb2RlID09PSBcInN0cmluZ1wiICYmXG4gICAgKGNzcz8uaW5saW5lVGhyZXNob2xkID09PSAwIHx8IGNvZGUubGVuZ3RoIDw9IChjc3M/LmlubGluZVRocmVzaG9sZCA/PyBERUZBVUxUX0NPTkZJRy5DU1MuaW5saW5lVGhyZXNob2xkKSk7XG4gIC8vIE5vcm1hbGl6ZSB0aGUgSUQgdG8gYmUgcmVsYXRpdmUgdG8gc3JjL1xuICBjb25zdCBbLCB2YWx1ZV0gPSB1c2VyT3B0aW9ucy5ub3JtYWxpemVyKGlkKTtcbiAgY29uc3QgbW9kdWxlSUQgPSB1c2VyT3B0aW9ucz8ubW9kdWxlSUQ/Lih2YWx1ZSkgPz8gdmFsdWU7XG4gIGlmIChjc3MuaW5saW5lUGF0dGVybnM/Lmxlbmd0aCkge1xuICAgIC8vIERlc2VyaWFsaXplIFJlZ0V4cCBwYXR0ZXJucyBpZiB0aGV5IGV4aXN0XG4gICAgY29uc3QgaW5saW5lUGF0dGVybnMgPSBjc3MuaW5saW5lUGF0dGVybnM7XG4gICAgaWYgKGlubGluZVBhdHRlcm5zLnNvbWUoKHBhdHRlcm4pID0+IHBhdHRlcm4udGVzdD8uKGlkKSkpIHtcbiAgICAgIGlubGluZSA9IHRydWU7XG4gICAgfVxuICB9XG4gIGlmIChjc3MubGlua1BhdHRlcm5zPy5sZW5ndGgpIHtcbiAgICBjb25zdCBsaW5rUGF0dGVybnMgPSBjc3MubGlua1BhdHRlcm5zPy5tYXAoKHBhdHRlcm4pID0+XG4gICAgICB0eXBlb2YgcGF0dGVybiA9PT0gXCJzdHJpbmdcIiA/IGRlc2VyaWFsaXplUmVnRXhwKHBhdHRlcm4pIDogcGF0dGVyblxuICAgICk7XG4gICAgaWYgKGxpbmtQYXR0ZXJucy5zb21lKChwYXR0ZXJuKSA9PiBwYXR0ZXJuLnRlc3Q/LihpZCkpKSB7XG4gICAgICBpbmxpbmUgPSBmYWxzZTtcbiAgICB9XG4gIH1cbiAgaWYgKGlubGluZSkge1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiBcInRleHQvY3NzXCIsXG4gICAgICBpZDogbW9kdWxlSUQsXG4gICAgICBhczogXCJzdHlsZVwiLFxuICAgICAgY2hpbGRyZW46IGNvZGUudHJpbSgpLFxuICAgICAgLi4uKHByb2Nlc3MuZW52W1wiTk9ERV9FTlZcIl0gIT09IFwicHJvZHVjdGlvblwiXG4gICAgICAgID8ge1xuICAgICAgICAgICAgXCJkYXRhLXZpdGUtZGV2LWlkXCI6IGpvaW4obW9kdWxlUm9vdFBhdGgsIG1vZHVsZUlEKSxcbiAgICAgICAgICB9XG4gICAgICAgIDoge30pLFxuICAgIH0gYXMgQ3NzQ29udGVudDxib29sZWFuPjtcbiAgfVxuICBjb25zdCBub3JtYWxNb2R1bGVCYXNlVVJMID0gIW1vZHVsZUlELnN0YXJ0c1dpdGgodXNlck9wdGlvbnMubW9kdWxlQmFzZVVSTClcbiAgICA/IHVzZXJPcHRpb25zLm1vZHVsZUJhc2VVUkwgK1xuICAgICAgbW9kdWxlSUQuc2xpY2UoXG4gICAgICAgIE51bWJlcihcbiAgICAgICAgICBtb2R1bGVJRC5zdGFydHNXaXRoKFwiL1wiKSAmJiB1c2VyT3B0aW9ucy5tb2R1bGVCYXNlVVJMLmVuZHNXaXRoKFwiL1wiKVxuICAgICAgICApXG4gICAgICApXG4gICAgOiBtb2R1bGVJRDtcbiAgY29uc3Qgbm9ybWFsT3JpZ2luID0gIXVzZXJPcHRpb25zLm1vZHVsZUJhc2VVUkwuc3RhcnRzV2l0aChcbiAgICB1c2VyT3B0aW9ucy5wdWJsaWNPcmlnaW5cbiAgKVxuICAgID8gdXNlck9wdGlvbnMucHVibGljT3JpZ2luICtcbiAgICAgIHVzZXJPcHRpb25zLm1vZHVsZUJhc2VVUkwuc2xpY2UoXG4gICAgICAgIE51bWJlcihcbiAgICAgICAgICB1c2VyT3B0aW9ucy5wdWJsaWNPcmlnaW4uZW5kc1dpdGgoXCIvXCIpICYmXG4gICAgICAgICAgICB1c2VyT3B0aW9ucy5tb2R1bGVCYXNlVVJMLnN0YXJ0c1dpdGgoXCIvXCIpXG4gICAgICAgIClcbiAgICAgIClcbiAgICA6IHVzZXJPcHRpb25zLm1vZHVsZUJhc2VVUkw7XG4gIC8vIERlZmF1bHQgY2FzZVxuICByZXR1cm4ge1xuICAgIGlkOiBtb2R1bGVJRCxcbiAgICBhczogXCJsaW5rXCIsXG4gICAgcmVsOiBcInN0eWxlc2hlZXRcIixcbiAgICBocmVmOlxuICAgICAgdXNlck9wdGlvbnMucHVibGljT3JpZ2luICE9PSBcIlwiXG4gICAgICAgID8gbmV3IFVSTChub3JtYWxNb2R1bGVCYXNlVVJMLCBub3JtYWxPcmlnaW4pLmhyZWZcbiAgICAgICAgOiBub3JtYWxNb2R1bGVCYXNlVVJMLFxuICAgIHByZWNlZGVuY2U6IFwiaGlnaFwiLFxuICB9IGFzIENzc0NvbnRl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