mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-13 11:12:14 +00:00
Prettier (an auto formatter) is set to only run within the tgui folder currently. This removes that limitation, allowing it to automatically format all supported files in the repo (.js, .html, .yml [etc](https://prettier.io/docs/)) I made a few exceptions for bundled and generated files I'm of the opinion that code should look uniform and am lazy enough to want CTRL-S to format files without having to think beyond that
50 lines
1.1 KiB
JavaScript
50 lines
1.1 KiB
JavaScript
import fs from "fs";
|
|
|
|
const REGEX_COMMENT = /<!--.+?-->/g;
|
|
|
|
// Make sure we only remove default comments
|
|
const comments = [];
|
|
|
|
for (const match of fs
|
|
.readFileSync(".github/PULL_REQUEST_TEMPLATE.md", { encoding: "utf8" })
|
|
.matchAll(REGEX_COMMENT)) {
|
|
comments.push(match[0]);
|
|
}
|
|
|
|
function escapeRegex(string) {
|
|
return string.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&");
|
|
}
|
|
|
|
export async function removeGuideComments({ github, context }) {
|
|
const originalBody = (
|
|
await github.rest.pulls.get({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
pull_number: context.payload.pull_request.number,
|
|
})
|
|
).data.body;
|
|
|
|
if (!originalBody) {
|
|
console.log("PR body is empty, skipping...");
|
|
return;
|
|
}
|
|
|
|
let newBody = originalBody;
|
|
|
|
for (const comment of comments) {
|
|
newBody = newBody.replace(
|
|
new RegExp(`^\\s*${escapeRegex(comment)}\\s*`, "gm"),
|
|
"\n",
|
|
);
|
|
}
|
|
|
|
if (newBody !== originalBody) {
|
|
await github.rest.pulls.update({
|
|
pull_number: context.payload.pull_request.number,
|
|
repo: context.repo.repo,
|
|
owner: context.repo.owner,
|
|
body: newBody,
|
|
});
|
|
}
|
|
}
|