diff options
| author | Philipp Tanlak <philipp.tanlak@gmail.com> | 2025-11-24 20:54:57 +0100 |
|---|---|---|
| committer | Philipp Tanlak <philipp.tanlak@gmail.com> | 2025-11-24 20:57:48 +0100 |
| commit | b1e2c8fd5cb5dfa46bc440a12eafaf56cd844b1c (patch) | |
| tree | 49d360fd6cbc6a2754efe93524ac47ff0fbe0f7d /node_modules/tailwindcss/src/util/cloneNodes.js | |
Docs
Diffstat (limited to 'node_modules/tailwindcss/src/util/cloneNodes.js')
| -rw-r--r-- | node_modules/tailwindcss/src/util/cloneNodes.js | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/node_modules/tailwindcss/src/util/cloneNodes.js b/node_modules/tailwindcss/src/util/cloneNodes.js new file mode 100644 index 0000000..299dd63 --- /dev/null +++ b/node_modules/tailwindcss/src/util/cloneNodes.js @@ -0,0 +1,28 @@ +export default function cloneNodes(nodes, source = undefined, raws = undefined) { + return nodes.map((node) => { + let cloned = node.clone() + + // We always want override the source map + // except when explicitly told not to + let shouldOverwriteSource = node.raws.tailwind?.preserveSource !== true || !cloned.source + + if (source !== undefined && shouldOverwriteSource) { + cloned.source = source + + if ('walk' in cloned) { + cloned.walk((child) => { + child.source = source + }) + } + } + + if (raws !== undefined) { + cloned.raws.tailwind = { + ...cloned.raws.tailwind, + ...raws, + } + } + + return cloned + }) +} |