Tslint: --type-check breaks --format

Created on 23 Mar 2017  路  4Comments  路  Source: palantir/tslint

Bug Report

  • __TSLint version__: 4.5.1
  • __TypeScript version__: 2.2.1
  • __Running TSLint via__: CLI

Command being run:

../../node_modules/.bin/tslint -c ../../tslint.json --project tsconfig.json --type-check --out $CIRCLE_TEST_REPORTS/tslint/streams.xml --formatters-dir ../../node_modules/tslint-junit-formatter/formatters --format junit

with tslint.json configuration:

{
  "rules": {
    "array-type": [true, "generic"],
    "class-name": true,
    "comment-format": [true, "check-space"],
    "curly": true,
    "eofline": true,
    "forin": true,
    "indent": [true, "spaces"],
    "interface-name": [true, "never-prefix"],
    "jsdoc-format": true,
    "label-position": true,
    "match-default-export-name": true,
    "new-parens": true,
    "no-angle-bracket-type-assertion": true,
    "no-conditional-assignment": true,
    "no-construct": true,
    "no-debugger": true,
    "no-namespace": [true, "allow-declarations"],
    "no-reference": true,
    "no-require-imports": true,
    "no-trailing-whitespace": true,
    "no-unused-expression": true,
    "no-unbound-method": true,
    "no-use-before-declare": false,
    "no-var-keyword": true,
    "one-variable-per-declaration": [true, "ignore-for-loop"],
    "object-literal-shorthand": true,
    "ordered-imports": [
      true,
      {
        "import-sources-order": "any",
        "named-imports-order": "lowercase-last"
      }
    ],
    "prefer-const": true,
    "prefer-method-signature": true,
    "radix": true,
    "semicolon": [true, "always", "ignore-interfaces"],
    "switch-default": true,
    "triple-equals": [true, "allow-null-check"],
    "typeof-compare": true,
    "use-isnan": true,
    "variable-name": [
      true,
      "check-format",
      "ban-keywords",
      "allow-leading-underscore"
    ]
  }
}

Actual behavior

An empty file is created at $CIRCLE_TEST_REPORTS/tslint/streams.xml and type errors logged as a JavaScript stack trace to the console.

Error: Error at ~/Projects/material-motion-js/packages/streams/src/observables/IndefiniteSubject.ts:89:3: A computed property name in a class property declaration must directly refer to a built-in symbol.
Error at ~/Projects/material-motion-js/packages/streams/src/observables/MotionObservable.ts:91:7: Argument of type '(value: number, dispatch: NextChannel<number>) => void' is not assignable to parameter of type 'NextOperation<T, number>'.
  Types of parameters 'value' and 'value' are incompatible.
    Type 'T' is not assignable to type 'number'.
Error at ~/Projects/material-motion-js/packages/streams/src/properties/ReactiveProperty.ts:23:3: Module '"~/Projects/material-motion-js/packages/streams/src/types"' has no exported member 'ObserverOrNext'.
Error at ~/Projects/material-motion-js/packages/streams/src/types.ts:65:8: Parameter 'T' implicitly has an 'any' type.
Error at src/interactions/Draggable.ts:30:7: Cannot find name 'InputKind'.
Error at src/interactions/Draggable.ts:38:27: Property 'translated' does not exist on type 'MotionObservable<Point2D>'.
Error at src/interactions/index.ts:18:10: Module '"src/interactions/Draggable"' has no exported member 'default'.
    at Runner.run (~/Projects/material-motion-js/node_modules/tslint/lib/runner.js:92:27)
    at Object.<anonymous> (~/Projects/material-motion-js/node_modules/tslint/lib/tslint-cli.js:139:6)
    at Module._compile (module.js:541:32)
    at Object.Module._extensions..js (module.js:550:10)
    at Module.load (module.js:458:32)
    at tryModuleLoad (module.js:417:12)
    at Function.Module._load (module.js:409:3)
    at Module.require (module.js:468:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (~/Projects/material-motion-js/node_modules/tslint/bin/tslint:3:1)
error Command failed with exit code 1.

Expected behavior

All errors are formatted with the appropriate formatter and saved to the file at --out.

Accepting PRs Bug

Most helpful comment

For me this is still an issue with [email protected].

All 4 comments

@appsforartists would you mind trying this again with the latest tslint?

For me this is still an issue with [email protected].

@adidahiya more info has been provided, it's not working with the newest version. I can remove --type-check from my command and immediately get formatted results.
node ./node_modules/tslint/bin/tslint -c ./tslint.json -p ./tsconfig.json -t stylish --type-check $@ || exit 1

vs

node ./node_modules/tslint/bin/tslint -c ./tslint.json -p ./tsconfig.json -t stylish $@ || exit 1

I also tried with multiple formatters and type-check seems to break them all.

Closing since --type-check is no longer necessary and is now deprecated.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

CSchulz picture CSchulz  路  3Comments

rajinder-yadav picture rajinder-yadav  路  3Comments

DanielKucal picture DanielKucal  路  3Comments

Ne-Ne picture Ne-Ne  路  3Comments

zewa666 picture zewa666  路  3Comments