Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ESLint 9のflat configに移行する #349

Open
ha6-6ru opened this issue Jan 12, 2023 · 6 comments
Open

ESLint 9のflat configに移行する #349

ha6-6ru opened this issue Jan 12, 2023 · 6 comments
Labels
target: ガイド/AP開発手順 ドキュメントのガイド/アプリケーション開発手順に関係がある target: Azure AD B2C Auth Azure AD B2C認証の要件別サンプルに関係がある target: アーキテクチャ/CSR ドキュメントのアプリケーションアーキテクチャ/クライアントサイドレンダリングに関係がある target: Dressca サンプルアプリケーションDresscaに関係がある 中止状態 現在着手予定がない 定期的な確認が必要 他のサービスの不具合亜解消待ちなど、定期的な情報のアップデートが必要である
Milestone

Comments

@ha6-6ru
Copy link
Contributor

ha6-6ru commented Jan 12, 2023

概要

ESLintの新しいconfig(flat config)の実装が進んでいるので、経過を見て適用する。
https://eslint.org/blog/2022/08/new-config-system-part-1/

typescript-eslintおよび他のプラグインの状況を併せてウォッチする。
typescript-eslint/typescript-eslint#5908

完了条件

  • flat configへの移行完了
  • アーキテクチャCSR編の改修が完了していること
  • ガイド/AP開発手順Vue.js編の改修が完了していること
@ha6-6ru ha6-6ru added 要望 新機能や要望 dependencies Pull requests that update a dependency file labels Jan 12, 2023
@tsuna-can-se tsuna-can-se added this to the v0.7 milestone Jan 25, 2024
@tsuna-can-se tsuna-can-se added target: Dressca サンプルアプリケーションDresscaに関係がある target: ガイド/AP開発手順 ドキュメントのガイド/アプリケーション開発手順に関係がある target: アーキテクチャ/CSR ドキュメントのアプリケーションアーキテクチャ/クライアントサイドレンダリングに関係がある and removed 要望 新機能や要望 dependencies Pull requests that update a dependency file labels Jan 25, 2024
@tsuna-can-se tsuna-can-se modified the milestones: v0.7, v0.8 Feb 20, 2024
@tsuna-can-se tsuna-can-se modified the milestones: v0.8, v0.9 Mar 19, 2024
@1nu1taichi
Copy link
Contributor

Dresscaのeslintrc.cjsをマイグレーションすると以下のようになる

import { FlatCompat } from '@eslint/eslintrc';
import gitignore from 'eslint-config-flat-gitignore';
import js from '@eslint/js';

const compat = new FlatCompat();

export default [
  gitignore(),
  js.configs.recommended,
  ...compat.extends(
    'plugin:vue/vue3-recommended',
    '@vue/eslint-config-typescript/recommended',
    '@vue/eslint-config-prettier',
  ),
  {
    files: ['**/*.{vue,js,ts,jsx,tsx}'],
    languageOptions: {
      globals: {
        'vue/setup-compiler-macros': true,
      },
    },
    ignores: ['postcss.config.cjs', 'tailwind.config.js'],
  },
];

ただしoverridesの仕組みがなくなっており、Cypress関連ファイルのみプラグインとルールを適用する方法が判明していない。
eslintrcではoverrides-extendsと入れ子になっており、flat configでは入れ子でextendsができず、並列となってしまい、tsやvueファイルに対してもcypressプラグインがかかってしまう。

@tsuna-can-se tsuna-can-se assigned kharada7 and unassigned 1nu1taichi Mar 22, 2024
@KentaHizume
Copy link
Contributor

Vue.js関連のOSSでも対応が始まっているようです。

eslint-plugin-vue

@tsuna-can-se tsuna-can-se added the 定期的な確認が必要 他のサービスの不具合亜解消待ちなど、定期的な情報のアップデートが必要である label Jun 13, 2024
@tsuna-can-se tsuna-can-se modified the milestones: v0.9, v0.10 Jun 13, 2024
@tsuna-can-se tsuna-can-se modified the milestones: v0.10, v1.0 Sep 17, 2024
@KentaHizume
Copy link
Contributor

@KentaHizume KentaHizume changed the title ESLint's new config system ESLint 9のflat configに移行する Sep 24, 2024
@KentaHizume
Copy link
Contributor

ESLint 8系は2024/10/5にEOLになる。

https://eslint.org/version-support/

@tsuna-can-se tsuna-can-se modified the milestones: v1.0, v0.10.1 Sep 24, 2024
@tsuna-can-se tsuna-can-se added ドキュメント改善 target: Azure AD B2C Auth Azure AD B2C認証の要件別サンプルに関係がある labels Sep 24, 2024
@KentaHizume
Copy link
Contributor

@vue/eslint-config-prettier 10系以降でflat configをサポートするようになった。
一方で、10系以降では旧形式はサポートされない。

https://github.com/vuejs/eslint-config-prettier/releases/tag/v10.0.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
target: ガイド/AP開発手順 ドキュメントのガイド/アプリケーション開発手順に関係がある target: Azure AD B2C Auth Azure AD B2C認証の要件別サンプルに関係がある target: アーキテクチャ/CSR ドキュメントのアプリケーションアーキテクチャ/クライアントサイドレンダリングに関係がある target: Dressca サンプルアプリケーションDresscaに関係がある 中止状態 現在着手予定がない 定期的な確認が必要 他のサービスの不具合亜解消待ちなど、定期的な情報のアップデートが必要である
Projects
None yet
Development

No branches or pull requests

5 participants