rebuildjs 0.49.1 → 0.50.2
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.
- package/_fixtures/src/app/index.server.ts +4 -4
- package/package.json +91 -92
- package/server/asset/index.d.ts +5 -5
- package/server/asset/index.js +3 -3
- package/server/asset/index.test.ts +27 -27
- package/server/ctx/index.d.ts +3 -3
- package/server/ctx/index.js +3 -3
- package/server/ctx/index.test.ts +13 -13
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import './index.server.css'
|
|
2
|
-
import { assets_, type middleware_ctx_T,
|
|
2
|
+
import { assets_, type middleware_ctx_T, request_ctx__new } from '../../../server/index.js'
|
|
3
3
|
export default (middleware_ctx:middleware_ctx_T)=>{
|
|
4
4
|
return (request:Request)=>{
|
|
5
|
-
const
|
|
5
|
+
const request_ctx = request_ctx__new(middleware_ctx)
|
|
6
6
|
return new Response(
|
|
7
7
|
'<!DOCTYPE html>' +
|
|
8
8
|
'<html>' +
|
|
9
9
|
'<head>' +
|
|
10
|
-
assets_(
|
|
10
|
+
assets_(request_ctx).css_a.map(css=>
|
|
11
11
|
'<link rel="stylesheet" type="text/css" href="' + css + '"></link>'
|
|
12
12
|
).join('') +
|
|
13
|
-
assets_(
|
|
13
|
+
assets_(request_ctx).script_a.map(script=>
|
|
14
14
|
'<script type="module" src="' + script + '"></script>'
|
|
15
15
|
).join('') +
|
|
16
16
|
'</head>' +
|
package/package.json
CHANGED
|
@@ -1,94 +1,93 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
"sideEffects": false
|
|
2
|
+
"name": "rebuildjs",
|
|
3
|
+
"version": "0.50.2",
|
|
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
|
+
"browser",
|
|
32
|
+
"types",
|
|
33
|
+
"server"
|
|
34
|
+
],
|
|
35
|
+
"exports": {
|
|
36
|
+
".": {
|
|
37
|
+
"types": "./index.d.ts",
|
|
38
|
+
"default": "./index.js",
|
|
39
|
+
"module": "./index.js"
|
|
40
|
+
},
|
|
41
|
+
"./any": {
|
|
42
|
+
"types": "./any/index.d.ts",
|
|
43
|
+
"default": "./any/index.js",
|
|
44
|
+
"module": "./any/index.js"
|
|
45
|
+
},
|
|
46
|
+
"./browser": {
|
|
47
|
+
"types": "./browser/index.d.ts",
|
|
48
|
+
"default": "./browser/index.js",
|
|
49
|
+
"module": "./browser/index.js"
|
|
50
|
+
},
|
|
51
|
+
"./types": {
|
|
52
|
+
"types": "./types/index.d.ts"
|
|
53
|
+
},
|
|
54
|
+
"./server": {
|
|
55
|
+
"types": "./server/index.d.ts",
|
|
56
|
+
"default": "./server/index.js",
|
|
57
|
+
"module": "./server/index.js"
|
|
58
|
+
},
|
|
59
|
+
"./package.json": "./package.json"
|
|
60
|
+
},
|
|
61
|
+
"dependencies": {
|
|
62
|
+
"ctx-core": "^5.32.0",
|
|
63
|
+
"elysia": "^0.8.14",
|
|
64
|
+
"esbuild": "^0.20.0",
|
|
65
|
+
"fdir": "^6.1.1",
|
|
66
|
+
"picomatch": "^3.0.1"
|
|
67
|
+
},
|
|
68
|
+
"devDependencies": {
|
|
69
|
+
"@typescript-eslint/eslint-plugin": "^6.19.1",
|
|
70
|
+
"@typescript-eslint/parser": "^6.19.1",
|
|
71
|
+
"c8": "^9.1.0",
|
|
72
|
+
"check-dts": "^0.7.2",
|
|
73
|
+
"eslint": "^8.56.0",
|
|
74
|
+
"esmock": "^2.6.3",
|
|
75
|
+
"tsx": "^4.7.0",
|
|
76
|
+
"typescript": "next",
|
|
77
|
+
"uvu": "^0.5.6"
|
|
78
|
+
},
|
|
79
|
+
"publishConfig": {
|
|
80
|
+
"access": "public",
|
|
81
|
+
"cache": "~/.npm"
|
|
82
|
+
},
|
|
83
|
+
"sideEffects": false,
|
|
84
|
+
"scripts": {
|
|
85
|
+
"build": ":",
|
|
86
|
+
"clean": ":",
|
|
87
|
+
"exec": "$@",
|
|
88
|
+
"test": "pnpm test:unit && pnpm test:types",
|
|
89
|
+
"test:types": "check-dts",
|
|
90
|
+
"test:unit": "NODE_OPTIONS=--loader=esmock tsx node_modules/uvu/bin.js . '\\.test\\.(ts|js)$'",
|
|
91
|
+
"test:unit:coverage": "c8 pnpm test:unit"
|
|
92
|
+
}
|
|
94
93
|
}
|
package/server/asset/index.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
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
|
-
import type {
|
|
4
|
-
export declare const assets$_:ctx__be_T<lock_memosig_T<assets_T>, '
|
|
5
|
-
export declare const assets_:ctx__get_T<assets_T, '
|
|
6
|
-
export declare const assets__set:ctx__set_T<assets_T, '
|
|
7
|
-
export declare function assets__assign<ctx_T extends
|
|
3
|
+
import type { has_request_T } from '../ctx/index.js'
|
|
4
|
+
export declare const assets$_:ctx__be_T<lock_memosig_T<assets_T>, 'request'>
|
|
5
|
+
export declare const assets_:ctx__get_T<assets_T, 'request'>
|
|
6
|
+
export declare const assets__set:ctx__set_T<assets_T, 'request'>
|
|
7
|
+
export declare function assets__assign<ctx_T extends has_request_T>(
|
|
8
8
|
ctx:ctx_T,
|
|
9
9
|
..._assets_a:Partial<assets_T>[]
|
|
10
10
|
):assets_T
|
package/server/asset/index.js
CHANGED
|
@@ -12,9 +12,9 @@ export const [
|
|
|
12
12
|
css_a: compact([server__css_(ctx), browser__css_(ctx)]),
|
|
13
13
|
script_a: compact([browser__script_(ctx)]),
|
|
14
14
|
}),
|
|
15
|
-
{ ns: '
|
|
16
|
-
export function assets__assign(
|
|
17
|
-
assets__set(
|
|
15
|
+
{ ns: 'request', id: 'assets' })
|
|
16
|
+
export function assets__assign(request_ctx, ..._assets_a) {
|
|
17
|
+
assets__set(request_ctx, assets__new(assets_(request_ctx), ..._assets_a))
|
|
18
18
|
}
|
|
19
19
|
/**
|
|
20
20
|
* @param {assets_T[]}_assets_a
|
|
@@ -4,39 +4,39 @@ import { test } from 'uvu'
|
|
|
4
4
|
import { equal, throws } from 'uvu/assert'
|
|
5
5
|
import { browser__metafile0, server__metafile0 } from '../../_fixtures/metafiles.js'
|
|
6
6
|
import { browser__metafile__set } from '../rebuildjs_browser/index.js'
|
|
7
|
-
import { app_ctx, middleware_ctx__new,
|
|
7
|
+
import { app_ctx, middleware_ctx__new, request_ctx__new } from '../ctx/index.js'
|
|
8
8
|
import { server__metafile__set, server__output__relative_path__set } from '../rebuildjs_server/index.js'
|
|
9
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
13
|
test('assets', ()=>{
|
|
14
|
-
const
|
|
15
|
-
equal(assets$_(
|
|
14
|
+
const request_ctx = request_ctx__new(middleware_ctx__new())
|
|
15
|
+
equal(assets$_(request_ctx)(), {
|
|
16
16
|
css_a: [],
|
|
17
17
|
script_a: [],
|
|
18
18
|
})
|
|
19
|
-
server__metafile__set(
|
|
20
|
-
equal(assets$_(
|
|
19
|
+
server__metafile__set(request_ctx, server__metafile0)
|
|
20
|
+
equal(assets$_(request_ctx)(), {
|
|
21
21
|
css_a: [],
|
|
22
22
|
script_a: [],
|
|
23
23
|
})
|
|
24
|
-
server__output__relative_path__set(
|
|
25
|
-
equal(assets_(
|
|
24
|
+
server__output__relative_path__set(request_ctx, 'dist/server--dev/index.server-SVR0SVR0.js')
|
|
25
|
+
equal(assets_(request_ctx), {
|
|
26
26
|
css_a: ['/index.server-SVR0SVR0.css'],
|
|
27
27
|
script_a: [],
|
|
28
28
|
})
|
|
29
|
-
browser__metafile__set(
|
|
30
|
-
equal(assets_(
|
|
29
|
+
browser__metafile__set(request_ctx, browser__metafile0)
|
|
30
|
+
equal(assets_(request_ctx), {
|
|
31
31
|
css_a: ['/index.server-SVR0SVR0.css', '/index.browser-BRS0BRS0.css'],
|
|
32
32
|
script_a: ['/index.browser-BRS0BRS0.js'],
|
|
33
33
|
})
|
|
34
34
|
const test_assets = assets__new(
|
|
35
35
|
{ css_a: ['/foo.css'], script_a: ['/foo.js'] },
|
|
36
36
|
undefined)
|
|
37
|
-
assets__set(
|
|
38
|
-
equal(assets$_(
|
|
39
|
-
equal(assets_(
|
|
37
|
+
assets__set(request_ctx, test_assets)
|
|
38
|
+
equal(assets$_(request_ctx)(), test_assets)
|
|
39
|
+
equal(assets_(request_ctx), test_assets)
|
|
40
40
|
// @ts-expect-error TS2345
|
|
41
41
|
throws(()=>assets$_(ctx_()))
|
|
42
42
|
// @ts-expect-error TS2345
|
|
@@ -51,49 +51,49 @@ test('assets', ()=>{
|
|
|
51
51
|
throws(()=>assets__set(middleware_ctx__new(), test_assets))
|
|
52
52
|
})
|
|
53
53
|
test('assets|types', ()=>{
|
|
54
|
-
const
|
|
54
|
+
const request_ctx = request_ctx__new(middleware_ctx__new())
|
|
55
55
|
/* eslint-disable @typescript-eslint/ban-ts-comment */
|
|
56
56
|
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
57
57
|
// @ts-ignore TS6196
|
|
58
|
-
type test_ctx = Expect<Equal<typeof
|
|
58
|
+
type test_ctx = Expect<Equal<typeof request_ctx, Ctx<''|'app'|'middleware'|'request'>>>
|
|
59
59
|
// @ts-expect-error TS2345
|
|
60
60
|
type test_assets$_ = Expect<Equal<typeof assets$_, number>>
|
|
61
61
|
/* eslint-enable @typescript-eslint/no-unused-vars */
|
|
62
62
|
/* eslint-enable @typescript-eslint/ban-ts-comment */
|
|
63
63
|
})
|
|
64
64
|
test('assets__assign', async ()=>{
|
|
65
|
-
const
|
|
66
|
-
server__metafile__set(
|
|
67
|
-
browser__metafile__set(
|
|
68
|
-
server__output__relative_path__set(
|
|
69
|
-
equal(assets_(
|
|
65
|
+
const request_ctx = request_ctx__new(middleware_ctx__new())
|
|
66
|
+
server__metafile__set(request_ctx, server__metafile0)
|
|
67
|
+
browser__metafile__set(request_ctx, browser__metafile0)
|
|
68
|
+
server__output__relative_path__set(request_ctx, 'dist/server--dev/index.server-SVR0SVR0.js')
|
|
69
|
+
equal(assets_(request_ctx), {
|
|
70
70
|
css_a: ['/index.server-SVR0SVR0.css', '/index.browser-BRS0BRS0.css'],
|
|
71
71
|
script_a: ['/index.browser-BRS0BRS0.js'],
|
|
72
72
|
})
|
|
73
|
-
assets__assign(
|
|
74
|
-
equal(assets_(
|
|
73
|
+
assets__assign(request_ctx, assets__new())
|
|
74
|
+
equal(assets_(request_ctx), {
|
|
75
75
|
css_a: ['/index.server-SVR0SVR0.css', '/index.browser-BRS0BRS0.css'],
|
|
76
76
|
script_a: ['/index.browser-BRS0BRS0.js'],
|
|
77
77
|
})
|
|
78
|
-
assets__assign(
|
|
78
|
+
assets__assign(request_ctx, {
|
|
79
79
|
css_a: ['/test0.css']
|
|
80
80
|
})
|
|
81
|
-
equal(assets_(
|
|
81
|
+
equal(assets_(request_ctx), {
|
|
82
82
|
css_a: ['/index.server-SVR0SVR0.css', '/index.browser-BRS0BRS0.css', '/test0.css'],
|
|
83
83
|
script_a: ['/index.browser-BRS0BRS0.js'],
|
|
84
84
|
})
|
|
85
|
-
assets__assign(
|
|
85
|
+
assets__assign(request_ctx, {
|
|
86
86
|
script_a: ['/test0.js']
|
|
87
87
|
})
|
|
88
|
-
equal(assets_(
|
|
88
|
+
equal(assets_(request_ctx), {
|
|
89
89
|
css_a: ['/index.server-SVR0SVR0.css', '/index.browser-BRS0BRS0.css', '/test0.css'],
|
|
90
90
|
script_a: ['/index.browser-BRS0BRS0.js', '/test0.js'],
|
|
91
91
|
})
|
|
92
|
-
assets__assign(
|
|
92
|
+
assets__assign(request_ctx, assets__new({
|
|
93
93
|
css_a: ['/test1.css'],
|
|
94
94
|
script_a: ['/test1.js'],
|
|
95
95
|
}))
|
|
96
|
-
equal(assets_(
|
|
96
|
+
equal(assets_(request_ctx), {
|
|
97
97
|
css_a: ['/index.server-SVR0SVR0.css', '/index.browser-BRS0BRS0.css', '/test0.css', '/test1.css'],
|
|
98
98
|
script_a: ['/index.browser-BRS0BRS0.js', '/test0.js', '/test1.js'],
|
|
99
99
|
})
|
package/server/ctx/index.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { Ctx, Ctx_wide_T } from 'ctx-core/be'
|
|
2
2
|
export declare const app_ctx:app_ctx_T
|
|
3
3
|
export declare function middleware_ctx__new():middleware_ctx_T
|
|
4
|
-
export declare function
|
|
4
|
+
export declare function request_ctx__new(middleware_ctx:middleware_ctx_T):request_ctx_T
|
|
5
5
|
export type app_ctx_T = Ctx<'app'>
|
|
6
6
|
export type middleware_ctx_T = Ctx<'middleware'|'app'>
|
|
7
|
-
export type
|
|
7
|
+
export type request_ctx_T = Ctx<''|'request'|'middleware'|'app'>
|
|
8
8
|
export type has_app_T = Ctx_wide_T<'app'>
|
|
9
9
|
export type has_middleware_T = Ctx_wide_T<'middleware'>
|
|
10
|
-
export type
|
|
10
|
+
export type has_request_T = Ctx_wide_T<'request'>
|
package/server/ctx/index.js
CHANGED
|
@@ -17,9 +17,9 @@ export function middleware_ctx__new() {
|
|
|
17
17
|
}
|
|
18
18
|
/**
|
|
19
19
|
* @param {middleware_ctx_T}middleware_ctx
|
|
20
|
-
* @returns {
|
|
20
|
+
* @returns {request_ctx_T}
|
|
21
21
|
* @private
|
|
22
22
|
*/
|
|
23
|
-
export function
|
|
24
|
-
return ns_ctx_('', '
|
|
23
|
+
export function request_ctx__new(middleware_ctx) {
|
|
24
|
+
return ns_ctx_('', 'request', middleware_ctx)
|
|
25
25
|
}
|
package/server/ctx/index.test.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { be_, type 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 } from 'uvu/assert'
|
|
5
|
-
import { app_ctx, middleware_ctx__new,
|
|
5
|
+
import { app_ctx, middleware_ctx__new, request_ctx__new } from './index.js'
|
|
6
6
|
test.after.each(()=>{
|
|
7
7
|
app_ctx.s.app.clear()
|
|
8
8
|
})
|
|
@@ -32,28 +32,28 @@ test('middleware_ctx|ns', ()=>{
|
|
|
32
32
|
type test_middleware_ctx = Expect<Equal<typeof middleware_ctx, Ctx<'app'|'middleware'>>>
|
|
33
33
|
equal({} as test_middleware_ctx, {})
|
|
34
34
|
})
|
|
35
|
-
test('
|
|
36
|
-
const
|
|
35
|
+
test('request_ctx__new', ()=>{
|
|
36
|
+
const request_ctx = request_ctx__new(middleware_ctx__new())
|
|
37
37
|
const ns_blank_ = be_(()=>
|
|
38
38
|
'',
|
|
39
39
|
{ ns: '' })
|
|
40
40
|
const ns_route_ = be_(()=>
|
|
41
|
-
'
|
|
42
|
-
{ ns: '
|
|
41
|
+
'request',
|
|
42
|
+
{ ns: 'request' })
|
|
43
43
|
const ns_middleware_ = be_(()=>
|
|
44
44
|
'middleware',
|
|
45
45
|
{ ns: 'middleware' })
|
|
46
46
|
const ns_app_ = be_(()=>
|
|
47
47
|
'app',
|
|
48
48
|
{ ns: 'app' })
|
|
49
|
-
equal(ns_blank_(
|
|
50
|
-
equal(ns_route_(
|
|
51
|
-
equal(ns_middleware_(
|
|
52
|
-
equal(ns_app_(
|
|
49
|
+
equal(ns_blank_(request_ctx), '')
|
|
50
|
+
equal(ns_route_(request_ctx), 'request')
|
|
51
|
+
equal(ns_middleware_(request_ctx), 'middleware')
|
|
52
|
+
equal(ns_app_(request_ctx), 'app')
|
|
53
53
|
})
|
|
54
|
-
test('
|
|
55
|
-
const
|
|
56
|
-
type
|
|
57
|
-
equal({} as
|
|
54
|
+
test('request_ctx|ns', ()=>{
|
|
55
|
+
const request_ctx = request_ctx__new(middleware_ctx__new())
|
|
56
|
+
type test_request_ctx = Expect<Equal<typeof request_ctx, Ctx<''|'app'|'middleware'|'request'>>>
|
|
57
|
+
equal({} as test_request_ctx, {})
|
|
58
58
|
})
|
|
59
59
|
test.run()
|