user776686
user776686

Reputation: 8665

Can't run ng lint on my angular-cli project

ng -v: 1.0.0-beta.32.3

"devDependencies": {
    "@angular/compiler-cli": "2.4.4",
    "@types/jasmine": "^2.5.38",
    "@types/node": "^6.0.42",
    "codelyzer": "~2.0.0-beta.4",
    "jasmine-core": "^2.5.2",
    "jasmine-spec-reporter": "^3.2.0",
    "karma": "^1.4.1",
    "karma-cli": "^1.0.1",
    "karma-jasmine": "^1.1.0",
    "karma-phantomjs-launcher": "^1.0.2",
    "karma-remap-istanbul": "^0.6.0",
    "protractor": "^4.0.13",
    "ts-node": "~2.0.0",
    "tslint": "^4.4.2",
    "typescript": "~2.0.3"
  }

/tslint.json

{
  "rulesDirectory": [
    "node_modules/codelyzer"
  ],
  "rules": {
    "class-name": true,
    "comment-format": [
      true,
      "check-space"
    ],
    "curly": true,
    "eofline": true,
    "forin": true,
    "indent": [
      true,
      "spaces"
    ],
    "label-position": true,
    "max-line-length": [
      false,
      140
    ],
    "member-access": false,
    "member-ordering": [
      true,
      "static-before-instance"
    ],
    "no-arg": true,
    "no-bitwise": true,
    "no-console": [
      true,
      "debug",
      "info",
      "time",
      "timeEnd",
      "trace"
    ],
    "no-construct": true,
    "no-debugger": true,
    "no-duplicate-variable": true,
    "no-empty": false,
    "no-eval": true,
    "no-inferrable-types": true,
    "no-shadowed-variable": true,
    "no-string-literal": false,
    "no-switch-case-fall-through": true,
    "no-trailing-whitespace": true,
    "no-unused-expression": true,
    "no-use-before-declare": true,
    "no-var-keyword": true,
    "object-literal-sort-keys": false,
    "one-line": [
      true,
      "check-open-brace",
      "check-catch",
      "check-else",
      "check-whitespace"
    ],
    "quotemark": [
      true,
      "single"
    ],
    "radix": true,
    "semicolon": [
      "always"
    ],
    "triple-equals": [
      true,
      "allow-null-check"
    ],
    "typedef-whitespace": [
      true,
      {
        "call-signature": "nospace",
        "index-signature": "nospace",
        "parameter": "nospace",
        "property-declaration": "nospace",
        "variable-declaration": "nospace"
      }
    ],
    "variable-name": false,
    "whitespace": [
      true,
      "check-branch",
      "check-decl",
      "check-operator",
      "check-separator",
      "check-type"
    ],

    "use-input-property-decorator": true,
    "use-output-property-decorator": true,
    "use-host-property-decorator": true,
    "no-input-rename": true,
    "no-output-rename": true,
    "use-life-cycle-interface": true,
    "use-pipe-transform-interface": true,
    "component-class-suffix": true,
    "directive-class-suffix": true
  }
}

/src/tsconfig.json

{
  "compilerOptions": {
    "baseUrl": "",
    "declaration": false,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "lib": ["es6", "dom", "es2017.object"],
    "mapRoot": "./",
    "module": "es6",
    "moduleResolution": "node",
    "noUnusedParameters": false,
    "noUnusedLocals": true,
    "outDir": "../dist/out-tsc",
    "sourceMap": true,
    "target": "es5",
    "typeRoots": [
      "../node_modules/@types"
    ],
    "paths": {
      "angular2/*": [
        "@angular/*"
      ]
    }
  }
}

.angular-cli.json

{
  "project": {
    "version": "1.0.0-beta.32.3",
    "name": "myapp"
  },
  "apps": [
    {
      "root": "src",
      "outDir": "dist",
      "assets": [
        "assets",
        "favicon.ico"
      ],
      "index": "index.html",
      "main": "main.ts",
      "test": "test.ts",
      "tsconfig": "tsconfig.json",
      "prefix": "app",
      "mobile": false,
      "styles": [
        "../node_modules/normalize-css/normalize.css",
        "styles.styl"
      ],
      "scripts": [],
      "environmentSource": "environments/environment.ts",
      "environments": {
        "dev": "environments/environment.ts",
        "prod": "environments/environment.prod.ts"
      }
    }
  ],
  "addons": [],
  "packages": [],
  "e2e": {
    "protractor": {
      "config": "./protractor.conf.js"
    }
  },
  "test": {
    "karma": {
      "config": "./karma.conf.js"
    }
  },
  "defaults": {
    "styleExt": "styl",
    "prefixInterfaces": false,
    "inline": {
      "style": false,
      "template": false
    },
    "spec": {
      "class": false,
      "component": true,
      "directive": true,
      "module": false,
      "pipe": true,
      "service": true
    }
  }
}

When I run ng lint, I get the yellow chalk error No lint config(s) found. If this is not intended, run "ng update". (which sounds really strange as the ng update command has been removed as of beta.32.3)

What could have gone wrong with the configuration?

Upvotes: 5

Views: 15729

Answers (1)

Dinistro
Dinistro

Reputation: 5730

You forgot to apply some breaking changes mentioned here: https://github.com/angular/angular-cli/blob/master/CHANGELOG.md

To fix the linting problem, add following into the .angular-cli.json file.

"lint": [
   {
     "files": "src/**/*.ts",
     "project": "src/tsconfig.json"
   },
   {
     "files": "e2e/**/*.ts",
     "project": "e2e/tsconfig.json"
   }
],

It can also be, that your global and local versions of the cli are different. Please run following commands to make sure, that both have the same versions (I would directly upgrade to rc.0):

npm i -g @angular/[email protected]

rm -rf node_modules/ 

npm i -D @angular/[email protected]
npm i 

After this, you should have the newest version globally and locally

Upvotes: 12

Related Questions