質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.33%

ESLintのエラーを解決したい

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 3,383

ksyunnnn

score 61

前提・実現したいこと

「ゼロから始めるJavaScript生活」というjavascriptフルスタックを目指すチュートリアルの途中のLintの導入でつまずいています。
http://qiita.com/takahashim/items/7838334d1451fb0a9811#6---eslint

”6 - ESLint”を終えた段階ですが、記載のようにエラーが消えず、発生したままになってしまいます。
対処法をお教えいただきたく。。。

発生している問題・エラーメッセージ

yarn start v0.27.5
$ gulp
[07:41:35] Requiring external module babel-register
[07:41:36] Using gulpfile ~/workspace/nodetest/gulpfile.babel.js
[07:41:36] Starting 'watch'...
[07:41:36] Finished 'watch' after 22 ms
[07:41:36] Starting 'lint'...
[07:41:36] Starting 'clean'...
[07:41:36] Finished 'clean' after 22 ms
[07:41:39] 
/home/ubuntu/workspace/nodetest/src/dog.js
  1:1  error  Definition for rule 'jsx-a11y/href-no-hash' was not found  jsx-a11y/href-no-hash

/home/ubuntu/workspace/nodetest/src/index.js
  2:1  error  Definition for rule 'jsx-a11y/href-no-hash' was not found  jsx-a11y/href-no-hash

/home/ubuntu/workspace/nodetest/gulpfile.babel.js
   2:1   error    Definition for rule 'jsx-a11y/href-no-hash' was not found  jsx-a11y/href-no-hash
  21:35  error    Missing trailing comma                                     comma-dangle
  29:35  error    Missing trailing comma                                     comma-dangle
  34:5   warning  Unexpected console statement                               no-console

✖ 6 problems (5 errors, 1 warning)
  2 errors, 0 warnings potentially fixable with the `--fix` option.

[07:41:39] 'lint' errored after 2.91 s
[07:41:39] ESLintError in plugin 'gulp-eslint'
Message:
    Failed with 5 errors

該当のソースコード

すべてのソースはGithubにあります。
https://github.com/ksyunnnn/zero-js-life
どこに原因があるのかわからないので、いくつかピックして記載します。

gulpfile.babel.js

/* eslint-disable import/no-extraneous-dependencies */
import gulp from 'gulp';
import babel from 'gulp-babel';
import del from 'del';
import { exec } from 'child_process';
import eslint from 'gulp-eslint';

const paths = {
  allSrcJs: 'src/**/*.js',
  gulpFile: 'gulpfile.babel.js',
  libDir: 'lib',
};

gulp.task('lint', () =>
  gulp.src([
    paths.allSrcJs,
    paths.gulpFile,
  ])
    .pipe(eslint())
    .pipe(eslint.format())
    .pipe(eslint.failAfterError())
);

gulp.task('clean', () => del(paths.libDir));

gulp.task('build', ['lint', 'clean'], () =>
  gulp.src(paths.allSrcJs)
    .pipe(babel())
    .pipe(gulp.dest(paths.libDir))
);

gulp.task('main', ['build'], (callback) => {
  exec(`node ${paths.libDir}`, (error, stdout) => {
    console.log(stdout);
    return callback(error);
  });
});

gulp.task('watch', () => {
  gulp.watch(paths.allSrcJs, ['main']);
});

gulp.task('default', ['watch', 'main']);

index.js

/* eslint-disable no-console */
import Dog from './dog';

const toby = new Dog('Toby');
console.log(toby.bark());

dog.js

class Dog {
  constructor(name) {
    this.name = name;
  }

  bark() {
    return `Wah wah, I am ${this.name}`;
  }
}

export default Dog;

試したこと

ESLintのバージョンに問題がある?といった記事をみかけましたが、実際はよくわかっていませんm(_ _)m
https://github.com/facebookincubator/create-react-app/issues/2631

補足情報(言語/FW/ツール等のバージョンなど)

  • node : v6.11.1
  • IDE : Cloud9

よろしくお願いいたしますm(_ _)m

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

0

eslint-plugin-jsx-a11y と言う eslint plugin の version 6 で jsx-a11y/href-no-hash というリントルールが無くなった (リネームされた) ことが原因のようです。

一旦 eslint-plugin-jsx-a11y を削除して

yarn remove eslint-plugin-jsx-a11y


version 5 を指定してインストールすれば改善するのではと思います。

yarn add --dev eslint-plugin-jsx-a11y@^5.1.1

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/07/27 17:51

    ありがとうございます!

    上記対応に加えて、

    index.jsへの下記の追加
    /* eslint-disable no-console */

    カンマなどのLintエラーの対処を行うことで対処できたようです。

    助かりましたm(_ _)m

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.33%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る