@web-widget/vue 1.52.1 → 1.53.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.d.ts CHANGED
@@ -2,6 +2,7 @@ import * as vite from 'vite';
2
2
  import { WebWidgetUserConfig } from '@web-widget/vite-plugin';
3
3
 
4
4
  interface VueWebWidgetPluginOptions extends Partial<WebWidgetUserConfig> {
5
+ workspace?: string;
5
6
  }
6
7
  declare function vueWebWidgetPlugin(options?: VueWebWidgetPluginOptions): vite.Plugin<any>[];
7
8
 
package/dist/vite.js CHANGED
@@ -1,42 +1,59 @@
1
1
  // src/vite.ts
2
2
  import { webWidgetPlugin } from "@web-widget/vite-plugin";
3
- var VUE_INTERNAL_SCRIPT_REQUEST = /\.vue\?vue&type=script\b.*$/;
3
+ import { posix } from "path";
4
+ import { normalizePath } from "@rollup/pluginutils";
5
+ function escapeRegExp(path) {
6
+ return path.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
7
+ }
8
+ function appendSlash(path) {
9
+ return path.endsWith(posix.sep) ? path : `${path}${posix.sep}`;
10
+ }
4
11
  function vueWebWidgetPlugin(options) {
5
12
  const {
6
13
  manifest,
7
14
  provide = "@web-widget/vue",
15
+ workspace = "",
8
16
  export: exportWidget = {},
9
17
  import: importWidget = {}
10
18
  } = options != null ? options : {};
11
- const route = /[.@]route\.vue(?:\?as=.+)?$/;
12
- const widget = /[.@]widget\.vue(?:\?as=.+)?$/;
19
+ const workspacePattern = workspace ? escapeRegExp(normalizePath(appendSlash(workspace))) : workspace;
20
+ const widgetPattern = `[.@]widget`;
21
+ const routePattern = `[.@]route`;
22
+ const modulesPattern = `[.@](?:route|widget)`;
23
+ const extensionPattern = `\\.vue`;
24
+ const modifierPattern = `(?:\\?as=.+)`;
25
+ const vueBuildModeQueryPattern = `(?:\\?vue&type=script\\b.*)`;
26
+ const routeRegExp = new RegExp(
27
+ `^${workspacePattern}.*${routePattern}${extensionPattern}${modifierPattern}?$`
28
+ );
13
29
  return webWidgetPlugin({
14
30
  manifest,
15
31
  provide,
16
32
  export: {
17
- include: [route, widget],
33
+ include: new RegExp(
34
+ `^${workspacePattern}.*${modulesPattern}${extensionPattern}${modifierPattern}?$`
35
+ ),
18
36
  extractFromExportDefault: [
19
37
  {
20
38
  name: "handler",
21
39
  default: "{GET({render}){return render()}}",
22
- include: route
40
+ include: routeRegExp
23
41
  },
24
42
  {
25
43
  name: "meta",
26
44
  default: "{}",
27
- include: route
45
+ include: routeRegExp
28
46
  }
29
47
  ],
30
48
  ...exportWidget
31
49
  },
32
50
  import: {
33
- include: /[.@]widget\.[^?]*(?:\?as=.+)?$/,
34
- includeImporter: [
35
- // vite: dev mode
36
- /\.vue(?:\?as=.+)?$/,
37
- // vite: build mode
38
- VUE_INTERNAL_SCRIPT_REQUEST
39
- ],
51
+ include: new RegExp(`^.*${widgetPattern}\\.[^?]*${modifierPattern}?$`),
52
+ includeImporter: new RegExp(
53
+ // vite dev mode: .vue
54
+ // vite build mode: .vue?vue&type=script&setup=true&lang.ts
55
+ `^${workspacePattern}.*${extensionPattern}(?:${modifierPattern}|${vueBuildModeQueryPattern})?$`
56
+ ),
40
57
  ...importWidget
41
58
  }
42
59
  });
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@web-widget/vue",
3
3
  "description": "Vue adapter",
4
- "version": "1.52.1",
4
+ "version": "1.53.0",
5
5
  "homepage": "https://github.com/web-widget/web-widget#readme",
6
6
  "repository": {
7
7
  "type": "git",
@@ -13,11 +13,12 @@
13
13
  },
14
14
  "license": "MIT",
15
15
  "dependencies": {
16
- "@web-widget/helpers": "1.52.1",
17
- "@web-widget/vite-plugin": "1.52.1",
18
- "@web-widget/web-widget": "1.52.1",
19
- "@web-widget/schema": "1.52.1",
20
- "@web-widget/react": "1.52.1"
16
+ "@rollup/pluginutils": "^5.1.4",
17
+ "@web-widget/helpers": "1.53.0",
18
+ "@web-widget/vite-plugin": "1.53.0",
19
+ "@web-widget/web-widget": "1.53.0",
20
+ "@web-widget/schema": "1.53.0",
21
+ "@web-widget/react": "1.53.0"
21
22
  },
22
23
  "devDependencies": {
23
24
  "tsup": "^8.3.4",