frostney / frostney/GocciaScript
Add a separate BundleBuilder executable that packages a module graph to .gcbundle
Open
Nobody has claimed this yet.
new feature
- Dominant language
- Pascal
- Stars
- 20
- Forks
- 3
- Avg merge
- 3d 4h
- Merged PRs (30d)
- 45
Description
Goal
Ship packaging as a dedicated BundleBuilder executable instead of overloading ScriptLoader.
Scope
- Add a new
BundleBuilderCLI. - Resolve the entry module graph.
- Compile each script module to bytecode.
- Embed JSON modules.
- Write
.gcbundleoutput. - Reject unsupported references such as unresolved imports, dynamic
import(), and paths outside the configured bundle root.
Acceptance Criteria
BundleBuilder ./app.js --output app.gcbundleproduces a runnable bundle.- Unresolved imports and unsupported references hard-fail with explicit errors.
- The tool is documented in the build/run docs.
- CLI tests cover success and failure cases.
Stand-alone Value
Provides a clean build-time packaging tool even before native executable packaging exists.
Dependencies
Depends on #153, #154, and #155.
Tracking
Tracked by #161.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing ScriptLoader and the work in dependencies #153, #154, and #155, then trace the app.js entry point and existing CLI conventions. Use the build/run docs and CLI test area as the validation targets; done means a runnable .gcbundle is produced and unsupported references fail with explicit errors.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- build-system, cli
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100