NativeScript / NativeScript/nativescript-cli

Angular src/app/package.json causing tslint error

Abierto
#4,575 2 comentarios 2 reacciones 1 asignado Ver en GitHub

@rosen-vladimirov ya está trabajando en esto.

Desde el 7/5/2019.

Lenguaje dominante
JavaScript
Estrellas
1.1k
Forks
204
Merge medio
1 d 9 h
PR fusionados (30 d)
8

Descripción

Environment

tns info
✔ Getting NativeScript components versions information...
✔ Component nativescript has 5.3.4 version and is up to date.
✔ Component tns-core-modules has 5.3.1 version and is up to date.
✔ Component tns-android has 5.3.1 version and is up to date.
✔ Component tns-ios has 5.3.1 version and is up to date.

Describe the bug

Having a package.json in src/app/package.json causes no-implicit-dependencies tslint error

To Reproduce

  1. tns create ns-tab-example
  2. Choose Angular project AND tab navigation temlpate
  3. Open src/app/home/home.component.ts in a tslint supported IDE (like VS Code)
  4. See no-implicit-dependencies on the @angular/core import

Expected behavior

no-implicit-dependencies tslint errors should not exist on tns created templates.

Additional context

The problem is there are 2 package.json files in a TNS created Angular project. When tslint goes to find a TS imported module in package.json it 1st finds src/app/package.json with the following contents:

{
  "main": "main.js",
  "android": {
    "v8Flags": "--expose_gc"
  }
}

As you can see, the problem is this file has no dependencies defined. Dependencies are defined in the <project root>/package.json file (rightfully so).

So if you import { Component, OnInit } from '@angular/core'; tslint will throw an error like:

Module '@angular/core' is not listed as dependency in package.json (no-implicit-dependencies)

I'm hoping src/app/package.json can be deleted and its contents merged into <project root>/package.json.

tslint errors are a problem for workflows that prohibit commits that fail linting (like CI/CD envs).

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.