Proposal: bring all code from JScad repostitories into this one
See original GitHub issueThe issue:
More and more people are trying to contribute to Jscad, but the multiple repositories setup is making that considerably harder than it needs to be. The split to different repositories was needed when originally trying to make the large code base manageable, but now we can have the advantages of multiple smaller modules with a single repo thanks to Monorepos/ Lerna.
Proposal ?
The idea is this
- we bring at least
@jscad/io
into the current repository - the files would be at package/io/ and keep their current structure, so something like
- packages/io/stl-serializer
- packages/io/svg-deserializer
- etc
- this means:
- a single monorep
- a single command to set up a development environement
- less issues and complexity
- not too sure about Csg.js , perhaps we can see to that after V2
Issue Analytics
- State:
- Created 5 years ago
- Reactions:3
- Comments:10 (4 by maintainers)
Top Results From Across the Web
switch to a real module system for better modular designs ...
Curent system Hi everyone ! right now we are using a custom and rather limited include system to enable modular design & part...
Read more >@jscad/openjscad - npm Package Health Analysis | Snyk
Snyk scans all the packages in your projects for vulnerabilities and provides automated fix advice. Get started free ...
Read more >@jscad/web - npm
Start using @jscad/web in your project by running `npm i @jscad/web`. ... Note : you can also change the code in all the...
Read more >OpenJSCAD User Guide - Wikibooks, open books for an open ...
Welcome to OpenJSCAD User and Programming Guide. ... support for OpenSCAD source-code (approximately 80% of all functions); additional functions to ease the ...
Read more >JavaScript graph library, for embedding and drawing planar ...
Code : Select all ... You can see all 4 red (full) vertices in this view: ... OpenJsCad repo and revived his github.io...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
@BarbourSmith What I did was quite straigthforward. I reused the svg output into a call to a function called svg2gcode from a github project called gcode simulator. As it was using three.js, I needed to include 7 js to index.html, and as I’m using a laser cutter without Z axis I tweaked svg2Gcode to remove this, and that’s it. It’s targeted to version 0.5.0 of jscad and I didn’t use github at this moment. Now with node there is certainly an easier way to do the same directly from a cag. You can see it here : http://gilboo.carton.free.fr/OJSC5/
I also found confusing that the main component (csg) is in it’s own repo, while web, cli, desktop are together. So, I already moved csg.js to package/csg by cloning it as a sub-repo, because then it’s managed automatically by lerna. Unfortunately when changing a branch in OpenJSCAD.org it was removed again.
I am still in the steep learning phase according to all these node tools. I also only got a glance on git sub-modules.
However, wouldn’t it be possible to have the packages in packages/* as git sub-modules while managing the packages with lerna? I hope, this would combine all advantages. Someone using only a basic package (mainly csg) could do this without bothering with the whole jscad ecosystem, while others could clone jscad as a whole, because the sub-modules can be pulled by the base system. Adding more packages should be made easy, may be like a plugin system, so that users could also add such packages. I don’t know if lerna handles sub-folders. This would be useful to organize all the packages, e.g. user plugins could go to a separate folder and cli, web, desktop could be moved to “frontends” or similar.