2

Dan Wahlin のチュートリアルとオンラインの例に従って、Gulp と Typescript を構成しています。コードを実行していますが、tslint() を動作させることができません。tslint() 呼び出しは常に例外をスローします。

node_modules\tslint\lib\language\walker\ruleWalker.js:18
    this.limit = this.sourceFile.getFullWidth();
                                ^

TypeError: Cannot read property 'getFullWidth' of undefined
at EnableDisableRulesWalker.RuleWalker [as constructor] (C:\Users\sscott\Development\OntarioDarts.com\node_modules\tslint\lib\language\walker\ruleWalker.js:18:37)
at EnableDisableRulesWalker.SkippableTokenAwareRuleWalker [as constructor] (C:\Users\sscott\Development\OntarioDarts.com\node_modules\tslint\lib\language\walker\skippableTokenAwareRuleWalker.js:11:16)
at new EnableDisableRulesWalker (C:\Users\sscott\Development\OntarioDarts.com\node_modules\tslint\lib\enableDisableRules.js:13:16)
at Linter.lint (C:\Users\sscott\Development\OntarioDarts.com\node_modules\tslint\lib\tslint.js:16:27)
at C:\Users\sscott\Development\OntarioDarts.com\node_modules\gulp-tslint\index.js:96:34
at respond (C:\Users\sscott\Development\OntarioDarts.com\node_modules\rcloader\index.js:73:7)
at respond (C:\Users\sscott\Development\OntarioDarts.com\node_modules\rcfinder\index.js:140:7)
at next (C:\Users\sscott\Development\OntarioDarts.com\node_modules\rcfinder\index.js:164:16)
at nextTickCallbackWith0Args (node.js:433:9)
at process._tickCallback (node.js:362:13)

Windows 10 を使用しています。typescript、tslint、gulp-typescript、gulp-tslint があります。

インストールされているバージョン:

├─┬ gulp-typescript@2.10.0
│ └── typescript@1.7.3
├─┬ gulp-uglify@1.5.1
│ └─┬ uglify-js@2.6.0
│   └─┬ yargs@3.10.0
│     └─┬ cliui@2.1.0
│       └── wordwrap@0.0.2
├─┬ tslint@3.2.1
│ └─┬ optimist@0.6.1
│   └── wordwrap@0.0.3
└── typescript@1.7.5

一気飲みタスク:

module.exports = function (gulp, PlugIns, Settings) {
    return function () {
        gulp.src([Settings.SourceFiles.TypeScript])
            .pipe(PlugIns.plumber())
            .pipe(PlugIns.debug())
            .pipe(PlugIns.typescript())

            .pipe(PlugIns.tslint( {
                configuration: {
                    rules: {
                        "class-name": true,
                        "comment-format": [
                            true,
                            "check-space",
                            "check-uppercase"
                        ],
                        "curly": true,
                        "eofline": true,
                        "indent": [
                            true,
                            "tabs"
                        ],
                        "jsdoc-format": true,
                        "max-line-length": 100,
                        "no-unreachable": true,
                        "no-unused-expression": true,
                        "no-unused-variable": true,
                        "no-use-before-declare": true,

                        "one-line": [
                            true,
                            "check-open-brace",
                            "check-catch",
                            "check-else",
                            "check-whitespace"
                        ],
                        "quotemark": [
                            true,
                            "single",
                            "avoid-escape"
                        ],
                        "semicolon": true,
                        "switch-default": true,

                        "variable-name": [
                            true,
                            "allow-trailing-underscore",
                            "ban-keywords"
                        ],
                        "whitespace": [
                            true,
                            "check-branch",
                            "check-decl",
                            "check-operator",
                            "check-separator",
                            "check-type"
                        ]
                    }
                }
            }))
            .pipe(PlugIns.tslint.report("stylish"))
            .pipe(gulp.dest(Settings.Destination.TSCompiled))
        ;
    }
};
4

1 に答える 1

8

.tsこのエラーは、TSLint が拡張子または拡張子で終わらないファイルを処理するように指示された場合によく発生します.tsx.jsファイルまたは他の拡張子のファイルを誤って送信していないことを確認します。将来的には.jsファイルが正しく機能する可能性がありますが、現時点では機能しません。

さらに、いくつかのファイルで同じ構成を使用して、コマンド ラインから TSLint を実行してみます。このように正しく動作しない場合は、TSLint のバグを示している可能性があります。

于 2016-01-14T05:51:42.503 に答える