# Installing a JS runtime _Cynthia doesn't need one, but most of its plugins do!_ ## Supported by Cynthia #### Runtimes Cynthia supports **_Node.js_ and _Bun_ (natively) everywhere** (please be advised Bun on Windows is experimental). - Any available Bun instance is prefered over Node.js by Cynthia, this because Cynthia assumes Bun will start faster. - Cynthia (plv2) plugins are rapidly iterated over, giving each a chance to modify or enhance outputs. This makes starting times **very** important, as a single action might mean 30 scripts being run and returned from. This said, in testing, no serious issues have been seen, yet. - Cynthia finds runtimes through the _path_. #### Package managers Cynthia tries to support the package managers provided with their respective runtimes, however, will also add support for _PNPM_ in the future. ### Order of preference Cynthia will have a preference when it finds multiple supported components installed. These are different for package managers than for runtimes. | **_Runtime_** | **_Package manager_** | |---------------|-----------------------| | Bun | _PNPM_\* | | Node.JS | Bun | | | NPM | ## Downloads I'll link you to these, and you should be able to download and install them according to their own websites. - Node.js: (`LTS / v20.x.x` is recommended.) - Bun: (`current` is used in tests, too.)