Skip to content

Agnostic Runtime #953

@thescientist13

Description

@thescientist13

Type of Change

Feature

Summary

Would like to provide Greenwood with the ability to run on a broad spectrum of runtime environments, not just NodeJS. So for example, being able to run Greenwood in

  • NodeJS
  • Deno (although technically Deno now support npm)
  • Bun
  • CloudFlare Workers
  • etc

This means more Web APIs like fetch, URL, etc and less fs, path, etc. So would like to make the core as agnostic as possible through and through, in preparation for Serverless / Edge cases as per #1008 and #948 .

Details

Things to look out for would be what "Adapter" strategies for anything that is Node specific. This includes

  • fs - alternatives to readFile, existsSync, copy, etc. Use fs.promises.* so we can use URL directly
  • path - get rid of all instances
  • process.cwd() - ???
  • Readable.from
  • Workers
  • os

Also, will want to pull along WCC for this adventure too.

Metadata

Metadata

Labels

CLIRFCProposal and changes to workflows, architecture, APIs, etcfeatureNew feature or requestwebsiteTasks related to the projects website / documentation

Type

No type

Projects

Status

✅ Done

Relationships

None yet

Development

No branches or pull requests

Issue actions