Skip to content

ng serve watch capability and ng build --aot capability for symbolically linked modules on Windows machines. #7224

@hieuxlu

Description

@hieuxlu

Bug Report or Feature Request (mark with an x)

- [x] bug report -> please search issues before submitting
- [ ] feature request

Versions.

@angular/cli: 1.2.0
node: 8.1.2
os: win32 x64

Repro steps.

  1. Clone https://github.com/johnpapa/angular-tour-of-heroes.git
  2. Separate Heroes module into modules folder
+---.vscode
+---e2e
+---modules
|   \---heroes
\---src
    +---app
    +---assets
    \---environments
  1. Create heroes package.json in modules/heroes
npm init heroes
  1. Create a symbolic link/junction from node_modules/heroes to modules/heroes folder
mklink /J "node_modules/heroes" "modules/heroes"
  1. Add reference to project's main package.json
 "dependencies": {
    ...
    "heroes": "*"
  },

5.1 Run ng serve
5.2 Run ng build --aot

The log given by the failure.

5.1. Run ng serve

Failed to compile.

./modules/heroes/heroes.component.ts
Module build failed: Error
    at WebpackCompilerHost.populateWebpackResolver (G:\GIT\Angular\angular-tour-of-heroes\node_modules\@ngtools\webpack\src\compiler_host.js:135:51)
    at _donePromise.Promise.resolve.then.then.then.then.then (G:\GIT\Angular\angular-tour-of-heroes\node_modules\@ngtools\webpack\src\plugin.js:371:32)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:169:7)
 @ ./modules/heroes/heroes.module.ts 11:0-53
 @ ./src async
 @ ./~/@angular/core/@angular/core.es5.js
 @ ./src/main.ts
 @ multi webpack-dev-server/client?http://localhost:4200 ./src/main.ts

5.2. Run ng build --aot

ERROR in Cannot determine the module for class HeroDetailComponent in G:/GIT/Angular/angular-tour-of-heroes/src/app/components/her
o-detail/hero-detail.component.ts! Add HeroDetailComponent to the NgModule to fix it.

ERROR in ./src/main.ts
Module not found: Error: Can't resolve './$$_gendir/app/app.module.ngfactory' in 'G:\GIT\Angular\angular-tour-of-heroes\src'
 @ ./src/main.ts 3:0-74
 @ multi ./src/main.ts

Desired functionality.

ng serve watch and ng build --aot capability for symbolically linked modules on Windows machines.
This does not seem to be an issue on Linux machines.

Mention any other details that might be useful.

The same issues also occurs with modules linked by lerna. For example:
https://github.com/OasisDigital/scalable-enterprise-angular.git

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions