fix: Upgrade unbuild to resolve console warning issues and also deal with post-upgrade compatibility issues (#4009)
This commit is contained in:
@@ -1,9 +1,11 @@
|
||||
import type { Linter } from 'eslint';
|
||||
|
||||
export async function comments(): Promise<Linter.FlatConfig[]> {
|
||||
import { interopDefault } from '../util';
|
||||
|
||||
export async function comments(): Promise<Linter.Config[]> {
|
||||
const [pluginComments] = await Promise.all([
|
||||
// @ts-expect-error - no types
|
||||
import('eslint-plugin-eslint-comments'),
|
||||
interopDefault(import('eslint-plugin-eslint-comments')),
|
||||
] as const);
|
||||
|
||||
return [
|
||||
|
@@ -1,6 +1,6 @@
|
||||
import type { Linter } from 'eslint';
|
||||
|
||||
export async function disableds(): Promise<Linter.FlatConfig[]> {
|
||||
export async function disableds(): Promise<Linter.Config[]> {
|
||||
return [
|
||||
{
|
||||
files: ['**/__tests__/**/*.?([cm])[jt]s?(x)'],
|
||||
|
@@ -1,6 +1,6 @@
|
||||
import type { Linter } from 'eslint';
|
||||
|
||||
export async function ignores(): Promise<Linter.FlatConfig[]> {
|
||||
export async function ignores(): Promise<Linter.Config[]> {
|
||||
return [
|
||||
{
|
||||
ignores: [
|
||||
|
@@ -6,7 +6,7 @@ import js from '@eslint/js';
|
||||
import pluginUnusedImports from 'eslint-plugin-unused-imports';
|
||||
import globals from 'globals';
|
||||
|
||||
export async function javascript(): Promise<Linter.FlatConfig[]> {
|
||||
export async function javascript(): Promise<Linter.Config[]> {
|
||||
return [
|
||||
{
|
||||
languageOptions: {
|
||||
|
@@ -1,14 +1,15 @@
|
||||
import type { Linter } from 'eslint';
|
||||
|
||||
export async function jsdoc(): Promise<Linter.FlatConfig[]> {
|
||||
import { interopDefault } from '../util';
|
||||
|
||||
export async function jsdoc(): Promise<Linter.Config[]> {
|
||||
const [pluginJsdoc] = await Promise.all([
|
||||
import('eslint-plugin-jsdoc'),
|
||||
interopDefault(import('eslint-plugin-jsdoc')),
|
||||
] as const);
|
||||
|
||||
return [
|
||||
{
|
||||
plugins: {
|
||||
// @ts-expect-error - no types
|
||||
jsdoc: pluginJsdoc,
|
||||
},
|
||||
rules: {
|
||||
|
@@ -1,9 +1,11 @@
|
||||
import type { Linter } from 'eslint';
|
||||
|
||||
export async function jsonc(): Promise<Linter.FlatConfig[]> {
|
||||
import { interopDefault } from '../util';
|
||||
|
||||
export async function jsonc(): Promise<Linter.Config[]> {
|
||||
const [pluginJsonc, parserJsonc] = await Promise.all([
|
||||
import('eslint-plugin-jsonc'),
|
||||
import('jsonc-eslint-parser'),
|
||||
interopDefault(import('eslint-plugin-jsonc')),
|
||||
interopDefault(import('jsonc-eslint-parser')),
|
||||
] as const);
|
||||
|
||||
return [
|
||||
|
@@ -1,7 +1,9 @@
|
||||
import type { Linter } from 'eslint';
|
||||
|
||||
export async function node(): Promise<Linter.FlatConfig[]> {
|
||||
const [pluginNode] = await Promise.all([import('eslint-plugin-n')] as const);
|
||||
import { interopDefault } from '../util';
|
||||
|
||||
export async function node(): Promise<Linter.Config[]> {
|
||||
const pluginNode = await interopDefault(import('eslint-plugin-n'));
|
||||
|
||||
return [
|
||||
{
|
||||
|
@@ -2,7 +2,7 @@ import type { Linter } from 'eslint';
|
||||
|
||||
import perfectionistPlugin from 'eslint-plugin-perfectionist';
|
||||
|
||||
export async function perfectionist(): Promise<Linter.FlatConfig[]> {
|
||||
export async function perfectionist(): Promise<Linter.Config[]> {
|
||||
return [
|
||||
perfectionistPlugin.configs['recommended-natural'],
|
||||
{
|
||||
|
@@ -1,8 +1,10 @@
|
||||
import type { Linter } from 'eslint';
|
||||
|
||||
export async function prettier(): Promise<Linter.FlatConfig[]> {
|
||||
import { interopDefault } from '../util';
|
||||
|
||||
export async function prettier(): Promise<Linter.Config[]> {
|
||||
const [pluginPrettier] = await Promise.all([
|
||||
import('eslint-plugin-prettier'),
|
||||
interopDefault(import('eslint-plugin-prettier')),
|
||||
] as const);
|
||||
return [
|
||||
{
|
||||
|
@@ -1,8 +1,10 @@
|
||||
import type { Linter } from 'eslint';
|
||||
|
||||
export async function regexp(): Promise<Linter.FlatConfig[]> {
|
||||
import { interopDefault } from '../util';
|
||||
|
||||
export async function regexp(): Promise<Linter.Config[]> {
|
||||
const [pluginRegexp] = await Promise.all([
|
||||
import('eslint-plugin-regexp'),
|
||||
interopDefault(import('eslint-plugin-regexp')),
|
||||
] as const);
|
||||
|
||||
return [
|
||||
|
@@ -1,10 +1,12 @@
|
||||
import type { Linter } from 'eslint';
|
||||
|
||||
export async function test(): Promise<Linter.FlatConfig[]> {
|
||||
import { interopDefault } from '../util';
|
||||
|
||||
export async function test(): Promise<Linter.Config[]> {
|
||||
const [pluginTest, pluginNoOnlyTests] = await Promise.all([
|
||||
import('eslint-plugin-vitest'),
|
||||
interopDefault(import('eslint-plugin-vitest')),
|
||||
// @ts-expect-error - no types
|
||||
import('eslint-plugin-no-only-tests'),
|
||||
interopDefault(import('eslint-plugin-no-only-tests')),
|
||||
] as const);
|
||||
|
||||
return [
|
||||
|
@@ -1,9 +1,11 @@
|
||||
import type { Linter } from 'eslint';
|
||||
|
||||
export async function turbo(): Promise<Linter.FlatConfig[]> {
|
||||
import { interopDefault } from '../util';
|
||||
|
||||
export async function turbo(): Promise<Linter.Config[]> {
|
||||
const [pluginTurbo] = await Promise.all([
|
||||
// @ts-expect-error - no types
|
||||
import('eslint-config-turbo'),
|
||||
interopDefault(import('eslint-config-turbo')),
|
||||
] as const);
|
||||
|
||||
return [
|
||||
|
@@ -1,10 +1,12 @@
|
||||
import type { Linter } from 'eslint';
|
||||
|
||||
export async function typescript(): Promise<Linter.FlatConfig[]> {
|
||||
import { interopDefault } from '../util';
|
||||
|
||||
export async function typescript(): Promise<Linter.Config[]> {
|
||||
const [pluginTs, parserTs] = await Promise.all([
|
||||
import('@typescript-eslint/eslint-plugin'),
|
||||
interopDefault(import('@typescript-eslint/eslint-plugin')),
|
||||
// @ts-expect-error missing types
|
||||
import('@typescript-eslint/parser'),
|
||||
interopDefault(import('@typescript-eslint/parser')),
|
||||
] as const);
|
||||
|
||||
return [
|
||||
|
@@ -1,9 +1,10 @@
|
||||
import type { Linter } from 'eslint';
|
||||
|
||||
export async function unicorn(): Promise<Linter.FlatConfig[]> {
|
||||
import { interopDefault } from '../util';
|
||||
|
||||
export async function unicorn(): Promise<Linter.Config[]> {
|
||||
const [pluginUnicorn] = await Promise.all([
|
||||
// @ts-expect-error - missing types
|
||||
import('eslint-plugin-unicorn'),
|
||||
interopDefault(import('eslint-plugin-unicorn')),
|
||||
] as const);
|
||||
|
||||
return [
|
||||
|
@@ -1,12 +1,14 @@
|
||||
import type { Linter } from 'eslint';
|
||||
|
||||
export async function vue(): Promise<Linter.FlatConfig[]> {
|
||||
import { interopDefault } from '../util';
|
||||
|
||||
export async function vue(): Promise<Linter.Config[]> {
|
||||
const [pluginVue, parserVue, parserTs] = await Promise.all([
|
||||
// @ts-expect-error missing types
|
||||
import('eslint-plugin-vue'),
|
||||
import('vue-eslint-parser'),
|
||||
interopDefault(import('eslint-plugin-vue')),
|
||||
interopDefault(import('vue-eslint-parser')),
|
||||
// @ts-expect-error missing types
|
||||
import('@typescript-eslint/parser'),
|
||||
interopDefault(import('@typescript-eslint/parser')),
|
||||
] as const);
|
||||
|
||||
return [
|
||||
|
8
internal/lint-configs/eslint-config/src/util.ts
Normal file
8
internal/lint-configs/eslint-config/src/util.ts
Normal file
@@ -0,0 +1,8 @@
|
||||
export type Awaitable<T> = Promise<T> | T;
|
||||
|
||||
export async function interopDefault<T>(
|
||||
m: Awaitable<T>,
|
||||
): Promise<T extends { default: infer U } ? U : T> {
|
||||
const resolved = await m;
|
||||
return (resolved as any).default || resolved;
|
||||
}
|
Reference in New Issue
Block a user