@common-stack/rollup-vite-utils 8.0.2-alpha.0 → 8.2.1-alpha.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.
Files changed (104) hide show
  1. package/LICENSE +34 -21
  2. package/lib/config-schema.cjs +104 -103
  3. package/lib/config-schema.cjs.map +1 -1
  4. package/lib/config-schema.js +104 -103
  5. package/lib/config-schema.js.map +1 -1
  6. package/lib/index.cjs +1 -1
  7. package/lib/index.js +1 -1
  8. package/lib/preStartup/configLoader/configLoader.cjs +135 -2
  9. package/lib/preStartup/configLoader/configLoader.cjs.map +1 -1
  10. package/lib/preStartup/configLoader/configLoader.js +135 -2
  11. package/lib/preStartup/configLoader/configLoader.js.map +1 -1
  12. package/lib/preStartup/configLoader/index.cjs +1 -1
  13. package/lib/preStartup/configLoader/index.cjs.map +1 -1
  14. package/lib/preStartup/configLoader/index.js +1 -1
  15. package/lib/preStartup/configLoader/index.js.map +1 -1
  16. package/lib/rollup/modifyLibFiles/extractGraphQLQueries.cjs +6 -2
  17. package/lib/rollup/modifyLibFiles/extractGraphQLQueries.cjs.map +1 -1
  18. package/lib/rollup/modifyLibFiles/extractGraphQLQueries.js +6 -2
  19. package/lib/rollup/modifyLibFiles/extractGraphQLQueries.js.map +1 -1
  20. package/lib/rollup/rollupPluginAddJsExtension.cjs +3 -13
  21. package/lib/rollup/rollupPluginAddJsExtension.cjs.map +1 -1
  22. package/lib/rollup/rollupPluginAddJsExtension.js +2 -12
  23. package/lib/rollup/rollupPluginAddJsExtension.js.map +1 -1
  24. package/lib/rollup/rollupPluginGenerateJson.cjs +27 -0
  25. package/lib/rollup/rollupPluginGenerateJson.cjs.map +1 -1
  26. package/lib/rollup/rollupPluginGenerateJson.d.ts +10 -0
  27. package/lib/rollup/rollupPluginGenerateJson.js +27 -0
  28. package/lib/rollup/rollupPluginGenerateJson.js.map +1 -1
  29. package/lib/rollup/rollupPluginGenerateJson.test.d.ts +1 -0
  30. package/lib/rollup/rollupPluginModifyLibFiles.cjs +102 -46
  31. package/lib/rollup/rollupPluginModifyLibFiles.cjs.map +1 -1
  32. package/lib/rollup/rollupPluginModifyLibFiles.js +102 -46
  33. package/lib/rollup/rollupPluginModifyLibFiles.js.map +1 -1
  34. package/lib/rollup/rollupPluginUpdateFromConfig.cjs +4 -7
  35. package/lib/rollup/rollupPluginUpdateFromConfig.cjs.map +1 -1
  36. package/lib/rollup/rollupPluginUpdateFromConfig.js +4 -7
  37. package/lib/rollup/rollupPluginUpdateFromConfig.js.map +1 -1
  38. package/lib/rollup/rollupPluginUpdateFromConfig.test.d.ts +1 -0
  39. package/lib/tools/codegen/generateCodegenConfig.cjs +30 -0
  40. package/lib/tools/codegen/generateCodegenConfig.cjs.map +1 -1
  41. package/lib/tools/codegen/generateCodegenConfig.js +30 -0
  42. package/lib/tools/codegen/generateCodegenConfig.js.map +1 -1
  43. package/lib/tools/codegen/index.cjs.map +1 -1
  44. package/lib/tools/codegen/index.js.map +1 -1
  45. package/lib/tools/codegen/performCopyOperations.cjs +103 -18
  46. package/lib/tools/codegen/performCopyOperations.cjs.map +1 -1
  47. package/lib/tools/codegen/performCopyOperations.js +103 -18
  48. package/lib/tools/codegen/performCopyOperations.js.map +1 -1
  49. package/lib/tools/codegen/readModules.cjs +80 -59
  50. package/lib/tools/codegen/readModules.cjs.map +1 -1
  51. package/lib/tools/codegen/readModules.d.ts +0 -18
  52. package/lib/tools/codegen/readModules.js +80 -59
  53. package/lib/tools/codegen/readModules.js.map +1 -1
  54. package/lib/tools/codegen/setupCommonPackage.cjs +14 -5
  55. package/lib/tools/codegen/setupCommonPackage.cjs.map +1 -1
  56. package/lib/tools/codegen/setupCommonPackage.d.ts +1 -1
  57. package/lib/tools/codegen/setupCommonPackage.js +14 -5
  58. package/lib/tools/codegen/setupCommonPackage.js.map +1 -1
  59. package/lib/tools/codegen/templates/common/package.json.template +11 -0
  60. package/lib/tools/codegen/templates/common/rollup.config.mjs.template +6 -1
  61. package/lib/tools/codegen/templates/common/scripts/fix-generated-types.js.template +58 -0
  62. package/lib/tools/codegen/templates/common/src/apollo-context.ts.bk.template +34 -0
  63. package/lib/tools/codegen/templates/common/src/apollo-context.ts.template +13 -20
  64. package/lib/tools/codegen/templates/common/src/client-context.ts.template +19 -0
  65. package/lib/tools/codegen/templates/common/src/core/disposable.ts.template +93 -0
  66. package/lib/tools/codegen/templates/common/src/core/event.test.ts +16 -0
  67. package/lib/tools/codegen/templates/common/src/core/event.ts.template +326 -0
  68. package/lib/tools/codegen/templates/common/src/core/index.ts.template +3 -0
  69. package/lib/tools/codegen/templates/common/src/core/types.ts.template +1 -0
  70. package/lib/tools/codegen/templates/common/src/generated/service-schemas.ts.template +1 -0
  71. package/lib/tools/codegen/templates/common/src/index.server.ts.template +7 -0
  72. package/lib/tools/codegen/templates/common/src/index.ts.template +1 -0
  73. package/lib/utils/index.d.ts +1 -0
  74. package/lib/utils/packageUtils.cjs +158 -0
  75. package/lib/utils/packageUtils.cjs.map +1 -0
  76. package/lib/utils/packageUtils.d.ts +74 -0
  77. package/lib/utils/packageUtils.js +158 -0
  78. package/lib/utils/packageUtils.js.map +1 -0
  79. package/lib/utils/packageUtils.test.d.ts +1 -0
  80. package/lib/utils/utils.cjs +1 -1
  81. package/lib/utils/utils.js +1 -1
  82. package/lib/vite-wrappers/generators/clientLoaderGenerator.cjs +11 -3
  83. package/lib/vite-wrappers/generators/clientLoaderGenerator.cjs.map +1 -1
  84. package/lib/vite-wrappers/generators/clientLoaderGenerator.js +11 -3
  85. package/lib/vite-wrappers/generators/clientLoaderGenerator.js.map +1 -1
  86. package/lib/vite-wrappers/generators/utils/resourceParams.cjs +48 -11
  87. package/lib/vite-wrappers/generators/utils/resourceParams.cjs.map +1 -1
  88. package/lib/vite-wrappers/generators/utils/resourceParams.d.ts +10 -4
  89. package/lib/vite-wrappers/generators/utils/resourceParams.js +48 -11
  90. package/lib/vite-wrappers/generators/utils/resourceParams.js.map +1 -1
  91. package/lib/vite-wrappers/icon-switch.cjs +7 -11
  92. package/lib/vite-wrappers/icon-switch.cjs.map +1 -1
  93. package/lib/vite-wrappers/icon-switch.d.ts +0 -1
  94. package/lib/vite-wrappers/icon-switch.js +6 -10
  95. package/lib/vite-wrappers/icon-switch.js.map +1 -1
  96. package/lib/vite-wrappers/json-wrappers.cjs +30 -2
  97. package/lib/vite-wrappers/json-wrappers.cjs.map +1 -1
  98. package/lib/vite-wrappers/json-wrappers.js +30 -2
  99. package/lib/vite-wrappers/json-wrappers.js.map +1 -1
  100. package/lib/vite-wrappers/wrapperComponent.cjs +4 -4
  101. package/lib/vite-wrappers/wrapperComponent.cjs.map +1 -1
  102. package/lib/vite-wrappers/wrapperComponent.js +4 -4
  103. package/lib/vite-wrappers/wrapperComponent.js.map +1 -1
  104. package/package.json +5 -5
@@ -0,0 +1,158 @@
1
+ 'use strict';var fs=require('fs'),path=require('path');function _interopNamespaceDefault(e){var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var fs__namespace=/*#__PURE__*/_interopNamespaceDefault(fs);var path__namespace=/*#__PURE__*/_interopNamespaceDefault(path);/**
2
+ * Extracts the base package name from a full package path
3
+ * Examples:
4
+ * - "@org/package/path/file.js" -> "@org/package"
5
+ * - "package/path/file.js" -> "package"
6
+ * - "@org/package" -> "@org/package"
7
+ * - "package" -> "package"
8
+ */
9
+ const getPackageName = (importPath) => {
10
+ if (importPath.startsWith('@')) {
11
+ const match = importPath.match(/^(@[^/]+\/[^/]+)/);
12
+ return match ? match[1] : null;
13
+ }
14
+ else {
15
+ const match = importPath.match(/^([^/]+)/);
16
+ return match ? match[1] : null;
17
+ }
18
+ };
19
+ /**
20
+ * Resolves a module to its package.json using Node.js resolution algorithm
21
+ * with fallbacks for exports restrictions and symlinked packages.
22
+ *
23
+ * @param moduleSpec - The module specifier (e.g., 'lodash', '@babel/core', 'package/subpath')
24
+ * @param esmRequire - The Node.js require function for module resolution
25
+ * @param options - Optional configuration for resolution behavior
26
+ * @returns Path to package.json or null if not found
27
+ */
28
+ function resolvePackageJson(moduleSpec, esmRequire, options = {}) {
29
+ const { internalPackagePrefix = 'packages-modules/', cwd = process.cwd(), repoRoot } = options;
30
+ // For internal/local packages, construct path directly
31
+ if (moduleSpec.startsWith(internalPackagePrefix)) {
32
+ const localPath = path__namespace.join(cwd, moduleSpec, 'package.json');
33
+ if (fs__namespace.existsSync(localPath)) {
34
+ return localPath;
35
+ }
36
+ // If not found at cwd and repoRoot is provided, try from repo root
37
+ if (repoRoot) {
38
+ const repoRootPath = path__namespace.join(repoRoot, moduleSpec, 'package.json');
39
+ if (fs__namespace.existsSync(repoRootPath)) {
40
+ return repoRootPath;
41
+ }
42
+ }
43
+ }
44
+ // Extract the base package name (handles scoped packages)
45
+ const packageName = getPackageName(moduleSpec);
46
+ if (!packageName) {
47
+ return null;
48
+ }
49
+ // Strategy 1: Direct filesystem resolution to bypass exports restrictions
50
+ const directPath = path__namespace.join(cwd, 'node_modules', packageName, 'package.json');
51
+ if (fs__namespace.existsSync(directPath)) {
52
+ return directPath;
53
+ }
54
+ // Strategy 2: Standard require.resolve with package.json
55
+ try {
56
+ return esmRequire.resolve(path__namespace.join(moduleSpec, 'package.json'));
57
+ }
58
+ catch (err) {
59
+ // Strategy 3: Parse error path to find package root
60
+ const errorPath = extractPathFromError(err);
61
+ if (errorPath) {
62
+ const packageJsonPath = findPackageJsonFromPath(errorPath);
63
+ if (packageJsonPath && fs__namespace.existsSync(packageJsonPath)) {
64
+ return packageJsonPath;
65
+ }
66
+ }
67
+ // Strategy 4: Try resolving base package without subpaths
68
+ const baseModule = removeSubpaths(moduleSpec);
69
+ if (baseModule !== moduleSpec) {
70
+ try {
71
+ return esmRequire.resolve(path__namespace.join(baseModule, 'package.json'));
72
+ }
73
+ catch {
74
+ // Final fallback failed
75
+ }
76
+ }
77
+ }
78
+ return null;
79
+ }
80
+ /**
81
+ * Extracts file path from Node.js resolution error.
82
+ *
83
+ * @param err - Error object from require.resolve
84
+ * @returns File path from error or null if not found
85
+ */
86
+ function extractPathFromError(err) {
87
+ if (err && typeof err === 'object' && 'path' in err && typeof err.path === 'string') {
88
+ return err.path;
89
+ }
90
+ return null;
91
+ }
92
+ /**
93
+ * Finds package.json by traversing up from a given path.
94
+ *
95
+ * @param filePath - Starting file path
96
+ * @returns Path to package.json or null if not found
97
+ */
98
+ function findPackageJsonFromPath(filePath) {
99
+ // Remove /lib/ segments and everything after them
100
+ const libSegment = `${path__namespace.sep}lib${path__namespace.sep}`;
101
+ const libIndex = filePath.indexOf(libSegment);
102
+ if (libIndex !== -1) {
103
+ const packageRoot = filePath.slice(0, libIndex);
104
+ return path__namespace.join(packageRoot, 'package.json');
105
+ }
106
+ // Try the directory containing the file
107
+ const dir = path__namespace.dirname(filePath);
108
+ const packageJsonPath = path__namespace.join(dir, 'package.json');
109
+ if (fs__namespace.existsSync(packageJsonPath)) {
110
+ return packageJsonPath;
111
+ }
112
+ return null;
113
+ }
114
+ /**
115
+ * Removes subpaths from module specifier (e.g., "module/lib/index" -> "module").
116
+ *
117
+ * @param moduleSpec - Module specifier with potential subpaths
118
+ * @returns Base module specifier without subpaths
119
+ */
120
+ function removeSubpaths(moduleSpec) {
121
+ if (moduleSpec.includes('/lib')) {
122
+ return moduleSpec.replace(/\/lib.*$/, '');
123
+ }
124
+ return moduleSpec;
125
+ }
126
+ /**
127
+ * Resolves multiple modules in batch and returns successful resolutions.
128
+ *
129
+ * @param moduleSpecs - Array of module specifiers to resolve
130
+ * @param esmRequire - The Node.js require function for module resolution
131
+ * @param options - Optional configuration for resolution behavior
132
+ * @returns Array of objects with moduleSpec and resolved path
133
+ */
134
+ function resolveMultiplePackages(moduleSpecs, esmRequire, options) {
135
+ return moduleSpecs.map((moduleSpec) => ({
136
+ moduleSpec,
137
+ resolvedPath: resolvePackageJson(moduleSpec, esmRequire, options),
138
+ }));
139
+ }
140
+ /**
141
+ * Checks if a module specifier represents an internal/local package.
142
+ *
143
+ * @param moduleSpec - Module specifier to check
144
+ * @param internalPrefix - Prefix for internal packages (defaults to 'packages-modules/')
145
+ * @returns True if the module is internal/local
146
+ */
147
+ function isInternalPackage(moduleSpec, internalPrefix = 'packages-modules/') {
148
+ return moduleSpec.startsWith(internalPrefix);
149
+ }
150
+ /**
151
+ * Checks if a module specifier represents a scoped package.
152
+ *
153
+ * @param moduleSpec - Module specifier to check
154
+ * @returns True if the module is scoped (starts with @)
155
+ */
156
+ function isScopedPackage(moduleSpec) {
157
+ return moduleSpec.startsWith('@');
158
+ }exports.extractPathFromError=extractPathFromError;exports.findPackageJsonFromPath=findPackageJsonFromPath;exports.getPackageName=getPackageName;exports.isInternalPackage=isInternalPackage;exports.isScopedPackage=isScopedPackage;exports.removeSubpaths=removeSubpaths;exports.resolveMultiplePackages=resolveMultiplePackages;exports.resolvePackageJson=resolvePackageJson;//# sourceMappingURL=packageUtils.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packageUtils.cjs","sources":["../../src/utils/packageUtils.ts"],"sourcesContent":[null],"names":["path","fs"],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Extracts the base package name from a full package path
3
+ * Examples:
4
+ * - "@org/package/path/file.js" -> "@org/package"
5
+ * - "package/path/file.js" -> "package"
6
+ * - "@org/package" -> "@org/package"
7
+ * - "package" -> "package"
8
+ */
9
+ export declare const getPackageName: (importPath: string) => string | null;
10
+ /**
11
+ * Resolves a module to its package.json using Node.js resolution algorithm
12
+ * with fallbacks for exports restrictions and symlinked packages.
13
+ *
14
+ * @param moduleSpec - The module specifier (e.g., 'lodash', '@babel/core', 'package/subpath')
15
+ * @param esmRequire - The Node.js require function for module resolution
16
+ * @param options - Optional configuration for resolution behavior
17
+ * @returns Path to package.json or null if not found
18
+ */
19
+ export declare function resolvePackageJson(moduleSpec: string, esmRequire: NodeRequire, options?: {
20
+ /** Custom base path for internal packages (defaults to 'packages-modules/') */
21
+ internalPackagePrefix?: string;
22
+ /** Custom working directory (defaults to process.cwd()) */
23
+ cwd?: string;
24
+ /** Custom repo root for internal packages */
25
+ repoRoot?: string;
26
+ }): string | null;
27
+ /**
28
+ * Extracts file path from Node.js resolution error.
29
+ *
30
+ * @param err - Error object from require.resolve
31
+ * @returns File path from error or null if not found
32
+ */
33
+ export declare function extractPathFromError(err: unknown): string | null;
34
+ /**
35
+ * Finds package.json by traversing up from a given path.
36
+ *
37
+ * @param filePath - Starting file path
38
+ * @returns Path to package.json or null if not found
39
+ */
40
+ export declare function findPackageJsonFromPath(filePath: string): string | null;
41
+ /**
42
+ * Removes subpaths from module specifier (e.g., "module/lib/index" -> "module").
43
+ *
44
+ * @param moduleSpec - Module specifier with potential subpaths
45
+ * @returns Base module specifier without subpaths
46
+ */
47
+ export declare function removeSubpaths(moduleSpec: string): string;
48
+ /**
49
+ * Resolves multiple modules in batch and returns successful resolutions.
50
+ *
51
+ * @param moduleSpecs - Array of module specifiers to resolve
52
+ * @param esmRequire - The Node.js require function for module resolution
53
+ * @param options - Optional configuration for resolution behavior
54
+ * @returns Array of objects with moduleSpec and resolved path
55
+ */
56
+ export declare function resolveMultiplePackages(moduleSpecs: string[], esmRequire: NodeRequire, options?: Parameters<typeof resolvePackageJson>[2]): Array<{
57
+ moduleSpec: string;
58
+ resolvedPath: string | null;
59
+ }>;
60
+ /**
61
+ * Checks if a module specifier represents an internal/local package.
62
+ *
63
+ * @param moduleSpec - Module specifier to check
64
+ * @param internalPrefix - Prefix for internal packages (defaults to 'packages-modules/')
65
+ * @returns True if the module is internal/local
66
+ */
67
+ export declare function isInternalPackage(moduleSpec: string, internalPrefix?: string): boolean;
68
+ /**
69
+ * Checks if a module specifier represents a scoped package.
70
+ *
71
+ * @param moduleSpec - Module specifier to check
72
+ * @returns True if the module is scoped (starts with @)
73
+ */
74
+ export declare function isScopedPackage(moduleSpec: string): boolean;
@@ -0,0 +1,158 @@
1
+ import*as fs from'fs';import*as path from'path';/**
2
+ * Extracts the base package name from a full package path
3
+ * Examples:
4
+ * - "@org/package/path/file.js" -> "@org/package"
5
+ * - "package/path/file.js" -> "package"
6
+ * - "@org/package" -> "@org/package"
7
+ * - "package" -> "package"
8
+ */
9
+ const getPackageName = (importPath) => {
10
+ if (importPath.startsWith('@')) {
11
+ const match = importPath.match(/^(@[^/]+\/[^/]+)/);
12
+ return match ? match[1] : null;
13
+ }
14
+ else {
15
+ const match = importPath.match(/^([^/]+)/);
16
+ return match ? match[1] : null;
17
+ }
18
+ };
19
+ /**
20
+ * Resolves a module to its package.json using Node.js resolution algorithm
21
+ * with fallbacks for exports restrictions and symlinked packages.
22
+ *
23
+ * @param moduleSpec - The module specifier (e.g., 'lodash', '@babel/core', 'package/subpath')
24
+ * @param esmRequire - The Node.js require function for module resolution
25
+ * @param options - Optional configuration for resolution behavior
26
+ * @returns Path to package.json or null if not found
27
+ */
28
+ function resolvePackageJson(moduleSpec, esmRequire, options = {}) {
29
+ const { internalPackagePrefix = 'packages-modules/', cwd = process.cwd(), repoRoot } = options;
30
+ // For internal/local packages, construct path directly
31
+ if (moduleSpec.startsWith(internalPackagePrefix)) {
32
+ const localPath = path.join(cwd, moduleSpec, 'package.json');
33
+ if (fs.existsSync(localPath)) {
34
+ return localPath;
35
+ }
36
+ // If not found at cwd and repoRoot is provided, try from repo root
37
+ if (repoRoot) {
38
+ const repoRootPath = path.join(repoRoot, moduleSpec, 'package.json');
39
+ if (fs.existsSync(repoRootPath)) {
40
+ return repoRootPath;
41
+ }
42
+ }
43
+ }
44
+ // Extract the base package name (handles scoped packages)
45
+ const packageName = getPackageName(moduleSpec);
46
+ if (!packageName) {
47
+ return null;
48
+ }
49
+ // Strategy 1: Direct filesystem resolution to bypass exports restrictions
50
+ const directPath = path.join(cwd, 'node_modules', packageName, 'package.json');
51
+ if (fs.existsSync(directPath)) {
52
+ return directPath;
53
+ }
54
+ // Strategy 2: Standard require.resolve with package.json
55
+ try {
56
+ return esmRequire.resolve(path.join(moduleSpec, 'package.json'));
57
+ }
58
+ catch (err) {
59
+ // Strategy 3: Parse error path to find package root
60
+ const errorPath = extractPathFromError(err);
61
+ if (errorPath) {
62
+ const packageJsonPath = findPackageJsonFromPath(errorPath);
63
+ if (packageJsonPath && fs.existsSync(packageJsonPath)) {
64
+ return packageJsonPath;
65
+ }
66
+ }
67
+ // Strategy 4: Try resolving base package without subpaths
68
+ const baseModule = removeSubpaths(moduleSpec);
69
+ if (baseModule !== moduleSpec) {
70
+ try {
71
+ return esmRequire.resolve(path.join(baseModule, 'package.json'));
72
+ }
73
+ catch {
74
+ // Final fallback failed
75
+ }
76
+ }
77
+ }
78
+ return null;
79
+ }
80
+ /**
81
+ * Extracts file path from Node.js resolution error.
82
+ *
83
+ * @param err - Error object from require.resolve
84
+ * @returns File path from error or null if not found
85
+ */
86
+ function extractPathFromError(err) {
87
+ if (err && typeof err === 'object' && 'path' in err && typeof err.path === 'string') {
88
+ return err.path;
89
+ }
90
+ return null;
91
+ }
92
+ /**
93
+ * Finds package.json by traversing up from a given path.
94
+ *
95
+ * @param filePath - Starting file path
96
+ * @returns Path to package.json or null if not found
97
+ */
98
+ function findPackageJsonFromPath(filePath) {
99
+ // Remove /lib/ segments and everything after them
100
+ const libSegment = `${path.sep}lib${path.sep}`;
101
+ const libIndex = filePath.indexOf(libSegment);
102
+ if (libIndex !== -1) {
103
+ const packageRoot = filePath.slice(0, libIndex);
104
+ return path.join(packageRoot, 'package.json');
105
+ }
106
+ // Try the directory containing the file
107
+ const dir = path.dirname(filePath);
108
+ const packageJsonPath = path.join(dir, 'package.json');
109
+ if (fs.existsSync(packageJsonPath)) {
110
+ return packageJsonPath;
111
+ }
112
+ return null;
113
+ }
114
+ /**
115
+ * Removes subpaths from module specifier (e.g., "module/lib/index" -> "module").
116
+ *
117
+ * @param moduleSpec - Module specifier with potential subpaths
118
+ * @returns Base module specifier without subpaths
119
+ */
120
+ function removeSubpaths(moduleSpec) {
121
+ if (moduleSpec.includes('/lib')) {
122
+ return moduleSpec.replace(/\/lib.*$/, '');
123
+ }
124
+ return moduleSpec;
125
+ }
126
+ /**
127
+ * Resolves multiple modules in batch and returns successful resolutions.
128
+ *
129
+ * @param moduleSpecs - Array of module specifiers to resolve
130
+ * @param esmRequire - The Node.js require function for module resolution
131
+ * @param options - Optional configuration for resolution behavior
132
+ * @returns Array of objects with moduleSpec and resolved path
133
+ */
134
+ function resolveMultiplePackages(moduleSpecs, esmRequire, options) {
135
+ return moduleSpecs.map((moduleSpec) => ({
136
+ moduleSpec,
137
+ resolvedPath: resolvePackageJson(moduleSpec, esmRequire, options),
138
+ }));
139
+ }
140
+ /**
141
+ * Checks if a module specifier represents an internal/local package.
142
+ *
143
+ * @param moduleSpec - Module specifier to check
144
+ * @param internalPrefix - Prefix for internal packages (defaults to 'packages-modules/')
145
+ * @returns True if the module is internal/local
146
+ */
147
+ function isInternalPackage(moduleSpec, internalPrefix = 'packages-modules/') {
148
+ return moduleSpec.startsWith(internalPrefix);
149
+ }
150
+ /**
151
+ * Checks if a module specifier represents a scoped package.
152
+ *
153
+ * @param moduleSpec - Module specifier to check
154
+ * @returns True if the module is scoped (starts with @)
155
+ */
156
+ function isScopedPackage(moduleSpec) {
157
+ return moduleSpec.startsWith('@');
158
+ }export{extractPathFromError,findPackageJsonFromPath,getPackageName,isInternalPackage,isScopedPackage,removeSubpaths,resolveMultiplePackages,resolvePackageJson};//# sourceMappingURL=packageUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packageUtils.js","sources":["../../src/utils/packageUtils.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -149,7 +149,7 @@ const defaultModule = () =>
149
149
 
150
150
  const DefaultFeature = new Feature({
151
151
  createContainerFunc: [defaultModule],
152
- createHemeraContainerFunc: [defaultModule],
152
+ createMicroServiceContainerFunc: [defaultModule],
153
153
  });
154
154
 
155
155
  export const ExternalModules = new Feature(${exModules ? exModules.trim().slice(0, -1) : '{}'});
@@ -149,7 +149,7 @@ const defaultModule = () =>
149
149
 
150
150
  const DefaultFeature = new Feature({
151
151
  createContainerFunc: [defaultModule],
152
- createHemeraContainerFunc: [defaultModule],
152
+ createMicroServiceContainerFunc: [defaultModule],
153
153
  });
154
154
 
155
155
  export const ExternalModules = new Feature(${exModules ? exModules.trim().slice(0, -1) : '{}'});
@@ -107,17 +107,25 @@ function generateClientLoaderExports(options, hasMiddleware, hasQueries) {
107
107
  clientLoaderExport += `
108
108
  export async function clientLoader(params) {
109
109
  ${hasMiddleware ? 'const middlewareStack = [];' : ''}
110
- ${options.configurations?.length > 0 || options.authority?.length > 0 || options.extraPermissions?.length > 0
110
+ ${options.configurations?.length > 0 ||
111
+ options.authority?.length > 0 ||
112
+ options.extraPermissions?.length > 0 ||
113
+ options.extraParams?.resourceParams
111
114
  ? 'middlewareStack.push({ name: "lifecycleStatus", func: lifecycleStatusMiddleware });\n'
112
115
  : ''}
113
116
  ${options.authority?.length > 0 || options.extraPermissions?.length > 0 ? 'middlewareStack.push({ name: "permissions", func: permissionMiddleware });\n' : ''}
114
- ${(options.configurations ?? []).length > 0 ? 'middlewareStack.push({ name: "configurations", func: configurationMiddleware });\n' : ''}
117
+ ${(options.configurations ?? []).length > 0 || options.extraParams?.resourceParams
118
+ ? 'middlewareStack.push({ name: "configurations", func: configurationMiddleware });\n'
119
+ : ''}
115
120
  ${(options.clientMiddlewares ?? [])
116
121
  ?.map((_, index) => `middlewareStack.push({ name: "middleware${index + 1}" , func: clientMiddleware${index + 1} });\n`)
117
122
  .join('')}
118
123
 
119
124
  // Create resourceParams from extraParams if available, with dynamic resolution of path parameters.
120
- const resourceParams = ${options.configurations?.length > 0 || options.authority?.length > 0 || options.extraPermissions?.length > 0
125
+ const resourceParams = ${options.configurations?.length > 0 ||
126
+ options.authority?.length > 0 ||
127
+ options.extraPermissions?.length > 0 ||
128
+ options.extraParams?.resourceParams
121
129
  ? `
122
130
  resolveResourceParamsPlaceholders(
123
131
  ${JSON.stringify(options.extraParams?.resourceParams ?? {})},
@@ -1 +1 @@
1
- {"version":3,"file":"clientLoaderGenerator.cjs","sources":["../../../src/vite-wrappers/generators/clientLoaderGenerator.ts"],"sourcesContent":[null],"names":["camelCase","generateHasPermission"],"mappings":"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"}
1
+ {"version":3,"file":"clientLoaderGenerator.cjs","sources":["../../../src/vite-wrappers/generators/clientLoaderGenerator.ts"],"sourcesContent":[null],"names":["camelCase","generateHasPermission"],"mappings":"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"}
@@ -107,17 +107,25 @@ function generateClientLoaderExports(options, hasMiddleware, hasQueries) {
107
107
  clientLoaderExport += `
108
108
  export async function clientLoader(params) {
109
109
  ${hasMiddleware ? 'const middlewareStack = [];' : ''}
110
- ${options.configurations?.length > 0 || options.authority?.length > 0 || options.extraPermissions?.length > 0
110
+ ${options.configurations?.length > 0 ||
111
+ options.authority?.length > 0 ||
112
+ options.extraPermissions?.length > 0 ||
113
+ options.extraParams?.resourceParams
111
114
  ? 'middlewareStack.push({ name: "lifecycleStatus", func: lifecycleStatusMiddleware });\n'
112
115
  : ''}
113
116
  ${options.authority?.length > 0 || options.extraPermissions?.length > 0 ? 'middlewareStack.push({ name: "permissions", func: permissionMiddleware });\n' : ''}
114
- ${(options.configurations ?? []).length > 0 ? 'middlewareStack.push({ name: "configurations", func: configurationMiddleware });\n' : ''}
117
+ ${(options.configurations ?? []).length > 0 || options.extraParams?.resourceParams
118
+ ? 'middlewareStack.push({ name: "configurations", func: configurationMiddleware });\n'
119
+ : ''}
115
120
  ${(options.clientMiddlewares ?? [])
116
121
  ?.map((_, index) => `middlewareStack.push({ name: "middleware${index + 1}" , func: clientMiddleware${index + 1} });\n`)
117
122
  .join('')}
118
123
 
119
124
  // Create resourceParams from extraParams if available, with dynamic resolution of path parameters.
120
- const resourceParams = ${options.configurations?.length > 0 || options.authority?.length > 0 || options.extraPermissions?.length > 0
125
+ const resourceParams = ${options.configurations?.length > 0 ||
126
+ options.authority?.length > 0 ||
127
+ options.extraPermissions?.length > 0 ||
128
+ options.extraParams?.resourceParams
121
129
  ? `
122
130
  resolveResourceParamsPlaceholders(
123
131
  ${JSON.stringify(options.extraParams?.resourceParams ?? {})},
@@ -1 +1 @@
1
- {"version":3,"file":"clientLoaderGenerator.js","sources":["../../../src/vite-wrappers/generators/clientLoaderGenerator.ts"],"sourcesContent":[null],"names":[],"mappings":"iGAIA;;;;;AAKG;MACU,oBAAoB,GAAG,CAAC,EAAE,OAAO,EAAoC,KAAI;AAClF,IAAA,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;AACzC,QAAA,OAAO,EAAE,CAAC;KACb;IAED,OAAO,CAAA;;;;;;;AAOe,wBAAA,EAAA,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,KAAK,KAAI;AAC1E,QAAA,MAAM,cAAc,GAChB,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,uBAAuB,CAAC;cAC9D,CAAiD,8CAAA,EAAA,KAAK,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAE,CAAA;cAC1F,KAAK,CAAC;AAChB,QAAA,OAAO,CAAG,EAAA,GAAG,CAAG,EAAA,GAAG,CAAI,CAAA,EAAA,cAAc,CAAG,EAAA,KAAK,GAAG,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,GAAG,GAAG,GAAG,CAAA,CAAE,CAAC;KACnG,EAAE,GAAG,CAAC,CAAA;;;;AAIwB,qCAAA,EAAA,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;SAC9C,GAAG,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;SAC5E,GAAG,CAAC,CAAC,GAAG,KAAK,CAAA,CAAA,EAAI,GAAG,CAAA,CAAA,CAAG,CAAC,CAAA;;;;;;AAM3B,QAAA,EAAA,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;AACjB,SAAA,GAAG,CACA,CAAC,QAAQ,EAAE,KAAK,KAAK,CAAA;;;yBAGZ,QAAQ,CAAA;sCACK,QAAQ,CAAA;;;;;;;;;;oCAUV,KAAK,CAAA;;UAE/B,CACG;SACA,IAAI,CAAC,EAAE,CAAC,CAAA;;;;;;;;;;;;;;;;;;;;AAoBX,QAAA,EAAA,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;AACjB,SAAA,GAAG,CACA,CAAC,QAAQ,EAAE,KAAK,KAAK,CAAA;mCACF,KAAK,CAAA;;;;;6BAKX,QAAQ,CAAA;0CACK,QAAQ,CAAA;;;;SAIzC,CACI;SACA,IAAI,CAAC,EAAE,CAAC,CAAA;;;;;;;;CAQpB,CAAC;AACF,EAAE;AAEF;;;;;;;AAOG;SACa,2BAA2B,CACvC,OAAwB,EACxB,aAAsB,EACtB,UAAmB,EAAA;IAEnB,IAAI,kBAAkB,GAAG,EAAE,CAAC;AAC5B,IAAA,kBAAkB,IAAI,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAEpD,IAAA,kBAAkB,IAAI,CAAA;;AAEtB,EAAA,EAAA,aAAa,GAAG,6BAA6B,GAAG,EAAE,CAAA;IAEhD,OAAO,CAAC,cAAc,EAAE,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,gBAAgB,EAAE,MAAM,GAAG,CAAC;AACvG,UAAE,uFAAuF;AACzF,UAAE,EACV,CAAA;IACE,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,gBAAgB,EAAE,MAAM,GAAG,CAAC,GAAG,8EAA8E,GAAG,EAAE,CAAA;AAC3J,EAAA,EAAA,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE,EAAE,MAAM,GAAG,CAAC,GAAG,oFAAoF,GAAG,EAAE,CAAA;AACrI,EAAA,EAAA,CAAC,OAAO,CAAC,iBAAiB,IAAI,EAAE;AAC9B,UAAE,GAAG,CACD,CAAC,CAAC,EAAE,KAAK,KACL,CAA2C,wCAAA,EAAA,KAAK,GAAG,CAAC,CAAA,0BAAA,EAA6B,KAAK,GAAG,CAAC,QAAQ,CACzG;SACA,IAAI,CAAC,EAAE,CAAC,CAAA;;;iCAIH,OAAO,CAAC,cAAc,EAAE,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,gBAAgB,EAAE,MAAM,GAAG,CAAC;AACvG,UAAE,CAAA;;kBAEA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,cAAc,IAAI,EAAE,CAAC,CAAA;;AAE7D,aAAA,CAAA;AACE,UAAE,IACV,CAAA;;;;;;0BAMkB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC,CAAA;;;IAIhE,aAAa;AACT,UAAE,CAAA;;;;;;;;AAQuE,kFAAA,CAAA;AACzE,UAAE,EACV,CAAA;;AAEE,EAAA,EAAA,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;;AAEH,mCAAA,EAAA,aAAa,GAAG,yDAAyD,GAAG,eAAe,CAAA;;AAEpG,0BAAA,EAAA,UAAU,GAAG,2EAA2E,GAAG,IAAI,CAAA;qBACtG,OAAO,CAAC,eAAe,GAAG,CAAyE,uEAAA,CAAA,GAAG,IAAI,CAAA;;AAE/G,cAAA,EAAA,aAAa,GAAG,oDAAoD,GAAG,CAAI,EAAA,CAAA,CAAA;;;CAG1F,CAAC;AAEE,IAAA,OAAO,kBAAkB,CAAC;AAC9B"}
1
+ {"version":3,"file":"clientLoaderGenerator.js","sources":["../../../src/vite-wrappers/generators/clientLoaderGenerator.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,30 +1,51 @@
1
1
  'use strict';/* eslint-disable default-param-last */
2
2
  /* eslint-disable @typescript-eslint/no-explicit-any */
3
3
  /**
4
- * Recursively process the resourceParams object and replace any placeholder values starting with `$params.`.
4
+ * Recursively process the resourceParams object(s) and replace any placeholder values starting with `$params.`.
5
5
  * If the `path` is empty or matches `IConfigCollectionName.Organization`, ensure it provides a default query
6
6
  * with `{ name: $params.orgName }`, but only if `query` is not already defined.
7
7
  *
8
- * @param resourceParams - The nested resourceParams object containing placeholders.
8
+ * This function now supports both single resourceParams objects and arrays of resourceParams objects.
9
+ * It also supports extensionName and schemaId for dataLoader configuration and permissions.
10
+ * A default schemaId will always be added if none is provided (defaults to 'configuration').
11
+ *
12
+ * @param resourceParams - The resourceParams object or array containing placeholders.
9
13
  * @param params - The params object from which values are extracted.
10
14
  * @param defaultPath - Optional default path to be assigned when `path` is empty or a specific condition is met.
11
15
  * @param defaultFragment - Optional default fragment to be assigned when `fragment` is missing.
12
- * @returns The processed resourceParams object with replaced values.
16
+ * @param defaultExtensionName - Optional default extension name for dataLoader context.
17
+ * @param defaultSchemaId - Optional default schema ID for configuration and preferences. Defaults to 'configuration' if not provided.
18
+ * @returns The processed resourceParams object(s) with replaced values.
13
19
  */
14
- function resolveResourceParamsPlaceholders(resourceParams = {}, params, defaultPath = 'organizations', defaultFragment = 'settings') {
20
+ function resolveResourceParamsPlaceholders(resourceParams = {}, params, defaultPath = 'organizations', defaultFragment = 'settings', defaultSchemaId = 'configuration', defaultExtensionName) {
21
+ // Handle array of resourceParams
22
+ if (Array.isArray(resourceParams)) {
23
+ return resourceParams.map((param) => resolveResourceParamsPlaceholders(param, params, defaultPath, defaultFragment, defaultSchemaId, defaultExtensionName));
24
+ }
15
25
  const resolvedParams = {};
16
26
  if (!resourceParams || typeof resourceParams !== 'object') {
17
27
  return resolvedParams;
18
28
  }
19
29
  // Recursively resolve the object and handle placeholders
20
30
  Object.entries(resourceParams).forEach(([key, value]) => {
21
- if (typeof value === 'string' && value.startsWith('$params.')) {
22
- const paramKey = value.split('$params.')[1];
23
- resolvedParams[key] = params[paramKey];
31
+ // Handle placeholder resolution for strings
32
+ if (typeof value === 'string') {
33
+ if (value.startsWith('$params.')) {
34
+ // Handle simple placeholder: $params.orgName
35
+ const paramKey = value.split('$params.')[1];
36
+ resolvedParams[key] = params[paramKey];
37
+ }
38
+ else if (value.includes('$params.')) {
39
+ // Handle embedded placeholder: name:$params.orgName
40
+ resolvedParams[key] = value.replace(/\$params\.(\w+)/g, (match, paramKey) => params[paramKey] || match);
41
+ }
42
+ else {
43
+ resolvedParams[key] = value;
44
+ }
24
45
  }
25
46
  else if (typeof value === 'object' && value !== null && key !== 'query') {
26
47
  // Only recurse if we're not inside a 'query' to avoid nesting issues
27
- resolvedParams[key] = resolveResourceParamsPlaceholders(value, params, defaultPath, defaultFragment);
48
+ resolvedParams[key] = resolveResourceParamsPlaceholders(value, params, defaultPath, defaultFragment, defaultSchemaId, defaultExtensionName);
28
49
  }
29
50
  else {
30
51
  resolvedParams[key] = value;
@@ -41,9 +62,17 @@ function resolveResourceParamsPlaceholders(resourceParams = {}, params, defaultP
41
62
  else if (typeof resourceParams.query === 'object') {
42
63
  resolvedParams.query = {};
43
64
  Object.entries(resourceParams.query).forEach(([key, value]) => {
44
- if (typeof value === 'string' && value.startsWith('$params.')) {
45
- const paramKey = value.split('$params.')[1];
46
- resolvedParams.query[key] = params[paramKey];
65
+ if (typeof value === 'string') {
66
+ if (value.startsWith('$params.')) {
67
+ const paramKey = value.split('$params.')[1];
68
+ resolvedParams.query[key] = params[paramKey];
69
+ }
70
+ else if (value.includes('$params.')) {
71
+ resolvedParams.query[key] = value.replace(/\$params\.(\w+)/g, (match, paramKey) => params[paramKey] || match);
72
+ }
73
+ else {
74
+ resolvedParams.query[key] = value;
75
+ }
47
76
  }
48
77
  else {
49
78
  resolvedParams.query[key] = value;
@@ -54,5 +83,13 @@ function resolveResourceParamsPlaceholders(resourceParams = {}, params, defaultP
54
83
  if (!resourceParams.fragment && !resolvedParams.fragment) {
55
84
  resolvedParams.fragment = defaultFragment;
56
85
  }
86
+ // Add extensionName only if it doesn't exist at the root level and a default is provided
87
+ if (!resourceParams.extensionName && !resolvedParams.extensionName && defaultExtensionName) {
88
+ resolvedParams.extensionName = defaultExtensionName;
89
+ }
90
+ // Add schemaId - use provided default or fallback to 'configuration' as default
91
+ if (!resourceParams.schemaId && !resolvedParams.schemaId) {
92
+ resolvedParams.schemaId = defaultSchemaId || 'configuration';
93
+ }
57
94
  return resolvedParams;
58
95
  }exports.resolveResourceParamsPlaceholders=resolveResourceParamsPlaceholders;//# sourceMappingURL=resourceParams.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"resourceParams.cjs","sources":["../../../../src/vite-wrappers/generators/utils/resourceParams.ts"],"sourcesContent":[null],"names":[],"mappings":"aAAA;AACA;AACA;;;;;;;;;;AAUG;AACa,SAAA,iCAAiC,CAC7C,cAAA,GAAsC,EAAE,EACxC,MAA2B,EAC3B,WAAsB,GAAA,eAAe,EACrC,eAAA,GAA0B,UAAU,EAAA;IAEpC,MAAM,cAAc,GAAwB,EAAE,CAAC;IAE/C,IAAI,CAAC,cAAc,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE;AACvD,QAAA,OAAO,cAAc,CAAC;KACzB;;AAGD,IAAA,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAI;AACpD,QAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;YAC3D,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5C,cAAc,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;SAC1C;AAAM,aAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,KAAK,OAAO,EAAE;;AAEvE,YAAA,cAAc,CAAC,GAAG,CAAC,GAAG,iCAAiC,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;SACxG;aAAM;AACH,YAAA,cAAc,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;SAC/B;AACL,KAAC,CAAC,CAAC;;IAGH,IAAI,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;AAC9C,QAAA,cAAc,CAAC,IAAI,GAAG,WAAW,CAAC;KACrC;;IAGD,IAAI,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;QAChD,cAAc,CAAC,KAAK,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;KAChD;AAAM,SAAA,IAAI,OAAO,cAAc,CAAC,KAAK,KAAK,QAAQ,EAAE;AACjD,QAAA,cAAc,CAAC,KAAK,GAAG,EAAE,CAAC;AAC1B,QAAA,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAI;AAC1D,YAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;gBAC3D,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5C,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;aAChD;iBAAM;AACH,gBAAA,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aACrC;AACL,SAAC,CAAC,CAAC;KACN;;IAGD,IAAI,CAAC,cAAc,CAAC,QAAQ,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;AACtD,QAAA,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC;KAC7C;AAED,IAAA,OAAO,cAAc,CAAC;AAC1B"}
1
+ {"version":3,"file":"resourceParams.cjs","sources":["../../../../src/vite-wrappers/generators/utils/resourceParams.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}