@web-widget/vue 0.12.5 → 0.13.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
@@ -47,10 +47,24 @@ function vueWebWidgetPlugin({
47
47
  export: exportWidget = {},
48
48
  import: importWidget = {}
49
49
  } = {}) {
50
+ const route = /(?:\.|@)route\.vue(?:\?.*)?$/;
51
+ const widget = /(?:\.|@)widget\.vue(?:\?.*)?$/;
50
52
  return (0, import_vite.webWidgetPlugin)({
51
53
  provide,
52
54
  export: __spreadProps(__spreadValues({
53
- include: /(?:\.|@)(?:route|widget)\.vue(?:\?.*)?$/
55
+ include: [route, widget],
56
+ extractFromExportDefault: [
57
+ {
58
+ name: "handler",
59
+ default: "{GET({render}){return render()}}",
60
+ include: route
61
+ },
62
+ {
63
+ name: "meta",
64
+ default: "{}",
65
+ include: route
66
+ }
67
+ ]
54
68
  }, exportWidget), {
55
69
  exclude: [...toArray(exportWidget.exclude), VUE_INTERNAL_REQUEST]
56
70
  }),
package/dist/vite.js CHANGED
@@ -26,10 +26,24 @@ function vueWebWidgetPlugin({
26
26
  export: exportWidget = {},
27
27
  import: importWidget = {}
28
28
  } = {}) {
29
+ const route = /(?:\.|@)route\.vue(?:\?.*)?$/;
30
+ const widget = /(?:\.|@)widget\.vue(?:\?.*)?$/;
29
31
  return webWidgetPlugin({
30
32
  provide,
31
33
  export: __spreadProps(__spreadValues({
32
- include: /(?:\.|@)(?:route|widget)\.vue(?:\?.*)?$/
34
+ include: [route, widget],
35
+ extractFromExportDefault: [
36
+ {
37
+ name: "handler",
38
+ default: "{GET({render}){return render()}}",
39
+ include: route
40
+ },
41
+ {
42
+ name: "meta",
43
+ default: "{}",
44
+ include: route
45
+ }
46
+ ]
33
47
  }, exportWidget), {
34
48
  exclude: [...toArray(exportWidget.exclude), VUE_INTERNAL_REQUEST]
35
49
  }),
@@ -1,9 +1,9 @@
1
1
  import * as _web_widget_schema from '@web-widget/schema';
2
- import { RenderContext, ComponentProps } from '@web-widget/schema';
3
2
  import * as vue from 'vue';
4
3
  import { PropType, VNode, App, Component } from 'vue';
5
- export * from '@web-widget/schema/client-helpers';
6
- export { useWidgetAsyncState as useWidgetState } from '@web-widget/schema/client-helpers';
4
+ import { RenderContext, ComponentProps } from '@web-widget/helpers';
5
+ export * from '@web-widget/helpers';
6
+ export { useWidgetAsyncState as useWidgetState } from '@web-widget/helpers/context';
7
7
  import { Loader, WebWidgetRendererOptions } from '@web-widget/web-widget';
8
8
 
9
9
  declare const WebWidget: vue.DefineComponent<{
@@ -159,45 +159,27 @@ interface CreateVueRenderOptions {
159
159
  onPrefetchData?: (context: RenderContext, component: Component, props: ComponentProps) => Promise<JSONProps>;
160
160
  }
161
161
 
162
- declare const createVueRender: ({ onCreatedApp, onPrefetchData, }?: CreateVueRenderOptions) => (context: _web_widget_schema.ClientWidgetRenderContext<unknown> | _web_widget_schema.ClientRouteRenderContext<unknown, Record<string, string>>, renderOptions: any) => Promise<void | {
162
+ declare const createVueRender: ({ onCreatedApp, onPrefetchData, }?: CreateVueRenderOptions) => (context: _web_widget_schema.RouteRenderContext<unknown, Record<string, string>> | _web_widget_schema.WidgetRenderContext<unknown>, renderOptions: unknown) => Promise<string | void | ReadableStream<any> | {
163
163
  mount?: (() => void | Promise<void>) | undefined;
164
164
  unmount?: (() => void | Promise<void>) | undefined;
165
165
  update?: (({ data }: {
166
166
  data: Record<string, any>;
167
167
  }) => void | Promise<void>) | undefined;
168
- } | {
169
- mount?: (() => void | Promise<void>) | undefined;
170
- unmount?: (() => void | Promise<void>) | undefined;
171
- update?: (({ data }: {
172
- data: Record<string, any>;
173
- }) => void | Promise<void>) | undefined;
174
- }>;
168
+ } | ReadableStream<any>>;
175
169
  /**@deprecated Please use `createVueRender` instead.*/
176
- declare const defineVueRender: ({ onCreatedApp, onPrefetchData, }?: CreateVueRenderOptions) => (context: _web_widget_schema.ClientWidgetRenderContext<unknown> | _web_widget_schema.ClientRouteRenderContext<unknown, Record<string, string>>, renderOptions: any) => Promise<void | {
177
- mount?: (() => void | Promise<void>) | undefined;
178
- unmount?: (() => void | Promise<void>) | undefined;
179
- update?: (({ data }: {
180
- data: Record<string, any>;
181
- }) => void | Promise<void>) | undefined;
182
- } | {
183
- mount?: (() => void | Promise<void>) | undefined;
184
- unmount?: (() => void | Promise<void>) | undefined;
185
- update?: (({ data }: {
186
- data: Record<string, any>;
187
- }) => void | Promise<void>) | undefined;
188
- }>;
189
- declare const render: (context: _web_widget_schema.ClientWidgetRenderContext<unknown> | _web_widget_schema.ClientRouteRenderContext<unknown, Record<string, string>>, renderOptions: any) => Promise<void | {
170
+ declare const defineVueRender: ({ onCreatedApp, onPrefetchData, }?: CreateVueRenderOptions) => (context: _web_widget_schema.RouteRenderContext<unknown, Record<string, string>> | _web_widget_schema.WidgetRenderContext<unknown>, renderOptions: unknown) => Promise<string | void | ReadableStream<any> | {
190
171
  mount?: (() => void | Promise<void>) | undefined;
191
172
  unmount?: (() => void | Promise<void>) | undefined;
192
173
  update?: (({ data }: {
193
174
  data: Record<string, any>;
194
175
  }) => void | Promise<void>) | undefined;
195
- } | {
176
+ } | ReadableStream<any>>;
177
+ declare const render: (context: _web_widget_schema.RouteRenderContext<unknown, Record<string, string>> | _web_widget_schema.WidgetRenderContext<unknown>, renderOptions: unknown) => Promise<string | void | ReadableStream<any> | {
196
178
  mount?: (() => void | Promise<void>) | undefined;
197
179
  unmount?: (() => void | Promise<void>) | undefined;
198
180
  update?: (({ data }: {
199
181
  data: Record<string, any>;
200
182
  }) => void | Promise<void>) | undefined;
201
- }>;
183
+ } | ReadableStream<any>>;
202
184
 
203
185
  export { type DefineWebWidgetOptions, WebWidget, createVueRender, defineVueRender, defineWebWidget, render };
@@ -31,13 +31,10 @@ var __objRest = (source, exclude) => {
31
31
  };
32
32
 
33
33
  // src/client.ts
34
- import {
35
- defineRender,
36
- getComponentDescriptor
37
- } from "@web-widget/schema/client-helpers";
34
+ import { defineRender, getComponentDescriptor } from "@web-widget/helpers";
38
35
  import { Suspense as Suspense2, createApp, createSSRApp, h as h2 } from "vue";
39
- export * from "@web-widget/schema/client-helpers";
40
- import { useWidgetAsyncState } from "@web-widget/schema/client-helpers";
36
+ export * from "@web-widget/helpers";
37
+ import { useWidgetAsyncState } from "@web-widget/helpers/context";
41
38
 
42
39
  // src/components.ts
43
40
  import { WebWidgetRenderer } from "@web-widget/web-widget";
@@ -47,7 +44,7 @@ import {
47
44
  Suspense,
48
45
  useAttrs
49
46
  } from "vue";
50
- import { IS_BROWSER } from "@web-widget/schema/helpers";
47
+ import { IS_CLIENT } from "@web-widget/helpers";
51
48
  var WebWidget = /* @__PURE__ */ defineComponent({
52
49
  name: "WebWidgetRoot",
53
50
  props: {
@@ -102,12 +99,12 @@ var WebWidget = /* @__PURE__ */ defineComponent({
102
99
  const tag = widget.localName;
103
100
  const attrs = widget.attributes;
104
101
  const innerHTML = await widget.renderInnerHTMLToString();
105
- if (IS_BROWSER) {
102
+ if (IS_CLIENT) {
106
103
  await customElements.whenDefined(tag);
107
104
  }
108
105
  const data = attrs.data;
109
106
  delete attrs.data;
110
- return () => h(tag, __spreadProps(__spreadValues(__spreadValues({}, attrs), IS_BROWSER ? { "^data": data } : { data }), {
107
+ return () => h(tag, __spreadProps(__spreadValues(__spreadValues({}, attrs), IS_CLIENT ? { "^data": data } : { data }), {
111
108
  innerHTML
112
109
  }));
113
110
  }
@@ -173,22 +170,23 @@ var createVueRender = ({
173
170
  throw new Error(`"onPrefetchData" is not supported.`);
174
171
  }
175
172
  return defineRender(async (context) => {
173
+ const { recovering, container } = context;
176
174
  const componentDescriptor = getComponentDescriptor(context);
177
175
  const { component, props } = componentDescriptor;
178
- if (!context.container) {
176
+ if (!container) {
179
177
  throw new Error(`Container required.`);
180
178
  }
181
179
  let app;
182
180
  const WidgetSuspense = (props2) => h2(Suspense2, null, [h2(component, props2)]);
183
181
  return {
184
182
  async mount() {
185
- if (context.recovering) {
183
+ if (recovering) {
186
184
  app = createSSRApp(WidgetSuspense, props);
187
185
  } else {
188
186
  app = createApp(WidgetSuspense, props);
189
187
  }
190
188
  await onCreatedApp(app, context, component, props);
191
- app.mount(context.container);
189
+ app.mount(container);
192
190
  },
193
191
  async unmount() {
194
192
  app == null ? void 0 : app.unmount();
@@ -1,10 +1,10 @@
1
1
  import * as _web_widget_schema from '@web-widget/schema';
2
- import { RenderContext, ComponentProps } from '@web-widget/schema';
3
2
  import { SSRContext } from 'vue/server-renderer';
4
3
  import * as vue from 'vue';
5
4
  import { PropType, VNode, App, Component } from 'vue';
6
- export * from '@web-widget/schema/server-helpers';
7
- export { useWidgetAsyncState as useWidgetState } from '@web-widget/schema/server-helpers';
5
+ import { RenderContext, ComponentProps } from '@web-widget/helpers';
6
+ export * from '@web-widget/helpers';
7
+ export { useWidgetAsyncState as useWidgetState } from '@web-widget/helpers/context';
8
8
  import { Loader, WebWidgetRendererOptions } from '@web-widget/web-widget';
9
9
 
10
10
  declare const WebWidget: vue.DefineComponent<{
@@ -163,9 +163,27 @@ interface CreateVueRenderOptions {
163
163
  interface VueRenderOptions {
164
164
  vue?: SSRContext;
165
165
  }
166
- declare const createVueRender: ({ onCreatedApp, onPrefetchData, }?: CreateVueRenderOptions) => (context: _web_widget_schema.ServerWidgetRenderContext<unknown> | _web_widget_schema.ServerRouteRenderContext<unknown, Record<string, string>>, renderOptions: ResponseInit & VueRenderOptions) => Promise<string | ReadableStream<any> | ReadableStream<any>>;
166
+ declare const createVueRender: ({ onCreatedApp, onPrefetchData, }?: CreateVueRenderOptions) => (context: _web_widget_schema.RouteRenderContext<unknown, Record<string, string>> | _web_widget_schema.WidgetRenderContext<unknown>, renderOptions: VueRenderOptions | _web_widget_schema.RouteRenderOptions<VueRenderOptions>) => Promise<string | void | ReadableStream<any> | {
167
+ mount?: (() => void | Promise<void>) | undefined;
168
+ unmount?: (() => void | Promise<void>) | undefined;
169
+ update?: (({ data }: {
170
+ data: Record<string, any>;
171
+ }) => void | Promise<void>) | undefined;
172
+ } | ReadableStream<any>>;
167
173
  /**@deprecated Please use `createVueRender` instead.*/
168
- declare const defineVueRender: ({ onCreatedApp, onPrefetchData, }?: CreateVueRenderOptions) => (context: _web_widget_schema.ServerWidgetRenderContext<unknown> | _web_widget_schema.ServerRouteRenderContext<unknown, Record<string, string>>, renderOptions: ResponseInit & VueRenderOptions) => Promise<string | ReadableStream<any> | ReadableStream<any>>;
169
- declare const render: (context: _web_widget_schema.ServerWidgetRenderContext<unknown> | _web_widget_schema.ServerRouteRenderContext<unknown, Record<string, string>>, renderOptions: ResponseInit & VueRenderOptions) => Promise<string | ReadableStream<any> | ReadableStream<any>>;
174
+ declare const defineVueRender: ({ onCreatedApp, onPrefetchData, }?: CreateVueRenderOptions) => (context: _web_widget_schema.RouteRenderContext<unknown, Record<string, string>> | _web_widget_schema.WidgetRenderContext<unknown>, renderOptions: VueRenderOptions | _web_widget_schema.RouteRenderOptions<VueRenderOptions>) => Promise<string | void | ReadableStream<any> | {
175
+ mount?: (() => void | Promise<void>) | undefined;
176
+ unmount?: (() => void | Promise<void>) | undefined;
177
+ update?: (({ data }: {
178
+ data: Record<string, any>;
179
+ }) => void | Promise<void>) | undefined;
180
+ } | ReadableStream<any>>;
181
+ declare const render: (context: _web_widget_schema.RouteRenderContext<unknown, Record<string, string>> | _web_widget_schema.WidgetRenderContext<unknown>, renderOptions: VueRenderOptions | _web_widget_schema.RouteRenderOptions<VueRenderOptions>) => Promise<string | void | ReadableStream<any> | {
182
+ mount?: (() => void | Promise<void>) | undefined;
183
+ unmount?: (() => void | Promise<void>) | undefined;
184
+ update?: (({ data }: {
185
+ data: Record<string, any>;
186
+ }) => void | Promise<void>) | undefined;
187
+ } | ReadableStream<any>>;
170
188
 
171
189
  export { type DefineWebWidgetOptions, type VueRenderOptions, WebWidget, createVueRender, defineVueRender, defineWebWidget, render };
@@ -31,14 +31,11 @@ var __objRest = (source, exclude) => {
31
31
  };
32
32
 
33
33
  // src/server.ts
34
- import {
35
- defineRender,
36
- getComponentDescriptor
37
- } from "@web-widget/schema/server-helpers";
38
- import { Suspense as Suspense2, createSSRApp, h as h2 } from "vue";
34
+ import { defineRender, getComponentDescriptor } from "@web-widget/helpers";
35
+ import { createSSRApp, h as h2, Suspense as Suspense2 } from "vue";
39
36
  import { renderToWebStream } from "vue/server-renderer";
40
- export * from "@web-widget/schema/server-helpers";
41
- import { useWidgetAsyncState } from "@web-widget/schema/server-helpers";
37
+ export * from "@web-widget/helpers";
38
+ import { useWidgetAsyncState } from "@web-widget/helpers/context";
42
39
 
43
40
  // src/components.ts
44
41
  import { WebWidgetRenderer } from "@web-widget/web-widget";
@@ -48,7 +45,7 @@ import {
48
45
  Suspense,
49
46
  useAttrs
50
47
  } from "vue";
51
- import { IS_BROWSER } from "@web-widget/schema/helpers";
48
+ import { IS_CLIENT } from "@web-widget/helpers";
52
49
  var WebWidget = /* @__PURE__ */ defineComponent({
53
50
  name: "WebWidgetRoot",
54
51
  props: {
@@ -103,12 +100,12 @@ var WebWidget = /* @__PURE__ */ defineComponent({
103
100
  const tag = widget.localName;
104
101
  const attrs = widget.attributes;
105
102
  const innerHTML = await widget.renderInnerHTMLToString();
106
- if (IS_BROWSER) {
103
+ if (IS_CLIENT) {
107
104
  await customElements.whenDefined(tag);
108
105
  }
109
106
  const data = attrs.data;
110
107
  delete attrs.data;
111
- return () => h(tag, __spreadProps(__spreadValues(__spreadValues({}, attrs), IS_BROWSER ? { "^data": data } : { data }), {
108
+ return () => h(tag, __spreadProps(__spreadValues(__spreadValues({}, attrs), IS_CLIENT ? { "^data": data } : { data }), {
112
109
  innerHTML
113
110
  }));
114
111
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@web-widget/vue",
3
- "version": "0.12.5",
3
+ "version": "0.13.0",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -27,19 +27,19 @@
27
27
  "dist"
28
28
  ],
29
29
  "dependencies": {
30
- "@web-widget/html": "0.1.9",
31
- "@web-widget/schema": "0.4.3",
32
- "@web-widget/vite": "2.11.3"
30
+ "@web-widget/vite": "2.11.5"
33
31
  },
34
32
  "devDependencies": {
35
- "@web-widget/web-widget": "1.8.0",
33
+ "@web-widget/helpers": "0.13.0",
34
+ "@web-widget/web-widget": "1.9.0",
36
35
  "tsup": "^8.0.1",
37
36
  "typescript": "^5.3.3",
38
37
  "vite": "^5.0.11",
39
38
  "vue": ">3.3.3"
40
39
  },
41
40
  "peerDependencies": {
42
- "@web-widget/web-widget": "1.8.0",
41
+ "@web-widget/helpers": "0.13.0",
42
+ "@web-widget/web-widget": "1.9.0",
43
43
  "vite": "^5.0.11",
44
44
  "vue": ">3.3.3"
45
45
  },