ESLint 规则在 Angular 中排除某些关键字和短语?
Posted
技术标签:
【中文标题】ESLint 规则在 Angular 中排除某些关键字和短语?【英文标题】:ESLint Rule to Exclude Certain Keywords and Phrases in Angular? 【发布时间】:2020-04-09 07:12:10 【问题描述】:如果人们使用某些“关键字/短语”,我需要编写一个 Angular Typescript 规则来警告他们。 例如,如果关键字“Birthdate”或“SSN”直接在源文件中,它应该给出警告。
有人会如何编写这条规则来限制使用 ESLint 的单词?
目前正在研究,在***文章搜索存档中没有看到任何文章,
好奇如何操作下面的示例代码或(对任何其他解决方案开放),
我在“id-blacklist”下面应用了以下内容:[“SSN”,“Birthdate”],接收错误
https://eslint.org/docs/rules/id-blacklist
module.exports =
"env":
"browser": true,
"es6": true
,
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/eslint-recommended"
],
"globals":
"Atomics": "readonly",
"SharedArrayBuffer": "readonly"
,
"parser": "@typescript-eslint/parser",
"parserOptions":
"ecmaVersion": 2018,
"sourceType": "module"
,
"plugins": [
"@typescript-eslint"
],
"rules":
"id-blacklist": ["SSN","Birthdate"]
;
错误:
规则“id-blacklist”的配置无效:严重性应为以下之一:0 = 关闭、1 = 警告、2 = 错误
其他资源:
https://rangle.io/blog/custom-tslint-for-angular/
https://medium.com/@andrey.igorevich.borisov/writing-custom-tslint-rules-from-scratch-62e7f0237124
【问题讨论】:
嗯...您不认为 git pre-commit 挂钩可能是更好的选择吗? TSLint 不是被弃用了吗? 嗨@JaredSmith,我们的代码中已经有这样的示例,希望标记为警告 【参考方案1】:'no-restricted-syntax': [
'error',
'Literal[value=/^(special|zzz|xxx)$/i]',
'BinaryExpression[right.value = /^(special|zzz|xxx)$/i]',
],
这条规则对我有用,我的要求是我们不希望某些密钥成为 repo 中的硬代码。
如果您的代码如下所示,则会显示错误:
const t =
pp: 'special',
;
const tt = 'special',
const f = (arg) =>
return arg === 'special';
function ff(arg)
return arg === 'special';
【讨论】:
【参考方案2】:我通过管道检查完成了它,但您可以使用预提交,如下所示: Is it possible to ban a list of words with ESlint or anything else when pre-commit?
你可以像这样使用 ESlint [TSlint is deprecated] 来做到这一点: https://eslint.org/docs/rules/id-blacklist
【讨论】:
嗨,不要试图阻止预先提交,我希望它允许,只是警告 寻找编码示例,这有帮助 因此,如果对您有帮助,您可以查看第二个解决方案,请点赞并标记为答案。以上是关于ESLint 规则在 Angular 中排除某些关键字和短语?的主要内容,如果未能解决你的问题,请参考以下文章