UNPKG

@renzp/postcss-css-scoped

Version:
155 lines (152 loc) 5.4 kB
var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __esm = (fn, res) => function __init() { return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; }; var __commonJS = (cb, mod) => function __require() { return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; }; 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 __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod )); var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // ../../node_modules/.pnpm/tsup@5.12.9_@swc+core@1.5.7_postcss@8.4.38_typescript@4.9.5/node_modules/tsup/assets/cjs_shims.js var init_cjs_shims = __esm({ "../../node_modules/.pnpm/tsup@5.12.9_@swc+core@1.5.7_postcss@8.4.38_typescript@4.9.5/node_modules/tsup/assets/cjs_shims.js"() { } }); // ../../node_modules/.pnpm/hash-sum@2.0.0/node_modules/hash-sum/hash-sum.js var require_hash_sum = __commonJS({ "../../node_modules/.pnpm/hash-sum@2.0.0/node_modules/hash-sum/hash-sum.js"(exports, module2) { "use strict"; init_cjs_shims(); function pad(hash2, len) { while (hash2.length < len) { hash2 = "0" + hash2; } return hash2; } function fold(hash2, text) { var i; var chr; var len; if (text.length === 0) { return hash2; } for (i = 0, len = text.length; i < len; i++) { chr = text.charCodeAt(i); hash2 = (hash2 << 5) - hash2 + chr; hash2 |= 0; } return hash2 < 0 ? hash2 * -2 : hash2; } function foldObject(hash2, o, seen) { return Object.keys(o).sort().reduce(foldKey, hash2); function foldKey(hash3, key) { return foldValue(hash3, o[key], key, seen); } } function foldValue(input, value, key, seen) { var hash2 = fold(fold(fold(input, key), toString(value)), typeof value); if (value === null) { return fold(hash2, "null"); } if (value === void 0) { return fold(hash2, "undefined"); } if (typeof value === "object" || typeof value === "function") { if (seen.indexOf(value) !== -1) { return fold(hash2, "[Circular]" + key); } seen.push(value); var objHash = foldObject(hash2, value, seen); if (!("valueOf" in value) || typeof value.valueOf !== "function") { return objHash; } try { return fold(objHash, String(value.valueOf())); } catch (err) { return fold(objHash, "[valueOf exception]" + (err.stack || err.message)); } } return fold(hash2, value.toString()); } function toString(o) { return Object.prototype.toString.call(o); } function sum(o) { return pad(foldValue(0, o, "", []).toString(16), 8); } module2.exports = sum; } }); // src/index.ts var src_exports = {}; __export(src_exports, { default: () => src_default }); module.exports = __toCommonJS(src_exports); init_cjs_shims(); var import_hash_sum = __toESM(require_hash_sum()); var import_postcss_selector_parser = __toESM(require("postcss-selector-parser")); var plugin = (resourcePath) => { return { postcssPlugin: "postcss-css-scoped", Once(root) { root.each((node) => { if (!node.selector) { return; } node.selector = (0, import_postcss_selector_parser.default)((selectors) => { selectors.each((selector) => { let node2 = null; selector.each((n) => { if (n.type === "pseudo" && n.value === "::global") { n.value = n.spaces.before = n.spaces.after = ""; return false; } if (n.type !== "pseudo" && n.type !== "combinator") { node2 = n; } }); if (node2) { const path = resourcePath.replace(/\\/g, "/"); const id = (0, import_hash_sum.default)(path); node2.spaces.after = ""; selector.insertAfter( node2, import_postcss_selector_parser.default.attribute({ attribute: `data-scoped-${id}` }) ); } else { selector.first.spaces.before = ""; } }); }).processSync(node.selector); }); } }; }; plugin.postcss = true; var src_default = plugin; // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = {}); //# sourceMappingURL=index.js.map