@web-widget/vue2 0.1.0 → 0.2.0-beta1
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/dist/vite.cjs +29 -15
- package/dist/vite.js +32 -15
- package/dist/vue2.server.cjs +30 -29
- package/dist/vue2.server.js +30 -29
- package/package.json +1 -1
package/dist/vite.cjs
CHANGED
|
@@ -2,7 +2,21 @@
|
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
6
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
8
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
9
|
+
var __spreadValues = (a, b) => {
|
|
10
|
+
for (var prop in b || (b = {}))
|
|
11
|
+
if (__hasOwnProp.call(b, prop))
|
|
12
|
+
__defNormalProp(a, prop, b[prop]);
|
|
13
|
+
if (__getOwnPropSymbols)
|
|
14
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
15
|
+
if (__propIsEnum.call(b, prop))
|
|
16
|
+
__defNormalProp(a, prop, b[prop]);
|
|
17
|
+
}
|
|
18
|
+
return a;
|
|
19
|
+
};
|
|
6
20
|
var __export = (target, all) => {
|
|
7
21
|
for (var name in all)
|
|
8
22
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -25,22 +39,22 @@ __export(vite_exports, {
|
|
|
25
39
|
module.exports = __toCommonJS(vite_exports);
|
|
26
40
|
var import_vite = require("@web-widget/vite");
|
|
27
41
|
function vue2WebWidgetPlugin({
|
|
28
|
-
provide
|
|
29
|
-
toWebWidgets = {
|
|
30
|
-
|
|
31
|
-
/\b(routes|widgets).*\.vue(\?.*\.(ts|js))?$/,
|
|
32
|
-
/(\.route|widget).*\.vue(\?.*\.(ts|js))?$/
|
|
33
|
-
]
|
|
34
|
-
},
|
|
35
|
-
toComponents = {
|
|
36
|
-
include: ["widgets/**/*", "**/*.widget.*"],
|
|
37
|
-
exclude: /.vue\?.*$/,
|
|
38
|
-
includeImporter: /.*\.vue(\?.*\.(ts|js))?$/
|
|
39
|
-
}
|
|
42
|
+
provide,
|
|
43
|
+
toWebWidgets = {},
|
|
44
|
+
toComponents = {}
|
|
40
45
|
} = {}) {
|
|
41
46
|
return (0, import_vite.webWidgetPlugin)({
|
|
42
|
-
provide,
|
|
43
|
-
toWebWidgets
|
|
44
|
-
|
|
47
|
+
provide: provide != null ? provide : "@web-widget/vue2",
|
|
48
|
+
toWebWidgets: __spreadValues({
|
|
49
|
+
include: [
|
|
50
|
+
/\b(routes|widgets).*\.vue(\?.*\.(ts|js))?$/,
|
|
51
|
+
/(\.route|widget).*\.vue(\?.*\.(ts|js))?$/
|
|
52
|
+
]
|
|
53
|
+
}, toWebWidgets),
|
|
54
|
+
toComponents: __spreadValues({
|
|
55
|
+
include: ["widgets/**/*", "**/*.widget.*"],
|
|
56
|
+
exclude: /.vue\?.*$/,
|
|
57
|
+
includeImporter: /.*\.vue(\?.*\.(ts|js))?$/
|
|
58
|
+
}, toComponents)
|
|
45
59
|
});
|
|
46
60
|
}
|
package/dist/vite.js
CHANGED
|
@@ -1,23 +1,40 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
3
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
4
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
5
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
6
|
+
var __spreadValues = (a, b) => {
|
|
7
|
+
for (var prop in b || (b = {}))
|
|
8
|
+
if (__hasOwnProp.call(b, prop))
|
|
9
|
+
__defNormalProp(a, prop, b[prop]);
|
|
10
|
+
if (__getOwnPropSymbols)
|
|
11
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
12
|
+
if (__propIsEnum.call(b, prop))
|
|
13
|
+
__defNormalProp(a, prop, b[prop]);
|
|
14
|
+
}
|
|
15
|
+
return a;
|
|
16
|
+
};
|
|
17
|
+
|
|
1
18
|
// src/vite.ts
|
|
2
19
|
import { webWidgetPlugin } from "@web-widget/vite";
|
|
3
20
|
function vue2WebWidgetPlugin({
|
|
4
|
-
provide
|
|
5
|
-
toWebWidgets = {
|
|
6
|
-
|
|
7
|
-
/\b(routes|widgets).*\.vue(\?.*\.(ts|js))?$/,
|
|
8
|
-
/(\.route|widget).*\.vue(\?.*\.(ts|js))?$/
|
|
9
|
-
]
|
|
10
|
-
},
|
|
11
|
-
toComponents = {
|
|
12
|
-
include: ["widgets/**/*", "**/*.widget.*"],
|
|
13
|
-
exclude: /.vue\?.*$/,
|
|
14
|
-
includeImporter: /.*\.vue(\?.*\.(ts|js))?$/
|
|
15
|
-
}
|
|
21
|
+
provide,
|
|
22
|
+
toWebWidgets = {},
|
|
23
|
+
toComponents = {}
|
|
16
24
|
} = {}) {
|
|
17
25
|
return webWidgetPlugin({
|
|
18
|
-
provide,
|
|
19
|
-
toWebWidgets
|
|
20
|
-
|
|
26
|
+
provide: provide != null ? provide : "@web-widget/vue2",
|
|
27
|
+
toWebWidgets: __spreadValues({
|
|
28
|
+
include: [
|
|
29
|
+
/\b(routes|widgets).*\.vue(\?.*\.(ts|js))?$/,
|
|
30
|
+
/(\.route|widget).*\.vue(\?.*\.(ts|js))?$/
|
|
31
|
+
]
|
|
32
|
+
}, toWebWidgets),
|
|
33
|
+
toComponents: __spreadValues({
|
|
34
|
+
include: ["widgets/**/*", "**/*.widget.*"],
|
|
35
|
+
exclude: /.vue\?.*$/,
|
|
36
|
+
includeImporter: /.*\.vue(\?.*\.(ts|js))?$/
|
|
37
|
+
}, toComponents)
|
|
21
38
|
});
|
|
22
39
|
}
|
|
23
40
|
export {
|
package/dist/vue2.server.cjs
CHANGED
|
@@ -69,6 +69,7 @@ __export(server_exports, {
|
|
|
69
69
|
module.exports = __toCommonJS(server_exports);
|
|
70
70
|
var import_server_helpers = require("@web-widget/schema/server-helpers");
|
|
71
71
|
var import_node_stream = require("stream");
|
|
72
|
+
var import_web = require("stream/web");
|
|
72
73
|
var import_vue2 = __toESM(require("vue"), 1);
|
|
73
74
|
var import_vue_server_renderer = require("vue-server-renderer");
|
|
74
75
|
__reExport(server_exports, require("@web-widget/schema/server-helpers"), module.exports);
|
|
@@ -195,6 +196,7 @@ function defineWebWidget(loader, options) {
|
|
|
195
196
|
}
|
|
196
197
|
|
|
197
198
|
// src/server.ts
|
|
199
|
+
var __FEATURE_STREAM__ = false;
|
|
198
200
|
var ESCAPE_LOOKUP = {
|
|
199
201
|
">": "\\u003e",
|
|
200
202
|
"<": "\\u003c",
|
|
@@ -205,6 +207,17 @@ var ESCAPE_REGEX = /[><\u2028\u2029]/g;
|
|
|
205
207
|
function htmlEscapeJsonString(str) {
|
|
206
208
|
return str.replace(ESCAPE_REGEX, (match) => ESCAPE_LOOKUP[match]);
|
|
207
209
|
}
|
|
210
|
+
function appendStringToReadableStream(stream, text) {
|
|
211
|
+
const encoder = new TextEncoder();
|
|
212
|
+
const uint8Array = encoder.encode(text);
|
|
213
|
+
return stream.pipeThrough(
|
|
214
|
+
new import_web.TransformStream({
|
|
215
|
+
flush(controller) {
|
|
216
|
+
controller.enqueue(uint8Array);
|
|
217
|
+
}
|
|
218
|
+
})
|
|
219
|
+
);
|
|
220
|
+
}
|
|
208
221
|
var defineVueRender = ({
|
|
209
222
|
onBeforeCreateApp = () => ({}),
|
|
210
223
|
onCreatedApp = () => {
|
|
@@ -214,39 +227,27 @@ var defineVueRender = ({
|
|
|
214
227
|
return (0, import_server_helpers.defineRender)(async (context, component, props) => {
|
|
215
228
|
const shellTag = "web-widget.shell";
|
|
216
229
|
const state = onPrefetchData ? await onPrefetchData(context, component, props) : void 0;
|
|
217
|
-
const mergedProps = state ? Object.assign(state, props) : props;
|
|
230
|
+
const mergedProps = state ? Object.assign({}, state, props) : props;
|
|
218
231
|
const renderer = (0, import_vue_server_renderer.createRenderer)();
|
|
219
|
-
const vNodeData = {
|
|
220
|
-
attrs: {
|
|
221
|
-
"data-vue2root": "true"
|
|
222
|
-
},
|
|
223
|
-
props: mergedProps
|
|
224
|
-
};
|
|
225
|
-
const shellTagVNodeData = {};
|
|
226
|
-
let render2;
|
|
227
|
-
if (state) {
|
|
228
|
-
const stateStringify = htmlEscapeJsonString(JSON.stringify(state));
|
|
229
|
-
render2 = (h2) => h2(shellTag, shellTagVNodeData, [
|
|
230
|
-
h2(component, vNodeData),
|
|
231
|
-
h2(
|
|
232
|
-
"script",
|
|
233
|
-
{
|
|
234
|
-
attrs: {
|
|
235
|
-
as: "state",
|
|
236
|
-
type: "application/json"
|
|
237
|
-
}
|
|
238
|
-
},
|
|
239
|
-
stateStringify
|
|
240
|
-
)
|
|
241
|
-
]);
|
|
242
|
-
} else {
|
|
243
|
-
render2 = (h2) => h2(shellTag, shellTagVNodeData, [h2(component, vNodeData)]);
|
|
244
|
-
}
|
|
245
232
|
const app = new import_vue2.default(__spreadValues({
|
|
246
|
-
render:
|
|
233
|
+
render: (h2) => h2(shellTag, {}, [
|
|
234
|
+
h2(component, {
|
|
235
|
+
attrs: {
|
|
236
|
+
"data-vue2root": "true"
|
|
237
|
+
},
|
|
238
|
+
props: mergedProps
|
|
239
|
+
})
|
|
240
|
+
])
|
|
247
241
|
}, onBeforeCreateApp(context, component, mergedProps)));
|
|
248
242
|
onCreatedApp(app, context, component, mergedProps);
|
|
249
|
-
|
|
243
|
+
const result = __FEATURE_STREAM__ && import_node_stream.Readable.toWeb ? import_node_stream.Readable.toWeb(renderer.renderToStream(app)) : await renderer.renderToString(app);
|
|
244
|
+
if (state) {
|
|
245
|
+
const json = htmlEscapeJsonString(JSON.stringify(state));
|
|
246
|
+
const script = `<script as="state" type="application/json">${json}</script>`;
|
|
247
|
+
return typeof result === "string" ? result + script : appendStringToReadableStream(result, script);
|
|
248
|
+
} else {
|
|
249
|
+
return result;
|
|
250
|
+
}
|
|
250
251
|
});
|
|
251
252
|
};
|
|
252
253
|
var render = defineVueRender();
|
package/dist/vue2.server.js
CHANGED
|
@@ -33,6 +33,7 @@ var __objRest = (source, exclude) => {
|
|
|
33
33
|
// src/server.ts
|
|
34
34
|
import { defineRender } from "@web-widget/schema/server-helpers";
|
|
35
35
|
import { Readable } from "stream";
|
|
36
|
+
import { TransformStream } from "stream/web";
|
|
36
37
|
import Vue from "vue";
|
|
37
38
|
import { createRenderer } from "vue-server-renderer";
|
|
38
39
|
export * from "@web-widget/schema/server-helpers";
|
|
@@ -159,6 +160,7 @@ function defineWebWidget(loader, options) {
|
|
|
159
160
|
}
|
|
160
161
|
|
|
161
162
|
// src/server.ts
|
|
163
|
+
var __FEATURE_STREAM__ = false;
|
|
162
164
|
var ESCAPE_LOOKUP = {
|
|
163
165
|
">": "\\u003e",
|
|
164
166
|
"<": "\\u003c",
|
|
@@ -169,6 +171,17 @@ var ESCAPE_REGEX = /[><\u2028\u2029]/g;
|
|
|
169
171
|
function htmlEscapeJsonString(str) {
|
|
170
172
|
return str.replace(ESCAPE_REGEX, (match) => ESCAPE_LOOKUP[match]);
|
|
171
173
|
}
|
|
174
|
+
function appendStringToReadableStream(stream, text) {
|
|
175
|
+
const encoder = new TextEncoder();
|
|
176
|
+
const uint8Array = encoder.encode(text);
|
|
177
|
+
return stream.pipeThrough(
|
|
178
|
+
new TransformStream({
|
|
179
|
+
flush(controller) {
|
|
180
|
+
controller.enqueue(uint8Array);
|
|
181
|
+
}
|
|
182
|
+
})
|
|
183
|
+
);
|
|
184
|
+
}
|
|
172
185
|
var defineVueRender = ({
|
|
173
186
|
onBeforeCreateApp = () => ({}),
|
|
174
187
|
onCreatedApp = () => {
|
|
@@ -178,39 +191,27 @@ var defineVueRender = ({
|
|
|
178
191
|
return defineRender(async (context, component, props) => {
|
|
179
192
|
const shellTag = "web-widget.shell";
|
|
180
193
|
const state = onPrefetchData ? await onPrefetchData(context, component, props) : void 0;
|
|
181
|
-
const mergedProps = state ? Object.assign(state, props) : props;
|
|
194
|
+
const mergedProps = state ? Object.assign({}, state, props) : props;
|
|
182
195
|
const renderer = createRenderer();
|
|
183
|
-
const vNodeData = {
|
|
184
|
-
attrs: {
|
|
185
|
-
"data-vue2root": "true"
|
|
186
|
-
},
|
|
187
|
-
props: mergedProps
|
|
188
|
-
};
|
|
189
|
-
const shellTagVNodeData = {};
|
|
190
|
-
let render2;
|
|
191
|
-
if (state) {
|
|
192
|
-
const stateStringify = htmlEscapeJsonString(JSON.stringify(state));
|
|
193
|
-
render2 = (h2) => h2(shellTag, shellTagVNodeData, [
|
|
194
|
-
h2(component, vNodeData),
|
|
195
|
-
h2(
|
|
196
|
-
"script",
|
|
197
|
-
{
|
|
198
|
-
attrs: {
|
|
199
|
-
as: "state",
|
|
200
|
-
type: "application/json"
|
|
201
|
-
}
|
|
202
|
-
},
|
|
203
|
-
stateStringify
|
|
204
|
-
)
|
|
205
|
-
]);
|
|
206
|
-
} else {
|
|
207
|
-
render2 = (h2) => h2(shellTag, shellTagVNodeData, [h2(component, vNodeData)]);
|
|
208
|
-
}
|
|
209
196
|
const app = new Vue(__spreadValues({
|
|
210
|
-
render:
|
|
197
|
+
render: (h2) => h2(shellTag, {}, [
|
|
198
|
+
h2(component, {
|
|
199
|
+
attrs: {
|
|
200
|
+
"data-vue2root": "true"
|
|
201
|
+
},
|
|
202
|
+
props: mergedProps
|
|
203
|
+
})
|
|
204
|
+
])
|
|
211
205
|
}, onBeforeCreateApp(context, component, mergedProps)));
|
|
212
206
|
onCreatedApp(app, context, component, mergedProps);
|
|
213
|
-
|
|
207
|
+
const result = __FEATURE_STREAM__ && Readable.toWeb ? Readable.toWeb(renderer.renderToStream(app)) : await renderer.renderToString(app);
|
|
208
|
+
if (state) {
|
|
209
|
+
const json = htmlEscapeJsonString(JSON.stringify(state));
|
|
210
|
+
const script = `<script as="state" type="application/json">${json}</script>`;
|
|
211
|
+
return typeof result === "string" ? result + script : appendStringToReadableStream(result, script);
|
|
212
|
+
} else {
|
|
213
|
+
return result;
|
|
214
|
+
}
|
|
214
215
|
});
|
|
215
216
|
};
|
|
216
217
|
var render = defineVueRender();
|