5 ms·
Mancy: JavaScript REPL
- vortico 11y agoTo prevent 40MB downloads for a REPL, is there a library version of Electron that can be installed globally, so that small scripts can use it to produce full applications? (My expected response is that Electron and Node are both moving fast enough so that multiple versions may be incompatible. Global libraries tend to work for stable software, so it may be possible in the future for Electron.)
- fiatjaf 11y agoThat would be great.
- brownegg 11y agoWhy do you need to prevent 40MB downloads?
- vortico 11y agoIf every package was 40 MB on my computer, my distribution would be 30 GB. More importantly, these 40 MB of code and resources expand to about 400 MB in memory when the application is running, but a global library wouldn't fix that.
- davexunit 11y ago400MB of RAM for a REPL!? That's absurdly high.
- dimgl 11y agoThe REPL is currently using 20 MB of RAM on my computer, so I don't know what this guy is talking about.
- vortico 11y agoElectron consumes 117MB, npm takes 50MB, and gulp is consuming 114MB, although I don't know how much of this value is shared between the processes (since there are 40+ of them).
- coldtea 11y ago>If every package was 40 MB on my computer, my distribution would be 30 GB. Only if you had installed 750 userland programs. Which are quite a lot. And even then, 30GB for your OS + your third party programs is negligible in even a 265GB flask disk (merely 12% of it). >More importantly, these 40 MB of code and resources expand to about 400 MB in memory when the application is running, but a global library wouldn't fix that. Not sure where you got those metrics. Code doesn't "expand" on memory, and binary size it's not a reliable metric of how much memory it will use (a trivial 5 line program that just mallocs can use TB of memory). For the majority of very large programs, most of the size on disk is assets, not compiled code.
- michaelmrose 11y agoYou are correct that code doesn't "expand on memory" but there is no fixed relationship between code size and memory usage. You could certainly write a tiny program that uses a ton of memory pretty easily.
- coldtea 11y agoYeah, I say that: "a trivial 5 line program that just mallocs can use TB of memory".
- princejwesley 11y agoI'll look into that :-) Version 2 will be released in three days(Nov 2). Feature list : https://github.com/princejwesley/Mancy/wiki/Features-&-Roadmap-for-version-2 https://github.com/princejwesley/Mancy/wiki/Features-&-Roadm...
- vortico 11y agoWould npm install -g electron-prebuilt do the trick for users, while they use a smaller version of your release without Electron included?
- jimmyhmiller 11y agoWell, rather than commenting on download size I'll talk about the program. This looks really awesome! I've been wanting a nice js repl for a while and this one definitely has a lot of the qualities I was looking for. Auto complete is very nice. Color syntax looks great. The biggest thing I would like to see is to persist history. I'd love to up arrow through previous sessions. Overall nicely done!
- msluyter 11y agoI was just looking for something like this. How do I load external node modules into the repl? I tried "File->Add module path" but it didn't seem to work for me. Basically, having done an npm install of lodash somewhere, I want to do var _ = require('lodash'); in the repl.
- princejwesley 11y agoThis feature is available in version 2. Target release : Nov 2. https://github.com/princejwesley/Mancy/wiki/Features-&-Roadmap-for-version-2 https://github.com/princejwesley/Mancy/wiki/Features-&-Roadm...
- ad1ttya 11y agoYou install lodash globally, and can then use the above line to use the module inside repl..
- jimmyhmiller 11y agoI did the same thing and pointed to a node_modules folder on a project I had. Worked fine for me.
- solidr53 11y agoWhat kind of javascript engine is on this REPL? I tried some ES6 stuff with random success. For example arrow functions work while deconstructing doesn't.
- princejwesley 11y agoIt depends on underlying electron's node version. In version 2, we have preference to enable babel integration to utilize ES2015 features
- xixixao 11y agoVery relevant: https://tonicdev.com/ https://tonicdev.com/
- princejwesley 11y agoYes. Version 2 will be even more relevant(on demand modules loading, data vizualization ..)
- jonahx 11y agoLooks nice. I'd like to hear how this compares to lighttable from anyone who's used both.
- hex13 11y agoautocompletion is buggy: I wrote: var fs = require('fs'); then pressed enter. Result: var fs = require('fs');fs (fs in the end). And autocompletion is too agressive. I declared variable `b`` then in new line I entered: `b` and it automatically autocompleted me to `break`. So I think it's pretty alpha right now, but overall idea is good :) We need better tools :)
- princejwesley 11y agoMancy version 2 released. Feature documentation: https://github.com/princejwesley/Mancy/wiki/Version-II https://github.com/princejwesley/Mancy/wiki/Version-II