mirror of
https://github.com/laurent22/joplin.git
synced 2024-12-24 10:27:10 +02:00
47 lines
1.2 KiB
TypeScript
47 lines
1.2 KiB
TypeScript
import yargs = require('yargs');
|
|
import { chdir } from 'process';
|
|
import { rootDir } from './tool-utils';
|
|
import { execCommand } from '@joplin/utils';
|
|
import { fileExtension } from '@joplin/utils/path';
|
|
|
|
const supportedExtensions = ['ts', 'tsx', 'md', 'mdx'];
|
|
|
|
const main = async () => {
|
|
const argv = await yargs.argv;
|
|
let filePaths = (argv._ as string[]) || [];
|
|
const processAll = !!argv.all;
|
|
|
|
filePaths = filePaths.filter(f => supportedExtensions.includes(fileExtension(f).toLowerCase()));
|
|
|
|
if (!processAll && !filePaths.length) return;
|
|
|
|
chdir(rootDir);
|
|
|
|
let cmd = [
|
|
'yarn', 'cspell',
|
|
'--no-progress',
|
|
'--no-summary',
|
|
'--config', 'cspell.json',
|
|
];
|
|
|
|
if (processAll) {
|
|
cmd.push(`**/*.{${supportedExtensions.join(',')}}`);
|
|
} else {
|
|
cmd = cmd.concat(filePaths);
|
|
}
|
|
|
|
try {
|
|
await execCommand(cmd, { showStderr: false, showStdout: false });
|
|
} catch (error) {
|
|
if (!error.stdout.trim()) return;
|
|
console.error(`The following spelling mistakes were found. Please check https://joplinapp.org/help/dev/spellcheck for\ninformation on how to deal with spelling mistakes.\n\n${error.stdout}`);
|
|
process.exit(1);
|
|
}
|
|
};
|
|
|
|
main().catch((error) => {
|
|
console.error('Fatal error');
|
|
console.error(error);
|
|
process.exit(1);
|
|
});
|