Created
August 22, 2022 16:05
-
-
Save awcodes/b8846894a65fadfd81209a9bcd7e7625 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const fs = require("fs"); | |
const axios = require("axios").default; | |
function getStylesArray(css) { | |
return css | |
.split("}") | |
.map(function (rule) { | |
return rule ? rule.split("{")[0] : ""; | |
}) | |
.filter(function (rule, index, self) { | |
return self.indexOf(rule) === index; | |
}); | |
} | |
function getStylesSelectors(css) { | |
return css | |
.split("}") | |
.map(function (rule) { | |
return rule ? rule.trim() + "}" : ""; | |
}) | |
.filter(function (rule, index, self) { | |
return self.indexOf(rule) === index; | |
}); | |
} | |
const pluginCss = "./resources/dist/filament-curator.css"; | |
axios | |
.get("https://raw.githubusercontent.com/filamentphp/filament/2.x/packages/admin/dist/app.css") | |
.then(({ data }) => { | |
const pluginStylesRaw = fs.readFileSync(pluginCss, "utf8"); | |
const filamentStylesArray = getStylesArray(data); | |
let pluginStylesArray = getStylesArray(pluginStylesRaw); | |
let pluginStyles = getStylesSelectors(pluginStylesRaw); | |
diffedStyles = pluginStylesArray.filter((val) => !filamentStylesArray.includes(val)); | |
newPluginStyles = pluginStyles.filter((val) => { | |
return diffedStyles.includes(val.split("{")[0]); | |
}); | |
fs.writeFileSync(pluginCss, newPluginStyles.join("")); | |
}) | |
.catch((e) => console.log(e)); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment