rebuildjs 0.41.3 → 0.43.0

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.
Files changed (42) hide show
  1. package/_fixtures/metafiles.ts +1 -1
  2. package/_fixtures/src/app/index.server.ts +1 -2
  3. package/_fixtures/src/index.ts +3 -3
  4. package/any/asset/index.d.ts +6 -0
  5. package/any/asset/index.js +20 -0
  6. package/any/asset/index.test.ts +23 -0
  7. package/any/index.d.ts +3 -0
  8. package/any/index.js +3 -0
  9. package/{types → file_types}/index.d.ts +1 -0
  10. package/index.d.ts +1 -10
  11. package/index.js +1 -10
  12. package/package.json +89 -86
  13. package/{app → server/app}/index.d.ts +0 -1
  14. package/{asset → server/asset}/index.d.ts +0 -6
  15. package/{asset → server/asset}/index.js +2 -8
  16. package/{asset → server/asset}/index.test.ts +4 -23
  17. package/{build → server/build}/index.d.ts +2 -3
  18. package/{build → server/build}/index.js +39 -8
  19. package/{build → server/build}/index.test.ts +13 -13
  20. package/server/index.d.ts +12 -22
  21. package/server/index.js +12 -144
  22. package/{metafile → server/metafile}/index.d.ts +0 -1
  23. package/{metafile → server/metafile}/index.js +2 -2
  24. package/{metafile → server/metafile}/index.test.ts +3 -3
  25. package/server/middleware/index.test.ts +28 -0
  26. package/{browser → server/rebuildjs_browser}/index.d.ts +0 -1
  27. package/{browser → server/rebuildjs_browser}/index.js +1 -1
  28. package/{browser → server/rebuildjs_browser}/index.test.ts +2 -2
  29. package/server/rebuildjs_server/index.d.ts +22 -0
  30. package/server/rebuildjs_server/index.js +143 -0
  31. package/server/{index.test.ts → rebuildjs_server/index.test.ts} +1 -1
  32. package/middleware/index.test.ts +0 -18
  33. /package/{metafile_l0 → file_types}/index.js +0 -0
  34. /package/{app → server/app}/index.js +0 -0
  35. /package/{app → server/app}/index.test.ts +0 -0
  36. /package/{ctx → server/ctx}/index.d.ts +0 -0
  37. /package/{ctx → server/ctx}/index.js +0 -0
  38. /package/{ctx → server/ctx}/index.test.ts +0 -0
  39. /package/{metafile_l0 → server/metafile_l0}/index.d.ts +0 -0
  40. /package/{types → server/metafile_l0}/index.js +0 -0
  41. /package/{middleware → server/middleware}/index.d.ts +0 -0
  42. /package/{middleware → server/middleware}/index.js +0 -0
@@ -1,4 +1,4 @@
1
- import { type rebuildjs_metafile_T } from '../metafile_l0/index.js'
1
+ import { type rebuildjs_metafile_T } from '../server/metafile_l0/index.js'
2
2
  export const browser__metafile0 = Object.freeze({
3
3
  inputs: {
4
4
  '../input/path0': {
@@ -1,6 +1,5 @@
1
1
  import './index.server.css'
2
- import { assets_ } from '../../../asset/index.js'
3
- import { type middleware_ctx_T, route_ctx__new } from '../../../ctx/index.js'
2
+ import { assets_, type middleware_ctx_T, route_ctx__new } from '../../../server/index.js'
4
3
  export default (middleware_ctx:middleware_ctx_T)=>{
5
4
  return (request:Request)=>{
6
5
  const route_ctx = route_ctx__new(middleware_ctx)
@@ -1,9 +1,9 @@
1
1
  import { is_entry_file_ } from 'ctx-core/fs'
2
- import { browser__build, server__build } from '../../build/index.js'
2
+ import { rebuildjs_browser__build, rebuildjs_server__build } from '../../server/build/index.js'
3
3
  is_entry_file_(import.meta.url, process.argv[1])
4
4
  .then(async is_entry_file=>{
5
5
  if (is_entry_file) {
6
- await server__build()
7
- await browser__build()
6
+ await rebuildjs_server__build()
7
+ await rebuildjs_browser__build()
8
8
  }
9
9
  })
@@ -0,0 +1,6 @@
1
+ export declare function asset_path_(mod_promise:Promise<{ default:string }>):Promise<string>
2
+ export declare function asset_path_a_<
3
+ Tuple extends [...Promise<{ default:string }>[]]
4
+ >(...mod_promise_a:Tuple):Promise<{
5
+ [Index in keyof Tuple]:string
6
+ }>
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @param {Promise<{ default:string }>}mod_promise
3
+ * @returns {Promise<string>}
4
+ * @private
5
+ */
6
+ export function asset_path_(mod_promise) {
7
+ return (
8
+ mod_promise
9
+ .then(mod=>mod.default)
10
+ .then(relative_path=>relative_path.replace(/^\.\//, '/'))
11
+ )
12
+ }
13
+ /**
14
+ * @param {Promise<{ default:string }>}mod_promise_a
15
+ * @returns {Promise<string[]>}
16
+ * @private
17
+ */
18
+ export function asset_path_a_(...mod_promise_a) {
19
+ return Promise.all(mod_promise_a.map(asset_path_))
20
+ }
@@ -0,0 +1,23 @@
1
+ import { test } from 'uvu'
2
+ import { equal } from 'uvu/assert'
3
+ import { asset_path_, asset_path_a_ } from './index.js'
4
+ test('asset_path_', async ()=>{
5
+ equal(await asset_path_(mod_('./path.png')), '/path.png')
6
+ })
7
+ test('asset_path_a_', async ()=>{
8
+ equal(await asset_path_a_(
9
+ mod_('./path0.png'),
10
+ mod_('./path1.png'),
11
+ mod_('./path2.png'),
12
+ mod_('./path3.png'),
13
+ ), [
14
+ '/path0.png',
15
+ '/path1.png',
16
+ '/path2.png',
17
+ '/path3.png',
18
+ ])
19
+ })
20
+ test.run()
21
+ async function mod_(out_path:string) {
22
+ return { default: out_path }
23
+ }
package/any/index.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ export * from 'ctx-core/be'
2
+ export * from 'ctx-core/rmemo'
3
+ export * from './asset/index.js'
package/any/index.js ADDED
@@ -0,0 +1,3 @@
1
+ export * from 'ctx-core/be'
2
+ export * from 'ctx-core/rmemo'
3
+ export * from './asset/index.js'
@@ -184,3 +184,4 @@ declare module '*?inline' {
184
184
  const src: string
185
185
  export default src
186
186
  }
187
+ export {}
package/index.d.ts CHANGED
@@ -1,10 +1 @@
1
- export * from 'ctx-core/be'
2
- export * from 'ctx-core/rmemo'
3
- export * from './app/index.js'
4
- export * from './asset/index.js'
5
- export * from './browser/index.js'
6
- export * from './build/index.js'
7
- export * from './ctx/index.js'
8
- export * from './metafile/index.js'
9
- export * from './middleware/index.js'
10
- export * from './server/index.js'
1
+ export {}
package/index.js CHANGED
@@ -1,10 +1 @@
1
- export * from 'ctx-core/be'
2
- export * from 'ctx-core/rmemo'
3
- export * from './app/index.js'
4
- export * from './asset/index.js'
5
- export * from './browser/index.js'
6
- export * from './build/index.js'
7
- export * from './ctx/index.js'
8
- export * from './metafile/index.js'
9
- export * from './middleware/index.js'
10
- export * from './server/index.js'
1
+ export {}
package/package.json CHANGED
@@ -1,87 +1,90 @@
1
1
  {
2
- "name": "rebuildjs",
3
- "version": "0.41.3",
4
- "description": "Reactive esbuild...simple hackable alternative to vite for Multi Page Apps",
5
- "keywords": [
6
- "reactive",
7
- "multi page apps",
8
- "web app",
9
- "web server",
10
- "esbuild",
11
- "rmemo",
12
- "ctx-core"
13
- ],
14
- "homepage": "https://github.com/rebuildjs/rebuildjs#readme",
15
- "bugs": {
16
- "url": "https://github.com/rebuildjs/rebuildjs/issues"
17
- },
18
- "repository": {
19
- "type": "git",
20
- "url": "https://github.com/rebuildjs/rebuildjs.git"
21
- },
22
- "license": "Apache-2.0",
23
- "author": "Brian Takita",
24
- "type": "module",
25
- "files": [
26
- "*.d.ts",
27
- "*.js",
28
- "*.json",
29
- "_fixtures",
30
- "app",
31
- "asset",
32
- "browser",
33
- "build",
34
- "ctx",
35
- "metafile",
36
- "metafile_l0",
37
- "middleware",
38
- "server",
39
- "types"
40
- ],
41
- "types": "./index.d.ts",
42
- "exports": {
43
- ".": "./index.js",
44
- "./app": "./app/index.js",
45
- "./asset": "./asset/index.js",
46
- "./browser": "./browser/index.js",
47
- "./build": "./build/index.js",
48
- "./ctx": "./ctx/index.js",
49
- "./metafile": "./metafile/index.js",
50
- "./middleware": "./middleware/index.js",
51
- "./server": "./server/index.js",
52
- "./types": "./types/index.js",
53
- "./package.json": "./package.json"
54
- },
55
- "dependencies": {
56
- "ctx-core": "^5.25.3",
57
- "elysia": "^0.8.9",
58
- "esbuild": "^0.19.11",
59
- "fdir": "^6.1.1",
60
- "picomatch": "^3.0.1"
61
- },
62
- "devDependencies": {
63
- "@typescript-eslint/eslint-plugin": "^6.19.0",
64
- "@typescript-eslint/parser": "^6.19.0",
65
- "c8": "^9.1.0",
66
- "check-dts": "^0.7.2",
67
- "eslint": "^8.56.0",
68
- "esmock": "^2.6.2",
69
- "tsx": "^4.7.0",
70
- "typescript": "next",
71
- "uvu": "^0.5.6"
72
- },
73
- "publishConfig": {
74
- "access": "public",
75
- "cache": "~/.npm"
76
- },
77
- "sideEffects": false,
78
- "scripts": {
79
- "build": ":",
80
- "clean": ":",
81
- "exec": "$@",
82
- "test": "pnpm test:unit && pnpm test:types",
83
- "test:types": "check-dts",
84
- "test:unit": "NODE_OPTIONS=--loader=esmock tsx node_modules/uvu/bin.js . '\\.test\\.(ts|js)$'",
85
- "test:unit:coverage": "c8 pnpm test:unit"
86
- }
87
- }
2
+ "name": "rebuildjs",
3
+ "version": "0.43.0",
4
+ "description": "Reactive esbuild...simple hackable alternative to vite for Multi Page Apps",
5
+ "keywords": [
6
+ "reactive",
7
+ "multi page apps",
8
+ "web app",
9
+ "web server",
10
+ "esbuild",
11
+ "rmemo",
12
+ "ctx-core"
13
+ ],
14
+ "homepage": "https://github.com/rebuildjs/rebuildjs#readme",
15
+ "bugs": {
16
+ "url": "https://github.com/rebuildjs/rebuildjs/issues"
17
+ },
18
+ "repository": {
19
+ "type": "git",
20
+ "url": "https://github.com/rebuildjs/rebuildjs.git"
21
+ },
22
+ "license": "Apache-2.0",
23
+ "author": "Brian Takita",
24
+ "type": "module",
25
+ "files": [
26
+ "*.d.ts",
27
+ "*.js",
28
+ "*.json",
29
+ "_fixtures",
30
+ "any",
31
+ "file_types",
32
+ "server"
33
+ ],
34
+ "exports": {
35
+ ".": {
36
+ "default": "./index.js",
37
+ "module": "./index.js",
38
+ "types": "./index.d.ts"
39
+ },
40
+ "./any": {
41
+ "default": "./any/index.js",
42
+ "module": "./any/index.js",
43
+ "types": "./any/index.d.ts"
44
+ },
45
+ "./file_types": {
46
+ "default": "./file_types/index.js",
47
+ "module": "./file_types/index.js",
48
+ "types": "./file_types/index.d.ts"
49
+ },
50
+ "./server": {
51
+ "default": "./server/index.js",
52
+ "module": "./server/index.js",
53
+ "types": "./server/index.d.ts"
54
+ },
55
+ "./package.json": "./package.json"
56
+ },
57
+ "scripts": {
58
+ "build": ":",
59
+ "clean": ":",
60
+ "exec": "$@",
61
+ "prepublishOnly": "pnpm clean && pnpm build && pnpm test",
62
+ "test": "pnpm test:unit && pnpm test:types",
63
+ "test:types": "check-dts",
64
+ "test:unit": "NODE_OPTIONS=--loader=esmock tsx node_modules/uvu/bin.js . '\\.test\\.(ts|js)$'",
65
+ "test:unit:coverage": "c8 pnpm test:unit"
66
+ },
67
+ "dependencies": {
68
+ "ctx-core": "^5.25.3",
69
+ "elysia": "^0.8.9",
70
+ "esbuild": "^0.19.11",
71
+ "fdir": "^6.1.1",
72
+ "picomatch": "^3.0.1"
73
+ },
74
+ "devDependencies": {
75
+ "@typescript-eslint/eslint-plugin": "^6.19.0",
76
+ "@typescript-eslint/parser": "^6.19.0",
77
+ "c8": "^9.1.0",
78
+ "check-dts": "^0.7.2",
79
+ "eslint": "^8.56.0",
80
+ "esmock": "^2.6.2",
81
+ "tsx": "^4.7.0",
82
+ "typescript": "next",
83
+ "uvu": "^0.5.6"
84
+ },
85
+ "publishConfig": {
86
+ "access": "public",
87
+ "cache": "~/.npm"
88
+ },
89
+ "sideEffects": false
90
+ }
@@ -1,5 +1,4 @@
1
1
  import type { ctx__be_T, ctx__get_T, ctx__set_T, lock_memosig_T, memo_T, sig_T } from 'ctx-core/rmemo'
2
- import { has_app_T } from '../ctx/index.js'
3
2
  export declare const port$_:ctx__be_T<sig_T<number>, 'app'>
4
3
  export declare const port_:ctx__get_T<number, 'app'>
5
4
  export declare const port__set:ctx__set_T<number, 'app'>
@@ -1,12 +1,6 @@
1
1
  import type { ctx__be_T, ctx__get_T, ctx__set_T } from 'ctx-core/be'
2
2
  import type { lock_memosig_T } from 'ctx-core/rmemo'
3
3
  import type { has_route_T } from '../ctx/index.js'
4
- export declare function asset_path_(mod_promise:Promise<{ default:string }>):Promise<string>
5
- export declare function asset_path_a_<
6
- Tuple extends [...Promise<{ default:string }>[]]
7
- >(...mod_promise_a:Tuple):Promise<{
8
- [Index in keyof Tuple]:string
9
- }>
10
4
  export declare const assets$_:ctx__be_T<lock_memosig_T<assets_T>, 'route'>
11
5
  export declare const assets_:ctx__get_T<assets_T, 'route'>
12
6
  export declare const assets__set:ctx__set_T<assets_T, 'route'>
@@ -1,14 +1,8 @@
1
1
  /// <reference types="./index.d.ts" />
2
2
  import { compact } from 'ctx-core/array'
3
3
  import { be_lock_memosig_triple_ } from 'ctx-core/rmemo'
4
- import { browser__css_, browser__script_ } from '../browser/index.js'
5
- import { server__css_ } from '../server/index.js'
6
- export async function asset_path_(mod_promise) {
7
- return (await mod_promise.then(mod=>mod.default)).replace(/^\.\//, '/')
8
- }
9
- export async function asset_path_a_(...mod_promise_a) {
10
- return Promise.all(mod_promise_a.map(asset_path_))
11
- }
4
+ import { browser__css_, browser__script_ } from '../rebuildjs_browser/index.js'
5
+ import { server__css_ } from '../rebuildjs_server/index.js'
12
6
  export const [
13
7
  assets$_,
14
8
  assets_,
@@ -2,30 +2,14 @@ import { type Ctx, ctx_, ns_ctx_ } from 'ctx-core/be'
2
2
  import type { Equal, Expect } from 'ctx-core/test'
3
3
  import { test } from 'uvu'
4
4
  import { equal, throws } from 'uvu/assert'
5
- import { browser__metafile0, server__metafile0 } from '../_fixtures/metafiles.js'
6
- import { browser__metafile__set } from '../browser/index.js'
5
+ import { browser__metafile0, server__metafile0 } from '../../_fixtures/metafiles.js'
6
+ import { browser__metafile__set } from '../rebuildjs_browser/index.js'
7
7
  import { app_ctx, middleware_ctx__new, route_ctx__new } from '../ctx/index.js'
8
- import { server__metafile__set, server__output__relative_path__set } from '../server/index.js'
9
- import { asset_path_, asset_path_a_, assets$_, assets_, assets__assign, assets__new, assets__set } from './index.js'
8
+ import { server__metafile__set, server__output__relative_path__set } from '../rebuildjs_server/index.js'
9
+ import { assets$_, assets_, assets__assign, assets__new, assets__set } from './index.js'
10
10
  test.after.each(()=>{
11
11
  app_ctx.s.app.clear()
12
12
  })
13
- test('asset_path_', async ()=>{
14
- equal(await asset_path_(mod_('./path.png')), '/path.png')
15
- })
16
- test('asset_path_a_', async ()=>{
17
- equal(await asset_path_a_(
18
- mod_('./path0.png'),
19
- mod_('./path1.png'),
20
- mod_('./path2.png'),
21
- mod_('./path3.png'),
22
- ), [
23
- '/path0.png',
24
- '/path1.png',
25
- '/path2.png',
26
- '/path3.png',
27
- ])
28
- })
29
13
  test('assets', ()=>{
30
14
  const route_ctx = route_ctx__new(middleware_ctx__new())
31
15
  equal(assets$_(route_ctx)(), {
@@ -136,6 +120,3 @@ test('assets__new', async ()=>{
136
120
  })
137
121
  })
138
122
  test.run()
139
- async function mod_(out_path:string) {
140
- return { default: out_path }
141
- }
@@ -1,6 +1,5 @@
1
1
  import type { ctx__be_T, ctx__get_T, ctx__set_T, rmemo__wait_ret_T, sig_T } from 'ctx-core/rmemo'
2
2
  import type { BuildContext, BuildOptions, Plugin } from 'esbuild'
3
- import type { has_app_T } from '../ctx/index.js'
4
3
  export declare const build_id$_:ctx__be_T<sig_T<string|undefined>, 'app'>
5
4
  export declare const build_id_:ctx__get_T<string|undefined, 'app'>
6
5
  export declare const build_id__set:ctx__set_T<string|undefined, 'app'>
@@ -15,8 +14,8 @@ export declare const rebuildjs__build_id__set:ctx__set_T<string, 'app'>
15
14
  export declare const rebuildjs__ready$_:ctx__be_T<sig_T<boolean>, 'app'>
16
15
  export declare const rebuildjs__ready_:ctx__get_T<boolean, 'app'>
17
16
  export declare function rebuildjs__ready__wait(timeout?:number):rmemo__wait_ret_T<unknown>
18
- export declare function browser__build(config?:rebuildjs_build_config_T):Promise<BuildContext>
19
- export declare function server__build(config?:rebuildjs_build_config_T):Promise<BuildContext>
17
+ export declare function rebuildjs_browser__build(config?:rebuildjs_build_config_T):Promise<BuildContext>
18
+ export declare function rebuildjs_server__build(config?:rebuildjs_build_config_T):Promise<BuildContext>
20
19
  export declare function server__external_(config?:Partial<BuildOptions>):Promise<string[]>
21
20
  export declare function rebuildjs_plugin_():Plugin
22
21
  export type rebuildjs_build_config_T =
@@ -35,7 +35,7 @@ import {
35
35
  browser__metafile_path_,
36
36
  browser__output_,
37
37
  browser__output__relative_path_
38
- } from '../browser/index.js'
38
+ } from '../rebuildjs_browser/index.js'
39
39
  import { app_ctx } from '../ctx/index.js'
40
40
  import { metafile__build_id_ } from '../metafile/index.js'
41
41
  import {
@@ -45,7 +45,7 @@ import {
45
45
  server__metafile_path_,
46
46
  server__output_,
47
47
  server__output__relative_path_M_middleware_ctx_
48
- } from '../server/index.js'
48
+ } from '../rebuildjs_server/index.js'
49
49
  export const [
50
50
  build_id$_,
51
51
  build_id_,
@@ -109,9 +109,9 @@ export const [
109
109
  function cancel_() {
110
110
  return (
111
111
  build_id_(ctx) !== build_id
112
- || metafile__build_id_(ctx) !== metafile__build_id
113
- || server__metafile_path_(ctx) !== server__metafile_path
114
- || browser__metafile_path_(ctx) !== browser__metafile_path
112
+ || metafile__build_id_(ctx) !== metafile__build_id
113
+ || server__metafile_path_(ctx) !== server__metafile_path
114
+ || browser__metafile_path_(ctx) !== browser__metafile_path
115
115
  )
116
116
  }
117
117
  }))
@@ -153,7 +153,7 @@ export function rebuildjs__ready__wait(timeout) {
153
153
  * @returns {Promise<void>}
154
154
  * @private
155
155
  */
156
- export async function browser__build(config) {
156
+ export async function rebuildjs_browser__build(config) {
157
157
  const {
158
158
  rebuildjs,
159
159
  ...esbuild__config
@@ -177,10 +177,41 @@ export async function browser__build(config) {
177
177
  entryNames: '[name]-[hash]',
178
178
  assetNames: '[name]-[hash]',
179
179
  bundle: true,
180
- target: 'es2021',
180
+ target: 'es2022',
181
181
  treeShaking: true,
182
182
  minify: is_prod_(app_ctx),
183
183
  sourcemap: 'external',
184
+ loader: {
185
+ '.aac': 'file',
186
+ '.apng': 'file',
187
+ '.avif': 'file',
188
+ '.eot': 'file',
189
+ '.flac': 'file',
190
+ '.gif': 'file',
191
+ '.ico': 'file',
192
+ '.jfif': 'file',
193
+ '.jpeg': 'file',
194
+ '.jpg': 'file',
195
+ '.mov': 'file',
196
+ '.mp3': 'file',
197
+ '.mp4': 'file',
198
+ '.ogg': 'file',
199
+ '.opus': 'file',
200
+ '.otf': 'file',
201
+ '.pdf': 'file',
202
+ '.pjp': 'file',
203
+ '.pjpeg': 'file',
204
+ '.png': 'file',
205
+ '.svg': 'file',
206
+ '.ttf': 'file',
207
+ '.wav': 'file',
208
+ '.webm': 'file',
209
+ '.webmanifest': 'file',
210
+ '.webp': 'file',
211
+ '.woff': 'file',
212
+ '.woff2': 'file',
213
+ '.txt': 'text',
214
+ },
184
215
  ...esbuild__config,
185
216
  entryPoints,
186
217
  format: 'esm',
@@ -204,7 +235,7 @@ export async function browser__build(config) {
204
235
  * @param {rebuildjs_build_config_T}[config]
205
236
  * @returns {Promise<void>}
206
237
  */
207
- export async function server__build(config) {
238
+ export async function rebuildjs_server__build(config) {
208
239
  const {
209
240
  rebuildjs,
210
241
  ...esbuild__config
@@ -7,13 +7,13 @@ import { rm } from 'node:fs/promises'
7
7
  import { basename, dirname, join } from 'node:path'
8
8
  import { test } from 'uvu'
9
9
  import { equal, throws } from 'uvu/assert'
10
- import { browser__metafile0, browser__metafile1, server__metafile0, server__metafile1 } from '../_fixtures/metafiles.js'
10
+ import { browser__metafile0, browser__metafile1, server__metafile0, server__metafile1 } from '../../_fixtures/metafiles.js'
11
11
  import { cwd_, cwd__set } from '../app/index.js'
12
- import { browser__metafile_, browser__metafile__set } from '../browser/index.js'
12
+ import { browser__metafile_, browser__metafile__set } from '../rebuildjs_browser/index.js'
13
13
  import { app_ctx } from '../ctx/index.js'
14
- import { server__metafile_, server__metafile__set } from '../server/index.js'
14
+ import { server__metafile_, server__metafile__set } from '../rebuildjs_server/index.js'
15
15
  import {
16
- browser__build,
16
+ rebuildjs_browser__build,
17
17
  build_id$_,
18
18
  build_id_,
19
19
  build_id__refresh,
@@ -24,7 +24,7 @@ import {
24
24
  rebuildjs__ready$_,
25
25
  rebuildjs__ready_,
26
26
  rebuildjs__ready__wait,
27
- server__build
27
+ rebuildjs_server__build
28
28
  } from './index.js'
29
29
  test.after.each(()=>{
30
30
  app_ctx.s.app.clear()
@@ -117,16 +117,16 @@ test('rebuildjs__ready__wait|timeout', async ()=>{
117
117
  }
118
118
  equal(err!.message, 'Timeout 0ms')
119
119
  })
120
- test('browser__build|server__build|rebuildjs_plugin_|metafile', async ()=>{
120
+ test('rebuildjs_browser__build|rebuildjs_server__build|rebuildjs_plugin_|metafile', async ()=>{
121
121
  const test_dir = dirname(new URL(import.meta.url).pathname)
122
- const cwd = join(test_dir, '../_fixtures')
122
+ const cwd = join(test_dir, '../../_fixtures')
123
123
  cwd__set(app_ctx, cwd)
124
124
  await rm(join(cwd, 'dist'), { recursive: true, force: true })
125
125
  let server__build_context:BuildContext|undefined = undefined
126
126
  let browser__build_context:BuildContext|undefined = undefined
127
127
  try {
128
- server__build_context = await server__build()
129
- browser__build_context = await browser__build()
128
+ server__build_context = await rebuildjs_server__build()
129
+ browser__build_context = await rebuildjs_browser__build()
130
130
  await rebuildjs__ready__wait()
131
131
  equal(await file_exists_(join(cwd, 'dist')), true)
132
132
  equal(await file_exists_(join(cwd, 'dist', 'browser--dev')), true)
@@ -177,16 +177,16 @@ test('browser__build|server__build|rebuildjs_plugin_|metafile', async ()=>{
177
177
  browser__build_context?.dispose?.()
178
178
  }
179
179
  })
180
- test('browser__build|server__build|rebuildjs_plugin_|css', async ()=>{
180
+ test('rebuildjs_browser__build|rebuildjs_server__build|rebuildjs_plugin_|css', async ()=>{
181
181
  const test_dir = dirname(new URL(import.meta.url).pathname)
182
- const cwd = join(test_dir, '../_fixtures')
182
+ const cwd = join(test_dir, '../../_fixtures')
183
183
  cwd__set(app_ctx, cwd)
184
184
  await rm(join(cwd, 'dist'), { recursive: true, force: true })
185
185
  let server__build_context:BuildContext|undefined = undefined
186
186
  let browser__build_context:BuildContext|undefined = undefined
187
187
  try {
188
- server__build_context = await server__build()
189
- browser__build_context = await browser__build()
188
+ server__build_context = await rebuildjs_server__build()
189
+ browser__build_context = await rebuildjs_browser__build()
190
190
  await rebuildjs__ready__wait()
191
191
  const server__metafile = server__metafile_(app_ctx)!
192
192
  const server__output__relative_path =
package/server/index.d.ts CHANGED
@@ -1,22 +1,12 @@
1
- import type { ctx__be_T, ctx__get_T, ctx__set_T, lock_memosig_T, memo_T, sig_T } from 'ctx-core/rmemo'
2
- import type { has_app_T, has_middleware_T, middleware_ctx_T } from '../ctx/index.js'
3
- import type { rebuildjs_metafile_T } from '../metafile_l0/index.js'
4
- export const server__metafile_path$_:ctx__be_T<memo_T<string>, 'app'>
5
- export const server__metafile_path_:ctx__get_T<string, 'app'>
6
- export const server__metafile$_:ctx__be_T<lock_memosig_T<rebuildjs_metafile_T|undefined>, 'app'>
7
- export const server__metafile_:ctx__get_T<rebuildjs_metafile_T|undefined, 'app'>
8
- export const server__metafile__set:ctx__set_T<rebuildjs_metafile_T|undefined, 'app'>
9
- export declare function server__metafile__persist():Promise<void>
10
- export const server__output__relative_path_M_middleware_ctx$_:ctx__be_T<memo_T<Map<string, middleware_ctx_T>>, 'app'>
11
- export const server__output__relative_path_M_middleware_ctx_:ctx__get_T<Map<string, middleware_ctx_T>, 'app'>
12
- export const server__output__relative_path$_:ctx__be_T<sig_T<string>, 'middleware'>
13
- export const server__output__relative_path_:ctx__get_T<string, 'middleware'>
14
- export const server__output__relative_path__set:ctx__set_T<string, 'middleware'>
15
- export const server__output$_:ctx__be_T<memo_T<rebuildjs_metafile_T['outputs'][string]|undefined>, 'middleware'>
16
- export const server__output_:ctx__get_T<rebuildjs_metafile_T['outputs'][string]|undefined, 'middleware'>
17
- export const server__cssBundle__relative_path$_:ctx__be_T<memo_T<string|undefined>, 'middleware'>
18
- export const server__cssBundle__relative_path_:ctx__get_T<string|undefined, 'middleware'>
19
- export const server__cssBundle$_:ctx__be_T<memo_T<string|undefined>, 'middleware'>
20
- export const server__cssBundle_:ctx__get_T<string|undefined, 'middleware'>
21
- export const server__css$_:ctx__be_T<memo_T<string|undefined>, 'middleware'>
22
- export const server__css_:ctx__get_T<string|undefined, 'middleware'>
1
+ export * from 'ctx-core/be'
2
+ export * from 'ctx-core/rmemo'
3
+ export * from './app/index.js'
4
+ export * from './asset/index.js'
5
+ export * from './build/index.js'
6
+ export * from './ctx/index.js'
7
+ export * from './index.d.js'
8
+ export * from './metafile/index.js'
9
+ export * from './metafile_l0/index.js'
10
+ export * from './middleware/index.js'
11
+ export * from './rebuildjs_browser/index.js'
12
+ export * from './rebuildjs_server/index.js'
package/server/index.js CHANGED
@@ -1,144 +1,12 @@
1
- import { file_exists__waitfor } from 'ctx-core/fs'
2
- import {
3
- be_lock_memosig_triple_,
4
- be_memo_pair_,
5
- be_sig_triple_,
6
- Cancel,
7
- memo_,
8
- nullish__none_,
9
- sleep,
10
- tup,
11
- waitfor
12
- } from 'ctx-core/rmemo'
13
- import { mkdir, readFile, writeFile } from 'node:fs/promises'
14
- import { join, relative } from 'node:path'
15
- import { cwd_, server__relative_path_, server_path_ } from '../app/index.js'
16
- import { app_ctx, middleware_ctx__new } from '../ctx/index.js'
17
- export const [
18
- server__metafile_path$_,
19
- server__metafile_path_,
20
- ] = be_memo_pair_(ctx=>
21
- join(server_path_(ctx), 'metafile.json'),
22
- { ns: 'app', id: 'server__metafile_path' })
23
- let server__metafile__waitfor_promise
24
- export const [
25
- server__metafile$_,
26
- server__metafile_,
27
- server__metafile__set
28
- ] = /** @type {be_lock_memosig_triple_T<rebuildjs_metafile_T>} */
29
- be_lock_memosig_triple_(
30
- ()=>undefined,
31
- { ns: 'app', id: 'server__metafile' }
32
- ).add((ctx, server__metafile$)=>
33
- memo_(server__metafile__waitfor_promise$=>{
34
- server__metafile__waitfor_promise$.val?.cancel?.()
35
- if (server__metafile$.lock) return
36
- return nullish__none_([server__metafile_path_(ctx)],
37
- server__metafile_path=>{
38
- const server__metafile__waitfor_promise =
39
- file_exists__waitfor(
40
- server__metafile_path,
41
- 1000,
42
- ()=>cmd(sleep(0)))
43
- cmd(server__metafile__waitfor_promise)
44
- .then(async success=>{
45
- if (success) {
46
- server__metafile$._ = await cmd(
47
- waitfor(async ()=>{
48
- const buf = await cmd(readFile(server__metafile_path))
49
- const json = buf + ''
50
- try {
51
- return JSON.parse(json)
52
- } catch {
53
- return undefined
54
- }
55
- }, 1000))
56
- }
57
- }).catch(err=>{
58
- if (err instanceof Cancel) return
59
- throw err
60
- })
61
- return server__metafile__waitfor_promise
62
- async function cmd(promise) {
63
- if (cancel_()) throw new Cancel()
64
- const rv = await promise
65
- if (cancel_()) {
66
- promise.cancel?.()
67
- throw new Cancel()
68
- }
69
- return rv
70
- }
71
- function cancel_() {
72
- return (
73
- server__metafile$.lock
74
- || server__metafile_path !== server__metafile_path_(ctx))
75
- }
76
- })
77
- }))
78
- export function server__metafile__persist() {
79
- return nullish__none_([
80
- server__metafile_path_(app_ctx),
81
- server__metafile_(app_ctx)
82
- ], async (server__metafile_path, server__metafile)=>{
83
- await mkdir(server_path_(app_ctx), { recursive: true })
84
- await writeFile(
85
- server__metafile_path,
86
- JSON.stringify(server__metafile, null, '\t'))
87
- })
88
- }
89
- export const [
90
- server__output__relative_path_M_middleware_ctx$_,
91
- server__output__relative_path_M_middleware_ctx_,
92
- ] = be_memo_pair_(ctx=>
93
- nullish__none_([server__metafile_(ctx)],
94
- server__metafile=>
95
- new Map(
96
- Object.keys(server__metafile.outputs)
97
- .filter(server__output__relative_path=>
98
- server__metafile.outputs[server__output__relative_path].entryPoint)
99
- .map(server__output__relative_path=>{
100
- const middleware_ctx = middleware_ctx__new()
101
- server__output__relative_path__set(middleware_ctx, server__output__relative_path)
102
- return [server__output__relative_path, middleware_ctx]
103
- }))),
104
- {
105
- id: 'server__output__relative_path_M_middleware_ctx',
106
- ns: 'app'
107
- })
108
- export const [
109
- server__output__relative_path$_,
110
- server__output__relative_path_,
111
- server__output__relative_path__set,
112
- ] = be_sig_triple_(()=>
113
- undefined,
114
- { ns: 'middleware', id: 'server__output__relative_path' })
115
- export const [
116
- server__output$_,
117
- server__output_
118
- ] = be_memo_pair_(ctx=>
119
- nullish__none_(tup(server__metafile_(ctx), server__output__relative_path_(ctx)),
120
- (server__metafile, server__output__relative_path)=>
121
- server__metafile.outputs[server__output__relative_path]),
122
- { ns: 'middleware', id: 'server__output' })
123
- export const [
124
- server__cssBundle__relative_path$_,
125
- server__cssBundle__relative_path_
126
- ] = be_memo_pair_(ctx=>
127
- server__output_(ctx)?.cssBundle,
128
- { ns: 'middleware', id: 'server__cssBundle__relative_path', })
129
- export const [
130
- server__cssBundle$_,
131
- server__cssBundle_
132
- ] = be_memo_pair_(ctx=>
133
- nullish__none_([server__output_(ctx)?.cssBundle],
134
- cssBundle=>
135
- join(cwd_(ctx), cssBundle)),
136
- { ns: 'middleware', id: 'server__cssBundle', })
137
- export const [
138
- server__css$_,
139
- server__css_
140
- ] = be_memo_pair_(ctx=>
141
- nullish__none_([server__relative_path_(ctx), server__cssBundle__relative_path_(ctx)],
142
- (server__relative_path, server__cssBundle__relative_path)=>
143
- join('/', relative(server__relative_path, server__cssBundle__relative_path))),
144
- { ns: 'middleware', id: 'server__css' })
1
+ export * from 'ctx-core/be'
2
+ export * from 'ctx-core/rmemo'
3
+ export * from './app/index.js'
4
+ export * from './asset/index.js'
5
+ export * from './build/index.js'
6
+ export * from './ctx/index.js'
7
+ export * from './index.d.js'
8
+ export * from './metafile/index.js'
9
+ export * from './metafile_l0/index.js'
10
+ export * from './middleware/index.js'
11
+ export * from './rebuildjs_browser/index.js'
12
+ export * from './rebuildjs_server/index.js'
@@ -1,5 +1,4 @@
1
1
  import type { ctx__be_T, ctx__get_T, memo_T } from 'ctx-core/rmemo'
2
- import type { has_app_T } from '../ctx/index.js'
3
2
  export * from '../metafile_l0/index.js'
4
3
  export declare const metafile__build_id$_:ctx__be_T<memo_T<string>, 'app'>
5
4
  export declare const metafile__build_id_:ctx__get_T<string, 'app'>
@@ -1,7 +1,7 @@
1
1
  import { be_memo_pair_, nullish__none_, rmemo__wait } from 'ctx-core/rmemo'
2
- import { browser__metafile_ } from '../browser/index.js'
2
+ import { browser__metafile_ } from '../rebuildjs_browser/index.js'
3
3
  import { app_ctx } from '../ctx/index.js'
4
- import { server__metafile_ } from '../server/index.js'
4
+ import { server__metafile_ } from '../rebuildjs_server/index.js'
5
5
  export const [
6
6
  metafile__build_id$_,
7
7
  metafile__build_id_,
@@ -2,10 +2,10 @@
2
2
  import { sleep } from 'ctx-core/function'
3
3
  import { test } from 'uvu'
4
4
  import { equal } from 'uvu/assert'
5
- import { browser__metafile0, server__metafile0 } from '../_fixtures/metafiles.js'
6
- import { browser__metafile__set } from '../browser/index.js'
5
+ import { browser__metafile0, server__metafile0 } from '../../_fixtures/metafiles.js'
6
+ import { browser__metafile__set } from '../rebuildjs_browser/index.js'
7
7
  import { app_ctx } from '../ctx/index.js'
8
- import { server__metafile__set } from '../server/index.js'
8
+ import { server__metafile__set } from '../rebuildjs_server/index.js'
9
9
  import { metafile__wait } from './index.js'
10
10
  test.after.each(()=>{
11
11
  app_ctx.s.app.clear()
@@ -0,0 +1,28 @@
1
+ import type { Equal, Expect } from 'ctx-core/test'
2
+ import { test } from 'uvu'
3
+ import { equal } from 'uvu/assert'
4
+ import { app_ctx, type middleware_ctx_T } from '../ctx/index.js'
5
+ import { middleware_ } from './index.js'
6
+ test.after.each(()=>{
7
+ app_ctx.s.app.clear()
8
+ })
9
+ test('middleware', ()=>{
10
+ const fn = ()=>{
11
+ }
12
+ equal(middleware_(fn), fn)
13
+ })
14
+ test('middleware|type', ()=>{
15
+ type test_middleware_ctx__Parameters =
16
+ Expect<
17
+ Equal<
18
+ Parameters<typeof middleware_<R>>,
19
+ [(middleware_ctx:middleware_ctx_T)=>R]>>
20
+ equal({} as test_middleware_ctx__Parameters, {})
21
+ type test_middleware_ctx__ReturnType = Expect<
22
+ Equal<
23
+ ReturnType<typeof middleware_<R>>,
24
+ R>>
25
+ equal({} as test_middleware_ctx__ReturnType, {})
26
+ })
27
+ test.run()
28
+ type R = { foo:'bar' }
@@ -1,5 +1,4 @@
1
1
  import type { ctx__be_T, ctx__get_T, ctx__set_T, lock_memosig_T, memo_T } from 'ctx-core/rmemo'
2
- import type { has_app_T, has_middleware_T } from '../ctx/index.js'
3
2
  import type { rebuildjs_metafile_T } from '../metafile_l0/index.js'
4
3
  export declare const browser__metafile_path$_:ctx__be_T<memo_T<string>, 'app'>
5
4
  export declare const browser__metafile_path_:ctx__get_T<string, 'app'>
@@ -13,7 +13,7 @@ import { mkdir, readFile, writeFile } from 'node:fs/promises'
13
13
  import { join, relative } from 'node:path'
14
14
  import { browser__relative_path_, browser_path_, cwd_ } from '../app/index.js'
15
15
  import { app_ctx } from '../ctx/index.js'
16
- import { server__output_ } from '../server/index.js'
16
+ import { server__output_ } from '../rebuildjs_server/index.js'
17
17
  export const [
18
18
  browser__metafile_path$_,
19
19
  browser__metafile_path_,
@@ -10,10 +10,10 @@ import {
10
10
  browser__metafile1,
11
11
  browser__metafile2,
12
12
  server__metafile0
13
- } from '../_fixtures/metafiles.js'
13
+ } from '../../_fixtures/metafiles.js'
14
14
  import { cwd__set, dist_path__set, is_prod__set } from '../app/index.js'
15
15
  import { app_ctx, middleware_ctx__new } from '../ctx/index.js'
16
- import { server__metafile__set, server__output_, server__output__relative_path__set } from '../server/index.js'
16
+ import { server__metafile__set, server__output_, server__output__relative_path__set } from '../rebuildjs_server/index.js'
17
17
  import {
18
18
  browser__css$_,
19
19
  browser__css_,
@@ -0,0 +1,22 @@
1
+ import type { ctx__be_T, ctx__get_T, ctx__set_T, lock_memosig_T, memo_T, sig_T } from 'ctx-core/rmemo'
2
+ import type { middleware_ctx_T } from '../ctx/index.js'
3
+ import type { rebuildjs_metafile_T } from '../metafile_l0/index.js'
4
+ export const server__metafile_path$_:ctx__be_T<memo_T<string>, 'app'>
5
+ export const server__metafile_path_:ctx__get_T<string, 'app'>
6
+ export const server__metafile$_:ctx__be_T<lock_memosig_T<rebuildjs_metafile_T|undefined>, 'app'>
7
+ export const server__metafile_:ctx__get_T<rebuildjs_metafile_T|undefined, 'app'>
8
+ export const server__metafile__set:ctx__set_T<rebuildjs_metafile_T|undefined, 'app'>
9
+ export declare function server__metafile__persist():Promise<void>
10
+ export const server__output__relative_path_M_middleware_ctx$_:ctx__be_T<memo_T<Map<string, middleware_ctx_T>>, 'app'>
11
+ export const server__output__relative_path_M_middleware_ctx_:ctx__get_T<Map<string, middleware_ctx_T>, 'app'>
12
+ export const server__output__relative_path$_:ctx__be_T<sig_T<string>, 'middleware'>
13
+ export const server__output__relative_path_:ctx__get_T<string, 'middleware'>
14
+ export const server__output__relative_path__set:ctx__set_T<string, 'middleware'>
15
+ export const server__output$_:ctx__be_T<memo_T<rebuildjs_metafile_T['outputs'][string]|undefined>, 'middleware'>
16
+ export const server__output_:ctx__get_T<rebuildjs_metafile_T['outputs'][string]|undefined, 'middleware'>
17
+ export const server__cssBundle__relative_path$_:ctx__be_T<memo_T<string|undefined>, 'middleware'>
18
+ export const server__cssBundle__relative_path_:ctx__get_T<string|undefined, 'middleware'>
19
+ export const server__cssBundle$_:ctx__be_T<memo_T<string|undefined>, 'middleware'>
20
+ export const server__cssBundle_:ctx__get_T<string|undefined, 'middleware'>
21
+ export const server__css$_:ctx__be_T<memo_T<string|undefined>, 'middleware'>
22
+ export const server__css_:ctx__get_T<string|undefined, 'middleware'>
@@ -0,0 +1,143 @@
1
+ import { file_exists__waitfor } from 'ctx-core/fs'
2
+ import {
3
+ be_lock_memosig_triple_,
4
+ be_memo_pair_,
5
+ be_sig_triple_,
6
+ Cancel,
7
+ memo_,
8
+ nullish__none_,
9
+ sleep,
10
+ tup,
11
+ waitfor
12
+ } from 'ctx-core/rmemo'
13
+ import { mkdir, readFile, writeFile } from 'node:fs/promises'
14
+ import { join, relative } from 'node:path'
15
+ import { cwd_, server__relative_path_, server_path_ } from '../app/index.js'
16
+ import { app_ctx, middleware_ctx__new } from '../ctx/index.js'
17
+ export const [
18
+ server__metafile_path$_,
19
+ server__metafile_path_,
20
+ ] = be_memo_pair_(ctx=>
21
+ join(server_path_(ctx), 'metafile.json'),
22
+ { ns: 'app', id: 'server__metafile_path' })
23
+ export const [
24
+ server__metafile$_,
25
+ server__metafile_,
26
+ server__metafile__set
27
+ ] = /** @type {be_lock_memosig_triple_T<rebuildjs_metafile_T>} */
28
+ be_lock_memosig_triple_(
29
+ ()=>undefined,
30
+ { ns: 'app', id: 'server__metafile' }
31
+ ).add((ctx, server__metafile$)=>
32
+ memo_(server__metafile__waitfor_promise$=>{
33
+ server__metafile__waitfor_promise$.val?.cancel?.()
34
+ if (server__metafile$.lock) return
35
+ return nullish__none_([server__metafile_path_(ctx)],
36
+ server__metafile_path=>{
37
+ const server__metafile__waitfor_promise =
38
+ file_exists__waitfor(
39
+ server__metafile_path,
40
+ 1000,
41
+ ()=>cmd(sleep(0)))
42
+ cmd(server__metafile__waitfor_promise)
43
+ .then(async success=>{
44
+ if (success) {
45
+ server__metafile$._ = await cmd(
46
+ waitfor(async ()=>{
47
+ const buf = await cmd(readFile(server__metafile_path))
48
+ const json = buf + ''
49
+ try {
50
+ return JSON.parse(json)
51
+ } catch {
52
+ return undefined
53
+ }
54
+ }, 1000))
55
+ }
56
+ }).catch(err=>{
57
+ if (err instanceof Cancel) return
58
+ throw err
59
+ })
60
+ return server__metafile__waitfor_promise
61
+ async function cmd(promise) {
62
+ if (cancel_()) throw new Cancel()
63
+ const rv = await promise
64
+ if (cancel_()) {
65
+ promise.cancel?.()
66
+ throw new Cancel()
67
+ }
68
+ return rv
69
+ }
70
+ function cancel_() {
71
+ return (
72
+ server__metafile$.lock
73
+ || server__metafile_path !== server__metafile_path_(ctx))
74
+ }
75
+ })
76
+ }))
77
+ export function server__metafile__persist() {
78
+ return nullish__none_([
79
+ server__metafile_path_(app_ctx),
80
+ server__metafile_(app_ctx)
81
+ ], async (server__metafile_path, server__metafile)=>{
82
+ await mkdir(server_path_(app_ctx), { recursive: true })
83
+ await writeFile(
84
+ server__metafile_path,
85
+ JSON.stringify(server__metafile, null, '\t'))
86
+ })
87
+ }
88
+ export const [
89
+ server__output__relative_path_M_middleware_ctx$_,
90
+ server__output__relative_path_M_middleware_ctx_,
91
+ ] = be_memo_pair_(ctx=>
92
+ nullish__none_([server__metafile_(ctx)],
93
+ server__metafile=>
94
+ new Map(
95
+ Object.keys(server__metafile.outputs)
96
+ .filter(server__output__relative_path=>
97
+ server__metafile.outputs[server__output__relative_path].entryPoint)
98
+ .map(server__output__relative_path=>{
99
+ const middleware_ctx = middleware_ctx__new()
100
+ server__output__relative_path__set(middleware_ctx, server__output__relative_path)
101
+ return [server__output__relative_path, middleware_ctx]
102
+ }))),
103
+ {
104
+ id: 'server__output__relative_path_M_middleware_ctx',
105
+ ns: 'app'
106
+ })
107
+ export const [
108
+ server__output__relative_path$_,
109
+ server__output__relative_path_,
110
+ server__output__relative_path__set,
111
+ ] = be_sig_triple_(()=>
112
+ undefined,
113
+ { ns: 'middleware', id: 'server__output__relative_path' })
114
+ export const [
115
+ server__output$_,
116
+ server__output_
117
+ ] = be_memo_pair_(ctx=>
118
+ nullish__none_(tup(server__metafile_(ctx), server__output__relative_path_(ctx)),
119
+ (server__metafile, server__output__relative_path)=>
120
+ server__metafile.outputs[server__output__relative_path]),
121
+ { ns: 'middleware', id: 'server__output' })
122
+ export const [
123
+ server__cssBundle__relative_path$_,
124
+ server__cssBundle__relative_path_
125
+ ] = be_memo_pair_(ctx=>
126
+ server__output_(ctx)?.cssBundle,
127
+ { ns: 'middleware', id: 'server__cssBundle__relative_path', })
128
+ export const [
129
+ server__cssBundle$_,
130
+ server__cssBundle_
131
+ ] = be_memo_pair_(ctx=>
132
+ nullish__none_([server__output_(ctx)?.cssBundle],
133
+ cssBundle=>
134
+ join(cwd_(ctx), cssBundle)),
135
+ { ns: 'middleware', id: 'server__cssBundle', })
136
+ export const [
137
+ server__css$_,
138
+ server__css_
139
+ ] = be_memo_pair_(ctx=>
140
+ nullish__none_([server__relative_path_(ctx), server__cssBundle__relative_path_(ctx)],
141
+ (server__relative_path, server__cssBundle__relative_path)=>
142
+ join('/', relative(server__relative_path, server__cssBundle__relative_path))),
143
+ { ns: 'middleware', id: 'server__css' })
@@ -5,7 +5,7 @@ import { rmemo__wait } from 'ctx-core/rmemo'
5
5
  import esmock from 'esmock'
6
6
  import { test } from 'uvu'
7
7
  import { equal, throws } from 'uvu/assert'
8
- import { server__metafile0, server__metafile1, server__metafile2 } from '../_fixtures/metafiles.js'
8
+ import { server__metafile0, server__metafile1, server__metafile2 } from '../../_fixtures/metafiles.js'
9
9
  import { cwd__set, dist_path_, dist_path__set, is_prod__set, server_path_ } from '../app/index.js'
10
10
  import { app_ctx, middleware_ctx__new } from '../ctx/index.js'
11
11
  import {
@@ -1,18 +0,0 @@
1
- import type { Equal, Expect } from 'ctx-core/test'
2
- import { test } from 'uvu'
3
- import { equal } from 'uvu/assert'
4
- import { app_ctx, middleware_ctx_T } from '../ctx/index.js'
5
- import { middleware_ } from './index.js'
6
- test.after.each(()=>{
7
- app_ctx.s.app.clear()
8
- })
9
- test('middleware', ()=>{
10
- const fn = ()=>{}
11
- equal(middleware_(fn), fn)
12
- /* eslint-disable @typescript-eslint/no-unused-vars */
13
- type test_middleware_ctx__Parameters = Expect<Equal<Parameters<typeof middleware_<R>>, [(middleware_ctx:middleware_ctx_T)=>R]>>
14
- type test_middleware_ctx__ReturnType = Expect<Equal<ReturnType<typeof middleware_<R>>, R>>
15
- /* eslint-enable @typescript-eslint/no-unused-vars */
16
- })
17
- test.run()
18
- type R = { foo: 'bar' }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes