chore: 整理 third-party Dark Reader 目录并移除本地说明文件跟踪
This commit is contained in:
+73
@@ -0,0 +1,73 @@
|
||||
// @ts-check
|
||||
import {format} from 'prettier';
|
||||
|
||||
import {getDestDir} from './paths.js';
|
||||
import {PLATFORM} from './platform.js';
|
||||
import {createTask} from './task.js';
|
||||
import {readFile, writeFile, getPaths} from './utils.js';
|
||||
|
||||
/** @type {import('prettier').Options} */
|
||||
const options = {
|
||||
arrowParens: 'always',
|
||||
bracketSpacing: false,
|
||||
endOfLine: 'crlf',
|
||||
printWidth: 80,
|
||||
quoteProps: 'consistent',
|
||||
singleQuote: false,
|
||||
tabWidth: 4,
|
||||
trailingComma: 'none',
|
||||
};
|
||||
|
||||
const extensions = ['html', 'css', 'js'];
|
||||
|
||||
async function processAPIBuildModule(filepath) {
|
||||
const code = await readFile(filepath);
|
||||
const formatted = await format(code, {
|
||||
...options,
|
||||
filepath,
|
||||
});
|
||||
if (code !== formatted) {
|
||||
await writeFile(filepath, formatted);
|
||||
}
|
||||
}
|
||||
|
||||
async function processAPIBuild() {
|
||||
await processAPIBuildModule('darkreader.js');
|
||||
await processAPIBuildModule('darkreader.mjs');
|
||||
}
|
||||
|
||||
async function processExtensionPlatform(platform) {
|
||||
const dir = getDestDir({debug: false, platform});
|
||||
const files = await getPaths(extensions.map((ext) => `${dir}/**/*.${ext}`));
|
||||
for (const file of files) {
|
||||
const code = await readFile(file);
|
||||
const formatted = await format(code, {
|
||||
...options,
|
||||
filepath: file,
|
||||
});
|
||||
if (code !== formatted) {
|
||||
await writeFile(file, formatted);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
async function codeStyle({platforms, debug}) {
|
||||
if (debug) {
|
||||
throw new Error('code-style task does not support debug builds');
|
||||
}
|
||||
const promisses = [];
|
||||
if (platforms[PLATFORM.API]) {
|
||||
promisses.push(processAPIBuild());
|
||||
}
|
||||
Object.values(PLATFORM)
|
||||
.filter((platform) => platform !== PLATFORM.API && platforms[platform])
|
||||
.forEach((platform) => promisses.push(processExtensionPlatform(platform)));
|
||||
await Promise.all(promisses);
|
||||
}
|
||||
|
||||
const codeStyleTask = createTask(
|
||||
'code-style',
|
||||
codeStyle,
|
||||
);
|
||||
|
||||
export default codeStyleTask;
|
||||
Reference in New Issue
Block a user