NetLogo / NetLogo/Galapagos

Bundle Beak as a single publishable package

Open
#398 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Beak meta
Dominant language
CoffeeScript
Stars
65
Forks
47
PR merge metrics
No merged PRs in 30d

Description

Right now Beak is bundled together with the rest of the code for displaying NetLogo Web. Ideally Beak would be refactored with clear entry points so it could be published to a package registry and taken as a normal dependency by other projects (along with the Tortoise compiler and runtime engine). This would allow more easily making projects using Beak and Tortoise without manually getting a copy of the JavaScript artifacts. A good example of this would be NetTango Web, which currently lives in the Galapagos repo for convenient access to the NetLogo Web view scripts, but should really be split off into its own repository.

A possible requirement to make this happen properly would be to remove the last couple of webjars (Markdown.js and Google Caja) from the build.sbt and get them into the package.json for proper dependency resolution when published.

With #77 closed, this should be a more straightforward task to accomplish using Rollup.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by examining how Beak is currently bundled with NetLogo Web and how its entry points are represented, then review build.sbt, package.json, and the Rollup setup. Done means Beak can be published as a single package and consumed as a normal dependency, with Markdown.js and Google Caja resolved through package.json rather than webjars.

Written by the indexing model from the issue text.

Assessment

Tech stack
coffeescript, rollup
Domain
build-system, tooling
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.