angular-eslint: ng lint: NOT SUPPORTED: keyword "id", use "$id" for schema ID
🐞 Bug report
Command (mark with an x)
- new
- build
- serve
- test
- e2e
- generate
- add
- update
- lint
- extract-i18n
- run
- config
- help
- version
- doc
Is this a regression?
Yes, the previous version in which this bug was not present
Description
After install @angular-eslint/schematics on new project, run ng lint raise exception NOT SUPPORTED: keyword "id", use "$id" for schema ID
🔬 Minimal Reproduction
ng new my-app
? Would you like to add Angular routing? Yes
? Which stylesheet format would you like to use? SCSS [ https://sass-lang.com/ documentation/syntax#scss]
CREATE my-app/angular.json (3207 bytes)
CREATE my-app/package.json (1070 bytes)
CREATE my-app/README.md (1051 bytes)
CREATE my-app/tsconfig.json (863 bytes)
CREATE my-app/.editorconfig (274 bytes)
CREATE my-app/.gitignore (620 bytes)
CREATE my-app/.browserslistrc (600 bytes)
CREATE my-app/karma.conf.js (1423 bytes)
CREATE my-app/tsconfig.app.json (287 bytes)
CREATE my-app/tsconfig.spec.json (333 bytes)
CREATE my-app/src/favicon.ico (948 bytes)
CREATE my-app/src/index.html (291 bytes)
CREATE my-app/src/main.ts (372 bytes)
CREATE my-app/src/polyfills.ts (2338 bytes)
CREATE my-app/src/styles.scss (80 bytes)
CREATE my-app/src/test.ts (745 bytes)
CREATE my-app/src/assets/.gitkeep (0 bytes)
CREATE my-app/src/environments/environment.prod.ts (51 bytes)
CREATE my-app/src/environments/environment.ts (658 bytes)
CREATE my-app/src/app/app-routing.module.ts (245 bytes)
CREATE my-app/src/app/app.module.ts (393 bytes)
CREATE my-app/src/app/app.component.html (24617 bytes)
CREATE my-app/src/app/app.component.spec.ts (1073 bytes)
CREATE my-app/src/app/app.component.ts (211 bytes)
CREATE my-app/src/app/app.component.scss (0 bytes)
V Packages installed successfully.
cd my-app
ng add @angular-eslint/schematics
i Using package manager: npm
V Found compatible package version: @angular-eslint/schematics@1.2.0.
V Package information loaded.
The package @angular-eslint/schematics@1.2.0 will be installed and executed.
Would you like to proceed? Yes
V Package successfully installed.
An unhandled exception occurred: NOT SUPPORTED: keyword "id", use "$id" for sche
ma ID
See "angular-errors.log" for furt her details.
angular-errors.log
[error] Error: NOT SUPPORTED: keyword "id", use "$id" for schema ID
at Object.code (\my-app\node_modules\ajv\dist\vocabularies\core\id.js:6:15)
at keywordCode (\my-app\node_modules\ajv\dist\compile\validate\index.js:454:13)
at \my-app\node_modules\ajv\dist\compile\validate\index.js:222:17
at CodeGen.code (\my-app\node_modules\ajv\dist\compile\codegen\index.js:439:13)
at CodeGen.block (\my-app\node_modules\ajv\dist\compile\codegen\index.js:568:18)
at iterateKeywords (\my-app\node_modules\ajv\dist\compile\validate\index.js:219:9)
at groupKeywords (\my-app\node_modules\ajv\dist\compile\validate\index.js:208:13)
at \my-app\node_modules\ajv\dist\compile\validate\index.js:192:13
at CodeGen.code (\my-app\node_modules\ajv\dist\compile\codegen\index.js:439:13)
at CodeGen.block (\my-app\node_modules\ajv\dist\compile\codegen\index.js:568:18)
🔥 Exception or Error
Error: NOT SUPPORTED: keyword "id", use "$id" for schema ID
🌍 Your Environment
_ _ ____ _ ___
/ \ _ __ __ _ _ _| | __ _ _ __ / ___| | |_ _|
/ ? \ | '_ \ / _` | | | | |/ _` | '__| | | | | | |
/ ___ \| | | | (_| | |_| | | (_| | | | |___| |___ | |
/_/ \_\_| |_|\__, |\__,_|_|\__,_|_| \____|_____|___|
|___/
Angular CLI: 13.0.1
Node: 12.22.1
Package Manager: npm 6.14.12
OS: win32 x64
Angular: 13.0.0
... animations, common, compiler, compiler-cli, core, forms
... platform-browser, platform-browser-dynamic, router
Package Version
---------------------------------------------------------
@angular-devkit/architect 0.1300.1
@angular-devkit/build-angular 13.0.1
@angular-devkit/core 13.0.1
@angular-devkit/schematics 13.0.1
@angular/cli 13.0.1
@schematics/angular 13.0.1
rxjs 7.4.0
typescript 4.4.4
About this issue
- Original URL
- State: closed
- Created 3 years ago
- Reactions: 2
- Comments: 17 (2 by maintainers)
After
v14-ltsrelease, if you are using any specific Angular major version, it is better to install schematics matching the Angular version. For example, I’m using Angularv14-lts, so I’m installing schematics this way:ng add @angular-eslint/schematics@14Hi @cesco69, you need to use the v13 prerelease with Angular 13:
ng add @angular-eslint/schematics@nextPlease see #715
Just to confirm https://github.com/angular-eslint/angular-eslint/issues/790#issuecomment-962988420 works for anyone currently adding angular-eslint to an Angular v14 project.
Folks there is no issue with angular-eslint here and that’s been the case for a very long time now.
100% of the time this is down to rogue old Angular dependencies on your machine. It’s not something that can be resolved by tooling you will need to troubleshoot your setup.
You can try lots of things to fix your machine:
First run
ng versionto see what version of the packages it resolves. If any of them do not match the first number you have already found the problem and you will need to make sure the major versions align (NOTE: for some packages that start with a leading zero, it’s the next set of numbers that should align, e.g.@angular-devkit/architect 0.1300.1@angular-devkit/build-angular 13.0.1are a good match back from the Angular 13 days).If still an issue you need to try and remove any outdated cached packages that might somehow exist. Some ideas:
npm clear cache --force)rm -rf ~/.npm/_npx)Hope that helps, but please stop adding to this resolved issue, there is nothing to “fix” in angular-eslint
I’ve fixed the error by following the steps
Steps
ng addcommand on a specific versionng add @angular-eslint/schematics@14.0.0@karimerrebai and @Jorgeflowers18 may be you can also give a shot by above steps.
Would you like to add a package with “deploy” capabilities now? GitHub Pages Skipping installation: Package already installed NOT SUPPORTED: keyword “id”, use “$id” for schema ID
angular 16
this
ng add @angular-eslint/schematics@nextworks, but I hade to remove the foldernode_modulesI got the schematics@13 but it still throw the unhandled error NOT SUPPORTED: keyword “id”, use “$id” for schema ID
I do still have the same issue as well. Not sure why it’s closed.
An unhandled exception occurred: NOT SUPPORTED: keyword "id", use "$id" for schema IDAngular13.3.8and eslint bundle13.2.1I ran the steps to migrate Angular & material from 12 to 13. Then ran
ng add @angular-eslint/schematics@13.5.0Still getting this error.Update: ESLint wasn’t causing this error apparently. This error was being shown when I ran
ng test. The exact error I was getting was:I removed all the installation done by the schematics@13 command. Resolved the error by upgrading the following packages: