8000 Cryptic error message on parse error · Issue #9069 · NativeScript/NativeScript · GitHub
[go: up one dir, main page]

Skip to content
Cryptic error message on parse error #9069
Open
@njor

Description

@njor

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):

✔ Component nativescript has 7.0.11 version and is up to date.
✔ Component @nativescript/core has 7.0.13 version and is up to date.
✖ Component @nativescript/ios is not installed.
✔ Component @nativescript/android has 7.0.1 version and is up to date.

Describe the bug

Using Nativescript Vue.
When using ns run android I am getting this kind of cryptic error messages if I have a parse error in my template, which gives the stacktrace of the parser (that is kind of unusable to me), but not even tell me where the error is :

ERROR in ./components/LocationList.vue?vue&type=template&id=f50f4164&scoped=true& (../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../node_modules/vue-loader/lib??vue-loader-options!./components/LocationList.vue?vue&type=template&id=f50f4164&scoped=true&)
Module build failed (from ../node_modules/vue-loader/lib/loaders/templateLoader.js):
SyntaxError: Unexpected token (1:266)
    at Parser.pp$4.raise (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:2757:13)
    at Parser.pp.unexpected (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:647:8)
    at Parser.pp.expect (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:641:26)
    at Parser.pp$3.parseParenAndDistinguishExpression (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:2228:38)
    at Parser.pp$3.parseExprAtom (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:2163:41)
    at Parser.<anonymous> (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:6003:24)
    at Parser.parseExprAtom (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:6129:31)
    at Parser.pp$3.parseExprSubscripts (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:2047:19)
    at Parser.pp$3.parseMaybeUnary (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:2024:17)
    at Parser.pp$3.parseExprOps (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:1966:19)
    at Parser.pp$3.parseMaybeConditional (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:1949:19)
    at Parser.pp$3.parseMaybeAssign (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:1925:19)
    at Parser.pp$3.parsePropertyValue (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:2443:87)
    at Parser.pp$3.parseProperty (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:2434:8)
    at Parser.pp$3.parseObj (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:2380:23)
    at Parser.pp$3.parseExprAtom (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:2179:17)
    at Parser.<anonymous> (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:6003:24)
    at Parser.parseExprAtom (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:6129:31)
    at Parser.pp$3.parseExprSubscripts (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:2047:19)
    at Parser.pp$3.parseMaybeUnary (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:2024:17)
    at Parser.pp$3.parseExprOps (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:1966:19)
    at Parser.pp$3.parseMaybeConditional (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:1949:19)
    at Parser.pp$3.parseMaybeAssign (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:1925:19)
    at Parser.pp$3.parsePropertyValue (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:2443:87)
    at Parser.pp$3.parseProperty (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:2434:8)
    at Parser.pp$3.parseObj (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:2380:23)
    at Parser.pp$3.parseExprAtom (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:2179:17)
    at Parser.<anonymous> (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:6003:24)
    at Parser.parseExprAtom (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:6129:31)
    at Parser.pp$3.parseExprSubscripts (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:2047:19)
    at Parser.pp$3.parseMaybeUnary (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:2024:17)
    at Parser.pp$3.parseExprOps (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:1966:19)
    at Parser.pp$3.parseMaybeConditional (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:1949:19)
    at Parser.pp$3.parseMaybeAssign (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:1925:19)
    at Parser.pp$3.parseExprList (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:2663:20)
    at Parser.pp$3.parseSubscripts (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:2075:29)
 @ ./components/LocationList.vue?vue&type=template&id=f50f4164&scoped=true& 1:0-222 1:0-222
 @ ./components/LocationList.vue
 @ ../node_modules/babel-loader/lib!../node_modules/vue-loader/lib??vue-loader-options!./components/Home.vue?vue&type=script&lang=js&
 @ ./components/Home.vue?vue&type=script&lang=js&
 @ ./components/Home.vue
 @ ./app.js

Here the « Unexpected token (1:266) » is no help at all as it seems to refer to a line and position in the bundled .js file, and not the position in the original file in which there is an error (here LocationList.vue, where the error was on line 10).

(In my case the parse error was due to me mistakenly trying to use v-model as an event handler in one of my components due to a wrong copy / paste. Ie. <Switch v-model:checked="emit('modified')" ... >).

To Reproduce
Add <Switch v-model="foo();" /> to any Vue template.

Expected behavior
The correct line and position of the error should be displayed (ideally with some useful error message explaining what’s wrong), instead of the big stack trace that does not help.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0