NativeScript / NativeScript/nativescript-cli

NS 7 with Angular application entry point not being found

オープン
#5,385 コメント 7 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
JavaScript
スター
1.1k
フォーク
204
平均マージ
1日 9時間
マージ済み PR(30日)
8

説明

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.

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

tsconfig.tns.json 周辺の移行動作と nativescript.config.ts のエントリーポイント設定から始め、次に webpack.config.tns.js を確認し、ns migrate に続けて ns run android を実行して再現します。移行後の Angular code-sharing プロジェクトを、不正な HTML またはアプリケーションのエントリーポイントがないことによるエラーなしでコンパイルして実行できれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
angular, javascript, typescript
領域
build-system, cli, mobile-dev
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
25/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。