@vc-shell/framework 1.1.4 → 1.1.5

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.
Files changed (132) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/core/directives/loading/styles.css +1 -1
  3. package/core/plugins/modularity/README.md +347 -17
  4. package/core/plugins/modularity/loader.ts +217 -3
  5. package/dist/core/plugins/modularity/loader.d.ts +4 -0
  6. package/dist/core/plugins/modularity/loader.d.ts.map +1 -1
  7. package/dist/framework.js +1 -1
  8. package/dist/{index-BdflTsg6.js → index-BBHl6nap.js} +1 -1
  9. package/dist/{index-DJOis7Nc.js → index-BG6N4UCY.js} +1 -1
  10. package/dist/{index-CIcET-ZI.js → index-Bv5as3SI.js} +1 -1
  11. package/dist/{index-wfv8ehcx.js → index-C4VyqVxv.js} +1 -1
  12. package/dist/{index-Cf2H7YZ1.js → index-CKLiFGZ-.js} +1 -1
  13. package/dist/{index-DuY7BIGm.js → index-CTmAMa_1.js} +1 -1
  14. package/dist/{index-D-fPN3yf.js → index-CtGZgIiV.js} +1 -1
  15. package/dist/{index-BpBTtmQ6.js → index-D13Jcezf.js} +1 -1
  16. package/dist/{index-DWTsz5bC.js → index-DbpKygJh.js} +1 -1
  17. package/dist/{index-Br0y2YMn.js → index-DgCtSr4P.js} +1 -1
  18. package/dist/{index-Ck055pN8.js → index-Dh1XjfgY.js} +1 -1
  19. package/dist/{index-CYAMpxnu.js → index-DpDbQQg6.js} +1 -1
  20. package/dist/{index-BDqUaIyQ.js → index-DwuQbDJG.js} +1 -1
  21. package/dist/{index-BBYKbiRX.js → index-Fhuqbkq2.js} +1 -1
  22. package/dist/{index-o6aSdNED.js → index-JTAZpxKF.js} +1 -1
  23. package/dist/{index-BDm0tcWn.js → index-MKD2CP5c.js} +49888 -48568
  24. package/dist/{index-DKtQMsy4.js → index-Q3k1PYzc.js} +1 -1
  25. package/dist/index.css +3 -3
  26. package/dist/shared/components/generic-dropdown/generic-dropdown.vue.d.ts.map +1 -1
  27. package/dist/shared/components/settings-menu-item/settings-menu-item.vue.d.ts.map +1 -1
  28. package/dist/tsconfig.tsbuildinfo +1 -1
  29. package/dist/ui/components/atoms/vc-icon/composables/index.d.ts +3 -0
  30. package/dist/ui/components/atoms/vc-icon/composables/index.d.ts.map +1 -0
  31. package/dist/ui/components/atoms/vc-icon/composables/use-icon-type.d.ts +22 -0
  32. package/dist/ui/components/atoms/vc-icon/composables/use-icon-type.d.ts.map +1 -0
  33. package/dist/ui/components/atoms/vc-icon/composables/use-icon.d.ts +30 -0
  34. package/dist/ui/components/atoms/vc-icon/composables/use-icon.d.ts.map +1 -0
  35. package/dist/ui/components/atoms/vc-icon/index.d.ts +1 -0
  36. package/dist/ui/components/atoms/vc-icon/index.d.ts.map +1 -1
  37. package/dist/ui/components/atoms/vc-icon/types.d.ts +31 -0
  38. package/dist/ui/components/atoms/vc-icon/types.d.ts.map +1 -0
  39. package/dist/ui/components/atoms/vc-icon/vc-bootstrap-icon.vue.d.ts +18 -4
  40. package/dist/ui/components/atoms/vc-icon/vc-bootstrap-icon.vue.d.ts.map +1 -1
  41. package/dist/ui/components/atoms/vc-icon/vc-fontawesome-icon.vue.d.ts +15 -2
  42. package/dist/ui/components/atoms/vc-icon/vc-fontawesome-icon.vue.d.ts.map +1 -1
  43. package/dist/ui/components/atoms/vc-icon/vc-icon-examples.vue.d.ts.map +1 -1
  44. package/dist/ui/components/atoms/vc-icon/vc-icon-test.vue.d.ts.map +1 -1
  45. package/dist/ui/components/atoms/vc-icon/vc-icon.vue.d.ts +11 -6
  46. package/dist/ui/components/atoms/vc-icon/vc-icon.vue.d.ts.map +1 -1
  47. package/dist/ui/components/atoms/vc-icon/vc-lucide-icon.vue.d.ts +21 -4
  48. package/dist/ui/components/atoms/vc-icon/vc-lucide-icon.vue.d.ts.map +1 -1
  49. package/dist/ui/components/atoms/vc-icon/vc-material-icon.vue.d.ts +30 -4
  50. package/dist/ui/components/atoms/vc-icon/vc-material-icon.vue.d.ts.map +1 -1
  51. package/dist/ui/components/atoms/vc-icon/vc-svg-icon.vue.d.ts +33 -0
  52. package/dist/ui/components/atoms/vc-icon/vc-svg-icon.vue.d.ts.map +1 -0
  53. package/dist/ui/components/molecules/vc-pagination/vc-pagination.vue.d.ts.map +1 -1
  54. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue.d.ts.map +1 -1
  55. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/_internal/vc-blade-toolbar-button/props.d.ts +14 -0
  56. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/_internal/vc-blade-toolbar-button/props.d.ts.map +1 -0
  57. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/_internal/vc-blade-toolbar-button/vc-blade-toolbar-base-button.vue.d.ts +2 -13
  58. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/_internal/vc-blade-toolbar-button/vc-blade-toolbar-base-button.vue.d.ts.map +1 -1
  59. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/_internal/vc-blade-toolbar-button/vc-blade-toolbar-circle-button.vue.d.ts +1 -1
  60. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/_internal/vc-blade-toolbar-button/vc-blade-toolbar-circle-button.vue.d.ts.map +1 -1
  61. package/dist/ui/components/organisms/vc-table/_internal/vc-table-cell/vc-table-cell.vue.d.ts +1 -1
  62. package/dist/ui/components/organisms/vc-table/_internal/vc-table-cell/vc-table-cell.vue.d.ts.map +1 -1
  63. package/dist/ui/components/organisms/vc-table/_internal/vc-table-column-switcher/vc-table-column-switcher.vue.d.ts +1 -1
  64. package/dist/ui/components/organisms/vc-table/_internal/vc-table-column-switcher/vc-table-column-switcher.vue.d.ts.map +1 -1
  65. package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-body/vc-table-body.vue.d.ts +1 -1
  66. package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-body/vc-table-body.vue.d.ts.map +1 -1
  67. package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-columns-header/vc-table-columns-header.vue.d.ts +1 -1
  68. package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-columns-header/vc-table-columns-header.vue.d.ts.map +1 -1
  69. package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-row/vc-table-row.vue.d.ts +1 -1
  70. package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-row/vc-table-row.vue.d.ts.map +1 -1
  71. package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/vc-table-desktop-view.vue.d.ts +1 -1
  72. package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/vc-table-desktop-view.vue.d.ts.map +1 -1
  73. package/dist/ui/components/organisms/vc-table/_internal/vc-table-mobile-view/vc-table-mobile-view.vue.d.ts +1 -1
  74. package/dist/ui/components/organisms/vc-table/_internal/vc-table-mobile-view/vc-table-mobile-view.vue.d.ts.map +1 -1
  75. package/dist/ui/components/organisms/vc-table/composables/useTableActions.d.ts +1 -1
  76. package/dist/ui/components/organisms/vc-table/composables/useTableActions.d.ts.map +1 -1
  77. package/dist/ui/components/organisms/vc-table/composables/useTableColumnReorder.d.ts +1 -1
  78. package/dist/ui/components/organisms/vc-table/composables/useTableColumnReorder.d.ts.map +1 -1
  79. package/dist/ui/components/organisms/vc-table/composables/useTableColumnResize.d.ts +1 -1
  80. package/dist/ui/components/organisms/vc-table/composables/useTableColumnResize.d.ts.map +1 -1
  81. package/dist/ui/components/organisms/vc-table/composables/useTableRowReorder.d.ts +1 -1
  82. package/dist/ui/components/organisms/vc-table/composables/useTableRowReorder.d.ts.map +1 -1
  83. package/dist/ui/components/organisms/vc-table/composables/useTableSelection.d.ts +1 -1
  84. package/dist/ui/components/organisms/vc-table/composables/useTableSelection.d.ts.map +1 -1
  85. package/dist/ui/components/organisms/vc-table/composables/useTableState.d.ts +1 -1
  86. package/dist/ui/components/organisms/vc-table/composables/useTableState.d.ts.map +1 -1
  87. package/dist/ui/components/organisms/vc-table/types.d.ts +36 -0
  88. package/dist/ui/components/organisms/vc-table/types.d.ts.map +1 -0
  89. package/dist/ui/components/organisms/vc-table/vc-table.vue.d.ts +2 -34
  90. package/dist/ui/components/organisms/vc-table/vc-table.vue.d.ts.map +1 -1
  91. package/package.json +4 -4
  92. package/shared/components/generic-dropdown/generic-dropdown.vue +1 -1
  93. package/shared/components/settings-menu-item/settings-menu-item.vue +1 -6
  94. package/shared/components/user-dropdown-button/_internal/user-info.vue +3 -3
  95. package/ui/components/atoms/vc-icon/README.md +198 -220
  96. package/ui/components/atoms/vc-icon/composables/index.ts +2 -0
  97. package/ui/components/atoms/vc-icon/composables/use-icon-type.ts +83 -0
  98. package/ui/components/atoms/vc-icon/composables/use-icon.ts +129 -0
  99. package/ui/components/atoms/vc-icon/index.ts +1 -0
  100. package/ui/components/atoms/vc-icon/types.ts +36 -0
  101. package/ui/components/atoms/vc-icon/vc-bootstrap-icon.vue +111 -10
  102. package/ui/components/atoms/vc-icon/vc-fontawesome-icon.vue +119 -17
  103. package/ui/components/atoms/vc-icon/vc-icon-examples.vue +485 -124
  104. package/ui/components/atoms/vc-icon/vc-icon-test.vue +399 -209
  105. package/ui/components/atoms/vc-icon/vc-icon.stories.ts +502 -56
  106. package/ui/components/atoms/vc-icon/vc-icon.vue +240 -155
  107. package/ui/components/atoms/vc-icon/vc-lucide-icon.vue +163 -33
  108. package/ui/components/atoms/vc-icon/vc-material-icon.vue +136 -30
  109. package/ui/components/atoms/vc-icon/vc-svg-icon.vue +168 -0
  110. package/ui/components/atoms/vc-widget/vc-widget.stories.ts +13 -0
  111. package/ui/components/molecules/vc-multivalue/vc-multivalue.vue +1 -1
  112. package/ui/components/molecules/vc-pagination/vc-pagination.vue +23 -14
  113. package/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/AppBarHeader.vue +2 -2
  114. package/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue +2 -3
  115. package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/_internal/vc-blade-toolbar-button/props.ts +14 -0
  116. package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/_internal/vc-blade-toolbar-button/vc-blade-toolbar-base-button.vue +1 -12
  117. package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/_internal/vc-blade-toolbar-button/vc-blade-toolbar-circle-button.vue +1 -1
  118. package/ui/components/organisms/vc-table/_internal/vc-table-cell/vc-table-cell.vue +1 -1
  119. package/ui/components/organisms/vc-table/_internal/vc-table-column-switcher/vc-table-column-switcher.vue +1 -1
  120. package/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-body/vc-table-body.vue +1 -1
  121. package/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-columns-header/vc-table-columns-header.vue +1 -1
  122. package/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-row/vc-table-row.vue +1 -1
  123. package/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/vc-table-desktop-view.vue +1 -1
  124. package/ui/components/organisms/vc-table/_internal/vc-table-mobile-view/vc-table-mobile-view.vue +1 -1
  125. package/ui/components/organisms/vc-table/composables/useTableActions.ts +1 -1
  126. package/ui/components/organisms/vc-table/composables/useTableColumnReorder.ts +1 -1
  127. package/ui/components/organisms/vc-table/composables/useTableColumnResize.ts +1 -1
  128. package/ui/components/organisms/vc-table/composables/useTableRowReorder.ts +1 -1
  129. package/ui/components/organisms/vc-table/composables/useTableSelection.ts +1 -1
  130. package/ui/components/organisms/vc-table/composables/useTableState.ts +1 -1
  131. package/ui/components/organisms/vc-table/types.ts +32 -0
  132. package/ui/components/organisms/vc-table/vc-table.vue +2 -30
@@ -2,6 +2,7 @@ import { App, Plugin } from "vue";
2
2
  import { Router } from "vue-router";
3
3
  import { ExtensionRegistry, createExtensionsHelper, registerModuleExtensions } from "./extensions-helper";
4
4
  import { DynamicModulesKey } from "../../../injection-keys";
5
+ import * as semver from "semver";
5
6
 
6
7
  interface ModuleManifest {
7
8
  file: string;
@@ -15,13 +16,34 @@ interface CssManifest {
15
16
  src: string;
16
17
  }
17
18
 
19
+ interface VersionManifest {
20
+ file: string;
21
+ src: string;
22
+ isVersionInfo: boolean;
23
+ }
24
+
18
25
  interface Manifest {
19
- [key: string]: ModuleManifest | CssManifest;
26
+ [key: string]: ModuleManifest | CssManifest | VersionManifest;
27
+ }
28
+
29
+ interface VersionInfo {
30
+ version: string;
31
+ compatibleWith: {
32
+ framework: string;
33
+ modules?: Record<string, string>;
34
+ };
35
+ appCompatibility?: {
36
+ [appName: string]: string;
37
+ };
20
38
  }
21
39
 
22
40
  interface Apps {
23
41
  [x: string]: {
24
- modules: { id: string; url: string }[];
42
+ modules: {
43
+ id: string;
44
+ url: string;
45
+ version?: string;
46
+ }[];
25
47
  };
26
48
  }
27
49
 
@@ -29,16 +51,52 @@ interface ModuleWithDefaultExport {
29
51
  default: {
30
52
  install: Plugin;
31
53
  extensions?: ExtensionRegistry;
54
+ version?: VersionInfo;
32
55
  };
33
56
  }
34
57
 
35
58
  interface ModuleWithNamedExport {
36
59
  install: Plugin;
37
60
  extensions?: ExtensionRegistry;
61
+ version?: VersionInfo;
38
62
  }
39
63
 
40
64
  type ModuleExports = ModuleWithDefaultExport | ModuleWithNamedExport;
41
65
 
66
+ class VersionCompatibilityError extends Error {
67
+ moduleId: string;
68
+ details: {
69
+ required: string;
70
+ current: string;
71
+ type: "framework" | "module" | "app";
72
+ dependencyName?: string;
73
+ };
74
+
75
+ constructor(
76
+ moduleId: string,
77
+ details: {
78
+ required: string;
79
+ current: string;
80
+ type: "framework" | "module" | "app";
81
+ dependencyName?: string;
82
+ },
83
+ ) {
84
+ let message;
85
+ if (details.type === "framework") {
86
+ message = `Module ${moduleId} requires framework version ${details.required}, but current is ${details.current}`;
87
+ } else if (details.type === "module") {
88
+ message = `Module ${moduleId} requires ${details.dependencyName} version ${details.required}, but current is ${details.current}`;
89
+ } else {
90
+ message = `Module ${moduleId} is not compatible with ${details.current}. Required apps: ${details.required}`;
91
+ }
92
+
93
+ super(message);
94
+ this.moduleId = moduleId;
95
+ this.details = details;
96
+ this.name = "VersionCompatibilityError";
97
+ }
98
+ }
99
+
42
100
  function loadCSS(url: string): Promise<void> {
43
101
  return new Promise((resolve, reject) => {
44
102
  const link = document.createElement("link");
@@ -50,17 +108,107 @@ function loadCSS(url: string): Promise<void> {
50
108
  });
51
109
  }
52
110
 
111
+ async function loadVersionInfo(url: string): Promise<VersionInfo | null> {
112
+ try {
113
+ const response = await fetch(url);
114
+ if (!response.ok) {
115
+ console.warn(`Failed to load version info: ${response.statusText}`);
116
+ return null;
117
+ }
118
+ return (await response.json()) as VersionInfo;
119
+ } catch (error) {
120
+ console.warn(`Error loading version info: ${error}`);
121
+ return null;
122
+ }
123
+ }
124
+
53
125
  interface ModuleConfig {
54
126
  baseUrl: string;
55
127
  manifestFileName: string;
56
128
  entryPointKey: string;
129
+ frameworkVersion: string;
130
+ skipVersionCheck?: boolean;
131
+ appVersion?: string;
57
132
  }
58
133
 
59
134
  const DEFAULT_CONFIG: Partial<ModuleConfig> = {
60
135
  manifestFileName: "manifest.json",
61
136
  entryPointKey: "isEntry",
137
+ skipVersionCheck: false,
62
138
  };
63
139
 
140
+ function checkAppCompatibility(moduleId: string, versionInfo: VersionInfo, appName: string, appVersion?: string): void {
141
+ if (!versionInfo.appCompatibility) return;
142
+
143
+ if (versionInfo.appCompatibility["*"]) return;
144
+
145
+ const appPattern = versionInfo.appCompatibility[appName];
146
+
147
+ if (!appPattern) {
148
+ const compatibleApps = Object.keys(versionInfo.appCompatibility).join(", ");
149
+ throw new VersionCompatibilityError(moduleId, {
150
+ required: compatibleApps || "none",
151
+ current: appName,
152
+ type: "app",
153
+ });
154
+ }
155
+
156
+ if (appPattern !== "*" && appVersion) {
157
+ if (!semver.satisfies(appVersion, appPattern)) {
158
+ throw new VersionCompatibilityError(moduleId, {
159
+ required: appPattern,
160
+ current: appVersion,
161
+ type: "app",
162
+ dependencyName: appName,
163
+ });
164
+ }
165
+ }
166
+ }
167
+
168
+ function checkVersionCompatibility(
169
+ moduleId: string,
170
+ moduleVersion: VersionInfo | undefined,
171
+ frameworkVersion: string,
172
+ loadedModulesWithVersions: Map<string, string>,
173
+ appName: string,
174
+ appVersion?: string,
175
+ ): void {
176
+ if (!moduleVersion) return;
177
+
178
+ if (
179
+ moduleVersion.compatibleWith.framework &&
180
+ !semver.satisfies(frameworkVersion, moduleVersion.compatibleWith.framework)
181
+ ) {
182
+ throw new VersionCompatibilityError(moduleId, {
183
+ required: moduleVersion.compatibleWith.framework,
184
+ current: frameworkVersion,
185
+ type: "framework",
186
+ });
187
+ }
188
+
189
+ checkAppCompatibility(moduleId, moduleVersion, appName, appVersion);
190
+
191
+ if (moduleVersion.compatibleWith.modules) {
192
+ for (const [depModuleId, versionRange] of Object.entries(moduleVersion.compatibleWith.modules)) {
193
+ const loadedDepVersion = loadedModulesWithVersions.get(depModuleId);
194
+
195
+ if (!loadedDepVersion) {
196
+ console.warn(`Module ${moduleId} depends on ${depModuleId}, but it is not loaded yet.`);
197
+ continue;
198
+ }
199
+
200
+ if (!semver.satisfies(loadedDepVersion, versionRange)) {
201
+ throw new VersionCompatibilityError(moduleId, {
202
+ required: versionRange,
203
+ current: loadedDepVersion,
204
+ type: "module",
205
+ dependencyName: depModuleId,
206
+ });
207
+ }
208
+ }
209
+ }
210
+ }
211
+
64
212
  export function useDynamicModules(
65
213
  app: App,
66
214
  { router, appName }: { router: Router; appName: string },
@@ -68,6 +216,7 @@ export function useDynamicModules(
68
216
  ) {
69
217
  const finalConfig = { ...DEFAULT_CONFIG, ...config };
70
218
  const loadedModules = new Set<string>();
219
+ const loadedModulesWithVersions = new Map<string, string>();
71
220
  const extensionsHelper = createExtensionsHelper(app);
72
221
 
73
222
  async function load() {
@@ -97,6 +246,7 @@ export function useDynamicModules(
97
246
  return {
98
247
  moduleId: module.id,
99
248
  moduleUrl,
249
+ moduleVersion: module.version,
100
250
  manifest: (await response.json()) as Manifest,
101
251
  };
102
252
  } catch (error) {
@@ -110,13 +260,25 @@ export function useDynamicModules(
110
260
  (result): result is NonNullable<typeof result> => result !== null,
111
261
  );
112
262
 
113
- for (const { moduleId, moduleUrl, manifest } of validManifests) {
263
+ for (const { moduleId, moduleUrl, manifest, moduleVersion } of validManifests) {
114
264
  try {
115
265
  const entry = Object.values(manifest).find((file) => (file as ModuleManifest).isEntry);
116
266
  if (!entry) {
117
267
  throw new Error(`Entry file not found for module ${moduleId}`);
118
268
  }
119
269
 
270
+ const versionFile = Object.values(manifest).find((file) => (file as VersionManifest).isVersionInfo) as
271
+ | VersionManifest
272
+ | undefined;
273
+
274
+ let versionInfoFromFile: VersionInfo | null = null;
275
+ if (versionFile) {
276
+ versionInfoFromFile = await loadVersionInfo(moduleUrl + versionFile.file);
277
+ if (versionInfoFromFile) {
278
+ console.info(`Loaded version info for module ${moduleId}: v${versionInfoFromFile.version}`);
279
+ }
280
+ }
281
+
120
282
  const cssFiles = Object.values(manifest)
121
283
  .filter((file) => file.file.endsWith(".css"))
122
284
  .map((file) => loadCSS(moduleUrl + file.file));
@@ -134,6 +296,47 @@ export function useDynamicModules(
134
296
  const moduleToInstall = "default" in moduleExports ? moduleExports.default : moduleExports;
135
297
 
136
298
  if ("install" in moduleToInstall) {
299
+ if (!finalConfig.skipVersionCheck) {
300
+ const versionInfo =
301
+ moduleToInstall.version ||
302
+ versionInfoFromFile ||
303
+ (moduleVersion
304
+ ? {
305
+ version: moduleVersion,
306
+ compatibleWith: { framework: "*" },
307
+ }
308
+ : undefined);
309
+
310
+ if (versionInfo) {
311
+ try {
312
+ checkVersionCompatibility(
313
+ moduleId,
314
+ versionInfo,
315
+ finalConfig.frameworkVersion || "0.0.0",
316
+ loadedModulesWithVersions,
317
+ appName,
318
+ finalConfig.appVersion,
319
+ );
320
+
321
+ loadedModulesWithVersions.set(moduleId, versionInfo.version);
322
+ } catch (versionError) {
323
+ if (versionError instanceof VersionCompatibilityError) {
324
+ console.error(`Version compatibility error: ${versionError.message}`);
325
+ if (versionError.details.type === "app") {
326
+ console.error(
327
+ `Module ${moduleId} is not compatible with application ${appName}${
328
+ finalConfig.appVersion ? ` v${finalConfig.appVersion}` : ""
329
+ }. This module supports only: ${versionError.details.required || "none"}`,
330
+ );
331
+ }
332
+ return;
333
+ } else {
334
+ throw versionError;
335
+ }
336
+ }
337
+ }
338
+ }
339
+
137
340
  app.use(moduleToInstall.install as Plugin, { router });
138
341
 
139
342
  if (moduleToInstall.extensions) {
@@ -141,6 +344,16 @@ export function useDynamicModules(
141
344
  }
142
345
 
143
346
  loadedModules.add(moduleId);
347
+
348
+ if (moduleToInstall.version) {
349
+ console.info(`Module ${moduleId} v${moduleToInstall.version.version} loaded successfully`);
350
+ } else if (versionInfoFromFile) {
351
+ console.info(`Module ${moduleId} v${versionInfoFromFile.version} loaded successfully`);
352
+ } else if (moduleVersion) {
353
+ console.info(`Module ${moduleId} v${moduleVersion} loaded successfully`);
354
+ } else {
355
+ console.info(`Module ${moduleId} loaded successfully (no version info)`);
356
+ }
144
357
  } else {
145
358
  console.error(`Module ${moduleId} does not have an 'install' function`);
146
359
  }
@@ -168,5 +381,6 @@ export function useDynamicModules(
168
381
  return {
169
382
  load,
170
383
  extensionsHelper,
384
+ getLoadedModulesWithVersions: () => new Map(loadedModulesWithVersions),
171
385
  };
172
386
  }
@@ -4,6 +4,9 @@ interface ModuleConfig {
4
4
  baseUrl: string;
5
5
  manifestFileName: string;
6
6
  entryPointKey: string;
7
+ frameworkVersion: string;
8
+ skipVersionCheck?: boolean;
9
+ appVersion?: string;
7
10
  }
8
11
  export declare function useDynamicModules(app: App, { router, appName }: {
9
12
  router: Router;
@@ -11,6 +14,7 @@ export declare function useDynamicModules(app: App, { router, appName }: {
11
14
  }, config?: Partial<ModuleConfig>): {
12
15
  load: () => Promise<void>;
13
16
  extensionsHelper: import("./extensions-helper").ExtensionsHelper;
17
+ getLoadedModulesWithVersions: () => Map<string, string>;
14
18
  };
15
19
  export {};
16
20
  //# sourceMappingURL=loader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../../core/plugins/modularity/loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAU,MAAM,KAAK,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAmDpC,UAAU,YAAY;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;CACvB;AAOD,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,GAAG,EACR,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EACxD,MAAM,GAAE,OAAO,CAAC,YAAY,CAAM;;;EAyGnC"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../../core/plugins/modularity/loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAU,MAAM,KAAK,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AA2HpC,UAAU,YAAY;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAgFD,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,GAAG,EACR,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EACxD,MAAM,GAAE,OAAO,CAAC,YAAY,CAAM;;;;EA2KnC"}
package/dist/framework.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import "vue-router";
2
- import { dc as o, H as n, F as c, bU as r, U as d, bV as l, bW as u, bI as p, X as b, Y as g, dl as y, dn as S, dm as m, bG as V, bJ as I, z as h, Z as C, B as D, d3 as P, bK as A, bX as R, bY as L, dM as M, d$ as f, bZ as B, b_ as v, b$ as T, c0 as E, $ as w, a0 as O, a1 as N, a2 as U, a3 as K, c1 as W, c2 as x, c3 as F, a4 as k, D as q, dX as z, bL as j, c4 as H, a5 as J, a6 as _, dW as G, du as Q, dt as X, A as Y, c5 as Z, d4 as $, bM as aa, c6 as sa, c7 as ea, c8 as ta, c9 as ia, ca as oa, cb as na, cc as ca, d6 as ra, cd as da, ce as la, cf as ua, d5 as pa, cg as ba, dG as ga, dT as ya, bH as Sa, ch as ma, di as Va, a7 as Ia, dV as ha, G as Ca, a8 as Da, ci as Pa, cj as Aa, dY as Ra, ck as La, bN as Ma, cl as fa, d7 as Ba, cm as va, cn as Ta, dN as Ea, co as wa, cp as Oa, cq as Na, cr as Ua, bO as Ka, cs as Wa, dZ as xa, ct as Fa, cu as ka, a9 as qa, aa as za, M as ja, ab as Ha, cv as Ja, cw as _a, cx as Ga, cy as Qa, bP as Xa, dC as Ya, dP as Za, dQ as $a, y as as, cz as ss, cA as es, bQ as ts, cB as is, d8 as os, ac as ns, cC as cs, cD as rs, cE as ds, d9 as ls, ad as us, ae as ps, cF as bs, cG as gs, af as ys, ag as Ss, ah as ms, cH as Vs, cI as Is, da as hs, cJ as Cs, bR as Ds, cK as Ps, cL as As, d_ as Rs, cM as Ls, cN as Ms, cO as fs, cP as Bs, ai as vs, bS as Ts, cQ as Es, cR as ws, bT as Os, cS as Ns, aj as Us, dU as Ks, S as Ws, dk as xs, ak as Fs, dR as ks, cT as qs, cU as zs, cV as js, db as Hs, cW as Js, cX as _s, T as Gs, dS as Qs, cY as Xs, cZ as Ys, dO as Zs, c_ as $s, c$ as ae, d0 as se, d1 as ee, aO as te, dv as ie, J as oe, aP as ne, dA as ce, dz as re, ay as de, K as le, V as ue, aN as pe, O as be, P as ge, aQ as ye, az as Se, aL as me, aB as Ve, aA as Ie, aR as he, Q as Ce, R as De, am as Pe, aC as Ae, aD as Re, an as Le, ao as Me, ap as fe, aS as Be, aK as ve, aF as Te, aT as Ee, dJ as we, dI as Oe, aq as Ne, aM as Ue, aG as Ke, ar as We, aH as xe, _ as Fe, aI as ke, as as qe, at as ze, au as je, aU as He, aJ as Je, aE as _e, ax as Ge, av as Qe, aw as Xe, d2 as Ye, al as Ze, W as $e, bj as at, b5 as st, bm as et, bv as tt, bo as it, bu as ot, bw as nt, dy as ct, dd as rt, dg as dt, dw as lt, by as ut, dp as pt, bB as bt, bx as gt, w as yt, bA as St, bt as mt, dh as Vt, dL as It, br as ht, de as Ct, df as Dt, dj as Pt, bp as At, bs as Rt, bq as Lt, x as Mt, dF as ft, bF as Bt, dH as vt, bh as Tt, be as Et, b3 as wt, bk as Ot, bb as Nt, bg as Ut, bC as Kt, bd as Wt, bE as xt, bD as Ft, a$ as kt, bi as qt, b9 as zt, dx as jt, b2 as Ht, a_ as Jt, b6 as _t, dB as Gt, b8 as Qt, dD as Xt, bf as Yt, dr as Zt, bz as $t, dq as ai, b1 as si, aV as ei, dE as ti, b7 as ii, ds as oi, b0 as ni, b4 as ci, aX as ri, aZ as di, dK as li, aY as ui, bl as pi, ba as bi, bn as gi, aW as yi, bc as Si } from "./index-BDm0tcWn.js";
2
+ import { dc as o, H as n, F as c, bU as r, U as d, bV as l, bW as u, bI as p, X as b, Y as g, dl as y, dn as S, dm as m, bG as V, bJ as I, z as h, Z as C, B as D, d3 as P, bK as A, bX as R, bY as L, dM as M, d$ as f, bZ as B, b_ as v, b$ as T, c0 as E, $ as w, a0 as O, a1 as N, a2 as U, a3 as K, c1 as W, c2 as x, c3 as F, a4 as k, D as q, dX as z, bL as j, c4 as H, a5 as J, a6 as _, dW as G, du as Q, dt as X, A as Y, c5 as Z, d4 as $, bM as aa, c6 as sa, c7 as ea, c8 as ta, c9 as ia, ca as oa, cb as na, cc as ca, d6 as ra, cd as da, ce as la, cf as ua, d5 as pa, cg as ba, dG as ga, dT as ya, bH as Sa, ch as ma, di as Va, a7 as Ia, dV as ha, G as Ca, a8 as Da, ci as Pa, cj as Aa, dY as Ra, ck as La, bN as Ma, cl as fa, d7 as Ba, cm as va, cn as Ta, dN as Ea, co as wa, cp as Oa, cq as Na, cr as Ua, bO as Ka, cs as Wa, dZ as xa, ct as Fa, cu as ka, a9 as qa, aa as za, M as ja, ab as Ha, cv as Ja, cw as _a, cx as Ga, cy as Qa, bP as Xa, dC as Ya, dP as Za, dQ as $a, y as as, cz as ss, cA as es, bQ as ts, cB as is, d8 as os, ac as ns, cC as cs, cD as rs, cE as ds, d9 as ls, ad as us, ae as ps, cF as bs, cG as gs, af as ys, ag as Ss, ah as ms, cH as Vs, cI as Is, da as hs, cJ as Cs, bR as Ds, cK as Ps, cL as As, d_ as Rs, cM as Ls, cN as Ms, cO as fs, cP as Bs, ai as vs, bS as Ts, cQ as Es, cR as ws, bT as Os, cS as Ns, aj as Us, dU as Ks, S as Ws, dk as xs, ak as Fs, dR as ks, cT as qs, cU as zs, cV as js, db as Hs, cW as Js, cX as _s, T as Gs, dS as Qs, cY as Xs, cZ as Ys, dO as Zs, c_ as $s, c$ as ae, d0 as se, d1 as ee, aO as te, dv as ie, J as oe, aP as ne, dA as ce, dz as re, ay as de, K as le, V as ue, aN as pe, O as be, P as ge, aQ as ye, az as Se, aL as me, aB as Ve, aA as Ie, aR as he, Q as Ce, R as De, am as Pe, aC as Ae, aD as Re, an as Le, ao as Me, ap as fe, aS as Be, aK as ve, aF as Te, aT as Ee, dJ as we, dI as Oe, aq as Ne, aM as Ue, aG as Ke, ar as We, aH as xe, _ as Fe, aI as ke, as as qe, at as ze, au as je, aU as He, aJ as Je, aE as _e, ax as Ge, av as Qe, aw as Xe, d2 as Ye, al as Ze, W as $e, bj as at, b5 as st, bm as et, bv as tt, bo as it, bu as ot, bw as nt, dy as ct, dd as rt, dg as dt, dw as lt, by as ut, dp as pt, bB as bt, bx as gt, w as yt, bA as St, bt as mt, dh as Vt, dL as It, br as ht, de as Ct, df as Dt, dj as Pt, bp as At, bs as Rt, bq as Lt, x as Mt, dF as ft, bF as Bt, dH as vt, bh as Tt, be as Et, b3 as wt, bk as Ot, bb as Nt, bg as Ut, bC as Kt, bd as Wt, bE as xt, bD as Ft, a$ as kt, bi as qt, b9 as zt, dx as jt, b2 as Ht, a_ as Jt, b6 as _t, dB as Gt, b8 as Qt, dD as Xt, bf as Yt, dr as Zt, bz as $t, dq as ai, b1 as si, aV as ei, dE as ti, b7 as ii, ds as oi, b0 as ni, b4 as ci, aX as ri, aZ as di, dK as li, aY as ui, bl as pi, ba as bi, bn as gi, aW as yi, bc as Si } from "./index-MKD2CP5c.js";
3
3
  import "vue";
4
4
  import "vee-validate";
5
5
  export {
@@ -1,4 +1,4 @@
1
- import { a as G, E as A, s as N, C as I, t as p, o as Y, L as j, g as k, p as U, b as Z, i as B, f as D, u as M } from "./index-BDm0tcWn.js";
1
+ import { a as G, E as A, s as N, C as I, t as p, o as Y, L as j, g as k, p as U, b as Z, i as B, f as D, u as M } from "./index-MKD2CP5c.js";
2
2
  const h = 1, F = 2, L = 3, K = 4, H = 5, J = 36, ee = 37, te = 38, Oe = 11, oe = 13;
3
3
  function re(e) {
4
4
  return e == 45 || e == 46 || e == 58 || e >= 65 && e <= 90 || e == 95 || e >= 97 && e <= 122 || e >= 161;
@@ -1,4 +1,4 @@
1
- import { a as o, E as S, s as t, t as $, L as l, q as x, b as R, r as V, i as r, f as U, c as W, h as v, k as u } from "./index-BDm0tcWn.js";
1
+ import { a as o, E as S, s as t, t as $, L as l, q as x, b as R, r as V, i as r, f as U, c as W, h as v, k as u } from "./index-MKD2CP5c.js";
2
2
  const b = 1, m = 2, p = 263, k = 3, c = 264, s = 265, Y = 266, Z = 4, w = 5, _ = 6, h = 7, X = 8, j = 9, f = 10, G = 11, g = 12, E = 13, I = 14, N = 15, F = 16, C = 17, L = 18, A = 19, H = 20, K = 21, D = 22, B = 23, M = 24, J = 25, OO = 26, $O = 27, QO = 28, iO = 29, yO = 30, aO = 31, zO = 32, SO = 33, PO = 34, WO = 35, eO = 36, TO = 37, sO = 38, XO = 39, dO = 40, nO = 41, qO = 42, oO = 43, tO = 44, lO = 45, xO = 46, RO = 47, VO = 48, rO = 49, UO = 50, vO = 51, uO = 52, bO = 53, mO = 54, pO = 55, kO = 56, cO = 57, YO = 58, ZO = 59, wO = 60, _O = 61, e = 62, hO = 63, jO = 64, fO = 65, GO = {
3
3
  abstract: Z,
4
4
  and: w,
@@ -1,4 +1,4 @@
1
- import { L as p, b as u, q as l, r as n, a as b, v as m, s as S, t, l as r } from "./index-BDm0tcWn.js";
1
+ import { L as p, b as u, q as l, r as n, a as b, v as m, s as S, t, l as r } from "./index-MKD2CP5c.js";
2
2
  const c = /* @__PURE__ */ b.deserialize({
3
3
  version: 14,
4
4
  states: "%pOVOWOOObQPOOOpOSO'#C_OOOO'#Cp'#CpQVOWOOQxQPOOO!TQQOOQ!YQPOOOOOO,58y,58yO!_OSO,58yOOOO-E6n-E6nO!dQQO'#CqQ{QPOOO!iQPOOQ{QPOOO!qQPOOOOOO1G.e1G.eOOQO,59],59]OOQO-E6o-E6oO!yOpO'#CiO#RO`O'#CiQOQPOOO#ZO#tO'#CmO#fO!bO'#CmOOQO,59T,59TO#qOpO,59TO#vO`O,59TOOOO'#Cr'#CrO#{O#tO,59XOOQO,59X,59XOOOO'#Cs'#CsO$WO!bO,59XOOQO1G.o1G.oOOOO-E6p-E6pOOQO1G.s1G.sOOOO-E6q-E6q",
@@ -1,4 +1,4 @@
1
- import { o as h, p as b, q as v, b as y, L as k, r as u, g as T, a as _, s as W, i as R, f as Y, t, h as w, E as P } from "./index-BDm0tcWn.js";
1
+ import { o as h, p as b, q as v, b as y, L as k, r as u, g as T, a as _, s as W, i as R, f as Y, t, h as w, E as P } from "./index-MKD2CP5c.js";
2
2
  const U = 1, X = 2, j = 3, G = 180, S = 4, z = 181, x = 5, Z = 182, E = 6;
3
3
  function V(O) {
4
4
  return O >= 65 && O <= 90 || O >= 97 && O <= 122;
@@ -1,4 +1,4 @@
1
- import { L as g, b as q, q as P, r as l, a as c, v as i, s as R, t as r, E as p } from "./index-BDm0tcWn.js";
1
+ import { L as g, b as q, q as P, r as l, a as c, v as i, s as R, t as r, E as p } from "./index-MKD2CP5c.js";
2
2
  const b = 1, $ = 33, m = 34, v = 35, x = 36, W = /* @__PURE__ */ new p((O) => {
3
3
  let e = O.pos;
4
4
  for (; ; ) {
@@ -1,4 +1,4 @@
1
- import { a as G, E as i, s as u, C as w, t as $, n as v, L as V, b, f as g, i as U, k as q, c as E } from "./index-BDm0tcWn.js";
1
+ import { a as G, E as i, s as u, C as w, t as $, n as v, L as V, b, f as g, i as U, k as q, c as E } from "./index-MKD2CP5c.js";
2
2
  const z = 154, X = 155, C = 156, N = 1, D = 2, f = 3, I = 157, F = 158, Z = 4, K = 5, L = 159, p = 160, W = 161, s = 162, T = 6, h = 7, A = 8, B = 9, c = 0, R = [
3
3
  9,
4
4
  10,
@@ -1,4 +1,4 @@
1
- import { a as s, s as n, t as r, L as o, b as P, i as Q, f as i, c as a, k as c } from "./index-BDm0tcWn.js";
1
+ import { a as s, s as n, t as r, L as o, b as P, i as Q, f as i, c as a, k as c } from "./index-MKD2CP5c.js";
2
2
  const g = n({
3
3
  String: r.string,
4
4
  Number: r.number,
@@ -1,4 +1,4 @@
1
- import { a as s, E as R, l as Y, s as x, C as w, t as O, L as d, m as X, b as k, d as h, e as f, i as u, f as y, c as l, h as g, j, k as U, g as G, N as b, I as Z } from "./index-BDm0tcWn.js";
1
+ import { a as s, E as R, l as Y, s as x, C as w, t as O, L as d, m as X, b as k, d as h, e as f, i as u, f as y, c as l, h as g, j, k as U, g as G, N as b, I as Z } from "./index-MKD2CP5c.js";
2
2
  const _ = 177, q = 179, E = 184, v = 12, C = 13, D = 17, z = 20, F = 25, B = 53, N = 95, I = 142, L = 144, A = 145, J = 148, M = 10, H = 13, K = 32, OO = 9, $ = 47, QO = 41, eO = 125, aO = new R((Q, e) => {
3
3
  for (let n = 0, a = Q.next; (e.context && (a < 0 || a == M || a == H || a == $ && Q.peek(n + 1) == $) || a == QO || a == eO) && Q.acceptToken(_), !(a != K && a != OO); )
4
4
  a = Q.peek(++n);
@@ -1,4 +1,4 @@
1
- import { a as D, E as h, s as L, C as H, t as n, d as B, L as K, e as M, m as d, g as OO, b as eO, i as iO, f as aO, h as f, k as nO, N as rO, I as QO } from "./index-BDm0tcWn.js";
1
+ import { a as D, E as h, s as L, C as H, t as n, d as B, L as K, e as M, m as d, g as OO, b as eO, i as iO, f as aO, h as f, k as nO, N as rO, I as QO } from "./index-MKD2CP5c.js";
2
2
  const tO = 1, Z = 194, j = 195, oO = 196, x = 197, dO = 198, sO = 199, lO = 200, TO = 2, E = 3, u = 201, SO = 24, pO = 25, qO = 49, gO = 50, PO = 55, mO = 56, $O = 57, hO = 59, cO = 60, fO = 61, XO = 62, yO = 63, zO = 65, WO = 238, vO = 71, RO = 241, kO = 242, _O = 243, xO = 244, uO = 245, UO = 246, bO = 247, VO = 248, Y = 72, GO = 249, wO = 250, ZO = 251, jO = 252, EO = 253, YO = 254, FO = 255, CO = 256, JO = 73, AO = 77, NO = 263, IO = 112, DO = 130, LO = 151, HO = 152, BO = 155, p = 10, q = 13, k = 32, c = 9, _ = 35, KO = 40, MO = 46, R = 123, U = 125, F = 39, C = 34, b = 92, Oe = 111, ee = 120, ie = 78, ae = 117, ne = 85, re = /* @__PURE__ */ new Set([
3
3
  pO,
4
4
  qO,
@@ -1,4 +1,4 @@
1
- import { L as O, b, a as r, i as s, f as a, s as t, h as P, k as n, t as e } from "./index-BDm0tcWn.js";
1
+ import { L as O, b, a as r, i as s, f as a, s as t, h as P, k as n, t as e } from "./index-MKD2CP5c.js";
2
2
  const S = { __proto__: null, anyref: 34, dataref: 34, eqref: 34, externref: 34, i31ref: 34, funcref: 34, i8: 34, i16: 34, i32: 34, i64: 34, f32: 34, f64: 34 }, Q = /* @__PURE__ */ r.deserialize({
3
3
  version: 14,
4
4
  states: "!^Q]QPOOOqQPO'#CbOOQO'#Cd'#CdOOQO'#Cl'#ClOOQO'#Ch'#ChQ]QPOOOOQO,58|,58|OxQPO,58|OOQO-E6f-E6fOOQO1G.h1G.h",
@@ -1,4 +1,4 @@
1
- import { n as r, L as i, b as n, a as $, i as y, f as P, c as X, k as m, E as S, s as c, t as O } from "./index-BDm0tcWn.js";
1
+ import { n as r, L as i, b as n, a as $, i as y, f as P, c as X, k as m, E as S, s as c, t as O } from "./index-MKD2CP5c.js";
2
2
  const s = 110, l = 1, f = 2, t = [
3
3
  9,
4
4
  10,
@@ -1,4 +1,4 @@
1
- import { a as W, E as i, s as U, C as B, t as n, L as C, b, r as E, i as u, f as M, h as v, k as N } from "./index-BDm0tcWn.js";
1
+ import { a as W, E as i, s as U, C as B, t as n, L as C, b, r as E, i as u, f as M, h as v, k as N } from "./index-MKD2CP5c.js";
2
2
  const c = 63, D = 64, j = 1, A = 2, y = 3, H = 4, Z = 5, F = 6, I = 7, z = 65, K = 66, J = 8, OO = 9, eO = 10, aO = 11, rO = 12, V = 13, tO = 19, nO = 20, oO = 29, PO = 33, QO = 34, sO = 47, lO = 0, T = 1, g = 2, d = 3, m = 4;
3
3
  class s {
4
4
  constructor(e, a, r) {
@@ -1,4 +1,4 @@
1
- import { a as o, E as a, s as Z, t as Q, L as _, b as q, i as l, f as w, c as r, k as V } from "./index-BDm0tcWn.js";
1
+ import { a as o, E as a, s as Z, t as Q, L as _, b as q, i as l, f as w, c as r, k as V } from "./index-MKD2CP5c.js";
2
2
  const R = 1, g = 2, b = 3, y = 4, T = 5, s = 98, c = 101, v = 102, t = 114, p = 69, X = 48, W = 46, d = 43, f = 45, Y = 35, z = 34, x = 124, U = 60, h = 62;
3
3
  function n(O) {
4
4
  return O >= 48 && O <= 57;
@@ -1,4 +1,4 @@
1
- import { a as r, s as e, t as O, L as s, b as X, i as l, f as Y, c as $, h as S, j as o, k as t } from "./index-BDm0tcWn.js";
1
+ import { a as r, s as e, t as O, L as s, b as X, i as l, f as Y, c as $, h as S, j as o, k as t } from "./index-MKD2CP5c.js";
2
2
  const Z = e({
3
3
  null: O.null,
4
4
  instanceof: O.operatorKeyword,
@@ -1,4 +1,4 @@
1
- import { a as o, E as t, s, t as Q, L as j, b as x, i as f, f as c, c as a, h as W, j as S, k as l } from "./index-BDm0tcWn.js";
1
+ import { a as o, E as t, s, t as Q, L as j, b as x, i as f, f as c, c as a, h as W, j as S, k as l } from "./index-MKD2CP5c.js";
2
2
  const r = 1, q = 2, u = 3, n = 82, Z = 76, V = 117, T = 85, z = 97, w = 122, m = 65, b = 90, y = 95, i = 48, Y = 34, v = 40, P = 41, _ = 32, U = 62, p = new t((O) => {
3
3
  if (O.next == Z || O.next == T ? O.advance() : O.next == V && (O.advance(), O.next == i + 8 && O.advance()), O.next != n || (O.advance(), O.next != Y)) return;
4
4
  O.advance();