Skip to content

[BUG] input signals classified differently  #1494

@dmitry-lomakin

Description

@dmitry-lomakin
Overview of the issue

I got an Angular component with 11 inputs, 3 of those are declared as model signals, the other ones are input signals. But only 2 of those inputs are put to the Inputs section in the generated documentation.

Operating System, Node.js, npm, compodoc version(s)

Win 11, Node v18.18.0, npm 9.8.1, Compodoc 1.1.24

Angular configuration, a package.json file in the root folder

Nx monorepo.

project.json

{
  "name": "ui-core-kit",
  "$schema": "../../node_modules/nx/schemas/project-schema.json",
  "sourceRoot": "libs/ui-core-kit/src",
  "prefix": "gm",
  "projectType": "library",
  "tags": [],
  "targets": {
    "build": {
      "executor": "@nx/angular:package",
      "outputs": ["{workspaceRoot}/dist/{projectRoot}"],
      "options": {
        "project": "libs/ui-core-kit/ng-package.json"
      },
      "configurations": {
        "production": {
          "tsConfig": "libs/ui-core-kit/tsconfig.lib.prod.json"
        },
        "development": {
          "tsConfig": "libs/ui-core-kit/tsconfig.lib.json"
        }
      },
      "defaultConfiguration": "production"
    },
    "test": {
      "executor": "@nx/jest:jest",
      "outputs": ["{workspaceRoot}/coverage/{projectRoot}"],
      "options": {
        "jestConfig": "libs/ui-core-kit/jest.config.ts"
      }
    },
    "compodoc": {
      "executor": "@twittwer/compodoc:compodoc",
      "options": {
        "tsConfig": "libs/ui-core-kit/tsconfig.lib.json",
        "outputPath": "dist/compodoc/ui-core-kit"
      },
      "configurations": {
        "json": {
          "exportFormat": "json"
        }
      }
    }
  }
}

package.json

{
  "name": "",
  "version": "0.0.1",
  "license": "MIT",
  "scripts": {
    "start": "nx run-many -t serve --verbose",
    "start-showcase:full": "nx run-many -t serve -p frontend-ui-showcase ui-showcase-bff",
    "start-client:full": "nx run-many -t serve -p frontend-client ui-showcase-bff",
    "start-core-showcase:full": "nx run-many -t serve -p ui-core-showcase",
    "publish": "npm run types:publish && ui-kit:publish && npm run ui-resources:publish",
    "docs": "npm run ui-kit:docs && npm run types:docs",
    "frontend-client:serve": "nx serve frontend-client --configuration=development",
    "frontend-client:serve-prod": "nx serve frontend-client --configuration=production",
    "frontend-client:build": "nx build frontend-client --verbose --configuration=development",
    "frontend-client:build-prod": "nx build frontend-client --configuration=production",
    "frontend-client:lint": "nx lint frontend-client --fix",
    "frontend-ui-showcase:serve": "nx serve frontend-ui-showcase",
    "frontend-ui-showcase:build": "nx build frontend-ui-showcase --verbose",
    "frontend-ui-showcase:lint": "nx lint frontend-ui-showcase --fix",
    "frontend-ui-core-showcase:serve": "nx serve ui-core-showcase",
    "frontend-ui-core-showcase:build": "nx build ui-core-showcase --verbose",
    "frontend-ui-core-showcase:lint": "nx lint ui-core-showcase --fix",
    "client-bff:serve": "nx serve client-bff",
    "client-bff:build": "nx build client-bff --verbose",
    "client-bff:lint": "nx lint client-bff --fix",
    "ui-showcase-bff:serve": "nx serve ui-showcase-bff",
    "ui-showcase-bff:build": "nx build ui-showcase-bff --verbose",
    "ui-showcase-bff:lint": "nx lint ui-showcase-bff --fix",
    "ui-kit:build": "nx build ui-kit --verbose",
    "ui-kit:lint": "nx lint ui-kit --fix",
    "ui-kit:publish": "cd dist/libs/ui-kit && npm publish",
    "ui-core-kit:build": "nx build ui-core-kit --verbose",
    "ui-core-kit:lint": "nx lint ui-core-kit --fix",
    "ui-core-kit:docs": "nx run ui-core-kit:compodoc --watch --config .compodocrc.json",
    "ui-core-kit:publish": "cd dist/libs/ui-core-kit && npm publish",
    "ui-resources:build": "nx build ui-resources --verbose",
    "ui-resources:lint": "nx lint ui-resources --fix",
    "ui-resources:publish": "cd dist/libs/ui-resources && npm publish",
    "types:build": "nx build types --verbose",
    "types:lint": "nx lint types --fix",
    "types:publish": "cd dist/libs/types && npm publish",
    "bootstrap-icon-font:generate": "fantasticon -c libs/ui-resources/.icons-bts.config.js",
    "sd:build-multi": "rm -rf libs/ui-resources/theme && node --trace-warnings libs/ui-resources/sd-multi/build.js",
    "test": "jest",
    "ui-kit:docs": "cd libs/ui-kit && typedoc --out ./docs",
    "types:docs": "cd libs/types && typedoc --out ./docs",
    "prepare": "husky"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "~17.3.0",
    "@angular/cdk": "~17.3.0",
    "@angular/common": "~17.3.0",
    "@angular/compiler": "~17.3.0",
    "@angular/core": "~17.3.0",
    "@angular/forms": "~17.3.0",
    "@angular/platform-browser": "~17.3.0",
    "@angular/platform-browser-dynamic": "~17.3.0",
    "@angular/router": "~17.3.0",
    "@jsverse/transloco": "^7.4.2",
    "@nestjs/axios": "^3.0.2",
    "@nestjs/common": "^10.3.8",
    "@nestjs/config": "^3.2.2",
    "@nestjs/core": "^10.3.8",
    "@nestjs/platform-express": "^10.3.8",
    "@nestjs/swagger": "^7.3.1",
    "@nx/angular": "18.0.2",
    "@types/dat.gui": "^0.7.13",
    "axios": "^1.6.8",
    "class-transformer": "^0.5.1",
    "class-validator": "^0.14.1",
    "d3": "^7.9.0",
    "dat.gui": "^0.7.9",
    "meshline": "^3.3.0",
    "ng-antd-color-picker": "^1.1.0",
    "ng-zorro-antd": "^17.4.1",
    "ngx-highlightjs": "^12.0.0",
    "ngx-json-viewer": "^3.2.1",
    "reflect-metadata": "^0.2.2",
    "rxjs": "~7.8.0",
    "three": "^0.164.1",
    "three-mesh-bvh": "^0.7.4",
    "tslib": "^2.3.0",
    "uuid": "^9.0.1",
    "zone.js": "~0.14.3"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~17.3.0",
    "@angular-devkit/core": "~17.3.0",
    "@angular-devkit/schematics": "~17.3.0",
    "@angular-eslint/eslint-plugin": "~17.3.0",
    "@angular-eslint/eslint-plugin-template": "~17.3.0",
    "@angular-eslint/template-parser": "~17.3.0",
    "@angular/cli": "~17.3.0",
    "@angular/compiler-cli": "~17.3.0",
    "@angular/language-service": "~17.3.0",
    "@compodoc/compodoc": "^1.1.24",
    "@nestjs/schematics": "^10.1.1",
    "@nestjs/testing": "^10.3.8",
    "@ngneat/spectator": "^19.0.0",
    "@nx/eslint": "18.3.4",
    "@nx/eslint-plugin": "18.3.4",
    "@nx/jest": "18.3.4",
    "@nx/js": "18.3.4",
    "@nx/nest": "18.3.4",
    "@nx/node": "18.3.4",
    "@nx/webpack": "18.3.4",
    "@nx/workspace": "18.3.4",
    "@schematics/angular": "17.1.2",
    "@swc-node/register": "~1.6.7",
    "@swc/core": "~1.3.85",
    "@swc/helpers": "~0.5.2",
    "@tokens-studio/sd-transforms": "^0.15.2",
    "@twittwer/compodoc": "^1.12.0",
    "@types/d3": "^7.4.3",
    "@types/jest": "^29.4.0",
    "@types/multer": "^1.4.11",
    "@types/node": "^18.16.9",
    "@types/three": "^0.153.0",
    "@types/uuid": "^9.0.8",
    "@typescript-eslint/eslint-plugin": "^6.21.0",
    "@typescript-eslint/parser": "^6.21.0",
    "autoprefixer": "^10.4.19",
    "eslint": "~8.48.0",
    "eslint-config-airbnb-typescript": "^17.1.0",
    "eslint-config-prettier": "^9.1.0",
    "eslint-import-resolver-typescript": "^3.6.1",
    "eslint-plugin-cypress": "^2.13.4",
    "eslint-plugin-import": "^2.29.1",
    "eslint-plugin-prettier": "^5.1.3",
    "eslint-plugin-unused-imports": "^3.0.0",
    "fantasticon": "^1.2.3",
    "husky": "^9.0.10",
    "jest": "^29.7.0",
    "jest-environment-jsdom": "^29.7.0",
    "jest-environment-node": "^29.7.0",
    "jest-preset-angular": "~14.1.1",
    "jsonc-eslint-parser": "^2.1.0",
    "ng-packagr": "~17.1.2",
    "none": "^1.0.0",
    "nx": "18.3.4",
    "postcss": "^8.4.38",
    "postcss-import": "~14.1.0",
    "postcss-preset-env": "~7.5.0",
    "postcss-url": "~10.1.3",
    "prettier": "^3.2.5",
    "prettier-plugin-tailwindcss": "^0.5.14",
    "style-dictionary": "^3.9.2",
    "svg-sprite-generator": "^0.0.7",
    "tailwindcss": "^3.4.3",
    "ts-jest": "^29.1.0",
    "ts-node": "10.9.1",
    "typedoc": "^0.25.12",
    "typescript": "~5.4.2",
    "verdaccio": "^5.0.4"
  },
  "publishConfig": {
    "registry": "..."
  },
  "nx": {
    "includedScripts": []
  },
  "engines": {
    "node": "18.18.0",
    "npm": "9.8.1"
  }
}
Compodoc installed globally or locally ?

locally

If possible sourcecode of the file where it breaks
  public readonly idAttr = input<string>('');

  public readonly name = input<string>('');

  public readonly value = input<string>('');

  public readonly tabIndex = input<number>(0);

  public readonly title = input<string | null>(null);

  public readonly checked = model<boolean>(false);

  public readonly disabled = model<boolean>(false);

  public readonly indeterminate = model<boolean>(false);

  public readonly invalid = input<boolean>(false);

  public readonly ariaLabel = input<string>('');

  public readonly labelPosition = input<LabelPosition>(LabelPosition.RIGHT);

But only invalid & tabIndex are properly recognized as inputs.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions