@web-widget/vue2 0.8.6 → 0.9.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/dist/vite.cjs CHANGED
@@ -46,12 +46,12 @@ function vue2WebWidgetPlugin({
46
46
  return (0, import_vite.webWidgetPlugin)({
47
47
  provide,
48
48
  toWebWidgets: __spreadValues({
49
- include: /(\.route|widget).*\.vue(\?as=[^&]*|\?.*\.(ts|js))?$/
49
+ include: /(?:\.|@)(route|widget).*\.vue(?:\?.*)?$/,
50
+ exclude: /\?.*\.css$/
50
51
  }, toWebWidgets),
51
52
  toComponents: __spreadValues({
52
- include: /\.(widget)\.[^.]*$/,
53
- exclude: /.vue\?.*$/,
54
- includeImporter: /.*\.vue(\?.*\.(ts|js))?$/
53
+ include: /(?:\.|@)widget\.[^.]*$/,
54
+ includeImporter: /.*\.vue(\?.*\.(?:ts|js))?$/
55
55
  }, toComponents)
56
56
  });
57
57
  }
package/dist/vite.js CHANGED
@@ -25,12 +25,12 @@ function vue2WebWidgetPlugin({
25
25
  return webWidgetPlugin({
26
26
  provide,
27
27
  toWebWidgets: __spreadValues({
28
- include: /(\.route|widget).*\.vue(\?as=[^&]*|\?.*\.(ts|js))?$/
28
+ include: /(?:\.|@)(route|widget).*\.vue(?:\?.*)?$/,
29
+ exclude: /\?.*\.css$/
29
30
  }, toWebWidgets),
30
31
  toComponents: __spreadValues({
31
- include: /\.(widget)\.[^.]*$/,
32
- exclude: /.vue\?.*$/,
33
- includeImporter: /.*\.vue(\?.*\.(ts|js))?$/
32
+ include: /(?:\.|@)widget\.[^.]*$/,
33
+ includeImporter: /.*\.vue(\?.*\.(?:ts|js))?$/
34
34
  }, toComponents)
35
35
  });
36
36
  }
@@ -3,12 +3,10 @@ import { RenderContext, ComponentProps } from '@web-widget/schema';
3
3
  import * as vue from 'vue';
4
4
  import vue__default, { PropType, Component } from 'vue';
5
5
  export * from '@web-widget/schema/client-helpers';
6
+ export { useWidgetSyncState as useWidgetState } from '@web-widget/schema/client-helpers';
6
7
  import * as vue_types_v3_component_options_js from 'vue/types/v3-component-options.js';
7
8
  import { Loader, WebWidgetContainerOptions } from '@web-widget/web-widget';
8
9
 
9
- declare const __ENV__: {
10
- server: boolean;
11
- };
12
10
  declare const WebWidget: vue.DefineComponent<{
13
11
  base: {
14
12
  type: PropType<string | undefined>;
@@ -205,4 +203,4 @@ declare const render: (context: _web_widget_schema.ClientWidgetRenderContext<unk
205
203
  }) => void | Promise<void>) | undefined;
206
204
  }>;
207
205
 
208
- export { DefineWebWidgetOptions, WebWidget, __ENV__, createVueRender, defineVueRender, defineWebWidget, render };
206
+ export { DefineWebWidgetOptions, WebWidget, createVueRender, defineVueRender, defineWebWidget, render };
@@ -37,13 +37,12 @@ import {
37
37
  } from "@web-widget/schema/client-helpers";
38
38
  import Vue from "vue";
39
39
  export * from "@web-widget/schema/client-helpers";
40
+ import { useWidgetSyncState } from "@web-widget/schema/client-helpers";
40
41
 
41
- // src/web-widget.ts
42
+ // src/components.ts
42
43
  import { parse } from "@web-widget/web-widget";
43
44
  import { h, defineComponent, defineAsyncComponent, useAttrs } from "vue";
44
- var __ENV__ = {
45
- server: true
46
- };
45
+ import { IS_BROWSER } from "@web-widget/schema/helpers";
47
46
  var WebWidget = /* @__PURE__ */ defineComponent({
48
47
  name: "WebWidget",
49
48
  props: {
@@ -103,7 +102,7 @@ var WebWidget = /* @__PURE__ */ defineComponent({
103
102
  const [tag, attrs, innerHTML] = await parse(loader, __spreadProps(__spreadValues({}, props), {
104
103
  children
105
104
  }));
106
- if (!__ENV__.server) {
105
+ if (IS_BROWSER) {
107
106
  console.warn(`Client components are experimental.`);
108
107
  await customElements.whenDefined(tag);
109
108
  const element = Object.assign(document.createElement(tag), props);
@@ -130,7 +129,6 @@ var WebWidget = /* @__PURE__ */ defineComponent({
130
129
  });
131
130
  function defineWebWidget(loader, options) {
132
131
  var _a, _b;
133
- console.warn(`defineWebWidget of vue2 is an experimental feature.`);
134
132
  return defineComponent({
135
133
  name: "WebWidgetSuspense",
136
134
  props: {
@@ -228,9 +226,9 @@ var defineVueRender = createVueRender;
228
226
  var render = createVueRender();
229
227
  export {
230
228
  WebWidget,
231
- __ENV__,
232
229
  createVueRender,
233
230
  defineVueRender,
234
231
  defineWebWidget,
235
- render
232
+ render,
233
+ useWidgetSyncState as useWidgetState
236
234
  };
@@ -61,26 +61,23 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
61
61
  var server_exports = {};
62
62
  __export(server_exports, {
63
63
  WebWidget: () => WebWidget,
64
- __ENV__: () => __ENV__,
65
64
  createVueRender: () => createVueRender,
66
65
  defineVueRender: () => defineVueRender,
67
66
  defineWebWidget: () => defineWebWidget,
68
- render: () => render
67
+ render: () => render,
68
+ useWidgetState: () => import_server_helpers2.useWidgetSyncState
69
69
  });
70
70
  module.exports = __toCommonJS(server_exports);
71
71
  var import_server_helpers = require("@web-widget/schema/server-helpers");
72
- var import_node_stream = require("stream");
73
- var import_web = require("stream/web");
74
72
  var import_vue2 = __toESM(require("vue"), 1);
75
73
  var import_vue_server_renderer = require("vue-server-renderer");
76
74
  __reExport(server_exports, require("@web-widget/schema/server-helpers"), module.exports);
75
+ var import_server_helpers2 = require("@web-widget/schema/server-helpers");
77
76
 
78
- // src/web-widget.ts
77
+ // src/components.ts
79
78
  var import_web_widget = require("@web-widget/web-widget");
80
79
  var import_vue = require("vue");
81
- var __ENV__ = {
82
- server: true
83
- };
80
+ var import_helpers = require("@web-widget/schema/helpers");
84
81
  var WebWidget = /* @__PURE__ */ (0, import_vue.defineComponent)({
85
82
  name: "WebWidget",
86
83
  props: {
@@ -140,7 +137,7 @@ var WebWidget = /* @__PURE__ */ (0, import_vue.defineComponent)({
140
137
  const [tag, attrs, innerHTML] = await (0, import_web_widget.parse)(loader, __spreadProps(__spreadValues({}, props), {
141
138
  children
142
139
  }));
143
- if (!__ENV__.server) {
140
+ if (import_helpers.IS_BROWSER) {
144
141
  console.warn(`Client components are experimental.`);
145
142
  await customElements.whenDefined(tag);
146
143
  const element = Object.assign(document.createElement(tag), props);
@@ -167,7 +164,6 @@ var WebWidget = /* @__PURE__ */ (0, import_vue.defineComponent)({
167
164
  });
168
165
  function defineWebWidget(loader, options) {
169
166
  var _a, _b;
170
- console.warn(`defineWebWidget of vue2 is an experimental feature.`);
171
167
  return (0, import_vue.defineComponent)({
172
168
  name: "WebWidgetSuspense",
173
169
  props: {
@@ -217,7 +213,6 @@ import_vue2.default.config.warnHandler = (msg, vm, trace) => {
217
213
  }
218
214
  console.error("[Vue warn]: ".concat(msg).concat(trace));
219
215
  };
220
- var __FEATURE_STREAM__ = false;
221
216
  var ESCAPE_LOOKUP = {
222
217
  ">": "\\u003e",
223
218
  "<": "\\u003c",
@@ -228,17 +223,6 @@ var ESCAPE_REGEX = /[><\u2028\u2029]/g;
228
223
  function htmlEscapeJsonString(str) {
229
224
  return str.replace(ESCAPE_REGEX, (match) => ESCAPE_LOOKUP[match]);
230
225
  }
231
- function appendStringToReadableStream(stream, text) {
232
- const encoder = new TextEncoder();
233
- const uint8Array = encoder.encode(text);
234
- return stream.pipeThrough(
235
- new import_web.TransformStream({
236
- flush(controller) {
237
- controller.enqueue(uint8Array);
238
- }
239
- })
240
- );
241
- }
242
226
  var createVueRender = ({
243
227
  onBeforeCreateApp = async () => ({}),
244
228
  onCreatedApp = async () => {
@@ -271,12 +255,12 @@ var createVueRender = ({
271
255
  )
272
256
  }, await onBeforeCreateApp(context, component, mergedProps)));
273
257
  await onCreatedApp(app, context, component, mergedProps);
274
- const result = __FEATURE_STREAM__ && import_node_stream.Readable.toWeb ? import_node_stream.Readable.toWeb(renderer.renderToStream(app)) : await renderer.renderToString(app);
258
+ const result = await renderer.renderToString(app);
275
259
  app.$destroy();
276
260
  if (state) {
277
261
  const json = htmlEscapeJsonString(JSON.stringify(state));
278
262
  const script = `<script as="state" type="application/json">${json}</script>`;
279
- return typeof result === "string" ? result + script : appendStringToReadableStream(result, script);
263
+ return result + script;
280
264
  } else {
281
265
  return result;
282
266
  }
@@ -287,10 +271,10 @@ var render = createVueRender();
287
271
  // Annotate the CommonJS export names for ESM import in node:
288
272
  0 && (module.exports = {
289
273
  WebWidget,
290
- __ENV__,
291
274
  createVueRender,
292
275
  defineVueRender,
293
276
  defineWebWidget,
294
277
  render,
278
+ useWidgetState,
295
279
  ...require("@web-widget/schema/server-helpers")
296
280
  });
@@ -3,12 +3,10 @@ import { RenderContext, ComponentProps } from '@web-widget/schema';
3
3
  import * as vue from 'vue';
4
4
  import vue__default, { PropType, Component } from 'vue';
5
5
  export * from '@web-widget/schema/server-helpers';
6
+ export { useWidgetSyncState as useWidgetState } from '@web-widget/schema/server-helpers';
6
7
  import * as vue_types_v3_component_options_js from 'vue/types/v3-component-options.js';
7
8
  import { Loader, WebWidgetContainerOptions } from '@web-widget/web-widget';
8
9
 
9
- declare const __ENV__: {
10
- server: boolean;
11
- };
12
10
  declare const WebWidget: vue.DefineComponent<{
13
11
  base: {
14
12
  type: PropType<string | undefined>;
@@ -169,4 +167,4 @@ declare const createVueRender: ({ onBeforeCreateApp, onCreatedApp, onPrefetchDat
169
167
  declare const defineVueRender: ({ onBeforeCreateApp, onCreatedApp, onPrefetchData, }?: CreateVueRenderOptions) => (context: _web_widget_schema.ServerWidgetRenderContext<unknown> | _web_widget_schema.ServerRouteRenderContext<unknown, Record<string, string>>, renderOptions: any) => Promise<string | ReadableStream<any> | ReadableStream<any>>;
170
168
  declare const render: (context: _web_widget_schema.ServerWidgetRenderContext<unknown> | _web_widget_schema.ServerRouteRenderContext<unknown, Record<string, string>>, renderOptions: any) => Promise<string | ReadableStream<any> | ReadableStream<any>>;
171
169
 
172
- export { DefineWebWidgetOptions, WebWidget, __ENV__, createVueRender, defineVueRender, defineWebWidget, render };
170
+ export { DefineWebWidgetOptions, WebWidget, createVueRender, defineVueRender, defineWebWidget, render };
@@ -35,18 +35,15 @@ import {
35
35
  defineRender,
36
36
  getComponentDescriptor
37
37
  } from "@web-widget/schema/server-helpers";
38
- import { Readable } from "stream";
39
- import { TransformStream } from "stream/web";
40
38
  import Vue from "vue";
41
39
  import { createRenderer } from "vue-server-renderer";
42
40
  export * from "@web-widget/schema/server-helpers";
41
+ import { useWidgetSyncState } from "@web-widget/schema/server-helpers";
43
42
 
44
- // src/web-widget.ts
43
+ // src/components.ts
45
44
  import { parse } from "@web-widget/web-widget";
46
45
  import { h, defineComponent, defineAsyncComponent, useAttrs } from "vue";
47
- var __ENV__ = {
48
- server: true
49
- };
46
+ import { IS_BROWSER } from "@web-widget/schema/helpers";
50
47
  var WebWidget = /* @__PURE__ */ defineComponent({
51
48
  name: "WebWidget",
52
49
  props: {
@@ -106,7 +103,7 @@ var WebWidget = /* @__PURE__ */ defineComponent({
106
103
  const [tag, attrs, innerHTML] = await parse(loader, __spreadProps(__spreadValues({}, props), {
107
104
  children
108
105
  }));
109
- if (!__ENV__.server) {
106
+ if (IS_BROWSER) {
110
107
  console.warn(`Client components are experimental.`);
111
108
  await customElements.whenDefined(tag);
112
109
  const element = Object.assign(document.createElement(tag), props);
@@ -133,7 +130,6 @@ var WebWidget = /* @__PURE__ */ defineComponent({
133
130
  });
134
131
  function defineWebWidget(loader, options) {
135
132
  var _a, _b;
136
- console.warn(`defineWebWidget of vue2 is an experimental feature.`);
137
133
  return defineComponent({
138
134
  name: "WebWidgetSuspense",
139
135
  props: {
@@ -183,7 +179,6 @@ Vue.config.warnHandler = (msg, vm, trace) => {
183
179
  }
184
180
  console.error("[Vue warn]: ".concat(msg).concat(trace));
185
181
  };
186
- var __FEATURE_STREAM__ = false;
187
182
  var ESCAPE_LOOKUP = {
188
183
  ">": "\\u003e",
189
184
  "<": "\\u003c",
@@ -194,17 +189,6 @@ var ESCAPE_REGEX = /[><\u2028\u2029]/g;
194
189
  function htmlEscapeJsonString(str) {
195
190
  return str.replace(ESCAPE_REGEX, (match) => ESCAPE_LOOKUP[match]);
196
191
  }
197
- function appendStringToReadableStream(stream, text) {
198
- const encoder = new TextEncoder();
199
- const uint8Array = encoder.encode(text);
200
- return stream.pipeThrough(
201
- new TransformStream({
202
- flush(controller) {
203
- controller.enqueue(uint8Array);
204
- }
205
- })
206
- );
207
- }
208
192
  var createVueRender = ({
209
193
  onBeforeCreateApp = async () => ({}),
210
194
  onCreatedApp = async () => {
@@ -237,12 +221,12 @@ var createVueRender = ({
237
221
  )
238
222
  }, await onBeforeCreateApp(context, component, mergedProps)));
239
223
  await onCreatedApp(app, context, component, mergedProps);
240
- const result = __FEATURE_STREAM__ && Readable.toWeb ? Readable.toWeb(renderer.renderToStream(app)) : await renderer.renderToString(app);
224
+ const result = await renderer.renderToString(app);
241
225
  app.$destroy();
242
226
  if (state) {
243
227
  const json = htmlEscapeJsonString(JSON.stringify(state));
244
228
  const script = `<script as="state" type="application/json">${json}</script>`;
245
- return typeof result === "string" ? result + script : appendStringToReadableStream(result, script);
229
+ return result + script;
246
230
  } else {
247
231
  return result;
248
232
  }
@@ -252,9 +236,9 @@ var defineVueRender = createVueRender;
252
236
  var render = createVueRender();
253
237
  export {
254
238
  WebWidget,
255
- __ENV__,
256
239
  createVueRender,
257
240
  defineVueRender,
258
241
  defineWebWidget,
259
- render
242
+ render,
243
+ useWidgetSyncState as useWidgetState
260
244
  };
package/package.json CHANGED
@@ -1,9 +1,13 @@
1
1
  {
2
2
  "name": "@web-widget/vue2",
3
- "version": "0.8.6",
3
+ "version": "0.9.0",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
7
+ "worker": {
8
+ "types": "./dist/vue2.server.d.ts",
9
+ "default": "./dist/vue2.server.js"
10
+ },
7
11
  "browser": {
8
12
  "types": "./dist/vue2.client.d.ts",
9
13
  "default": "./dist/vue2.client.js"
@@ -24,9 +28,9 @@
24
28
  "dist"
25
29
  ],
26
30
  "dependencies": {
27
- "@web-widget/vite": "2.8.4",
28
- "@web-widget/schema": "0.4.2",
29
- "@web-widget/web-widget": "1.7.1",
31
+ "@web-widget/vite": "2.9.0",
32
+ "@web-widget/schema": "0.4.3",
33
+ "@web-widget/web-widget": "1.7.2",
30
34
  "vue": "^2.7.14",
31
35
  "vue-server-renderer": "^2.7.14"
32
36
  },