zodern / melte

Svelte compiler for Meteor with built in tracker integration and HMR
MIT License
33 stars 14 forks source link

Svelte not picked up by cordova apps #16

Closed TechplexEngineer closed 2 years ago

TechplexEngineer commented 2 years ago

Thanks for adding Svelte support to meteor.

When using svelte and cordova the svelte libraries are note being included. I learned per this forum post: https://forums.meteor.com/t/has-anybody-tried-svelte-mobile/53243/8

// navigate to your app's root directory, then go to imports, and then create the symbolic link there
$ cd imports
$ ln -s ../node_modules/svelte/

This seems to solve the problem on cordova.

Here is the error:

zodern_melte-compiler.js?hash=24753a6571f4db1ee799c82d1fee83f5d983dbfd:509 [HMR][Svelte] Unrecoverable error in <App>: next update will trigger a full reload
logError @ zodern_melte-compiler.js?hash=24753a6571f4db1ee799c82d1fee83f5d983dbfd:509
Proxy<App> @ zodern_melte-compiler.js?hash=24753a6571f4db1ee799c82d1fee83f5d983dbfd:866
(anonymous) @ app.js?hash=6783f354979135c3f7206021b162f9c5af125ebd:384
maybeReady @ meteor.js?hash=39ce5c7fe4f62f37efc0097b67b41a4f3a773988:975
releaseReadyHold @ meteor.js?hash=39ce5c7fe4f62f37efc0097b67b41a4f3a773988:964
Channel.fire @ cordova.js:872
(anonymous) @ cordova.js:232
setTimeout (async)
fireDocumentEvent @ cordova.js:227
(anonymous) @ cordova.js:1306
f @ cordova.js:720
Channel.subscribe @ cordova.js:802
join @ cordova.js:726
(anonymous) @ cordova.js:1305
f @ cordova.js:720
Channel.fire @ cordova.js:872
(anonymous) @ cordova.js:1287
onScriptLoadingComplete @ cordova.js:1662
scriptLoadedCallback @ cordova.js:1679
(anonymous) @ cordova.js:1633
load (async)
exports.injectScript @ cordova.js:1619
injectIfNecessary @ cordova.js:1631
handlePluginsObject @ cordova.js:1684
(anonymous) @ cordova.js:1713
(anonymous) @ cordova.js:1633
load (async)
exports.injectScript @ cordova.js:1619
injectIfNecessary @ cordova.js:1631
exports.load @ cordova.js:1711
(anonymous) @ cordova.js:1286
setTimeout (async)
(anonymous) @ cordova.js:1285
build @ cordova.js:47
require @ cordova.js:62
(anonymous) @ cordova.js:1902
(anonymous) @ cordova.js:1904
zodern_melte-compiler.js?hash=24753a6571f4db1ee799c82d1fee83f5d983dbfd:871 Uncaught TypeError: Class constructor SvelteComponentDev cannot be invoked without 'new'
    at new App (app.js?hash=6783f354979135c3f7206021b162f9c5af125ebd:312)
    at createProxiedComponent (zodern_melte-compiler.js?hash=24753a6571f4db1ee799c82d1fee83f5d983dbfd:1169)
    at new ProxyComponent (zodern_melte-compiler.js?hash=24753a6571f4db1ee799c82d1fee83f5d983dbfd:735)
    at new Proxy<App> (zodern_melte-compiler.js?hash=24753a6571f4db1ee799c82d1fee83f5d983dbfd:835)
    at app.js?hash=6783f354979135c3f7206021b162f9c5af125ebd:384
    at maybeReady (meteor.js?hash=39ce5c7fe4f62f37efc0097b67b41a4f3a773988:975)
    at Channel.releaseReadyHold (meteor.js?hash=39ce5c7fe4f62f37efc0097b67b41a4f3a773988:964)
    at Channel.fire (cordova.js:872)
    at cordova.js:232

Using Meteor 2.5.1 Cordova 10.0.0 Android SDK Tools 30.0.3

Steps to reproduce

  1. cd /tmp
  2. meteor create --svelte repro
  3. cd repro
  4. meteor add platform android
  5. meteor run android-device --mobile-server http://<meteor host IP>:3000
  6. Observe Error
zodern commented 2 years ago

This is a bug in Meteor. I would suggest opening an issue there.