2

I'm getting the following error when I npm start the application at https://github.com/juanmendes/vmware-cloud-director-ui-components for the branch named ryan-a11y-merge-to-master. If I run the master branch, I get no errors.

ERROR in The target entry-point "@vcd/ui-components" has missing dependencies:
 - @angular/core
 - @clr/angular
 - @angular/common
 - rxjs/internal-compatibility
 - @angular/platform-browser
 - @angular/core/testing
 - @angular/forms
 - @angular/router
 - rxjs
 - rxjs/operators
 - @clr/angular/data/datagrid/interfaces/filter.interface

I also see the following error messages before this final error:

Warning: Entry point '@vmw/ng-live-docs' contains deep imports into '/Users/jmendes/git/github/juan-core-ui/node_modules/prismjs/components/prism-scss', '/Users/jmendes/git/github/juan-core-ui/node_modules/prismjs/components/prism-typescript'. This is probably not a problem, but may cause the compilation of entry points to be out of order.
Warning: Entry point '@vmw/plain-js-live-docs' contains deep imports into '/Users/jmendes/git/github/juan-core-ui/node_modules/lit-html/directives/unsafe-html'. This is probably not a problem, but may cause the compilation of entry points to be out of order.
Warning: Entry point '@vcd/ui-components' contains deep imports into '/Users/jmendes/git/github/juan-core-ui/node_modules/@clr/angular/data/datagrid/interfaces/filter.interface'. This is probably not a problem, but may cause the compilation of entry points to be out of order.

If I ask colleagues to clone that repo and run it:

git clone https://github.com/juanmendes/vmware-cloud-director-ui-components.git
cd vmware-cloud-director-ui-components;
git checkout ryan-a11y-merge-to-master;
npm ci;
npm start;

They have been able to run the application (and also get the warnings) without a problem but I get the error above and get the following message at localhost:4200: Cannot GET /

What I have tried

  • Deleted node_modules and the dist folder
  • npm cache clean
  • npm unlink @angular/core (both steps in the package folder and the project including it)
  • npm unlink @vcd/ui-components (both steps)
  • Completely removing node, npm, nmv and reinstalling them

Workaround

If I disable Ivy compilation, then it complains because one of the packages it uses (@vmw/live-docs), doesn't declare entryComponents for some dynamically created components (since they are not needed in Ivy compilation).

To get past that problem, I modified the code in @vmw/live-docs to have entryComponents and re-built it, copying its dist folder to node_modules in my current application. This allows me to run the app in non Ivy mode, which is not what I want

What else can I try ?

I am out of things to try, any suggestions are welcome.

Ruan Mendes
  • 90,375
  • 31
  • 153
  • 217

1 Answers1

1

This was happening because I somehow had a ~/node_modules/@vcd/ui-components with stale references.

It seems that node module resolution was going up the tree and trying to use that version instead of the one I had configured in ~/github/vmware-cloud-director-ui-components/tsconfig.json

"compilerOptions": {
  "paths": {
    "@vcd/ui-components": [
       "../../dist/components"
    ]
  }
},

Deleting that node_modules folder fixed my problem

Ruan Mendes
  • 90,375
  • 31
  • 153
  • 217