Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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?

like image 747
user776686 Avatar asked Feb 28 '17 07:02

user776686


Video Answer


1 Answers

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

like image 124
Dinistro Avatar answered Sep 28 '22 16:09

Dinistro