NativeScript / NativeScript/nativescript-cli
NS 7 with Angular application entry point not being found
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 founderror, even with"main": "main.js"is defined inpackage.jsonornativescript.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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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