@web-widget/vue2 1.49.2 → 1.50.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.
@@ -0,0 +1,89 @@
1
+ // src/components.ts
2
+ import { WebWidgetRenderer } from "@web-widget/web-widget";
3
+ import Vue, { h, defineComponent, useAttrs, getCurrentInstance } from "vue";
4
+ import { IS_CLIENT } from "@web-widget/helpers/env";
5
+ Vue.config.ignoredElements = ["web-widget"];
6
+ Vue.config.warnHandler = (msg, vm, trace) => {
7
+ if (msg === `Error in setup: "[object Promise]"`) {
8
+ return;
9
+ }
10
+ console.error("[Vue warn]: ".concat(msg).concat(trace));
11
+ };
12
+ function defineWebWidget(loader, options) {
13
+ var _a, _b;
14
+ return defineComponent({
15
+ name: "WebWidgetRoot",
16
+ inheritAttrs: false,
17
+ props: {
18
+ fallback: {
19
+ type: Object
20
+ },
21
+ experimental_loading: {
22
+ type: String,
23
+ default: (_a = options.loading) != null ? _a : "lazy"
24
+ },
25
+ renderStage: {
26
+ type: String,
27
+ default: options.renderStage
28
+ },
29
+ experimental_renderTarget: {
30
+ type: String,
31
+ default: (_b = options.renderTarget) != null ? _b : "light"
32
+ }
33
+ },
34
+ async serverPrefetch() {
35
+ const widget = this.$widget;
36
+ const innerHTML = await widget.renderInnerHTMLToString();
37
+ this.$innerHTML = innerHTML;
38
+ },
39
+ // async mounted() {
40
+ // if (!(this as any).$innerHTML) {
41
+ // const widget = (this as any).$widget as WebWidgetRenderer;
42
+ // const innerHTML = await widget.renderInnerHTMLToString();
43
+ // (this as any).$innerHTML = innerHTML;
44
+ // }
45
+ // },
46
+ setup({
47
+ fallback,
48
+ experimental_loading,
49
+ renderStage,
50
+ experimental_renderTarget
51
+ }, { slots }) {
52
+ if (!loader) {
53
+ throw new TypeError(`Missing loader.`);
54
+ }
55
+ if (Object.keys(slots).length > 0) {
56
+ throw new TypeError(`Slot not supported.`);
57
+ }
58
+ const data = useAttrs();
59
+ const widget = new WebWidgetRenderer(loader, {
60
+ ...options,
61
+ data,
62
+ loading: experimental_loading,
63
+ renderStage,
64
+ renderTarget: experimental_renderTarget
65
+ });
66
+ const instance = getCurrentInstance();
67
+ instance.proxy.$widget = widget;
68
+ if (IS_CLIENT) {
69
+ }
70
+ return () => {
71
+ const innerHTML = instance.proxy.$innerHTML;
72
+ return h(widget.localName, {
73
+ attrs: widget.attributes,
74
+ domProps: {
75
+ innerHTML
76
+ }
77
+ });
78
+ };
79
+ }
80
+ });
81
+ }
82
+ function toReact(component) {
83
+ return component;
84
+ }
85
+
86
+ export {
87
+ defineWebWidget,
88
+ toReact
89
+ };
@@ -1,12 +1,9 @@
1
- import * as _web_widget_schema from '@web-widget/schema';
2
1
  import * as vue from 'vue';
3
2
  import vue__default, { PropType, Component, ComponentPublicInstance } from 'vue';
4
- import { RenderContext, ComponentProps, SerializableValue } from '@web-widget/helpers';
5
- export * from '@web-widget/helpers';
6
- export { useWidgetSyncState as useWidgetState } from '@web-widget/helpers/state';
7
3
  import { WebWidgetRendererOptions, Loader } from '@web-widget/web-widget';
8
4
  import { ReactWidgetComponent } from '@web-widget/react';
9
5
  import { DefaultProps } from 'vue/types/options';
6
+ import { RenderContext, ComponentProps, SerializableValue } from '@web-widget/helpers';
10
7
 
11
8
  interface DefineWebWidgetOptions {
12
9
  base?: WebWidgetRendererOptions['base'];
@@ -68,9 +65,4 @@ interface CreateVueRenderOptions {
68
65
  onPrefetchData?: (context: RenderContext, component: Component, props: ComponentProps) => Promise<SerializableObject>;
69
66
  }
70
67
 
71
- declare const createVueRender: ({ onBeforeCreateApp, onCreatedApp, onPrefetchData, }?: CreateVueRenderOptions) => (context: _web_widget_schema.WidgetRenderContext<unknown>, renderOptions: _web_widget_schema.WidgetRenderOptions) => Promise<_web_widget_schema.WidgetRenderResult>;
72
- /**@deprecated Please use `createVueRender` instead.*/
73
- declare const defineVueRender: ({ onBeforeCreateApp, onCreatedApp, onPrefetchData, }?: CreateVueRenderOptions) => (context: _web_widget_schema.WidgetRenderContext<unknown>, renderOptions: _web_widget_schema.WidgetRenderOptions) => Promise<_web_widget_schema.WidgetRenderResult>;
74
- declare const render: (context: _web_widget_schema.WidgetRenderContext<unknown>, renderOptions: _web_widget_schema.WidgetRenderOptions) => Promise<_web_widget_schema.WidgetRenderResult>;
75
-
76
- export { type DefineWebWidgetOptions, createVueRender, defineVueRender, defineWebWidget, render, toReact };
68
+ export { type CreateVueRenderOptions as C, type DefineWebWidgetOptions as D, defineWebWidget as d, toReact as t };
package/dist/vite.js CHANGED
@@ -1,20 +1,3 @@
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
-
18
1
  // src/vite.ts
19
2
  import { webWidgetPlugin } from "@web-widget/vite-plugin";
20
3
  var VUE_INTERNAL_REQUEST = /\.vue\?(?:direct&)?vue\b.*$/;
@@ -31,7 +14,7 @@ function vue2WebWidgetPlugin(options) {
31
14
  return webWidgetPlugin({
32
15
  manifest,
33
16
  provide,
34
- export: __spreadValues({
17
+ export: {
35
18
  include: [route, widget],
36
19
  exclude: VUE_INTERNAL_REQUEST,
37
20
  extractFromExportDefault: [
@@ -45,9 +28,10 @@ function vue2WebWidgetPlugin(options) {
45
28
  default: "{}",
46
29
  include: route
47
30
  }
48
- ]
49
- }, exportWidget),
50
- import: __spreadValues({
31
+ ],
32
+ ...exportWidget
33
+ },
34
+ import: {
51
35
  include: /(?:\.|@)widget\..*$/,
52
36
  exclude: VUE_INTERNAL_REQUEST,
53
37
  includeImporter: [
@@ -55,8 +39,9 @@ function vue2WebWidgetPlugin(options) {
55
39
  /\.vue$/,
56
40
  // vite: build mode
57
41
  VUE_INTERNAL_SCRIPT_REQUEST
58
- ]
59
- }, importWidget)
42
+ ],
43
+ ...importWidget
44
+ }
60
45
  });
61
46
  }
62
47
  export {
@@ -1,76 +1,16 @@
1
1
  import * as _web_widget_schema from '@web-widget/schema';
2
- import * as vue from 'vue';
3
- import vue__default, { PropType, Component, ComponentPublicInstance } from 'vue';
4
- import { RenderContext, ComponentProps, SerializableValue } from '@web-widget/helpers';
2
+ import { C as CreateVueRenderOptions } from './types-ByGZXCRo.js';
3
+ export { D as DefineWebWidgetOptions, d as defineWebWidget, t as toReact } from './types-ByGZXCRo.js';
5
4
  export * from '@web-widget/helpers';
6
5
  export { useWidgetSyncState as useWidgetState } from '@web-widget/helpers/state';
7
- import { WebWidgetRendererOptions, Loader } from '@web-widget/web-widget';
8
- import { ReactWidgetComponent } from '@web-widget/react';
9
- import { DefaultProps } from 'vue/types/options';
10
-
11
- interface DefineWebWidgetOptions {
12
- base?: WebWidgetRendererOptions['base'];
13
- import?: WebWidgetRendererOptions['import'];
14
- loading?: WebWidgetRendererOptions['loading'];
15
- name?: WebWidgetRendererOptions['name'];
16
- renderStage?: WebWidgetRendererOptions['renderStage'];
17
- renderTarget?: WebWidgetRendererOptions['renderTarget'];
18
- }
19
- declare function defineWebWidget(loader: Loader, options: DefineWebWidgetOptions): vue.DefineComponent<{
20
- fallback: {
21
- type: PropType<Component>;
22
- };
23
- experimental_loading: {
24
- type: PropType<WebWidgetRendererOptions["loading"]>;
25
- default: "lazy" | "eager" | "idle";
26
- };
27
- renderStage: {
28
- type: PropType<WebWidgetRendererOptions["renderStage"]>;
29
- default: "server" | "client" | undefined;
30
- };
31
- experimental_renderTarget: {
32
- type: PropType<WebWidgetRendererOptions["renderTarget"]>;
33
- default: "light" | "shadow";
34
- };
35
- }, () => vue.VNode, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, Readonly<vue.ExtractPropTypes<{
36
- fallback: {
37
- type: PropType<Component>;
38
- };
39
- experimental_loading: {
40
- type: PropType<WebWidgetRendererOptions["loading"]>;
41
- default: "lazy" | "eager" | "idle";
42
- };
43
- renderStage: {
44
- type: PropType<WebWidgetRendererOptions["renderStage"]>;
45
- default: "server" | "client" | undefined;
46
- };
47
- experimental_renderTarget: {
48
- type: PropType<WebWidgetRendererOptions["renderTarget"]>;
49
- default: "light" | "shadow";
50
- };
51
- }>>, {
52
- renderStage: "server" | "client" | undefined;
53
- experimental_loading: "lazy" | "eager" | "idle" | undefined;
54
- experimental_renderTarget: "light" | "shadow" | undefined;
55
- }>;
56
- /**
57
- * Convert Vue component types to React component types.
58
- */
59
- declare function toReact<T extends DefaultProps>(component: Component<never, never, never, T, never>): ReactWidgetComponent<Omit<T, keyof ComponentPublicInstance | "$route" | "$router">>;
60
-
61
- interface SerializableObject {
62
- [key: string]: SerializableValue;
63
- }
64
- interface CreateVueRenderOptions {
65
- onBeforeCreateApp?: (context: RenderContext, component: Component, props: ComponentProps) => Promise<any>;
66
- onCreatedApp?: (app: vue__default, context: RenderContext, component: Component, props: ComponentProps) => Promise<void>;
67
- /**@deprecated*/
68
- onPrefetchData?: (context: RenderContext, component: Component, props: ComponentProps) => Promise<SerializableObject>;
69
- }
6
+ import 'vue';
7
+ import '@web-widget/web-widget';
8
+ import '@web-widget/react';
9
+ import 'vue/types/options';
70
10
 
71
11
  declare const createVueRender: ({ onBeforeCreateApp, onCreatedApp, onPrefetchData, }?: CreateVueRenderOptions) => (context: _web_widget_schema.WidgetRenderContext<unknown>, renderOptions: _web_widget_schema.WidgetRenderOptions) => Promise<_web_widget_schema.WidgetRenderResult>;
72
12
  /**@deprecated Please use `createVueRender` instead.*/
73
13
  declare const defineVueRender: ({ onBeforeCreateApp, onCreatedApp, onPrefetchData, }?: CreateVueRenderOptions) => (context: _web_widget_schema.WidgetRenderContext<unknown>, renderOptions: _web_widget_schema.WidgetRenderOptions) => Promise<_web_widget_schema.WidgetRenderResult>;
74
14
  declare const render: (context: _web_widget_schema.WidgetRenderContext<unknown>, renderOptions: _web_widget_schema.WidgetRenderOptions) => Promise<_web_widget_schema.WidgetRenderResult>;
75
15
 
76
- export { type DefineWebWidgetOptions, createVueRender, defineVueRender, defineWebWidget, render, toReact };
16
+ export { createVueRender, defineVueRender, render };
@@ -1,115 +1,14 @@
1
- var __defProp = Object.defineProperty;
2
- var __defProps = Object.defineProperties;
3
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
- var __spreadValues = (a, b) => {
9
- for (var prop in b || (b = {}))
10
- if (__hasOwnProp.call(b, prop))
11
- __defNormalProp(a, prop, b[prop]);
12
- if (__getOwnPropSymbols)
13
- for (var prop of __getOwnPropSymbols(b)) {
14
- if (__propIsEnum.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- }
17
- return a;
18
- };
19
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
1
+ import {
2
+ defineWebWidget,
3
+ toReact
4
+ } from "./chunk-DALLV7RU.js";
20
5
 
21
6
  // src/client.ts
22
7
  import { defineRender, getComponentDescriptor } from "@web-widget/helpers";
23
8
  import { cacheProviderIsLoading } from "@web-widget/helpers/cache";
24
- import Vue2 from "vue";
9
+ import Vue from "vue";
25
10
  export * from "@web-widget/helpers";
26
11
  import { useWidgetSyncState } from "@web-widget/helpers/state";
27
-
28
- // src/components.ts
29
- import { WebWidgetRenderer } from "@web-widget/web-widget";
30
- import Vue, { h, defineComponent, useAttrs, getCurrentInstance } from "vue";
31
- import { IS_CLIENT } from "@web-widget/helpers/env";
32
- Vue.config.ignoredElements = ["web-widget"];
33
- Vue.config.warnHandler = (msg, vm, trace) => {
34
- if (msg === `Error in setup: "[object Promise]"`) {
35
- return;
36
- }
37
- console.error("[Vue warn]: ".concat(msg).concat(trace));
38
- };
39
- function defineWebWidget(loader, options) {
40
- var _a, _b;
41
- return defineComponent({
42
- name: "WebWidgetRoot",
43
- inheritAttrs: false,
44
- props: {
45
- fallback: {
46
- type: Object
47
- },
48
- experimental_loading: {
49
- type: String,
50
- default: (_a = options.loading) != null ? _a : "lazy"
51
- },
52
- renderStage: {
53
- type: String,
54
- default: options.renderStage
55
- },
56
- experimental_renderTarget: {
57
- type: String,
58
- default: (_b = options.renderTarget) != null ? _b : "light"
59
- }
60
- },
61
- async serverPrefetch() {
62
- const widget = this.$widget;
63
- const innerHTML = await widget.renderInnerHTMLToString();
64
- this.$innerHTML = innerHTML;
65
- },
66
- // async mounted() {
67
- // if (!(this as any).$innerHTML) {
68
- // const widget = (this as any).$widget as WebWidgetRenderer;
69
- // const innerHTML = await widget.renderInnerHTMLToString();
70
- // (this as any).$innerHTML = innerHTML;
71
- // }
72
- // },
73
- setup({
74
- fallback,
75
- experimental_loading,
76
- renderStage,
77
- experimental_renderTarget
78
- }, { slots }) {
79
- if (!loader) {
80
- throw new TypeError(`Missing loader.`);
81
- }
82
- if (Object.keys(slots).length > 0) {
83
- throw new TypeError(`Slot not supported.`);
84
- }
85
- const data = useAttrs();
86
- const widget = new WebWidgetRenderer(loader, __spreadProps(__spreadValues({}, options), {
87
- data,
88
- loading: experimental_loading,
89
- renderStage,
90
- renderTarget: experimental_renderTarget
91
- }));
92
- const instance = getCurrentInstance();
93
- instance.proxy.$widget = widget;
94
- if (IS_CLIENT) {
95
- }
96
- return () => {
97
- const innerHTML = instance.proxy.$innerHTML;
98
- return h(widget.localName, {
99
- attrs: widget.attributes,
100
- domProps: {
101
- innerHTML
102
- }
103
- });
104
- };
105
- }
106
- });
107
- }
108
- function toReact(component) {
109
- return component;
110
- }
111
-
112
- // src/client.ts
113
12
  var createVueRender = ({
114
13
  onBeforeCreateApp = async () => ({}),
115
14
  onCreatedApp = async () => {
@@ -149,9 +48,9 @@ var createVueRender = ({
149
48
  state == null ? void 0 : state.remove();
150
49
  }
151
50
  let loading;
152
- app = new Vue2(__spreadValues({
153
- render(h2) {
154
- return h2(component, {
51
+ app = new Vue({
52
+ render(h) {
53
+ return h(component, {
155
54
  props: mergedProps
156
55
  });
157
56
  },
@@ -162,8 +61,9 @@ var createVueRender = ({
162
61
  } else {
163
62
  throw err;
164
63
  }
165
- }
166
- }, await onBeforeCreateApp(context, component, mergedProps)));
64
+ },
65
+ ...await onBeforeCreateApp(context, component, mergedProps)
66
+ });
167
67
  await onCreatedApp(app, context, component, mergedProps);
168
68
  if (recovering) {
169
69
  app.$mount(ssrRoot, recovering);
@@ -1,76 +1,16 @@
1
1
  import * as _web_widget_schema from '@web-widget/schema';
2
- import * as vue from 'vue';
3
- import vue__default, { PropType, Component, ComponentPublicInstance } from 'vue';
4
- import { RenderContext, ComponentProps, SerializableValue } from '@web-widget/helpers';
2
+ import { C as CreateVueRenderOptions } from './types-ByGZXCRo.js';
3
+ export { D as DefineWebWidgetOptions, d as defineWebWidget, t as toReact } from './types-ByGZXCRo.js';
5
4
  export * from '@web-widget/helpers';
6
5
  export { useWidgetSyncState as useWidgetState } from '@web-widget/helpers/state';
7
- import { WebWidgetRendererOptions, Loader } from '@web-widget/web-widget';
8
- import { ReactWidgetComponent } from '@web-widget/react';
9
- import { DefaultProps } from 'vue/types/options';
10
-
11
- interface DefineWebWidgetOptions {
12
- base?: WebWidgetRendererOptions['base'];
13
- import?: WebWidgetRendererOptions['import'];
14
- loading?: WebWidgetRendererOptions['loading'];
15
- name?: WebWidgetRendererOptions['name'];
16
- renderStage?: WebWidgetRendererOptions['renderStage'];
17
- renderTarget?: WebWidgetRendererOptions['renderTarget'];
18
- }
19
- declare function defineWebWidget(loader: Loader, options: DefineWebWidgetOptions): vue.DefineComponent<{
20
- fallback: {
21
- type: PropType<Component>;
22
- };
23
- experimental_loading: {
24
- type: PropType<WebWidgetRendererOptions["loading"]>;
25
- default: "lazy" | "eager" | "idle";
26
- };
27
- renderStage: {
28
- type: PropType<WebWidgetRendererOptions["renderStage"]>;
29
- default: "server" | "client" | undefined;
30
- };
31
- experimental_renderTarget: {
32
- type: PropType<WebWidgetRendererOptions["renderTarget"]>;
33
- default: "light" | "shadow";
34
- };
35
- }, () => vue.VNode, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, Readonly<vue.ExtractPropTypes<{
36
- fallback: {
37
- type: PropType<Component>;
38
- };
39
- experimental_loading: {
40
- type: PropType<WebWidgetRendererOptions["loading"]>;
41
- default: "lazy" | "eager" | "idle";
42
- };
43
- renderStage: {
44
- type: PropType<WebWidgetRendererOptions["renderStage"]>;
45
- default: "server" | "client" | undefined;
46
- };
47
- experimental_renderTarget: {
48
- type: PropType<WebWidgetRendererOptions["renderTarget"]>;
49
- default: "light" | "shadow";
50
- };
51
- }>>, {
52
- renderStage: "server" | "client" | undefined;
53
- experimental_loading: "lazy" | "eager" | "idle" | undefined;
54
- experimental_renderTarget: "light" | "shadow" | undefined;
55
- }>;
56
- /**
57
- * Convert Vue component types to React component types.
58
- */
59
- declare function toReact<T extends DefaultProps>(component: Component<never, never, never, T, never>): ReactWidgetComponent<Omit<T, keyof ComponentPublicInstance | "$route" | "$router">>;
60
-
61
- interface SerializableObject {
62
- [key: string]: SerializableValue;
63
- }
64
- interface CreateVueRenderOptions {
65
- onBeforeCreateApp?: (context: RenderContext, component: Component, props: ComponentProps) => Promise<any>;
66
- onCreatedApp?: (app: vue__default, context: RenderContext, component: Component, props: ComponentProps) => Promise<void>;
67
- /**@deprecated*/
68
- onPrefetchData?: (context: RenderContext, component: Component, props: ComponentProps) => Promise<SerializableObject>;
69
- }
6
+ import 'vue';
7
+ import '@web-widget/web-widget';
8
+ import '@web-widget/react';
9
+ import 'vue/types/options';
70
10
 
71
11
  declare const createVueRender: ({ onBeforeCreateApp, onCreatedApp, onPrefetchData, }?: CreateVueRenderOptions) => (context: _web_widget_schema.WidgetRenderContext<unknown>, renderOptions: _web_widget_schema.WidgetRenderOptions) => Promise<_web_widget_schema.WidgetRenderResult>;
72
12
  /**@deprecated Please use `createVueRender` instead.*/
73
13
  declare const defineVueRender: ({ onBeforeCreateApp, onCreatedApp, onPrefetchData, }?: CreateVueRenderOptions) => (context: _web_widget_schema.WidgetRenderContext<unknown>, renderOptions: _web_widget_schema.WidgetRenderOptions) => Promise<_web_widget_schema.WidgetRenderResult>;
74
14
  declare const render: (context: _web_widget_schema.WidgetRenderContext<unknown>, renderOptions: _web_widget_schema.WidgetRenderOptions) => Promise<_web_widget_schema.WidgetRenderResult>;
75
15
 
76
- export { type DefineWebWidgetOptions, createVueRender, defineVueRender, defineWebWidget, render, toReact };
16
+ export { createVueRender, defineVueRender, render };
@@ -1,116 +1,15 @@
1
- var __defProp = Object.defineProperty;
2
- var __defProps = Object.defineProperties;
3
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
- var __spreadValues = (a, b) => {
9
- for (var prop in b || (b = {}))
10
- if (__hasOwnProp.call(b, prop))
11
- __defNormalProp(a, prop, b[prop]);
12
- if (__getOwnPropSymbols)
13
- for (var prop of __getOwnPropSymbols(b)) {
14
- if (__propIsEnum.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- }
17
- return a;
18
- };
19
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
1
+ import {
2
+ defineWebWidget,
3
+ toReact
4
+ } from "./chunk-DALLV7RU.js";
20
5
 
21
6
  // src/server.ts
22
7
  import { defineRender, getComponentDescriptor } from "@web-widget/helpers";
23
8
  import { escapeJson } from "@web-widget/helpers/purify";
24
- import Vue2 from "vue";
9
+ import Vue from "vue";
25
10
  import { createRenderer } from "vue-server-renderer";
26
11
  export * from "@web-widget/helpers";
27
12
  import { useWidgetSyncState } from "@web-widget/helpers/state";
28
-
29
- // src/components.ts
30
- import { WebWidgetRenderer } from "@web-widget/web-widget";
31
- import Vue, { h, defineComponent, useAttrs, getCurrentInstance } from "vue";
32
- import { IS_CLIENT } from "@web-widget/helpers/env";
33
- Vue.config.ignoredElements = ["web-widget"];
34
- Vue.config.warnHandler = (msg, vm, trace) => {
35
- if (msg === `Error in setup: "[object Promise]"`) {
36
- return;
37
- }
38
- console.error("[Vue warn]: ".concat(msg).concat(trace));
39
- };
40
- function defineWebWidget(loader, options) {
41
- var _a, _b;
42
- return defineComponent({
43
- name: "WebWidgetRoot",
44
- inheritAttrs: false,
45
- props: {
46
- fallback: {
47
- type: Object
48
- },
49
- experimental_loading: {
50
- type: String,
51
- default: (_a = options.loading) != null ? _a : "lazy"
52
- },
53
- renderStage: {
54
- type: String,
55
- default: options.renderStage
56
- },
57
- experimental_renderTarget: {
58
- type: String,
59
- default: (_b = options.renderTarget) != null ? _b : "light"
60
- }
61
- },
62
- async serverPrefetch() {
63
- const widget = this.$widget;
64
- const innerHTML = await widget.renderInnerHTMLToString();
65
- this.$innerHTML = innerHTML;
66
- },
67
- // async mounted() {
68
- // if (!(this as any).$innerHTML) {
69
- // const widget = (this as any).$widget as WebWidgetRenderer;
70
- // const innerHTML = await widget.renderInnerHTMLToString();
71
- // (this as any).$innerHTML = innerHTML;
72
- // }
73
- // },
74
- setup({
75
- fallback,
76
- experimental_loading,
77
- renderStage,
78
- experimental_renderTarget
79
- }, { slots }) {
80
- if (!loader) {
81
- throw new TypeError(`Missing loader.`);
82
- }
83
- if (Object.keys(slots).length > 0) {
84
- throw new TypeError(`Slot not supported.`);
85
- }
86
- const data = useAttrs();
87
- const widget = new WebWidgetRenderer(loader, __spreadProps(__spreadValues({}, options), {
88
- data,
89
- loading: experimental_loading,
90
- renderStage,
91
- renderTarget: experimental_renderTarget
92
- }));
93
- const instance = getCurrentInstance();
94
- instance.proxy.$widget = widget;
95
- if (IS_CLIENT) {
96
- }
97
- return () => {
98
- const innerHTML = instance.proxy.$innerHTML;
99
- return h(widget.localName, {
100
- attrs: widget.attributes,
101
- domProps: {
102
- innerHTML
103
- }
104
- });
105
- };
106
- }
107
- });
108
- }
109
- function toReact(component) {
110
- return component;
111
- }
112
-
113
- // src/server.ts
114
13
  var createVueRender = ({
115
14
  onBeforeCreateApp = async () => ({}),
116
15
  onCreatedApp = async () => {
@@ -127,11 +26,12 @@ var createVueRender = ({
127
26
  const state = onPrefetchData ? await onPrefetchData(context, component, props) : void 0;
128
27
  const mergedProps = state ? Object.assign({}, state, props) : props;
129
28
  const renderer = createRenderer();
130
- const app = new Vue2(__spreadValues({
131
- render: (h2) => h2(component, {
29
+ const app = new Vue({
30
+ render: (h) => h(component, {
132
31
  props: mergedProps
133
- })
134
- }, await onBeforeCreateApp(context, component, mergedProps)));
32
+ }),
33
+ ...await onBeforeCreateApp(context, component, mergedProps)
34
+ });
135
35
  await onCreatedApp(app, context, component, mergedProps);
136
36
  const ssrContext = {};
137
37
  const result = await renderer.renderToString(app, ssrContext);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@web-widget/vue2",
3
3
  "description": "Vue2 adapter",
4
- "version": "1.49.2",
4
+ "version": "1.50.0",
5
5
  "homepage": "https://github.com/web-widget/web-widget#readme",
6
6
  "repository": {
7
7
  "type": "git",
@@ -13,9 +13,10 @@
13
13
  },
14
14
  "license": "MIT",
15
15
  "dependencies": {
16
- "@web-widget/helpers": "1.49.2",
17
- "@web-widget/vite-plugin": "1.49.2",
18
- "@web-widget/web-widget": "1.49.2"
16
+ "@web-widget/helpers": "1.50.0",
17
+ "@web-widget/vite-plugin": "1.50.0",
18
+ "@web-widget/web-widget": "1.50.0",
19
+ "@web-widget/react": "1.50.0"
19
20
  },
20
21
  "devDependencies": {
21
22
  "@types/node": "^22.2.0",
@@ -23,8 +24,7 @@
23
24
  "typescript": "^5.5.4",
24
25
  "vite": "^5.4.10",
25
26
  "vue": "^2.7.16",
26
- "vue-server-renderer": "^2.7.16",
27
- "@web-widget/react": "1.49.2"
27
+ "vue-server-renderer": "^2.7.16"
28
28
  },
29
29
  "exports": {
30
30
  ".": {
@@ -38,13 +38,11 @@
38
38
  },
39
39
  "default": {
40
40
  "types": "./dist/vue2.server.d.ts",
41
- "require": "./dist/vue2.server.cjs",
42
41
  "default": "./dist/vue2.server.js"
43
42
  }
44
43
  },
45
44
  "./vite": {
46
45
  "types": "./dist/vite.d.ts",
47
- "require": "./dist/vite.cjs",
48
46
  "default": "./dist/vite.js"
49
47
  }
50
48
  },
@@ -54,8 +52,7 @@
54
52
  "peerDependencies": {
55
53
  "vite": "^5.4.10",
56
54
  "vue": "^2.7.16",
57
- "vue-server-renderer": "^2.7.16",
58
- "@web-widget/react": "1.49.2"
55
+ "vue-server-renderer": "^2.7.16"
59
56
  },
60
57
  "publishConfig": {
61
58
  "access": "public"
package/dist/vite.cjs DELETED
@@ -1,82 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
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
- };
20
- var __export = (target, all) => {
21
- for (var name in all)
22
- __defProp(target, name, { get: all[name], enumerable: true });
23
- };
24
- var __copyProps = (to, from, except, desc) => {
25
- if (from && typeof from === "object" || typeof from === "function") {
26
- for (let key of __getOwnPropNames(from))
27
- if (!__hasOwnProp.call(to, key) && key !== except)
28
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
29
- }
30
- return to;
31
- };
32
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
33
-
34
- // src/vite.ts
35
- var vite_exports = {};
36
- __export(vite_exports, {
37
- default: () => vue2WebWidgetPlugin
38
- });
39
- module.exports = __toCommonJS(vite_exports);
40
- var import_vite_plugin = require("@web-widget/vite-plugin");
41
- var VUE_INTERNAL_REQUEST = /\.vue\?(?:direct&)?vue\b.*$/;
42
- var VUE_INTERNAL_SCRIPT_REQUEST = /\.vue\?vue&type=script\b.*$/;
43
- function vue2WebWidgetPlugin(options) {
44
- const {
45
- manifest,
46
- provide = "@web-widget/vue2",
47
- export: exportWidget = {},
48
- import: importWidget = {}
49
- } = options != null ? options : {};
50
- const route = /(?:\.|@)route\.vue(?:\?.*)?$/;
51
- const widget = /(?:\.|@)widget\.vue(?:\?.*)?$/;
52
- return (0, import_vite_plugin.webWidgetPlugin)({
53
- manifest,
54
- provide,
55
- export: __spreadValues({
56
- include: [route, widget],
57
- exclude: VUE_INTERNAL_REQUEST,
58
- extractFromExportDefault: [
59
- {
60
- name: "handler",
61
- default: "{GET({render}){return render()}}",
62
- include: route
63
- },
64
- {
65
- name: "meta",
66
- default: "{}",
67
- include: route
68
- }
69
- ]
70
- }, exportWidget),
71
- import: __spreadValues({
72
- include: /(?:\.|@)widget\..*$/,
73
- exclude: VUE_INTERNAL_REQUEST,
74
- includeImporter: [
75
- // vite: dev mode
76
- /\.vue$/,
77
- // vite: build mode
78
- VUE_INTERNAL_SCRIPT_REQUEST
79
- ]
80
- }, importWidget)
81
- });
82
- }
@@ -1,196 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __defProps = Object.defineProperties;
5
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
7
- var __getOwnPropNames = Object.getOwnPropertyNames;
8
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
9
- var __getProtoOf = Object.getPrototypeOf;
10
- var __hasOwnProp = Object.prototype.hasOwnProperty;
11
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
12
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
13
- var __spreadValues = (a, b) => {
14
- for (var prop in b || (b = {}))
15
- if (__hasOwnProp.call(b, prop))
16
- __defNormalProp(a, prop, b[prop]);
17
- if (__getOwnPropSymbols)
18
- for (var prop of __getOwnPropSymbols(b)) {
19
- if (__propIsEnum.call(b, prop))
20
- __defNormalProp(a, prop, b[prop]);
21
- }
22
- return a;
23
- };
24
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
25
- var __export = (target, all) => {
26
- for (var name in all)
27
- __defProp(target, name, { get: all[name], enumerable: true });
28
- };
29
- var __copyProps = (to, from, except, desc) => {
30
- if (from && typeof from === "object" || typeof from === "function") {
31
- for (let key of __getOwnPropNames(from))
32
- if (!__hasOwnProp.call(to, key) && key !== except)
33
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
34
- }
35
- return to;
36
- };
37
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
38
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
39
- // If the importer is in node compatibility mode or this is not an ESM
40
- // file that has been converted to a CommonJS file using a Babel-
41
- // compatible transform (i.e. "__esModule" has not been set), then set
42
- // "default" to the CommonJS "module.exports" for node compatibility.
43
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
44
- mod
45
- ));
46
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
47
-
48
- // src/server.ts
49
- var server_exports = {};
50
- __export(server_exports, {
51
- createVueRender: () => createVueRender,
52
- defineVueRender: () => defineVueRender,
53
- defineWebWidget: () => defineWebWidget,
54
- render: () => render,
55
- toReact: () => toReact,
56
- useWidgetState: () => import_state.useWidgetSyncState
57
- });
58
- module.exports = __toCommonJS(server_exports);
59
- var import_helpers = require("@web-widget/helpers");
60
- var import_purify = require("@web-widget/helpers/purify");
61
- var import_vue2 = __toESM(require("vue"), 1);
62
- var import_vue_server_renderer = require("vue-server-renderer");
63
- __reExport(server_exports, require("@web-widget/helpers"), module.exports);
64
- var import_state = require("@web-widget/helpers/state");
65
-
66
- // src/components.ts
67
- var import_web_widget = require("@web-widget/web-widget");
68
- var import_vue = __toESM(require("vue"), 1);
69
- var import_env = require("@web-widget/helpers/env");
70
- import_vue.default.config.ignoredElements = ["web-widget"];
71
- import_vue.default.config.warnHandler = (msg, vm, trace) => {
72
- if (msg === `Error in setup: "[object Promise]"`) {
73
- return;
74
- }
75
- console.error("[Vue warn]: ".concat(msg).concat(trace));
76
- };
77
- function defineWebWidget(loader, options) {
78
- var _a, _b;
79
- return (0, import_vue.defineComponent)({
80
- name: "WebWidgetRoot",
81
- inheritAttrs: false,
82
- props: {
83
- fallback: {
84
- type: Object
85
- },
86
- experimental_loading: {
87
- type: String,
88
- default: (_a = options.loading) != null ? _a : "lazy"
89
- },
90
- renderStage: {
91
- type: String,
92
- default: options.renderStage
93
- },
94
- experimental_renderTarget: {
95
- type: String,
96
- default: (_b = options.renderTarget) != null ? _b : "light"
97
- }
98
- },
99
- async serverPrefetch() {
100
- const widget = this.$widget;
101
- const innerHTML = await widget.renderInnerHTMLToString();
102
- this.$innerHTML = innerHTML;
103
- },
104
- // async mounted() {
105
- // if (!(this as any).$innerHTML) {
106
- // const widget = (this as any).$widget as WebWidgetRenderer;
107
- // const innerHTML = await widget.renderInnerHTMLToString();
108
- // (this as any).$innerHTML = innerHTML;
109
- // }
110
- // },
111
- setup({
112
- fallback,
113
- experimental_loading,
114
- renderStage,
115
- experimental_renderTarget
116
- }, { slots }) {
117
- if (!loader) {
118
- throw new TypeError(`Missing loader.`);
119
- }
120
- if (Object.keys(slots).length > 0) {
121
- throw new TypeError(`Slot not supported.`);
122
- }
123
- const data = (0, import_vue.useAttrs)();
124
- const widget = new import_web_widget.WebWidgetRenderer(loader, __spreadProps(__spreadValues({}, options), {
125
- data,
126
- loading: experimental_loading,
127
- renderStage,
128
- renderTarget: experimental_renderTarget
129
- }));
130
- const instance = (0, import_vue.getCurrentInstance)();
131
- instance.proxy.$widget = widget;
132
- if (import_env.IS_CLIENT) {
133
- }
134
- return () => {
135
- const innerHTML = instance.proxy.$innerHTML;
136
- return (0, import_vue.h)(widget.localName, {
137
- attrs: widget.attributes,
138
- domProps: {
139
- innerHTML
140
- }
141
- });
142
- };
143
- }
144
- });
145
- }
146
- function toReact(component) {
147
- return component;
148
- }
149
-
150
- // src/server.ts
151
- var createVueRender = ({
152
- onBeforeCreateApp = async () => ({}),
153
- onCreatedApp = async () => {
154
- },
155
- onPrefetchData
156
- } = {}) => {
157
- return (0, import_helpers.defineRender)(async (context) => {
158
- const componentDescriptor = (0, import_helpers.getComponentDescriptor)(context);
159
- const component = componentDescriptor.component;
160
- const props = componentDescriptor.props;
161
- if (component.__name) {
162
- component.__name = component.__name.replace("@", "-");
163
- }
164
- const state = onPrefetchData ? await onPrefetchData(context, component, props) : void 0;
165
- const mergedProps = state ? Object.assign({}, state, props) : props;
166
- const renderer = (0, import_vue_server_renderer.createRenderer)();
167
- const app = new import_vue2.default(__spreadValues({
168
- render: (h2) => h2(component, {
169
- props: mergedProps
170
- })
171
- }, await onBeforeCreateApp(context, component, mergedProps)));
172
- await onCreatedApp(app, context, component, mergedProps);
173
- const ssrContext = {};
174
- const result = await renderer.renderToString(app, ssrContext);
175
- app.$destroy();
176
- if (state) {
177
- const json = (0, import_purify.escapeJson)(JSON.stringify(state));
178
- const script = `<script as="state" type="application/json">${json}</script>`;
179
- return result + script;
180
- } else {
181
- return result;
182
- }
183
- });
184
- };
185
- var defineVueRender = createVueRender;
186
- var render = createVueRender();
187
- // Annotate the CommonJS export names for ESM import in node:
188
- 0 && (module.exports = {
189
- createVueRender,
190
- defineVueRender,
191
- defineWebWidget,
192
- render,
193
- toReact,
194
- useWidgetState,
195
- ...require("@web-widget/helpers")
196
- });