@roots/bud-client 6.14.3 → 6.15.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.
- package/lib/dom-ready.d.ts +14 -0
- package/lib/dom-ready.js +6 -0
- package/lib/index.d.ts +3 -1
- package/lib/index.js +3 -1
- package/lib/lazy.d.ts +16 -0
- package/lib/lazy.js +19 -0
- package/package.json +12 -4
- package/src/dom-ready.ts +20 -0
- package/src/hot/client.ts +5 -4
- package/src/index.ts +4 -1
- package/src/lazy.ts +41 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Calls once document has loaded.
|
|
3
|
+
*
|
|
4
|
+
* @remarks
|
|
5
|
+
* Callback function may be async or sync
|
|
6
|
+
*
|
|
7
|
+
* @param onReady - callback function
|
|
8
|
+
* @returns void
|
|
9
|
+
*/
|
|
10
|
+
interface domReady {
|
|
11
|
+
(onReady: () => (() => Promise<unknown>) | unknown): void;
|
|
12
|
+
}
|
|
13
|
+
declare const domReady: domReady;
|
|
14
|
+
export default domReady;
|
package/lib/dom-ready.js
ADDED
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
package/lib/lazy.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lazy import helper
|
|
3
|
+
*
|
|
4
|
+
* @remarks
|
|
5
|
+
* Callback function may be async or sync
|
|
6
|
+
*
|
|
7
|
+
* @param onReady - callback function
|
|
8
|
+
* @returns void
|
|
9
|
+
*/
|
|
10
|
+
interface lazy {
|
|
11
|
+
<T = any>(module: Promise<{
|
|
12
|
+
default: T;
|
|
13
|
+
}>, handler: (module: T) => Promise<unknown> | unknown, errorHandler?: (error: unknown) => unknown): Promise<unknown>;
|
|
14
|
+
}
|
|
15
|
+
declare const lazy: lazy;
|
|
16
|
+
export default lazy;
|
package/lib/lazy.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Default error handler
|
|
3
|
+
*
|
|
4
|
+
* @throws Error
|
|
5
|
+
*/
|
|
6
|
+
const defaultErrorHandler = (error) => {
|
|
7
|
+
throw error;
|
|
8
|
+
};
|
|
9
|
+
const lazy = async function lazy(module, handler, errorHandler) {
|
|
10
|
+
try {
|
|
11
|
+
const { default: request } = await module;
|
|
12
|
+
return await handler(request);
|
|
13
|
+
}
|
|
14
|
+
catch (error) {
|
|
15
|
+
const handle = errorHandler ? errorHandler : defaultErrorHandler;
|
|
16
|
+
handle(error);
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
export default lazy;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@roots/bud-client",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.15.0",
|
|
4
4
|
"description": "Client scripts for @roots/bud",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=16"
|
|
@@ -46,6 +46,8 @@
|
|
|
46
46
|
"type": "module",
|
|
47
47
|
"exports": {
|
|
48
48
|
".": "./lib/index.js",
|
|
49
|
+
"./dom-ready": "./lib/dom-ready.js",
|
|
50
|
+
"./lazy": "./lib/lazy.js",
|
|
49
51
|
"./lib/*": "./lib/*"
|
|
50
52
|
},
|
|
51
53
|
"typesVersions": {
|
|
@@ -53,7 +55,13 @@
|
|
|
53
55
|
".": [
|
|
54
56
|
"./lib/index.d.ts"
|
|
55
57
|
],
|
|
56
|
-
"
|
|
58
|
+
"dom-ready": [
|
|
59
|
+
"./lib/dom-ready.d.ts"
|
|
60
|
+
],
|
|
61
|
+
"lazy": [
|
|
62
|
+
"./lib/lazy.d.ts"
|
|
63
|
+
],
|
|
64
|
+
"lib/*": [
|
|
57
65
|
"./lib/*"
|
|
58
66
|
]
|
|
59
67
|
}
|
|
@@ -61,9 +69,9 @@
|
|
|
61
69
|
"types": "./lib/index.d.ts",
|
|
62
70
|
"module": "./lib/index.mjs",
|
|
63
71
|
"devDependencies": {
|
|
64
|
-
"@roots/bud": "6.
|
|
72
|
+
"@roots/bud": "6.15.0",
|
|
65
73
|
"@skypack/package-check": "0.2.2",
|
|
66
|
-
"@types/node": "18.16.
|
|
74
|
+
"@types/node": "18.16.19",
|
|
67
75
|
"@types/webpack-env": "1.18.1"
|
|
68
76
|
},
|
|
69
77
|
"dependencies": {
|
package/src/dom-ready.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Calls once document has loaded.
|
|
3
|
+
*
|
|
4
|
+
* @remarks
|
|
5
|
+
* Callback function may be async or sync
|
|
6
|
+
*
|
|
7
|
+
* @param onReady - callback function
|
|
8
|
+
* @returns void
|
|
9
|
+
*/
|
|
10
|
+
interface domReady {
|
|
11
|
+
(onReady: () => (() => Promise<unknown>) | unknown): void
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
const domReady: domReady = onReady => {
|
|
15
|
+
window.requestAnimationFrame(async function check() {
|
|
16
|
+
document.body ? await onReady() : window.requestAnimationFrame(check)
|
|
17
|
+
})
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export default domReady
|
package/src/hot/client.ts
CHANGED
|
@@ -83,10 +83,11 @@ export const client = async (
|
|
|
83
83
|
* Webpack HMR error handler
|
|
84
84
|
*/
|
|
85
85
|
const onErrored = (error: any) => {
|
|
86
|
-
window.bud.controllers.map(
|
|
87
|
-
controller
|
|
88
|
-
|
|
89
|
-
|
|
86
|
+
window.bud.controllers.map(
|
|
87
|
+
controller =>
|
|
88
|
+
controller?.update({
|
|
89
|
+
errors: [error],
|
|
90
|
+
}),
|
|
90
91
|
)
|
|
91
92
|
}
|
|
92
93
|
|
package/src/index.ts
CHANGED
package/src/lazy.ts
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lazy import helper
|
|
3
|
+
*
|
|
4
|
+
* @remarks
|
|
5
|
+
* Callback function may be async or sync
|
|
6
|
+
*
|
|
7
|
+
* @param onReady - callback function
|
|
8
|
+
* @returns void
|
|
9
|
+
*/
|
|
10
|
+
interface lazy {
|
|
11
|
+
<T = any>(
|
|
12
|
+
module: Promise<{default: T}>,
|
|
13
|
+
handler: (module: T) => Promise<unknown> | unknown,
|
|
14
|
+
errorHandler?: (error: unknown) => unknown,
|
|
15
|
+
): Promise<unknown>
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Default error handler
|
|
20
|
+
*
|
|
21
|
+
* @throws Error
|
|
22
|
+
*/
|
|
23
|
+
const defaultErrorHandler = (error: unknown) => {
|
|
24
|
+
throw error
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const lazy: lazy = async function lazy<T = any>(
|
|
28
|
+
module: Promise<{default: T}>,
|
|
29
|
+
handler: (module: T) => Promise<unknown> | unknown,
|
|
30
|
+
errorHandler?: (error: unknown) => unknown,
|
|
31
|
+
) {
|
|
32
|
+
try {
|
|
33
|
+
const {default: request} = await module
|
|
34
|
+
return await handler(request)
|
|
35
|
+
} catch (error: unknown) {
|
|
36
|
+
const handle = errorHandler ? errorHandler : defaultErrorHandler
|
|
37
|
+
handle(error)
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export default lazy
|