UNPKG

one

Version:

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

66 lines 2.17 kB
var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", { value: true }), mod); var criticalCSSPlugin_exports = {}; __export(criticalCSSPlugin_exports, { criticalCSSPlugin: () => criticalCSSPlugin, getCriticalCSSOutputPaths: () => getCriticalCSSOutputPaths, getCriticalCSSSources: () => getCriticalCSSSources }); module.exports = __toCommonJS(criticalCSSPlugin_exports); var import_node_path = require("node:path"); const INLINE_CSS_EXT = ".inline.css"; const criticalCSSSources = /* @__PURE__ */new Set(); let root = ""; function getCriticalCSSSources() { return criticalCSSSources; } function getCriticalCSSOutputPaths(clientManifest) { const outputPaths = /* @__PURE__ */new Set(); for (const [sourceKey, entry] of Object.entries(clientManifest)) { if (sourceKey.endsWith(".css") && criticalCSSSources.has(sourceKey)) { outputPaths.add(`/${entry.file}`); } } return outputPaths; } function criticalCSSPlugin() { return { name: "one:critical-css", enforce: "pre", configResolved(config) { root = config.root; }, async resolveId(id, importer) { if (!id.endsWith(INLINE_CSS_EXT)) return null; const resolved = await this.resolve(id, importer, { skipSelf: true }); if (resolved) { const relativePath = (0, import_node_path.relative)(root, resolved.id); criticalCSSSources.add(relativePath); return resolved; } return null; } }; }