UNPKG

one

Version:

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

59 lines (58 loc) 1.74 kB
import { relative } from "path"; var INLINE_CSS_EXT = ".inline.css"; var criticalCSSSources = /* @__PURE__ */new Set(); var root = ""; function getCriticalCSSSources() { return criticalCSSSources; } function getCriticalCSSOutputPaths(clientManifest) { var outputPaths = /* @__PURE__ */new Set(); var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0; try { for (var _iterator = Object.entries(clientManifest)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { var [sourceKey, entry] = _step.value; if (sourceKey.endsWith(".css") && criticalCSSSources.has(sourceKey)) { outputPaths.add(`/${entry.file}`); } } } catch (err) { _didIteratorError = true; _iteratorError = err; } finally { try { if (!_iteratorNormalCompletion && _iterator.return != null) { _iterator.return(); } } finally { if (_didIteratorError) { throw _iteratorError; } } } 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; var resolved = await this.resolve(id, importer, { skipSelf: true }); if (resolved) { var relativePath = relative(root, resolved.id); criticalCSSSources.add(relativePath); return resolved; } return null; } }; } export { criticalCSSPlugin, getCriticalCSSOutputPaths, getCriticalCSSSources }; //# sourceMappingURL=criticalCSSPlugin.native.js.map