te')); return $arr; } /* 遍历用户所有主题 * @param $uid 用户ID * @param int $page 页数 * @param int $pagesize 每页记录条数 * @param bool $desc 排序方式 TRUE降序 FALSE升序 * @param string $key 返回的数组用那一列的值作为 key * @param array $col 查询哪些列 */ function thread_tid_find_by_uid($uid, $page = 1, $pagesize = 1000, $desc = TRUE, $key = 'tid', $col = array()) { if (empty($uid)) return array(); $orderby = TRUE == $desc ? -1 : 1; $arr = thread_tid__find($cond = array('uid' => $uid), array('tid' => $orderby), $page, $pagesize, $key, $col); return $arr; } // 遍历栏目下tid 支持数组 $fid = array(1,2,3) function thread_tid_find_by_fid($fid, $page = 1, $pagesize = 1000, $desc = TRUE) { if (empty($fid)) return array(); $orderby = TRUE == $desc ? -1 : 1; $arr = thread_tid__find($cond = array('fid' => $fid), array('tid' => $orderby), $page, $pagesize, 'tid', array('tid', 'verify_date')); return $arr; } function thread_tid_delete($tid) { if (empty($tid)) return FALSE; $r = thread_tid__delete(array('tid' => $tid)); return $r; } function thread_tid_count() { $n = thread_tid__count(); return $n; } // 统计用户主题数 大数量下严谨使用非主键统计 function thread_uid_count($uid) { $n = thread_tid__count(array('uid' => $uid)); return $n; } // 统计栏目主题数 大数量下严谨使用非主键统计 function thread_fid_count($fid) { $n = thread_tid__count(array('fid' => $fid)); return $n; } ?>Eslint Plugin for Prettier Conflicting Rules - Stack Overflow
最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Eslint Plugin for Prettier Conflicting Rules - Stack Overflow

programmeradmin4浏览0评论

I'm using the eslint-plugin-prettier in a Next.js project.

This is what my eslint config looks like:

import { FlatCompat } from "@eslint/eslintrc";
import eslintPluginPrettierRecommended from "eslint-plugin-prettier/recommended";
import tailwind from "eslint-plugin-tailwindcss";
import path from "node:path";
import { fileURLToPath } from "node:url";

const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
const compat = new FlatCompat({
  baseDirectory: __dirname,
});

const eslintConfig = [
  ..pat.config({
    extends: ["next/core-web-vitals", "next/typescript"],
  }),
  ...tailwind.configs["flat/recommended"],
  {
    settings: {
      tailwindcss: {
        config: path.join(__dirname, "./tailwind.config.ts"),
      },
    },
  },
  eslintPluginPrettierRecommended,
  {
    rules: {
      "prettier/prettier": [
        "error",
        {
          tabWidth: 2,
          singleQuote: false,
          jsxSingleQuote: false,
          eslintIntegration: true,
          endOfLine: "auto",
        },
      ],
    },
  },
];

export default eslintConfig;

I added these shared VS Code settings to apply the eslint fixes on save:

{
  "prettier.enable": false,
  "[javascript][javascriptreact][typescript][typescriptreact]": {
    "editor.formatOnSave": false,
    "editor.tabSize": 2,
    "files.eol": "\n",

    // disable all vscode formatters. eslint will handle formatting (via eslint-plugin-prettier)
    "editor.defaultFormatter": null,

    // tell the ESLint plugin to run on save
    "editor.codeActionsOnSave": {
      "source.fixAll.eslint": "always",
      "sourceanizeImports": "explicit"
    }
  }
}

The problem

When I have a multi-line named export,

export {
  Breadcrumb,
  BreadcrumbEllipsis,
  BreadcrumbItem,
  BreadcrumbLink,
  BreadcrumbList,
  BreadcrumbPage,
  BreadcrumbSeparator //error here
};
//error here

It automatically runs eslint and applies fixes, but it leaves errors. I expected that a comma , is added after BreadcrumbSeparator since the default for trailingCommas is all.

I need to manually add the comma and remove the extra new-line to resolve the issues, which is annoying.

What's causing these conflicting application of rules? I made sure to remove any other .prettierrc or eslint config files. I also made sure to disable VS Code's prettier extension.

发布评论

评论列表(0)

  1. 暂无评论