defuss-astro 1.4.3 → 1.4.5
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/README.md +1 -1
- package/dist/client.cjs +25 -13
- package/dist/client.mjs +26 -14
- package/dist/endpoint/image-endpoint.cjs +0 -0
- package/dist/endpoint/image-endpoint.mjs +0 -0
- package/dist/index.cjs +17 -7
- package/dist/index.d.cts +3 -1
- package/dist/index.d.mts +3 -1
- package/dist/index.mjs +17 -7
- package/dist/server.cjs +0 -0
- package/dist/server.mjs +0 -0
- package/package.json +15 -23
package/README.md
CHANGED
|
@@ -94,6 +94,6 @@ All commands are run from the root of the project, from a terminal:
|
|
|
94
94
|
|
|
95
95
|
---
|
|
96
96
|
|
|
97
|
-
<img src="assets/defuss_comic.png" />
|
|
97
|
+
<img src="https://raw.githubusercontent.com/kyr0/defuss/refs/heads/main/assets/defuss_comic.png" />
|
|
98
98
|
|
|
99
99
|
<caption><i><b>Come visit us on defuss island!</b></i></caption>
|
package/dist/client.cjs
CHANGED
|
@@ -146,7 +146,10 @@ var client = (element) => async (Component, props, { default: children, ...slott
|
|
|
146
146
|
client$1.hydrate(roots, Array.from(element.childNodes));
|
|
147
147
|
} else {
|
|
148
148
|
element.innerHTML = "";
|
|
149
|
-
let roots = client$1.renderSync(
|
|
149
|
+
let roots = client$1.renderSync(
|
|
150
|
+
Component(componentProps),
|
|
151
|
+
element
|
|
152
|
+
);
|
|
150
153
|
if (!Array.isArray(roots)) {
|
|
151
154
|
roots = [roots];
|
|
152
155
|
}
|
|
@@ -158,24 +161,33 @@ var client = (element) => async (Component, props, { default: children, ...slott
|
|
|
158
161
|
}
|
|
159
162
|
Object.entries(attrs).forEach(([key, value]) => {
|
|
160
163
|
if (typeof value === "undefined") return;
|
|
161
|
-
if (key ===
|
|
162
|
-
if (key ===
|
|
164
|
+
if (key === client$1.DANGEROUSLY_SET_INNER_HTML_ATTRIBUTE) return;
|
|
165
|
+
if (key === client$1.REF_ATTRIBUTE_NAME && typeof value === "object") {
|
|
163
166
|
value.current = element;
|
|
167
|
+
element._defussRef = value;
|
|
164
168
|
return;
|
|
165
169
|
}
|
|
166
170
|
element.setAttribute(key, String(value));
|
|
167
171
|
});
|
|
168
|
-
element.addEventListener(
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
172
|
+
element.addEventListener(
|
|
173
|
+
"astro:unmount",
|
|
174
|
+
() => {
|
|
175
|
+
roots.forEach((root) => {
|
|
176
|
+
if (root.parentNode) {
|
|
177
|
+
root.parentNode.removeChild(root);
|
|
178
|
+
}
|
|
179
|
+
});
|
|
180
|
+
},
|
|
181
|
+
{ once: true }
|
|
182
|
+
);
|
|
175
183
|
}
|
|
176
|
-
element.addEventListener(
|
|
177
|
-
|
|
178
|
-
|
|
184
|
+
element.addEventListener(
|
|
185
|
+
"astro:unmount",
|
|
186
|
+
() => {
|
|
187
|
+
element.innerHTML = "";
|
|
188
|
+
},
|
|
189
|
+
{ once: true }
|
|
190
|
+
);
|
|
179
191
|
};
|
|
180
192
|
|
|
181
193
|
exports.Img = Img;
|
package/dist/client.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createRef, hydrate, renderSync } from 'defuss/client';
|
|
1
|
+
import { createRef, hydrate, renderSync, DANGEROUSLY_SET_INNER_HTML_ATTRIBUTE, REF_ATTRIBUTE_NAME } from 'defuss/client';
|
|
2
2
|
import { S as StaticHtml } from './render-viAgneG-.mjs';
|
|
3
3
|
import { jsx } from 'defuss/jsx-runtime';
|
|
4
4
|
import 'defuss';
|
|
@@ -142,7 +142,10 @@ var client = (element) => async (Component, props, { default: children, ...slott
|
|
|
142
142
|
hydrate(roots, Array.from(element.childNodes));
|
|
143
143
|
} else {
|
|
144
144
|
element.innerHTML = "";
|
|
145
|
-
let roots = renderSync(
|
|
145
|
+
let roots = renderSync(
|
|
146
|
+
Component(componentProps),
|
|
147
|
+
element
|
|
148
|
+
);
|
|
146
149
|
if (!Array.isArray(roots)) {
|
|
147
150
|
roots = [roots];
|
|
148
151
|
}
|
|
@@ -154,24 +157,33 @@ var client = (element) => async (Component, props, { default: children, ...slott
|
|
|
154
157
|
}
|
|
155
158
|
Object.entries(attrs).forEach(([key, value]) => {
|
|
156
159
|
if (typeof value === "undefined") return;
|
|
157
|
-
if (key ===
|
|
158
|
-
if (key ===
|
|
160
|
+
if (key === DANGEROUSLY_SET_INNER_HTML_ATTRIBUTE) return;
|
|
161
|
+
if (key === REF_ATTRIBUTE_NAME && typeof value === "object") {
|
|
159
162
|
value.current = element;
|
|
163
|
+
element._defussRef = value;
|
|
160
164
|
return;
|
|
161
165
|
}
|
|
162
166
|
element.setAttribute(key, String(value));
|
|
163
167
|
});
|
|
164
|
-
element.addEventListener(
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
168
|
+
element.addEventListener(
|
|
169
|
+
"astro:unmount",
|
|
170
|
+
() => {
|
|
171
|
+
roots.forEach((root) => {
|
|
172
|
+
if (root.parentNode) {
|
|
173
|
+
root.parentNode.removeChild(root);
|
|
174
|
+
}
|
|
175
|
+
});
|
|
176
|
+
},
|
|
177
|
+
{ once: true }
|
|
178
|
+
);
|
|
171
179
|
}
|
|
172
|
-
element.addEventListener(
|
|
173
|
-
|
|
174
|
-
|
|
180
|
+
element.addEventListener(
|
|
181
|
+
"astro:unmount",
|
|
182
|
+
() => {
|
|
183
|
+
element.innerHTML = "";
|
|
184
|
+
},
|
|
185
|
+
{ once: true }
|
|
186
|
+
);
|
|
175
187
|
};
|
|
176
188
|
|
|
177
189
|
export { Img, client as default };
|
|
File without changes
|
|
File without changes
|
package/dist/index.cjs
CHANGED
|
@@ -63,6 +63,8 @@ const minifyAndWriteFile = async (cwd, filename, type) => {
|
|
|
63
63
|
}
|
|
64
64
|
};
|
|
65
65
|
function index({
|
|
66
|
+
disableSvgOptimization = false,
|
|
67
|
+
disableCssOptimization = false,
|
|
66
68
|
include,
|
|
67
69
|
exclude,
|
|
68
70
|
devtools
|
|
@@ -112,20 +114,28 @@ function index({
|
|
|
112
114
|
glob("**/*.svg", { cwd })
|
|
113
115
|
]);
|
|
114
116
|
if (htmlFiles.length === 0 && svgFiles.length === 0) return;
|
|
115
|
-
logMessage(`\u2734\uFE0F Optimizing ${cssFiles.length} CSS stylesheets`);
|
|
116
117
|
const minifyAndWritePromises = [];
|
|
117
|
-
|
|
118
|
-
|
|
118
|
+
if (!disableCssOptimization) {
|
|
119
|
+
logMessage(`\u26A1 Optimizing ${cssFiles.length} CSS stylesheets`);
|
|
120
|
+
for (const filename of cssFiles) {
|
|
121
|
+
minifyAndWritePromises.push(
|
|
122
|
+
minifyAndWriteFile(cwd, filename, "css")
|
|
123
|
+
);
|
|
124
|
+
}
|
|
119
125
|
}
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
126
|
+
if (!disableSvgOptimization) {
|
|
127
|
+
logMessage(`\u26A1 Optimizing ${svgFiles.length} SVG vector graphics`);
|
|
128
|
+
for (const filename of svgFiles) {
|
|
129
|
+
minifyAndWritePromises.push(
|
|
130
|
+
minifyAndWriteFile(cwd, filename, "svg")
|
|
131
|
+
);
|
|
132
|
+
}
|
|
123
133
|
}
|
|
124
134
|
await Promise.all(minifyAndWritePromises);
|
|
125
135
|
const end = node_perf_hooks.performance.now();
|
|
126
136
|
const deltaT = end - start;
|
|
127
137
|
const humanTime = deltaT < 1e3 ? `${deltaT.toFixed(0)}ms` : `${(deltaT / 1e3).toFixed(1)}s`;
|
|
128
|
-
logMessage(`\
|
|
138
|
+
logMessage(`\u26A1 Optimization completed in ${humanTime}`);
|
|
129
139
|
}
|
|
130
140
|
}
|
|
131
141
|
};
|
package/dist/index.d.cts
CHANGED
|
@@ -3,9 +3,11 @@ import { DefussVitePluginOptions } from 'defuss-vite';
|
|
|
3
3
|
|
|
4
4
|
interface Options extends Pick<DefussVitePluginOptions, "exclude" | "include"> {
|
|
5
5
|
devtools?: boolean;
|
|
6
|
+
disableSvgOptimization?: boolean;
|
|
7
|
+
disableCssOptimization?: boolean;
|
|
6
8
|
}
|
|
7
9
|
|
|
8
10
|
declare const getContainerRenderer: () => ContainerRenderer;
|
|
9
|
-
declare function export_default({ include, exclude, devtools, }?: Options): AstroIntegration;
|
|
11
|
+
declare function export_default({ disableSvgOptimization, disableCssOptimization, include, exclude, devtools, }?: Options): AstroIntegration;
|
|
10
12
|
|
|
11
13
|
export { export_default as default, getContainerRenderer };
|
package/dist/index.d.mts
CHANGED
|
@@ -3,9 +3,11 @@ import { DefussVitePluginOptions } from 'defuss-vite';
|
|
|
3
3
|
|
|
4
4
|
interface Options extends Pick<DefussVitePluginOptions, "exclude" | "include"> {
|
|
5
5
|
devtools?: boolean;
|
|
6
|
+
disableSvgOptimization?: boolean;
|
|
7
|
+
disableCssOptimization?: boolean;
|
|
6
8
|
}
|
|
7
9
|
|
|
8
10
|
declare const getContainerRenderer: () => ContainerRenderer;
|
|
9
|
-
declare function export_default({ include, exclude, devtools, }?: Options): AstroIntegration;
|
|
11
|
+
declare function export_default({ disableSvgOptimization, disableCssOptimization, include, exclude, devtools, }?: Options): AstroIntegration;
|
|
10
12
|
|
|
11
13
|
export { export_default as default, getContainerRenderer };
|
package/dist/index.mjs
CHANGED
|
@@ -59,6 +59,8 @@ const minifyAndWriteFile = async (cwd, filename, type) => {
|
|
|
59
59
|
}
|
|
60
60
|
};
|
|
61
61
|
function index({
|
|
62
|
+
disableSvgOptimization = false,
|
|
63
|
+
disableCssOptimization = false,
|
|
62
64
|
include,
|
|
63
65
|
exclude,
|
|
64
66
|
devtools
|
|
@@ -108,20 +110,28 @@ function index({
|
|
|
108
110
|
glob("**/*.svg", { cwd })
|
|
109
111
|
]);
|
|
110
112
|
if (htmlFiles.length === 0 && svgFiles.length === 0) return;
|
|
111
|
-
logMessage(`\u2734\uFE0F Optimizing ${cssFiles.length} CSS stylesheets`);
|
|
112
113
|
const minifyAndWritePromises = [];
|
|
113
|
-
|
|
114
|
-
|
|
114
|
+
if (!disableCssOptimization) {
|
|
115
|
+
logMessage(`\u26A1 Optimizing ${cssFiles.length} CSS stylesheets`);
|
|
116
|
+
for (const filename of cssFiles) {
|
|
117
|
+
minifyAndWritePromises.push(
|
|
118
|
+
minifyAndWriteFile(cwd, filename, "css")
|
|
119
|
+
);
|
|
120
|
+
}
|
|
115
121
|
}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
122
|
+
if (!disableSvgOptimization) {
|
|
123
|
+
logMessage(`\u26A1 Optimizing ${svgFiles.length} SVG vector graphics`);
|
|
124
|
+
for (const filename of svgFiles) {
|
|
125
|
+
minifyAndWritePromises.push(
|
|
126
|
+
minifyAndWriteFile(cwd, filename, "svg")
|
|
127
|
+
);
|
|
128
|
+
}
|
|
119
129
|
}
|
|
120
130
|
await Promise.all(minifyAndWritePromises);
|
|
121
131
|
const end = performance.now();
|
|
122
132
|
const deltaT = end - start;
|
|
123
133
|
const humanTime = deltaT < 1e3 ? `${deltaT.toFixed(0)}ms` : `${(deltaT / 1e3).toFixed(1)}s`;
|
|
124
|
-
logMessage(`\
|
|
134
|
+
logMessage(`\u26A1 Optimization completed in ${humanTime}`);
|
|
125
135
|
}
|
|
126
136
|
}
|
|
127
137
|
};
|
package/dist/server.cjs
CHANGED
|
File without changes
|
package/dist/server.mjs
CHANGED
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "defuss-astro",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.5",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
8
8
|
"license": "MIT",
|
|
9
9
|
"description": "Defuss Integration for Astro with WASM-based built-in image conversion support.",
|
|
10
|
-
"keywords": [
|
|
11
|
-
"jsx",
|
|
12
|
-
"render",
|
|
13
|
-
"ssr",
|
|
14
|
-
"isomorphic",
|
|
15
|
-
"astro"
|
|
16
|
-
],
|
|
10
|
+
"keywords": ["jsx", "render", "ssr", "isomorphic", "astro"],
|
|
17
11
|
"repository": {
|
|
18
12
|
"url": "git+https://github.com/kyr0/defuss.git",
|
|
19
13
|
"type": "git"
|
|
20
14
|
},
|
|
15
|
+
"scripts": {
|
|
16
|
+
"clean": "rm -rf ./dist && rm -rf ./node_modules/.pnpm",
|
|
17
|
+
"prebuild": "pnpm run clean",
|
|
18
|
+
"build": "pkgroll",
|
|
19
|
+
"postbuild": "tsx ./scripts/finalize-build.ts"
|
|
20
|
+
},
|
|
21
21
|
"author": "Aron Homberg <info@aron-homberg.de>",
|
|
22
22
|
"sideEffects": false,
|
|
23
23
|
"exports": {
|
|
@@ -59,9 +59,7 @@
|
|
|
59
59
|
"main": "./dist/index.cjs",
|
|
60
60
|
"module": "./dist/index.mjs",
|
|
61
61
|
"types": "./dist/index.d.cts",
|
|
62
|
-
"files": [
|
|
63
|
-
"dist"
|
|
64
|
-
],
|
|
62
|
+
"files": ["dist"],
|
|
65
63
|
"devDependencies": {
|
|
66
64
|
"pkgroll": "^2.5.1",
|
|
67
65
|
"typescript": "^5.6.3",
|
|
@@ -71,20 +69,14 @@
|
|
|
71
69
|
"node": "^18.17.1 || ^20.3.0 || >=21.0.0"
|
|
72
70
|
},
|
|
73
71
|
"dependencies": {
|
|
74
|
-
"
|
|
75
|
-
"vite": "
|
|
72
|
+
"defuss": "workspace:*",
|
|
73
|
+
"defuss-vite": "workspace:*",
|
|
74
|
+
"astro": "^5.13.7",
|
|
75
|
+
"vite": "^7.1.5",
|
|
76
76
|
"fast-glob": "^3.3.2",
|
|
77
77
|
"svgo": "^3.3.2",
|
|
78
78
|
"lightningimg": "^1.0.3",
|
|
79
79
|
"purgecss": "^7.0.2",
|
|
80
|
-
"file-type": "^19.6.0"
|
|
81
|
-
"defuss": "2.0.7",
|
|
82
|
-
"defuss-vite": "1.1.3"
|
|
83
|
-
},
|
|
84
|
-
"scripts": {
|
|
85
|
-
"clean": "rm -rf ./dist && rm -rf ./node_modules/.pnpm",
|
|
86
|
-
"prebuild": "pnpm run clean",
|
|
87
|
-
"build": "pkgroll",
|
|
88
|
-
"postbuild": "tsx ./scripts/finalize-build.ts"
|
|
80
|
+
"file-type": "^19.6.0"
|
|
89
81
|
}
|
|
90
|
-
}
|
|
82
|
+
}
|