UNPKG

one

Version:

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

64 lines (63 loc) 1.84 kB
import { relative } from "path"; import { normalizePath } from "vite"; var INLINE_CSS_RE = /\.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; }, resolveId: { filter: { id: INLINE_CSS_RE }, async handler(id, importer) { var resolved = await this.resolve(id, importer, { skipSelf: true }); if (resolved) { var relativePath = normalizePath(relative(root, resolved.id)); criticalCSSSources.add(relativePath); return resolved; } return null; } } }; } export { criticalCSSPlugin, getCriticalCSSOutputPaths, getCriticalCSSSources }; //# sourceMappingURL=criticalCSSPlugin.native.js.map