NativeScript / NativeScript/nativescript-cli

App doesn't build after ns clean

Open
#5,513 16 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

needs more info
Dominant language
JavaScript
Stars
1.1k
Forks
204
Avg merge
1d 9h
Merged PRs (30d)
8

Description

Environment

  "dependencies": {
    "@angular/animations": "~11.2.7",
    "@angular/common": "~11.2.7",
    "@angular/compiler": "~11.2.7",
    "@angular/core": "~11.2.7",
    "@angular/forms": "~11.2.7",
    "@angular/platform-browser": "~11.2.7",
    "@angular/platform-browser-dynamic": "~11.2.7",
    "@angular/router": "~11.2.7",
    "@nativescript/angular": "~11.8.0",
    "@nativescript/core": "~8.0.0",
    "@nativescript/theme": "~3.0.1",
    "reflect-metadata": "~0.1.13",
    "rxjs": "^6.6.7",
    "zone.js": "~0.11.4"
  },
  "devDependencies": {
    "@angular/compiler-cli": "~11.2.7",
    "@nativescript/android": "8.0.0",
    "@nativescript/ios": "8.0.0",
    "@nativescript/webpack": "5.0.0-beta.2",
    "@ngtools/webpack": "~11.2.6",
    "typescript": "~4.0.0"
  }

Describe the bug
After cleaning the project with ns clean and starting the app again, webpack aborts with the message :

ns debug ios
Searching for devices...
Copying template files...
Platform ios successfully added. v8.0.0
Preparing project...
Compiling @angular/core : module as esm2015
Compiling @angular/animations : module as esm2015
Compiling @angular/animations/browser : module as esm2015
Compiling @angular/common : module as esm2015
Compiling @angular/platform-browser : module as esm2015
Compiling @angular/router : module as esm2015
Compiling @angular/forms : module as esm2015
Compiling @angular/platform-browser/animations : module as esm2015
Compiling @angular/common/http : module as esm2015
Compiling @nativescript/angular : module as esm2015
webpack is watching the files...
./foo/node_modules/@nativescript/webpack/node_modules/webpack/lib/NormalModuleFactory.js:703
				throw new Error(
				      ^
Error: NormalModuleFactory.beforeResolve (angular-compiler) is no longer a waterfall hook, but a bailing hook instead. Do not return the passed object, but modify it instead. Returning false will ignore the request and results in no module created.
    at ./foo/node_modules/@nativescript/webpack/node_modules/webpack/lib/NormalModuleFactory.js:703:11
    at eval (eval at create (./foo/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:14:1)
Executing webpack failed with exit code 1.

To Reproduce

  1. ns create foo --template @nativescript/template-blank-ng
  2. cd foo
  3. ns debug ios
  4. ctrl-c
  5. ns clean
  6. npm i
  7. ns debug ios

The same goes for Android

Expected behavior
The app starts as expected

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the failure with the listed ns create, ns debug, ns clean, and npm i sequence on iOS or Android. Read node_modules/@nativescript/webpack/node_modules/webpack/lib/NormalModuleFactory.js around the reported line and trace the angular-compiler integration that invokes the hook. Done means the app starts successfully after ns clean on both platforms.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, angular, ios, javascript, webpack
Domain
build-system, cli, mobile
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.