@web-widget/vue 0.10.5 → 0.10.7

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.
@@ -3,11 +3,9 @@ import { RenderContext, ComponentProps } from '@web-widget/schema';
3
3
  import * as vue from 'vue';
4
4
  import { PropType, VNode, App, Component } from 'vue';
5
5
  export * from '@web-widget/schema/client-helpers';
6
+ export { useWidgetAsyncState as useWidgetState } from '@web-widget/schema/client-helpers';
6
7
  import { Loader, WebWidgetContainerOptions } from '@web-widget/web-widget';
7
8
 
8
- declare const __ENV__: {
9
- server: boolean;
10
- };
11
9
  declare const WebWidget: vue.DefineComponent<{
12
10
  base: {
13
11
  type: PropType<string | undefined>;
@@ -202,4 +200,4 @@ declare const render: (context: _web_widget_schema.ClientWidgetRenderContext<unk
202
200
  }) => void | Promise<void>) | undefined;
203
201
  }>;
204
202
 
205
- export { DefineWebWidgetOptions, WebWidget, __ENV__, createVueRender, defineVueRender, defineWebWidget, render };
203
+ export { DefineWebWidgetOptions, WebWidget, createVueRender, defineVueRender, defineWebWidget, render };
@@ -36,8 +36,10 @@ import {
36
36
  getComponentDescriptor
37
37
  } from "@web-widget/schema/client-helpers";
38
38
  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";
39
41
 
40
- // src/web-widget.ts
42
+ // src/components.ts
41
43
  import { parse } from "@web-widget/web-widget";
42
44
  import {
43
45
  h,
@@ -45,9 +47,7 @@ import {
45
47
  Suspense,
46
48
  useAttrs
47
49
  } from "vue";
48
- var __ENV__ = {
49
- server: true
50
- };
50
+ import { IS_BROWSER } from "@web-widget/schema/helpers";
51
51
  var WebWidget = /* @__PURE__ */ defineComponent({
52
52
  name: "WebWidget",
53
53
  props: {
@@ -99,7 +99,7 @@ var WebWidget = /* @__PURE__ */ defineComponent({
99
99
  const [tag, attrs, innerHTML] = await parse(loader, __spreadProps(__spreadValues({}, props), {
100
100
  children
101
101
  }));
102
- if (!__ENV__.server) {
102
+ if (IS_BROWSER) {
103
103
  console.warn(`Client components are experimental.`);
104
104
  await customElements.whenDefined(tag);
105
105
  const element = Object.assign(document.createElement(tag), props);
@@ -161,10 +161,6 @@ function defineWebWidget(loader, options) {
161
161
  }
162
162
 
163
163
  // src/client.ts
164
- export * from "@web-widget/schema/client-helpers";
165
- Reflect.defineProperty(__ENV__, "server", {
166
- value: false
167
- });
168
164
  var createVueRender = ({
169
165
  onCreatedApp = async () => {
170
166
  },
@@ -180,18 +176,16 @@ var createVueRender = ({
180
176
  throw new Error(`Container required.`);
181
177
  }
182
178
  let app;
183
- const WrapSuspense = (props2) => h2(Suspense2, null, [h2(component, props2)]);
179
+ const WidgetSuspense = (props2) => h2(Suspense2, null, [h2(component, props2)]);
184
180
  return {
185
181
  async mount() {
186
182
  if (context.recovering) {
187
- app = createSSRApp(WrapSuspense, props);
183
+ app = createSSRApp(WidgetSuspense, props);
188
184
  } else {
189
- app = createApp(WrapSuspense, props);
185
+ app = createApp(WidgetSuspense, props);
190
186
  }
191
187
  await onCreatedApp(app, context, component, props);
192
- app.runWithContext(() => {
193
- app.mount(context.container);
194
- });
188
+ app.mount(context.container);
195
189
  },
196
190
  async unmount() {
197
191
  app == null ? void 0 : app.unmount();
@@ -204,9 +198,9 @@ var defineVueRender = createVueRender;
204
198
  var render = createVueRender();
205
199
  export {
206
200
  WebWidget,
207
- __ENV__,
208
201
  createVueRender,
209
202
  defineVueRender,
210
203
  defineWebWidget,
211
- render
204
+ render,
205
+ useWidgetAsyncState as useWidgetState
212
206
  };
@@ -4,11 +4,9 @@ import { SSRContext } from 'vue/server-renderer';
4
4
  import * as vue from 'vue';
5
5
  import { PropType, VNode, App, Component } from 'vue';
6
6
  export * from '@web-widget/schema/server-helpers';
7
+ export { useWidgetAsyncState as useWidgetState } from '@web-widget/schema/server-helpers';
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>;
@@ -170,4 +168,4 @@ declare const createVueRender: ({ onCreatedApp, onPrefetchData, }?: CreateVueRen
170
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>>;
171
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>>;
172
170
 
173
- export { DefineWebWidgetOptions, VueRenderOptions, WebWidget, __ENV__, createVueRender, defineVueRender, defineWebWidget, render };
171
+ export { DefineWebWidgetOptions, VueRenderOptions, WebWidget, createVueRender, defineVueRender, defineWebWidget, render };
@@ -37,8 +37,10 @@ import {
37
37
  } from "@web-widget/schema/server-helpers";
38
38
  import { Suspense as Suspense2, createSSRApp, h as h2 } from "vue";
39
39
  import { renderToWebStream } from "vue/server-renderer";
40
+ export * from "@web-widget/schema/server-helpers";
41
+ import { useWidgetAsyncState } from "@web-widget/schema/server-helpers";
40
42
 
41
- // src/web-widget.ts
43
+ // src/components.ts
42
44
  import { parse } from "@web-widget/web-widget";
43
45
  import {
44
46
  h,
@@ -46,9 +48,7 @@ import {
46
48
  Suspense,
47
49
  useAttrs
48
50
  } from "vue";
49
- var __ENV__ = {
50
- server: true
51
- };
51
+ import { IS_BROWSER } from "@web-widget/schema/helpers";
52
52
  var WebWidget = /* @__PURE__ */ defineComponent({
53
53
  name: "WebWidget",
54
54
  props: {
@@ -100,7 +100,7 @@ var WebWidget = /* @__PURE__ */ defineComponent({
100
100
  const [tag, attrs, innerHTML] = await parse(loader, __spreadProps(__spreadValues({}, props), {
101
101
  children
102
102
  }));
103
- if (!__ENV__.server) {
103
+ if (IS_BROWSER) {
104
104
  console.warn(`Client components are experimental.`);
105
105
  await customElements.whenDefined(tag);
106
106
  const element = Object.assign(document.createElement(tag), props);
@@ -162,10 +162,6 @@ function defineWebWidget(loader, options) {
162
162
  }
163
163
 
164
164
  // src/server.ts
165
- export * from "@web-widget/schema/server-helpers";
166
- Reflect.defineProperty(__ENV__, "server", {
167
- value: true
168
- });
169
165
  var createVueRender = ({
170
166
  onCreatedApp = async () => {
171
167
  },
@@ -178,10 +174,16 @@ var createVueRender = ({
178
174
  async (context, { vue: ssrContext } = {}) => {
179
175
  const componentDescriptor = getComponentDescriptor(context);
180
176
  const { component, props } = componentDescriptor;
181
- const WrapSuspense = (props2) => h2(Suspense2, null, [h2(component, props2)]);
182
- const app = createSSRApp(WrapSuspense, props);
177
+ const WidgetSuspense = (props2) => h2(Suspense2, null, [h2(component, props2)]);
178
+ const app = createSSRApp(WidgetSuspense, props);
179
+ app.config.errorHandler = (err, instance, info) => {
180
+ if (err instanceof Promise) {
181
+ return;
182
+ }
183
+ throw err;
184
+ };
183
185
  await onCreatedApp(app, context, component, props);
184
- return app.runWithContext(() => renderToWebStream(app, ssrContext));
186
+ return renderToWebStream(app, ssrContext);
185
187
  }
186
188
  );
187
189
  };
@@ -189,9 +191,9 @@ var defineVueRender = createVueRender;
189
191
  var render = createVueRender();
190
192
  export {
191
193
  WebWidget,
192
- __ENV__,
193
194
  createVueRender,
194
195
  defineVueRender,
195
196
  defineWebWidget,
196
- render
197
+ render,
198
+ useWidgetAsyncState as useWidgetState
197
199
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@web-widget/vue",
3
- "version": "0.10.5",
3
+ "version": "0.10.7",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -27,10 +27,10 @@
27
27
  "dist"
28
28
  ],
29
29
  "dependencies": {
30
- "@web-widget/vite": "2.8.3",
31
- "@web-widget/html": "0.1.6",
32
- "@web-widget/schema": "0.4.1",
33
- "@web-widget/web-widget": "1.7.0"
30
+ "@web-widget/vite": "2.8.5",
31
+ "@web-widget/html": "0.1.8",
32
+ "@web-widget/schema": "0.4.3",
33
+ "@web-widget/web-widget": "1.7.2"
34
34
  },
35
35
  "devDependencies": {
36
36
  "tsup": "^7.0.0",