NativeScript / NativeScript/nativescript-cli

NativeScript CLI 7.0. and Angular Compiler requires different TypeScript versions

Open
#5,373 7 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Environment
Provide version numbers for the following components (information can be retrieved by running tns info in your project folder or by inspecting the package.json of the project):

  • CLI: 7.0.6
  • Cross-platform modules: v7.0.0
  • Android Runtime: v7.0.0
  • iOS Runtime: v7.0.0
  • Plugin(s):

Describe the bug
While updating / migrating my project to v7 typescript will get set to version 3.9.7 to be complaint for v7.
This leads to an issue when starting the application.

splash34$ tns debug android
Searching for devices...
Copying template files...
+ @nativescript/android@7.0.0
updated 1 package and audited 1393 packages in 5.909s
⠇ found 1 high severity vulnerability
  run `npm audit fix` to fix them, or `npm audit` for details
Platform android successfully added. v7.0.0
Preparing project...
File change detected. Starting incremental webpack compilation...

webpack is watching the files…

Hash: 2082db08eadcf65243cc
Version: webpack 4.44.1
Time: 2766ms
Built at: 09/05/2020 10:39:28 PM
 4 assets
Entrypoint bundle = runtime.js vendor.js bundle.js
[../package.json] 1.84 KiB {bundle} [optional] [built]
[./app.scss] 61 KiB {bundle} [built]
[./main.ts] 1.13 KiB {bundle} [built]
    + 329 hidden modules

ERROR in The Angular Compiler requires TypeScript >=3.4.0 and <3.6.0 but 3.9.7 was found instead.

When now downgrading "typescript": "3.5.3", we will receive an error message that the application is not compatible anymore.

splash34$ tns debug android
The current application is not compatible with NativeScript CLI 7.0.

Run 'ns migrate' to migrate your project to NativeScript 7.

Alternatively you may try running it with '--force' to skip this check.

To Reproduce
Setup project with following dependencies:

"dependencies": {
    "@angular/animations": "10.1.0",
    "@angular/common": "10.1.0",
    "@angular/compiler": "10.1.0",
    "@angular/core": "10.1.0",
    "@angular/forms": "10.1.0",
    "@angular/http": "^7.2.16",
    "@angular/platform-browser": "10.1.0",
    "@angular/platform-browser-dynamic": "10.1.0",
    "@angular/router": "10.1.0",
    "@nativescript/angular": "10.1.0",
    "@nativescript/core": "7.0.0",
    "@nativescript/theme": "~2.3.0",
    "nativescript-background-http": "^4.2.1",
    "nativescript-camera": "^4.5.0",
    "nativescript-fancyalert": "^3.0.9",
    "nativescript-feedback": "^1.5.0",
    "nativescript-material-datetimepicker": "^1.0.9",
    "nativescript-modal-datetimepicker-fixed-color": "^1.1.10",
    "nativescript-theme-core": "~1.0.6",
    "nativescript-ui-listview": "^7.1.0",
    "nativescript-ui-sidedrawer": "^7.0.4",
    "node-blob": "0.0.2",
    "npm": "^6.14.8",
    "reflect-metadata": "~0.1.12",
    "rxjs": "^6.6.2",
    "swagger-angular-generator": "^4.2.2",
    "zone.js": "~0.9.1"
  },
  "devDependencies": {
    "@angular/compiler-cli": "^8.2.14",
    "@nativescript/android": "7.0.0",
    "@nativescript/ios": "7.0.0",
    "@nativescript/types": "~7.0.0",
    "@nativescript/webpack": "~3.0.0",
    "@ngtools/webpack": "~8.2.0",
    "codelyzer": "~4.5.0",
    "ng-swagger-gen": "^1.8.1",
    "node-sass": "^4.14.1",
    "prettier": "^1.19.1",
    "tslint": "~5.11.0",
    "typescript": "~3.9.7"
  }

Expected behavior
Start application after upgrade with emulators.

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

Start with the dependency versions in package.json and reproduce the failure using tns debug android. Inspect the CLI compatibility check and the ns migrate path to determine how NativeScript CLI 7.0.6 handles the Angular Compiler and TypeScript requirements; done means a correctly migrated project can start without conflicting version errors.

Written by the indexing model from the issue text.

Assessment

Tech stack
angular, javascript, typescript
Domain
cli, mobile-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.