使用ESLint而不是PascalCase强制执行camelCase

时间:2019-09-17 19:32:19

标签: javascript eslint eslintrc

我正在为我的项目设置ESlint,我有一个问题。

我要执行以下操作:

public ActionResult Edit(Movie model) //renamed from movieToEdit
{
    if (ModelState.IsValid)
    {
        var movie= _db.Movies.Where(m => m.Id == model.Id).SingleOrDefault();            
        movie.x = model.x;
        movie.y = model.y;
        _db.SaveChanges();
        return RedirectToAction("Index");
    }
    return View(model);         
}

但不是这样:

class MyClass {

}

function awesomeFunction() {

}

let myVariable = "a";

我希望所有变量和函数都是camelCase(而不是PascalCase),所有类都是PascalCase(而不是camelCase)。

有人可以帮我吗? 预先感谢!

1 个答案:

答案 0 :(得分:0)

现在看来打字稿可能

根据https://github.com/typescript-eslint/typescript-eslint/pull/1318,您可以这样指定配置:

{
"@typescript-eslint/naming-conventions": ["error",
  { selector: "default", format: ["camelCase"] },

  { selector: "variableLike", format: ["camelCase"] },
  { selector: "variable", format: ["camelCase", "UPPER_CASE"] },
  { selector: "parameter", format: ["camelCase"], leadingUnderscore: "allow" },

  { selector: "memberLike", format: ["camelCase"] },
  { selector: "memberLike", modifiers: ["private"], format: ["camelCase"], leadingUnderscore: "require"  },

  { selector: "typeLike", format: ["PascalCase"] },
  { selector: "typeParameter", format: ["PascalCase"], prefix: ["T"] },

  { selector: "interface", format: ["PascalCase"], custom: { regex: "^I[A-Z]", match: false } },
],
}