question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Proposal: bring all code from JScad repostitories into this one

See original GitHub issue

The 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:closed
  • Created 5 years ago
  • Reactions:3
  • Comments:10 (4 by maintainers)

github_iconTop GitHub Comments

2reactions
gilboonetcommented, Feb 11, 2019

@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/

capture d ecran de 2019-02-11 10-35-34

1reaction
hg42commented, Jan 17, 2019

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.

Read more comments on GitHub >

github_iconTop 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 >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found