标签: eslintrc

为 .ejs 文件禁用 eslint

我的项目中有一个模板文件,在运行 eslint 时我面临着各种问题。其中一些是 -

error Parsing error: Unexpected token !

error Parsing error: Unexpected token <

为了克服这个问题,我尝试在没有帮助的情况下使用eslint-plugin-ejs。我也访问过下面的链接 -

关闭特定文件的 eslint 规则

ESLint 解析错误:意外的标记

神秘的 ESLint 解析错误

还有更多,但再次没有运气。现在我只想将此文件从 eslint 中排除,但找不到方法。任何帮助将不胜感激。

ejs node.js eslint eslintignore eslintrc

5
推荐指数
1
解决办法
4482
查看次数

在 .eslintrc.js 文件中使用导出默认值而不是 module.exports

我想在我的文件中使用export default obj而不是,因为我们在代码库中的其他任何地方都使用.module.exports = obj.eslintrc.jsexport

到目前为止没有运气,很难搜索这个问题。

我得到的错误:

> eslint src

Cannot read config file: src/.eslintrc.js
Error: Unexpected token export
src/.eslintrc.js:23
export default foo;
^^^^^^

SyntaxError: Unexpected token export
Run Code Online (Sandbox Code Playgroud)

javascript export node.js eslint eslintrc

5
推荐指数
1
解决办法
2421
查看次数

Sublime Text - 如何为每个项目启用 linter

我在多个 JavaScript 项目上进行合作。其中一些使用eslint,另一些使用standard。这是由不同且不相关的团队维护的项目,因此强迫他们使用相同的 linter 不是一个选择。

我使用 Sublime Text 3,似乎当我安装 SublimeLinter 插件,加上 SublimeLinter-contrib-standard 和 SublimeLinter-eslint 时,它们最终都会处于活动状态,因此不清楚何时在编辑器中突出显示错误,是哪个 linter 生成的它。

为了增加混乱,SublimeLinter-contrib-standard 提供了一个“保存格式”选项,该选项在保存文件时应用标准格式,例如删除所有分号。但对于依赖 eslint 并应用一组不同的 linter 规则的项目不应该这样做,例如它们可能确实使用分号。

那么,如何配置我的开发环境才能使用项目依赖的任何 linter?

我试过了:

  • 在项目的根目录上创建一个 .sublime-project 文件,指定 @disable: true 对于 linter 我不想处于活动状态,但它没有任何效果(请参阅http://www.sublimelinter.com /en/latest/settings.html#project-settings
  • 使用相同的选项创建 .sublimelinterrc ,但仍然没有效果。
  • 对标准 linter 禁用“保存时格式化”只能避免文件被修改的问题,但 linter 仍然处于活动状态并突出显示错误
  • 我读过这个 GitHub 问题,他们关闭了它,但后来有几个人报告说它对他们不起作用
  • 将文件添加到存储库不是问题,我可以提交 .eslintrc、.sublime.project 或任何有助于实现此目的的文件。正如前面提到的,我已经尝试过这个特定的文件,但没有成功。

如何为同一种语言(javascript)的每个项目启用不同的 linter?我想这一定是一个非常常见的用例,特别是对于在不同开源项目中协作的人们来说,这些项目可能遵循不同的编码标准。

我正在考虑切换到另一个可以更好地处理这个问题的编辑器。也许https://code.visualstudio.com/?如果有人对此有评论或其他编辑更好地处理这个问题,我也将不胜感激。

谢谢!

sublimetext sublimetext3 eslint standardjs eslintrc

5
推荐指数
1
解决办法
1789
查看次数

如何使用 prettier 在类中的方法声明前后添加新行?

需要配置哪些设置才能使用vs 代码编辑器中的prettier 插件在打字稿文件的类中的方法声明前后添加新行?

我们如何通过在.prettierrctslint.json文件中写入任何规则来实现?

目前的行为是

function one(){
// some code
}
function two(){
// some code
}
Run Code Online (Sandbox Code Playgroud)

预期结果

function one(){
// some code
}

function two(){
// some code
}
Run Code Online (Sandbox Code Playgroud)

我在tslint.json 中尝试过以下行

"lines-between-class-methods": "true"
Run Code Online (Sandbox Code Playgroud)

但没有用

tslint prettier eslintrc

5
推荐指数
2
解决办法
5763
查看次数

5
推荐指数
1
解决办法
2700
查看次数

我在 ESLint 文件中做错了什么,因此导入不会收到警报?

在阅读了有关我的问题的一些问答后:

解析错误:“导入”和“导出”可能仅与“sourceType:模块”一起出现

我将.eslintrc.json写入:

{
  "extends": ["airbnb", "prettier", "plugin:node/recommended"],
  "plugins": ["prettier"],
  "env": {
    "node": true,
    "es6": true,
    "browser": true
  },
  "parser": "babel-eslint",
  "parserOptions": {
    "ecmaVersion": 11,
    "sourceType": "module",
    "allowImportExportEverywhere": true
  },
  "rules": {
    "prettier/prettier": "error",
    "spaced-comment": "off",
    "no-console": "warn",
    "consistent-return": "off",
    "func-names": "off",
    "object-shorthand": "off",
    "no-process-exit": "off",
    "no-param-reassign": "off",
    "no-return-await": "off",
    "no-underscore-dangle": "off",
    "class-methods-use-this": "off",
    "prefer-destructuring": ["error", { "object": true, "array": false }],
    "no-unused-vars": ["error", { …
Run Code Online (Sandbox Code Playgroud)

alert eslint babeljs eslintrc babel-eslint

5
推荐指数
3
解决办法
1万
查看次数

ESLint:eslintrc 中出现意外的属性“缩进”

如此处所述,有一个用于缩进的 ESLint 属性,称为indent。该示例如下所示:

或者对于选项卡式缩进:

{
    "indent": ["error", "tab"]
}
Run Code Online (Sandbox Code Playgroud)

但是,如果我将此确切的代码粘贴到我的.eslintrc文件中,VS Code 会将其显示为错误:

ESLint:.eslintrc 中的 ESLint 配置无效: - 意外的顶级属性“缩进”。。有关详细信息,请参阅“ESLint”输出通道。

我之前的文件.eslintrc已经有许多规则,并且这些规则没有打印任何错误。如果我添加"indent"到该列表或单独添加,它就会失败。

以下是 VS Code 中 ESLint 输出通道中打印的错误和堆栈跟踪:

[Error - 10:38:55 PM] ESLint stack trace:
[Error - 10:38:55 PM] Error: ESLint configuration in .eslintrc is invalid:
    - Unexpected top-level property "indent".
    at validateConfigSchema (/home/aaronfranke/workspace/OddJobs/node_modules/eslint/lib/shared/config-validator.js:286:15)
    at ConfigArrayFactory._normalizeConfigData (/home/aaronfranke/workspace/OddJobs/node_modules/eslint/lib/cli-engine/config-array-factory.js:469:9)
    at ConfigArrayFactory._loadConfigDataInDirectory (/home/aaronfranke/workspace/OddJobs/node_modules/eslint/lib/cli-engine/config-array-factory.js:445:33)
    at ConfigArrayFactory.loadInDirectory (/home/aaronfranke/workspace/OddJobs/node_modules/eslint/lib/cli-engine/config-array-factory.js:401:18)
    at CascadingConfigArrayFactory._loadConfigInAncestors (/home/aaronfranke/workspace/OddJobs/node_modules/eslint/lib/cli-engine/cascading-config-array-factory.js:305:46)
    at CascadingConfigArrayFactory.getConfigArrayForFile (/home/aaronfranke/workspace/OddJobs/node_modules/eslint/lib/cli-engine/cascading-config-array-factory.js:250:18)
    at CLIEngine.executeOnText (/home/aaronfranke/workspace/OddJobs/node_modules/eslint/lib/cli-engine/cli-engine.js:860:47)
    at /home/aaronfranke/.vscode/extensions/dbaeumer.vscode-eslint-1.9.1/server/out/eslintServer.js:1:60107 …
Run Code Online (Sandbox Code Playgroud)

indentation eslint visual-studio-code eslintrc

5
推荐指数
1
解决办法
1987
查看次数

如何在 ESLint 中指定我的“环境”?

我目前在我的项目中使用ESLint,并将其配置为在 VSCode 中运行,并强制执行自定义规则集。到目前为止,它按预期工作,并在我的代码中标记发生违规的行。我现在需要指定是environment(如该问题browser的解决方案中所建议的)。我究竟该如何做到这一点,同时保持 ESLint 的其他所有内容按原样工作?

  • 该 GitHub 问题表明我需要编辑我的.eslintrc文件。但我在项目的根目录中没有看到任何此类文件。我确实看到了.eslint几个不同依赖项中的文件,例如

C:\Users\snarl\development-snarl\development-wordpress\linting-wordpress\node_modules\is-callable

我可能是错的,但这些似乎并不相关。

  • .eslintrc.json我尝试在项目的根目录中创建一个新文件,然后添加到该文件中:

{ "env": { "browser": true } }

但是当我这样做并在 VSCode 中重新检查 ESLint 时,它停止标记我的自定义规则集中的规则(示例),并且实际上标记了一个新规则(屏幕截图)。这似乎完全取代了我现有的一些 ESLint 设置,而不是补充它们。

谢谢。

javascript eslint eslintrc

5
推荐指数
1
解决办法
1万
查看次数

对类和接口属性使用不同的 eslint 命名规则

我一直在使用typescript-eslinteslint-plugin向项目添加linting,我需要不同的 linting 规则来处理类和接口的属性。目前我正在使用命名约定规则。

对于类属性,strictCamelCase 效果很好。但是对于接口属性,我需要同时允许strictCamelCase 和PascalCase。

我想在任何地方都使用 strictCamelCase,但是在我们的代码中有些地方我需要使用 DB 列作为属性。例如:

class ActivitySearchModel extends common.Model {
    attributes: {
        ResultID: number;
        StartDateTime: moment.Moment;
        EndDateTime: moment.Moment;
        Label: string;
    };
}
Run Code Online (Sandbox Code Playgroud)

这种结构在整个代码库中无处不在,无法合理更改。除了这些属性,其他一切都是strictCamelCase。

是否有一种简单的方法可以为接口属性和类属性强制执行不同的命名约定?更好的是,有没有办法只允许在属性上使用 PascalCase?是让它工作自定义规则的唯一方法吗?

当前设置的 eslintrc 的相关部分:

"@typescript-eslint/naming-convention": [
        "error",
        {
            "selector": "default",
            "format": ["strictCamelCase"]
        },
        {
            "selector": "memberLike",
            "modifiers": ["private"],
            "format": ["strictCamelCase"],
            "leadingUnderscore": "require"
        },
        {
            "selector": "property",
            "format": ["strictCamelCase", "PascalCase"]
        },
        {
            "selector": "property",
            "modifiers": ["private"],
            "format": ["strictCamelCase", "PascalCase"],
            "leadingUnderscore": "require"
        }
    ],
Run Code Online (Sandbox Code Playgroud)

naming-conventions typescript eslint eslintrc typescript-eslint

5
推荐指数
0
解决办法
1561
查看次数

ESlint 使用 eslintrc 禁用特定文件结尾的规则

我正在使用 TypeScript 通过 Jest 和 Cypress 测试我的应用程序。Jest 文件以 结尾.test.ts,而 Cypress 测试文件以.spec.ts. 我使用Jest ESLint 插件,它是规则附带的expect-expect。许多 Cypress 测试不包含expect.

如何对以 结尾的文件禁用此规则.spec.ts?是否可以禁用特定文件扩展名的规则.eslintrc.json?(我想避免在每个文件中都写注释.spec.ts。)

编辑:我知道我可以添加"cy.*""assertFunctionNames",但是我还需要为.spec文件禁用其他规则,例如valid-expectvalid-expect-in-promise

file-extension eslint jestjs cypress eslintrc

5
推荐指数
1
解决办法
4692
查看次数