Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jderochervlk/rescript-fresh
ReScript bindings for Deno's Fresh framework
https://github.com/jderochervlk/rescript-fresh
deno denofresh rescript
Last synced: 21 days ago
JSON representation
ReScript bindings for Deno's Fresh framework
- Host: GitHub
- URL: https://github.com/jderochervlk/rescript-fresh
- Owner: jderochervlk
- Created: 2024-11-29T20:33:12.000Z (24 days ago)
- Default Branch: main
- Last Pushed: 2024-11-30T18:52:14.000Z (23 days ago)
- Last Synced: 2024-11-30T19:28:32.511Z (23 days ago)
- Topics: deno, denofresh, rescript
- Language: ReScript
- Homepage:
- Size: 3.91 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# @jvlk/rescript-fresh
ReScript bindings and utils for [Fresh](https://fresh.deno.dev/).Read the [docs](https://joshderoche-rescript-fr-52.deno.dev/).
## Getting started
You can use this [starter repo](https://github.com/jderochervlk/rescript-fresh-starter) as a template. It's the same thing you get by creating a new Fresh app, just set up to use ReScript.### Adding ReScript to an existing Fresh app
#### Create a ReScript config file
```
// rescript.json
{
"name": "rescript-fresh-example",
"sources": [
{
"dir": "components",
"subdirs": true
},
{
"dir": "islands",
"subdirs": true
},
{
"dir": "routes",
"subdirs": true
}
],
"package-specs": [
{
"module": "esmodule",
"in-source": true
}
],
"suffix": ".js", // the suffix needs to be .js for Fresh to pick up on route files
"jsx": {
"module": "preact" // Fresh uses Preact
},
"bs-dependencies": [
"@rescript/webapi", // it's highly recommended to use the webapi with Fresh
"@jvlk/rescript-fresh"
],
"bsc-flags": [
"-open WebAPI.Global"
]
}
```
### Update the Deno config
```diff
// deno.json
{
"tasks": {
+ "res:dev": "rescript -w",
+ "res:build": "rescript",
+ "res:clean": "rescript clean"
},
"imports": {
+ "rescript": "npm:rescript@next",
+ "@rescript/webapi": "npm:@rescript/webapi@experimental",
+ "@jvlk/rescript-fresh": "npm:@jvlk/rescript-fresh@^0.2.0"
}
}
```### Running
In one terminal run `deno task res:dev` and in another run `deno task start`.