monkeytype/frontend/scripts/fix-quote-lengths.cjs
Jack a067a32b7a
chore: move main linting to oxlint (@miodec) (#7144)
- main linting is now done by oxlint. eslint remains for linting json
files in the frontend (until oxlint adds support)
 - move type checking to the lint step (with --type-check)
this improves performance by removing a duplicated typescript parse task
(instead of parsing for linting then again for type checking, it parses
once for both)
- add a `lint-fast` npm script to get some fast fail behavior. it simply
lints with no type information
- oxc plugins are still in preview, so the custom plugin that checks for
`__testing` usage outside of tests runs outside the main linting job
until performance is improved
- fixes some type issues (and config issues) that were not visible due
to a missing type check on some files. now type checking will run on
every file that is linted
 - split up oxc config for easier management

waiting https://github.com/oxc-project/tsgolint/pull/494

seeing around 3x improvement in type aware linting
2025-12-15 22:16:16 +01:00

29 lines
734 B
JavaScript

// oxlint-disable no-require-imports
const fs = require("fs");
function fixQuoteLengths() {
return new Promise((resolve) => {
const quotesFiles = fs.readdirSync("../static/quotes/");
quotesFiles.forEach((quotefilename) => {
quotefilename = quotefilename.split(".")[0];
let quoteData = JSON.parse(
fs.readFileSync(`../static/quotes/${quotefilename}.json`, {
encoding: "utf8",
flag: "r",
}),
);
quoteData.quotes.forEach((quote) => {
quote.length = quote.text.length;
});
fs.writeFileSync(
`../static/quotes/${quotefilename}.json`,
JSON.stringify(quoteData, null, 2),
);
});
resolve();
});
}
fixQuoteLengths();