0.0.9 • Published 3 years ago

atom-eslint-parser v0.0.9

Weekly downloads
2
License
MIT
Repository
-
Last release
3 years ago

atom-eslint-parser

The ESLint custom parser for .atom files.

Installation

npm install eslint atom-eslint-parser --save
  • atom-eslint-parser requires ESLint 3.9.0 or later.

Usage

  1. Write parser option into your .eslintrc.* file.
  2. Use glob patterns or --ext .atom CLI option.
{
    "extends": "eslint:recommended",
    "parser": "atom-eslint-parser"
}
$ eslint "src/**/*.{atom}"
# or
$ eslint src --ext .atom

Options

parserOptions has the same properties as what espree, the default parser of ESLint, is supporting. For example:

{
    "parser": "atom-eslint-parser",
    "parserOptions": {
        "sourceType": "module",
        "ecmaVersion": 2017,
        "ecmaFeatures": {
            "globalReturn": false,
            "impliedStrict": false,
            "jsx": false,
            "experimentalObjectRestSpread": false
        }
    }
}

Also, you can use parser property to specify a custom parser to parse <script> tags. Other properties than parser would be given to the specified parser. For example:

{
    "parser": "atom-eslint-parser",
    "parserOptions": {
        "parser": "babel-eslint",
        "sourceType": "module",
        "allowImportExportEverywhere": false
    }
}
{
    "parser": "atom-eslint-parser",
    "parserOptions": {
        "parser": "typescript-eslint-parser"
    }
}
  • If you use with babel-eslint, it has additional requirements. Use eslint@>=4.14.0 and babel-eslint@>=8.1.1.
  • If you use typescript-eslint-parser, the location of original nodes can be wrong. Waiting for typescript-eslint-parser to support parseResult.visitorKeys.

Usage for custom rules / plugins

  • This parser provides parserServices to traverse <template>.
    • defineTemplateBodyVisitor(templateVisitor, scriptVisitor) ... returns ESLint visitor to traverse <template>.
    • getTemplateBodyTokenStore() ... returns ESLint TokenStore to get the tokens of <template>.
  • ast.md is <template> AST specification.

Known Limitations

Some rules make warnings due to the outside of <script> tags. Please disable those rules for .atom files as necessary.

Development Tools

  • npm test runs tests and measures coverage.
  • npm run build compiles TypeScript source code to index.js, index.js.map, and index.d.ts.
  • npm run coverage shows the coverage result of npm test command with the default browser.
  • npm run clean removes the temporary files which are created by npm test and npm run build.
  • npm run lint runs ESLint.
  • npm run setup setups submodules to develop.
  • npm run update-fixtures updates files in test/fixtures/ast directory based on test/fixtures/ast/*/source.atom files.
  • npm run watch runs build, update-fixtures, and tests with --watch option.