tailwindcss/src/util/cloneNodes.js
Jordan Pittman a1346c9a8e
Don't rewrite source maps for @layer rules (#8971)
* Cleanup

* Don’t rewrite source maps for `@layer` rules

* Update changelog
2022-07-27 12:19:08 -04:00

28 lines
686 B
JavaScript

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
})
}