Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/github-action-acceptance.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,5 @@ jobs:
with:
node-version: ${{ matrix.node-version }}
- run: yarn install
- run: yarn rescript:build:dev
- run: yarn rescript:build
- run: yarn test
11 changes: 4 additions & 7 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@
"build": "yarn rescript:build",
"rescript:clean": "yarn rescript clean",
"rescript:build": "yarn rescript build",
"rescript:build:dev": "yarn rescript build",
"rescript:dev": "yarn rescript watch",
"test": "yarn vitest --run --coverage --allow-only",
"test:dev": "yarn vitest",
Expand All @@ -35,29 +34,27 @@
},
"preferUnplugged": true,
"peerDependencies": {
"@greenlabs/ppx-spice": "0.2.8",
"@rescript/react": "^0.14.0-rc.1",
"@vercel/functions": "^2.0.0",
"next": "^16.0.1",
"next": "^16.0.7",
"next-auth": "^4.24.11",
"rescript": "^12.0.0-rc.2"
"rescript": "^12.0.0"
},
"devDependencies": {
"@greenfinity/rescript-vitest": "^0.2.0",
"@greenlabs/ppx-spice": "0.2.8",
"@rescript/react": "^0.14.0-rc.1",
"@vercel/functions": "^2.0.0",
"@vitest/coverage-v8": "2.1.8",
"auto-changelog": "^2.4.0",
"bs-loader": "^2.0.7",
"jsdom": "^26.0.0",
"next": "^16.0.1",
"next": "^16.0.7",
"next-auth": "^4.24.11",
"nodemon": "^3.0.1",
"prettier": "^2.3.1",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"rescript": "^12.0.0-rc.2",
"rescript": "^12.0.0",
"vitest": "^2.1.8"
},
"packageManager": "yarn@1.22.22+sha1.ac34549e6aa8e7ead463a7407e1c7390f61a6610"
Expand Down
5 changes: 2 additions & 3 deletions rescript.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@greenfinity/rescript-next",
"jsx": { "version": 4, "mode": "classic" },
"namespace": false,
"namespace": "greenfinity-next",
"compiler-flags": ["-bs-no-version-header"],
"suffix": ".bs.mjs",
"package-specs": {
Expand All @@ -23,7 +23,6 @@
"number": "-44",
"error": "+101"
},
"dependencies": ["@rescript/react", "@greenlabs/ppx-spice"],
"ppx-flags": ["@greenlabs/ppx-spice/ppx"],
"dependencies": ["@rescript/react"],
"dev-dependencies": ["@greenfinity/rescript-vitest"]
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
open GreenfinityNext_NextServer
open NextServer

// App route support

Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
2 changes: 1 addition & 1 deletion src/GreenfinityNext_Fetch.res → src/Fetch.res
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
open GreenfinityNext_Errors
open Errors
open Belt

type method = [#get | #post | #put]
Expand Down
File renamed without changes.
16 changes: 0 additions & 16 deletions src/GreenfinityNext.res

This file was deleted.

45 changes: 0 additions & 45 deletions src/GreenfinityNext_Converter.res

This file was deleted.

16 changes: 0 additions & 16 deletions src/GreenfinityNext_Protocol.res

This file was deleted.

4 changes: 2 additions & 2 deletions src/GreenfinityNext_Middleware.res → src/Middleware.res
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
module Errors = GreenfinityNext_Errors
module Next = GreenfinityNext_Next
module Errors = Errors
module Next = Next

let default: (Next.Req.t, Next.Res.t, 'a) => 'b = async (req, res, processIt) => {
let v = await processIt(req->Next.Req.bodyAsJson)
Expand Down
8 changes: 4 additions & 4 deletions src/GreenfinityNext_Navigation.res → src/Navigation.res
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// Support of server components

open GreenfinityNext_Url
open Url

type type_ = [#replace | #push]
@module("next/navigation")
Expand All @@ -24,7 +24,7 @@ module Router = {
type t = {
route: string,
asPath: string,
events: GreenfinityNext_Next.Router.Events.t,
events: Next.Router.Events.t,
// pathname, query are not returned in server components,
// usePathname and useSearchParams has to be used instead.
}
Expand All @@ -38,11 +38,11 @@ module Router = {

@send external push: (t, string, ~options: options=?) => unit = "push"
@send
external pushObj: (t, GreenfinityNext_Next.Router.pathObj, ~options: options=?) => unit = "push"
external pushObj: (t, Next.Router.pathObj, ~options: options=?) => unit = "push"

@send external replace: (t, string, ~options: options=?) => unit = "replace"
@send
external replaceObj: (t, GreenfinityNext_Next.Router.pathObj, ~options: options=?) => unit =
external replaceObj: (t, Next.Router.pathObj, ~options: options=?) => unit =
"replace"

@send external back: t => unit = "back"
Expand Down
6 changes: 3 additions & 3 deletions src/GreenfinityNext_Next.res → src/Next.res
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ module Req = {
module Res = {
type t

type statusCode = GreenfinityNext_Errors.apiErrorStatus
type statusCode = Errors.apiErrorStatus

// https://en.wikipedia.org/wiki/List_of_HTTP_status_codes
@set
Expand Down Expand Up @@ -321,12 +321,12 @@ module Headers = {
@new @module("next/headers") external makeAsync: unit => promise<t> = "headers"

// workaround for "cannot be used from client component" error (deprecated)
@module("./GreenfinityNext_Next.mjs")
@module("./Next.bs.mjs")
@deprecated("Use makePromiseWithRequire instead and await the result.")
external makeWithRequire: unit => t = "headersMakeWithRequire"

// workaround for "cannot be used from client component" error
@module("./GreenfinityNext_Next.mjs")
@module("./Next.bs.mjs")
external makeAsyncWithRequire: unit => promise<t> = "headersMakeWithRequire"

@send external _get: (t, string) => Nullable.t<string> = "get"
Expand Down
4 changes: 2 additions & 2 deletions src/GreenfinityNext_NextAuth.res → src/NextAuth.res
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
module Next = GreenfinityNext_Next
open GreenfinityNext_NextAuthTypes
module Next = Next
open NextAuthTypes

module SessionProvider = {
@module("next-auth/react") @react.component
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
module Next = GreenfinityNext_Next
open GreenfinityNext_NextAuthTypes
module Next = Next
open NextAuthTypes

@module("next-auth/next")
external _getServerSession: (Next.Req.t, Next.Res.t, _) => promise<Nullable.t<sessionData>> =
Expand Down
File renamed without changes.
16 changes: 8 additions & 8 deletions src/GreenfinityNext_NextServer.res → src/NextServer.res
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@
// --

module NextRequest = {
@deprecated("Use GreenfinityNext.Cookies instead")
module Cookies = GreenfinityNext_Cookies
@deprecated("Use Cookies instead")
module Cookies = Cookies

module URL = {
type t = {
...GreenfinityNext_Url.URL.t,
...Url.URL.t,
// According to the docs, these should exist:
// basePath: string,
// buildId?: string,
Expand All @@ -27,9 +27,9 @@ module NextRequest = {
}

type t = {
headers: GreenfinityNext_Fetch.Headers.t,
headers: Fetch.Headers.t,
nextUrl: URL.t,
cookies: GreenfinityNext_Cookies.t,
cookies: GreenfinityNext.Cookies.t,
}

@send external json: t => promise<JSON.t> = "json"
Expand All @@ -50,7 +50,7 @@ module NextResponse = {

exception ApiError(status)

type options = {status?: status, statusText?: string, headers?: GreenfinityNext_Fetch.Headers.t}
type options = {status?: status, statusText?: string, headers?: Fetch.Headers.t}

@module("next/server") @new
external make: ('a, ~options: options=?) => promise<t> = "NextResponse"
Expand All @@ -60,10 +60,10 @@ module NextResponse = {
/* `next` can be called either with
* `{request: {headers}}` or with `{headers}`.
*/
type nextOptionsHeaders = {headers: GreenfinityNext_Fetch.Headers.t}
type nextOptionsHeaders = {headers: Fetch.Headers.t}
type nextOptions = {
request?: nextOptionsHeaders,
headers?: GreenfinityNext_Fetch.Headers.t,
headers?: Fetch.Headers.t,
}
@module("next/server") @scope("NextResponse")
external next: nextOptions => t = "next"
Expand Down
File renamed without changes.
Loading