NativeScript / NativeScript/nativescript-cli

NS/Angular app not working with latest CLI

Open
#4,784 5 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):

  • CLI: 5.4.2
  • Cross-platform modules: Core modules? if so, 5.4.3
  • Android Runtime: 5.4.0
  • iOS Runtime: N/A
  • Plugin(s):
    "nativescript-angular": "5.0.0",
    "nativescript-bluetooth": "^1.2.0",
    "nativescript-camera": "^3.2.1",
    "nativescript-estimote-plugin": "file:estimote-nativescript-plugin",
    "nativescript-exit": "^1.0.1",
    "nativescript-floatingactionbutton": "^4.1.0",
    "nativescript-geolocation": "^4.2.3",
    "nativescript-imagecropper": "^0.1.2",
    "nativescript-imagepicker": "^4.0.0",
    "nativescript-in-app-notifications": "^0.1.0",
    "nativescript-iqkeyboardmanager": "^1.1.0",
    "nativescript-loading-indicator": "^2.3.2",
    "nativescript-local-notifications": "file:nativescript-local-notifications",
    "nativescript-theme-core": "~1.0.4",
    "nativescript-toast": "^1.4.6",
    "nativescript-vibrate": "^2.0.1",

Describe the bug
I had been working on a NS/Angular project for a month or so. The code base isn't mine and is a bit old, but I'm doing some updates/bug fixes/etc. I was working just fine, when I noticed issues testing on a new phone. I checked to see if my CLI was out of date, it was, so I updated to 5.4.2.

At that point, things went to heck in a handbasket. The CLI prompted me to update to webpack usage, I said yes, and nothing worked right.

I reverted, tried again, and told it no. I've also run tns update.

Now I get the following output when doing tns build android,

In file C:\projects\prism\wms\RediTrak2.0\app\utils\offline-util.ts line import {isIOS} from "platform" is short import. Add tns-core-modules/ in front of the required/imported module.

In file C:\projects\prism\wms\RediTrak2.0\app\utils\tapsound-util.ts line import {isIOS} from "platform" is short import. Add tns-core-modules/ in front of the required/imported module.

In file C:\projects\prism\wms\RediTrak2.0\app\utils\tapsound-util.ts line import * as app from "application" is short import. Add tns-core-modules/ in front of the required/imported module.

In file C:\projects\prism\wms\RediTrak2.0\app\utils\trackKeyboard-util.ts line import {isIOS} from "platform" is short import. Add tns-core-modules/ in front of the required/imported module.

In file C:\projects\prism\wms\RediTrak2.0\app\utils\trackKeyboard-util.ts line import {ios} from "application" is short import. Add tns-core-modules/ in front of the required/imported module.

In file C:\projects\prism\wms\RediTrak2.0\app\utils\trackKeyboard-util.ts line import {topmost} from "ui/frame" is short import. Add tns-core-modules/ in front of the required/imported module.

In file C:\projects\prism\wms\RediTrak2.0\app\vendor-platform.android.ts line require("application") is short import. Add tns-core-modules/ in front of the required/imported module.

In file C:\projects\prism\wms\RediTrak2.0\app\vendor-platform.android.ts line require("ui/frame") is short import. Add tns-core-modules/ in front of the required/imported module.

In file C:\projects\prism\wms\RediTrak2.0\app\vendor-platform.android.ts line require("ui/frame/activity") is short import. Add tns-core-modules/ in front of the required/imported module.

In file C:\projects\prism\wms\RediTrak2.0\app\vendor.ts line const application = require("application") is short import. Add tns-core-modules/ in front of the required/imported module.

In file C:\projects\prism\wms\RediTrak2.0\app\vendor.ts line require("ui/styling/style-scope") is short import. Add tns-core-modules/ in front of the required/imported module.

Found peer TypeScript 2.4.2
node_modules/tns-core-modules/ui/frame/frame.d.ts(6,32): error TS6143: Module './frame-common' was resolved to 'C:/projects/prism/wms/RediTrak2.0/node_modules/tns-core-modules/ui/frame/frame-common.js', but '--allowJs' is not set.
node_modules/tns-core-modules/ui/styling/gradient.d.ts(7,25): error TS6143: Module '../../css/parser' was resolved to 'C:/projects/prism/wms/RediTrak2.0/node_modules/tns-core-modules/css/parser.js', but '--allowJs' is not set.
TypeScript compiler failed with exit code 1

To Reproduce
Not sure what to suggest here. As I said, it was an absolutely working project with an earlier version of the CLI.

Expected behavior
For it to build. :)

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 by reproducing tns build android with the listed CLI, runtime, plugin, and TypeScript versions. Inspect the short imports in app/utils/offline-util.ts, app/utils/tapsound-util.ts, app/utils/trackKeyboard-util.ts, app/vendor.ts, and app/vendor-platform.android.ts, along with the reported tns-core-modules errors. Done means the existing project builds successfully.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.