revojs 0.1.24 → 0.1.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -251,7 +251,7 @@ async function createServer() {
251
251
  for (const [path, route] of routes) {
252
252
  const segments = path.toLowerCase().split("/");
253
253
  for (const attribute of segments.pop()?.split(".") ?? []) {
254
- if (attribute === "index" || attribute === "js" || attribute === "ts") continue;
254
+ if (attribute === "js" || attribute === "ts") continue;
255
255
  if (attribute === "get" || attribute === "post" || attribute === "put" || attribute === "delete" || attribute === "patch" || attribute === "options" || attribute === "head" || attribute === "trace" || attribute === "connect") segments.unshift(attribute);
256
256
  else segments.push(attribute);
257
257
  }
@@ -423,13 +423,13 @@ var App = class extends Hookable {
423
423
  }
424
424
  },
425
425
  sources: { routes: {
426
- match: "**/*.{get,head,post,put,delete,connect,options,trace,patch}.{js,ts}",
426
+ match: "**/{get,head,post,put,delete,connect,options,trace,patch}.{js,ts}",
427
427
  entries: ["./routes"]
428
428
  } },
429
429
  development: { middlewares: [] },
430
430
  build: {
431
431
  externals: [],
432
- types: {},
432
+ types: { "revojs.d.ts": () => `import "revojs/types"` },
433
433
  virtuals: {},
434
434
  alias: {}
435
435
  }
@@ -439,6 +439,7 @@ var App = class extends Hookable {
439
439
  };
440
440
  const SERVER = "ssr";
441
441
  const CLIENT = "client";
442
+ const CLOSE_HOOK = defineHook("CLOSE_HOOK");
442
443
 
443
444
  //#endregion
444
- export { isServer as A, setState as B, WILDCARD_MATCH as C, getState as D, defineRoute as E, sendJson as F, useServer as G, useHeaders as H, sendRedirect as I, withQuery as J, useSetCookies as K, sendText as L, mimeTypes as M, sendBadRequest as N, invoke as O, sendHtml as P, sendUnauthorized as R, WILDCARD as S, defineMiddleware as T, useQuery as U, useCookies as V, useRouter as W, ROUTER_CONTEXT as _, Scope as a, SERVER_CONTEXT as b, isFailure as c, OPTIONAL_PARAMETER as d, OPTIONAL_PARAMETER_MATCH as f, PARAMETER_MATCH as g, PARAMETER as h, Hookable as i, mimeType as j, isClient as k, mergeObjects as l, OPTIONAL_WILDCARD_MATCH as m, CLIENT as n, defineContext as o, OPTIONAL_WILDCARD as p, useUrl as q, SERVER as r, defineHook as s, App as t, parseSchema as u, Radix as v, createServer as w, STATES as x, Router as y, setCookie as z };
445
+ export { isClient as A, setCookie as B, WILDCARD as C, defineRoute as D, defineMiddleware as E, sendHtml as F, useRouter as G, useCookies as H, sendJson as I, useUrl as J, useServer as K, sendRedirect as L, mimeType as M, mimeTypes as N, getState as O, sendBadRequest as P, sendText as R, STATES as S, createServer as T, useHeaders as U, setState as V, useQuery as W, withQuery as Y, PARAMETER_MATCH as _, Hookable as a, Router as b, defineHook as c, parseSchema as d, OPTIONAL_PARAMETER as f, PARAMETER as g, OPTIONAL_WILDCARD_MATCH as h, SERVER as i, isServer as j, invoke as k, isFailure as l, OPTIONAL_WILDCARD as m, CLIENT as n, Scope as o, OPTIONAL_PARAMETER_MATCH as p, useSetCookies as q, CLOSE_HOOK as r, defineContext as s, App as t, mergeObjects as u, ROUTER_CONTEXT as v, WILDCARD_MATCH as w, SERVER_CONTEXT as x, Radix as y, sendUnauthorized as z };
@@ -212,8 +212,9 @@ declare class App extends Hookable {
212
212
  }
213
213
  declare const SERVER = "ssr";
214
214
  declare const CLIENT = "client";
215
+ declare const CLOSE_HOOK: Descriptor<() => void>;
215
216
  //#endregion
216
217
  //#region src/client/index.d.ts
217
218
  declare function $fetch<T>(scope: Scope, input: string | URL, options?: RequestInit): Promise<T>;
218
219
  //#endregion
219
- export { isClient as $, ParameterNode as A, Scope as At, STATES as B, OPTIONAL_PARAMETER_MATCH as C, InferInput as Ct, OptionalWildcardNode as D, Mergeable as Dt, OptionalParameterNode as E, Issue as Et, Result as F, mergeObjects as Ft, WILDCARD as G, ServerContext as H, Route as I, parseSchema as It, createServer as J, WILDCARD_MATCH as K, Router as L, ROUTER_CONTEXT as M, defineContext as Mt, Radix as N, defineHook as Nt, PARAMETER as O, Output as Ot, ResponseConfig as P, isFailure as Pt, invoke as Q, RouterContext as R, OPTIONAL_PARAMETER as S, Hookable as St, OPTIONAL_WILDCARD_MATCH as T, Invoke as Tt, States as U, Server as V, StatusCode as W, defineRoute as X, defineMiddleware as Y, getState as Z, Encoding as _, useUrl as _t, Config as a, sendJson as at, MimeType as b, Descriptor as bt, Environment as c, sendUnauthorized as ct, Source as d, useCookies as dt, isServer as et, Template as f, useHeaders as ft, CookieSameSite as g, useSetCookies as gt, CookiePriority as h, useServer as ht, CLIENT as i, sendHtml as it, PathNode as j, Success as jt, PARAMETER_MATCH as k, Schema as kt, Module as l, setCookie as lt, CookieOptions as m, useRouter as mt, App as n, mimeTypes as nt, Content as o, sendRedirect as ot, Virtual as p, useQuery as pt, WildcardNode as q, BuildConfig as r, sendBadRequest as rt, DevelopmentConfig as s, sendText as st, $fetch as t, mimeType as tt, SERVER as u, setState as ut, HttpMethod as v, withQuery as vt, OPTIONAL_WILDCARD as w, InferOutput as wt, Node as x, Failure as xt, Middleware as y, Context as yt, SERVER_CONTEXT as z };
220
+ export { invoke as $, PARAMETER_MATCH as A, Schema as At, SERVER_CONTEXT as B, OPTIONAL_PARAMETER as C, Hookable as Ct, OptionalParameterNode as D, Issue as Dt, OPTIONAL_WILDCARD_MATCH as E, Invoke as Et, ResponseConfig as F, isFailure as Ft, StatusCode as G, Server as H, Result as I, mergeObjects as It, WildcardNode as J, WILDCARD as K, Route as L, parseSchema as Lt, PathNode as M, Success as Mt, ROUTER_CONTEXT as N, defineContext as Nt, OptionalWildcardNode as O, Mergeable as Ot, Radix as P, defineHook as Pt, getState as Q, Router as R, Node as S, Failure as St, OPTIONAL_WILDCARD as T, InferOutput as Tt, ServerContext as U, STATES as V, States as W, defineMiddleware as X, createServer as Y, defineRoute as Z, CookieSameSite as _, useSetCookies as _t, CLOSE_HOOK as a, sendHtml as at, Middleware as b, Context as bt, DevelopmentConfig as c, sendText as ct, SERVER as d, setState as dt, isClient as et, Source as f, useCookies as ft, CookiePriority as g, useServer as gt, CookieOptions as h, useRouter as ht, CLIENT as i, sendBadRequest as it, ParameterNode as j, Scope as jt, PARAMETER as k, Output as kt, Environment as l, sendUnauthorized as lt, Virtual as m, useQuery as mt, App as n, mimeType as nt, Config as o, sendJson as ot, Template as p, useHeaders as pt, WILDCARD_MATCH as q, BuildConfig as r, mimeTypes as rt, Content as s, sendRedirect as st, $fetch as t, isServer as tt, Module as u, setCookie as ut, Encoding as v, useUrl as vt, OPTIONAL_PARAMETER_MATCH as w, InferInput as wt, MimeType as x, Descriptor as xt, HttpMethod as y, withQuery as yt, RouterContext as z };
package/dist/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { $ as isClient, A as ParameterNode, At as Scope, B as STATES, C as OPTIONAL_PARAMETER_MATCH, Ct as InferInput, D as OptionalWildcardNode, Dt as Mergeable, E as OptionalParameterNode, Et as Issue, F as Result, Ft as mergeObjects, G as WILDCARD, H as ServerContext, I as Route, It as parseSchema, J as createServer, K as WILDCARD_MATCH, L as Router, M as ROUTER_CONTEXT, Mt as defineContext, N as Radix, Nt as defineHook, O as PARAMETER, Ot as Output, P as ResponseConfig, Pt as isFailure, Q as invoke, R as RouterContext, S as OPTIONAL_PARAMETER, St as Hookable, T as OPTIONAL_WILDCARD_MATCH, Tt as Invoke, U as States, V as Server, W as StatusCode, X as defineRoute, Y as defineMiddleware, Z as getState, _ as Encoding, _t as useUrl, a as Config, at as sendJson, b as MimeType, bt as Descriptor, c as Environment, ct as sendUnauthorized, d as Source, dt as useCookies, et as isServer, f as Template, ft as useHeaders, g as CookieSameSite, gt as useSetCookies, h as CookiePriority, ht as useServer, i as CLIENT, it as sendHtml, j as PathNode, jt as Success, k as PARAMETER_MATCH, kt as Schema, l as Module, lt as setCookie, m as CookieOptions, mt as useRouter, n as App, nt as mimeTypes, o as Content, ot as sendRedirect, p as Virtual, pt as useQuery, q as WildcardNode, r as BuildConfig, rt as sendBadRequest, s as DevelopmentConfig, st as sendText, t as $fetch, tt as mimeType, u as SERVER, ut as setState, v as HttpMethod, vt as withQuery, w as OPTIONAL_WILDCARD, wt as InferOutput, x as Node, xt as Failure, y as Middleware, yt as Context, z as SERVER_CONTEXT } from "./index-NJXRiTAn.js";
2
- export { $fetch, App, BuildConfig, CLIENT, Config, Content, Context, CookieOptions, CookiePriority, CookieSameSite, Descriptor, DevelopmentConfig, Encoding, Environment, Failure, Hookable, HttpMethod, InferInput, InferOutput, Invoke, Issue, Mergeable, Middleware, MimeType, Module, Node, OPTIONAL_PARAMETER, OPTIONAL_PARAMETER_MATCH, OPTIONAL_WILDCARD, OPTIONAL_WILDCARD_MATCH, OptionalParameterNode, OptionalWildcardNode, Output, PARAMETER, PARAMETER_MATCH, ParameterNode, PathNode, ROUTER_CONTEXT, Radix, ResponseConfig, Result, Route, Router, RouterContext, SERVER, SERVER_CONTEXT, STATES, Schema, Scope, Server, ServerContext, Source, States, StatusCode, Success, Template, Virtual, WILDCARD, WILDCARD_MATCH, WildcardNode, createServer, defineContext, defineHook, defineMiddleware, defineRoute, getState, invoke, isClient, isFailure, isServer, mergeObjects, mimeType, mimeTypes, parseSchema, sendBadRequest, sendHtml, sendJson, sendRedirect, sendText, sendUnauthorized, setCookie, setState, useCookies, useHeaders, useQuery, useRouter, useServer, useSetCookies, useUrl, withQuery };
1
+ import { $ as invoke, A as PARAMETER_MATCH, At as Schema, B as SERVER_CONTEXT, C as OPTIONAL_PARAMETER, Ct as Hookable, D as OptionalParameterNode, Dt as Issue, E as OPTIONAL_WILDCARD_MATCH, Et as Invoke, F as ResponseConfig, Ft as isFailure, G as StatusCode, H as Server, I as Result, It as mergeObjects, J as WildcardNode, K as WILDCARD, L as Route, Lt as parseSchema, M as PathNode, Mt as Success, N as ROUTER_CONTEXT, Nt as defineContext, O as OptionalWildcardNode, Ot as Mergeable, P as Radix, Pt as defineHook, Q as getState, R as Router, S as Node, St as Failure, T as OPTIONAL_WILDCARD, Tt as InferOutput, U as ServerContext, V as STATES, W as States, X as defineMiddleware, Y as createServer, Z as defineRoute, _ as CookieSameSite, _t as useSetCookies, a as CLOSE_HOOK, at as sendHtml, b as Middleware, bt as Context, c as DevelopmentConfig, ct as sendText, d as SERVER, dt as setState, et as isClient, f as Source, ft as useCookies, g as CookiePriority, gt as useServer, h as CookieOptions, ht as useRouter, i as CLIENT, it as sendBadRequest, j as ParameterNode, jt as Scope, k as PARAMETER, kt as Output, l as Environment, lt as sendUnauthorized, m as Virtual, mt as useQuery, n as App, nt as mimeType, o as Config, ot as sendJson, p as Template, pt as useHeaders, q as WILDCARD_MATCH, r as BuildConfig, rt as mimeTypes, s as Content, st as sendRedirect, t as $fetch, tt as isServer, u as Module, ut as setCookie, v as Encoding, vt as useUrl, w as OPTIONAL_PARAMETER_MATCH, wt as InferInput, x as MimeType, xt as Descriptor, y as HttpMethod, yt as withQuery, z as RouterContext } from "./index-xe4wwpuC.js";
2
+ export { $fetch, App, BuildConfig, CLIENT, CLOSE_HOOK, Config, Content, Context, CookieOptions, CookiePriority, CookieSameSite, Descriptor, DevelopmentConfig, Encoding, Environment, Failure, Hookable, HttpMethod, InferInput, InferOutput, Invoke, Issue, Mergeable, Middleware, MimeType, Module, Node, OPTIONAL_PARAMETER, OPTIONAL_PARAMETER_MATCH, OPTIONAL_WILDCARD, OPTIONAL_WILDCARD_MATCH, OptionalParameterNode, OptionalWildcardNode, Output, PARAMETER, PARAMETER_MATCH, ParameterNode, PathNode, ROUTER_CONTEXT, Radix, ResponseConfig, Result, Route, Router, RouterContext, SERVER, SERVER_CONTEXT, STATES, Schema, Scope, Server, ServerContext, Source, States, StatusCode, Success, Template, Virtual, WILDCARD, WILDCARD_MATCH, WildcardNode, createServer, defineContext, defineHook, defineMiddleware, defineRoute, getState, invoke, isClient, isFailure, isServer, mergeObjects, mimeType, mimeTypes, parseSchema, sendBadRequest, sendHtml, sendJson, sendRedirect, sendText, sendUnauthorized, setCookie, setState, useCookies, useHeaders, useQuery, useRouter, useServer, useSetCookies, useUrl, withQuery };
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { A as isServer, B as setState, C as WILDCARD_MATCH, D as getState, E as defineRoute, F as sendJson, G as useServer, H as useHeaders, I as sendRedirect, J as withQuery, K as useSetCookies, L as sendText, M as mimeTypes, N as sendBadRequest, O as invoke, P as sendHtml, R as sendUnauthorized, S as WILDCARD, T as defineMiddleware, U as useQuery, V as useCookies, W as useRouter, _ as ROUTER_CONTEXT, a as Scope, b as SERVER_CONTEXT, c as isFailure, d as OPTIONAL_PARAMETER, f as OPTIONAL_PARAMETER_MATCH, g as PARAMETER_MATCH, h as PARAMETER, i as Hookable, j as mimeType, k as isClient, l as mergeObjects, m as OPTIONAL_WILDCARD_MATCH, n as CLIENT, o as defineContext, p as OPTIONAL_WILDCARD, q as useUrl, r as SERVER, s as defineHook, t as App, u as parseSchema, v as Radix, w as createServer, x as STATES, y as Router, z as setCookie } from "./app-B3x9-FYe.js";
1
+ import { A as isClient, B as setCookie, C as WILDCARD, D as defineRoute, E as defineMiddleware, F as sendHtml, G as useRouter, H as useCookies, I as sendJson, J as useUrl, K as useServer, L as sendRedirect, M as mimeType, N as mimeTypes, O as getState, P as sendBadRequest, R as sendText, S as STATES, T as createServer, U as useHeaders, V as setState, W as useQuery, Y as withQuery, _ as PARAMETER_MATCH, a as Hookable, b as Router, c as defineHook, d as parseSchema, f as OPTIONAL_PARAMETER, g as PARAMETER, h as OPTIONAL_WILDCARD_MATCH, i as SERVER, j as isServer, k as invoke, l as isFailure, m as OPTIONAL_WILDCARD, n as CLIENT, o as Scope, p as OPTIONAL_PARAMETER_MATCH, q as useSetCookies, r as CLOSE_HOOK, s as defineContext, t as App, u as mergeObjects, v as ROUTER_CONTEXT, w as WILDCARD_MATCH, x as SERVER_CONTEXT, y as Radix, z as sendUnauthorized } from "./app-CQy6OUji.js";
2
2
 
3
3
  //#region src/client/index.ts
4
4
  async function $fetch(scope, input, options) {
@@ -25,4 +25,4 @@ async function $fetch(scope, input, options) {
25
25
  }
26
26
 
27
27
  //#endregion
28
- export { $fetch, App, CLIENT, Hookable, OPTIONAL_PARAMETER, OPTIONAL_PARAMETER_MATCH, OPTIONAL_WILDCARD, OPTIONAL_WILDCARD_MATCH, PARAMETER, PARAMETER_MATCH, ROUTER_CONTEXT, Radix, Router, SERVER, SERVER_CONTEXT, STATES, Scope, WILDCARD, WILDCARD_MATCH, createServer, defineContext, defineHook, defineMiddleware, defineRoute, getState, invoke, isClient, isFailure, isServer, mergeObjects, mimeType, mimeTypes, parseSchema, sendBadRequest, sendHtml, sendJson, sendRedirect, sendText, sendUnauthorized, setCookie, setState, useCookies, useHeaders, useQuery, useRouter, useServer, useSetCookies, useUrl, withQuery };
28
+ export { $fetch, App, CLIENT, CLOSE_HOOK, Hookable, OPTIONAL_PARAMETER, OPTIONAL_PARAMETER_MATCH, OPTIONAL_WILDCARD, OPTIONAL_WILDCARD_MATCH, PARAMETER, PARAMETER_MATCH, ROUTER_CONTEXT, Radix, Router, SERVER, SERVER_CONTEXT, STATES, Scope, WILDCARD, WILDCARD_MATCH, createServer, defineContext, defineHook, defineMiddleware, defineRoute, getState, invoke, isClient, isFailure, isServer, mergeObjects, mimeType, mimeTypes, parseSchema, sendBadRequest, sendHtml, sendJson, sendRedirect, sendText, sendUnauthorized, setCookie, setState, useCookies, useHeaders, useQuery, useRouter, useServer, useSetCookies, useUrl, withQuery };
@@ -1,4 +1,4 @@
1
- import { n as App, o as Content, p as Virtual } from "../index-NJXRiTAn.js";
1
+ import { m as Virtual, n as App, s as Content } from "../index-xe4wwpuC.js";
2
2
 
3
3
  //#region src/kit/index.d.ts
4
4
  declare function useKit(source: string | URL): {
@@ -1,4 +1,4 @@
1
- import { Dt as Mergeable, a as Config } from "../index-NJXRiTAn.js";
1
+ import { Ot as Mergeable, o as Config } from "../index-xe4wwpuC.js";
2
2
  import { Plugin } from "vite";
3
3
 
4
4
  //#region src/vite/index.d.ts
@@ -1,5 +1,5 @@
1
- import { O as invoke, a as Scope, b as SERVER_CONTEXT, n as CLIENT, r as SERVER, t as App } from "../app-B3x9-FYe.js";
2
- import { a as useKit, i as addVirtual } from "../kit-BQv19une.js";
1
+ import { i as SERVER, k as invoke, n as CLIENT, o as Scope, r as CLOSE_HOOK, t as App, x as SERVER_CONTEXT } from "../app-CQy6OUji.js";
2
+ import { a as useKit, i as addVirtual, r as addTypes } from "../kit-BQv19une.js";
3
3
  import { basename, isAbsolute, join, posix, resolve, win32 } from "path";
4
4
  import { mkdirSync, readFileSync, rmSync, writeFileSync } from "fs";
5
5
  import { cwd } from "process";
@@ -10,7 +10,7 @@ import { Readable, Stream } from "stream";
10
10
 
11
11
  //#region package.json
12
12
  var name = "revojs";
13
- var version = "0.1.24";
13
+ var version = "0.1.26";
14
14
 
15
15
  //#endregion
16
16
  //#region src/vite/node/index.ts
@@ -263,6 +263,7 @@ function revojs(config) {
263
263
  addVirtual(app, "server", () => {
264
264
  if (app.config.server) return `import { createServer } from "revojs"; export default await createServer()`;
265
265
  });
266
+ addTypes(app, "vite.d.ts", () => `import "vite/client"`);
266
267
  for (const name$1 in app.config.sources) {
267
268
  const source = app.config.sources[name$1];
268
269
  addVirtual(app, name$1, () => {
@@ -276,16 +277,18 @@ function revojs(config) {
276
277
  })}}`;
277
278
  });
278
279
  }
279
- const metaTypesPath = join(resolve(".revojs"), "types");
280
- rmSync(metaTypesPath, {
280
+ const metaPath = resolve(".revojs");
281
+ rmSync(metaPath, {
281
282
  recursive: true,
282
283
  force: true
283
284
  });
284
- mkdirSync(metaTypesPath, { recursive: true });
285
+ mkdirSync(metaPath, { recursive: true });
286
+ let types = "";
285
287
  for (const type in app.config.build.types) {
286
288
  const content = app.config.build.types[type];
287
- writeFileSync(join(metaTypesPath, type), content());
289
+ types += content() + "\n";
288
290
  }
291
+ writeFileSync(join(metaPath, "index.d.ts"), types);
289
292
  return {
290
293
  appType: "custom",
291
294
  optimizeDeps: { exclude: ["revojs"] },
@@ -360,24 +363,27 @@ function revojs(config) {
360
363
  },
361
364
  async configureServer(devServer) {
362
365
  const target = devServer.environments[SERVER];
363
- if (isRunnableDevEnvironment(target)) return () => {
364
- devServer.middlewares.use(async (request, response, next) => {
365
- const server = await target.runner.import("#virtual/server").then((module) => module.default);
366
- if (server) {
367
- request.url = request.originalUrl;
368
- const scope = new Scope();
369
- scope.setContext(SERVER_CONTEXT, {
370
- states: {},
371
- request: fromNodeRequest(request, response),
372
- response: { headers: new Headers() },
373
- variables: process.env
374
- });
375
- var result = await invoke(scope, app.config.development.middlewares.concat({ fetch: server.fetch }));
376
- if (result) await toNodeRequest(result, response);
377
- }
378
- next();
379
- });
380
- };
366
+ if (isRunnableDevEnvironment(target)) {
367
+ process.on("exit", () => app.dispatchHook(CLOSE_HOOK));
368
+ return () => {
369
+ devServer.middlewares.use(async (request, response, next) => {
370
+ const server = await target.runner.import("#virtual/server").then((module) => module.default);
371
+ if (server) {
372
+ request.url = request.originalUrl;
373
+ const scope = new Scope();
374
+ scope.setContext(SERVER_CONTEXT, {
375
+ states: {},
376
+ request: fromNodeRequest(request, response),
377
+ response: { headers: new Headers() },
378
+ variables: process.env
379
+ });
380
+ var result = await invoke(scope, app.config.development.middlewares.concat({ fetch: server.fetch }));
381
+ if (result) await toNodeRequest(result, response);
382
+ }
383
+ next();
384
+ });
385
+ };
386
+ }
381
387
  }
382
388
  },
383
389
  virtuals(app.config.build.virtuals),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "revojs",
3
- "version": "0.1.24",
3
+ "version": "0.1.26",
4
4
  "type": "module",
5
5
  "repository": "coverbase/revojs",
6
6
  "license": "MIT",