From 48e42d9cc659e40a5e97a7001015c3de24fe3c7b Mon Sep 17 00:00:00 2001 From: Pauline Date: Mon, 16 Sep 2024 06:05:49 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20fix:=20some=20rules?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Pauline --- .../eslint-config/src/configs/markdown.ts | 1 + .../eslint-config/src/configs/typescript.ts | 7 +++++- packages/eslint-config/src/globs.ts | 4 ++-- packages/eslint-config/src/index.ts | 6 ++--- .../src/types/configs/accessibility.ts | 4 ++-- packages/eslint-config/src/utils.ts | 22 +++++++++---------- 6 files changed, 25 insertions(+), 19 deletions(-) diff --git a/packages/eslint-config/src/configs/markdown.ts b/packages/eslint-config/src/configs/markdown.ts index d4498ff..63a1afa 100644 --- a/packages/eslint-config/src/configs/markdown.ts +++ b/packages/eslint-config/src/configs/markdown.ts @@ -64,6 +64,7 @@ export async function markdown(options: OptionsMarkdown = {}): Promise(value: T | T[]): T[] => Array.isArray(value) ? value * * export default [{ * plugins: { - * 'mine': myPlugin, - * 'mine1': myPlugin1, - * 'mine2': myPlugin2, + * mine: myPlugin, + * mine1: myPlugin1, + * mine2: myPlugin2, * }, * }]; * ``` @@ -177,24 +177,24 @@ export const isPackageInScope = (name: string): boolean => isPackageExists(name, * const chalk = interopDefault(import('chalk')); // ensures that the package is installed. add as devDependency for types * ``` */ -export async function ensurePackages(packages: (string | undefined)[]): Promise { +export async function ensurePackages(packages: string[]): Promise { if (process.env.CI || process.stdout.isTTY === false || isCwdInScope === false) return; - const nonExistingPackages = packages.filter(i => i && !isPackageInScope(i)) as string[]; + const packageExists = (i: string) => !isPackageInScope(i); + const nonExistingPackages = packages.filter(packageExists); if (nonExistingPackages.length === 0) return; - const result = await (await import('@clack/prompts')).confirm({ - message: `${nonExistingPackages.length === 1 ? 'Package is' : 'Packages are'} required for this config: ${nonExistingPackages.join(', ')}. Do you want to install them?`, - }); - if (result) - await import('@antfu/install-pkg').then(i => i.installPackage(nonExistingPackages, { dev: true })); + const message = `${nonExistingPackages.length === 1 ? 'Package is' : 'Packages are'} required for this config: ${nonExistingPackages.join(', ')}. Do you want to install them?`; + const installMissing = async () => await import('@antfu/install-pkg').then(i => i.installPackage(nonExistingPackages, { dev: true })); + + if (await (await import('@clack/prompts')).confirm({ message })) + installMissing(); } export type ResolveOptions = T extends boolean ? never : NonNullable; - export function resolveSubOptions(options: OptionsConfig, key: K): ResolveOptions { return typeof options[key] === 'boolean' ? {} as any : options[key] || {}; }