NativeScript / NativeScript/nativescript-cli

NS 7 with Angular application entry point not being found

Open
#5,385 7 comments 0 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):
✔ Your ANDROID_HOME environment variable is set and points to correct directory.
✔ Your adb from the Android SDK is correctly installed.
✔ The Android SDK is installed.
✔ A compatible Android SDK for compilation is found.
✔ Javac is installed and is configured properly.
✔ The Java Development Kit (JDK) is installed and is configured properly.
✔ Xcode is installed and is configured properly.
✔ xcodeproj is installed and is configured properly.
✔ CocoaPods are installed.
✔ CocoaPods update is not required.
✔ CocoaPods are configured properly.
✔ Your current CocoaPods version is newer than 1.0.0.
✔ Python installed and configured correctly.
✔ The Python 'six' package is found.
✔ Xcode version 11.6.0 satisfies minimum required version 10.
✔ Getting NativeScript components versions information...
⚠ Update available for component nativescript. Your current version is 7.0.7-2020-09-09-185920-14263 and the latest available version is 7.0.7.
✔ Component @nativescript/core has 7.0.2 version and is up to date.
✖ Component @nativescript/ios is not installed.
✔ Component @nativescript/android has 7.0.0 version and is up to date.

Describe the bug

After upgrading a code sharing project with Angular to version 7 (using ns migrate) produces a project that results in the following errors being thrown when ns run android is run.

  • Web project only HTML files are being flagged as invalid. (It seems these files are being included regardless).
  • Application entry point file not found error, even with "main": "main.js" is defined in package.json or nativescript.config.ts

I noticed that during migration, the old tsconfig.tns.json is removed. Without this the project doesn't even start up and notes that a tsconfig file cannot be found. Adding back in my original tsconfig.tns.json file allows the compilation process to start but then throws up the aforementioned errors.

My tsconfig.tns.json

{
  "extends": "./tsconfig.base.json",
  "compilerOptions": {
    "module": "esNext",
    "target": "es2015",
    "moduleResolution": "node",
    "skipLibCheck": true,
    "resolveJsonModule": true,
    "paths": {
      // Paths removed for clarity
    }
  },
  "files": ["apps/my-app/src/main.tns.ts"]
}

My nativescript.config.ts

// Identifiable names changed / removed
import { NativeScriptConfig } from '@nativescript/core';

export default {
  id: 'com.company.my-app',
  appResourcesPath: 'apps/my-app/App_Resources',
  android: {
    v8Flags: '--expose_gc --harmony_destructuring',
    markingMode: 'none',
  },
  appPath: 'apps/my-app/src',
  main: 'main.js',
  nsext: '.tns',
  webext: '',
  shared: true,
  useLegacyWorkflow: false,
  webpackConfigPath: './webpack.config.tns.js',
} as NativeScriptConfig;

It is worth noting that this project is included within a @nrwl/nx workspace and was working perfectly prior to the upgrade process.

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 migration behavior around tsconfig.tns.json and the entry-point settings in nativescript.config.ts, then inspect webpack.config.tns.js and reproduce with ns migrate followed by ns run android. Done means the migrated Angular code-sharing project can compile and run without the invalid HTML or missing application entry point errors.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.