NativeScript / nativescript-dev-webpack

A package to help with webpacking NativeScript apps.
Apache License 2.0
97 stars 49 forks source link

NS 6.0 RC - Webpack crash w/ JS plugins #983

Closed NathanaelA closed 5 years ago

NathanaelA commented 5 years ago

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

Please note; this is as stock as possible -- I did the following:

tns create demo --js
cd demo
tns migrate
tns plugin add ../src
<edit main-page.json to add the require to add the plugin>
tns buld android

Describe the bug

ERROR in /home/nathanael/projects/NativeScript/repos/test-plugin/src/test.js
Module not found: Error: Can't resolve 'tns-core-modules/file-system' in '/home/nathanael/projects/NativeScript/repos/test-plugin/src'
 @ /home/nathanael/projects/NativeScript/repos/test-plugin/src/test.js 1:11-50
 @ ./main-page.js
 @ . sync (?<!App_Resources.*).(xml|css|js|(?<!d.)ts|scss)$
 @ ./app.js
Webpack compilation complete.
Executing webpack failed with exit code 2.

To Reproduce tns build android (or tns run android)

Expected behavior Works. :grinning:

Sample project Attached.

Additional context This is on Linux. I have not tested this on Windows or Mac. Appears though to be a webpack issue with symlinked plugins.

test-plugin.zip

More information This appears to be a symlink issue -- if I delete the symlink out of the node_modules folder, and then COPY the plugins "src" folder into the demo node_modules folder (and rename src back to the proper name); then building actually works.

DimitarTachev commented 5 years ago

Hi @NathanaelA,

Thanks for investigating that!

The resolve property of the JavaScript Webpack config was not properly configured for symlinked packages and the Webpack compilation was not searching fornode_modules in the app dir when a symlink is followed.

I've opened a pull request with the proper resolve configuration. You could give it a try by applying the same changes to your local webpack.config.js.

NathanaelA commented 5 years ago

@DimitarTachev - Awesome; that fixes the demo project... I'll be trying with a couple real plugins tomorrow. :D

rosen-vladimirov commented 5 years ago

Hey @NathanaelA , Did you have time to give it a try? Can we mark this issue as resolved?

NathanaelA commented 5 years ago

Yes, v1.01 I believe fixes the issue. I'll close this unless I run into another one that breaks...