@common-stack/rollup-vite-utils 6.0.6-alpha.9 → 6.0.6-alpha.91

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 (175) hide show
  1. package/lib/config-schema.cjs +111 -0
  2. package/lib/config-schema.cjs.map +1 -0
  3. package/lib/config-schema.js +111 -0
  4. package/lib/config-schema.js.map +1 -0
  5. package/lib/constants/constants.cjs +2 -1
  6. package/lib/constants/constants.cjs.map +1 -1
  7. package/lib/constants/constants.d.ts +1 -0
  8. package/lib/constants/constants.js +2 -1
  9. package/lib/constants/constants.js.map +1 -1
  10. package/lib/default-config.json.cjs +42 -4
  11. package/lib/default-config.json.cjs.map +1 -1
  12. package/lib/default-config.json.js +42 -4
  13. package/lib/default-config.json.js.map +1 -1
  14. package/lib/index.cjs +1 -1
  15. package/lib/index.d.ts +0 -1
  16. package/lib/index.js +1 -1
  17. package/lib/interfaces/rollup.d.ts +1 -0
  18. package/lib/preStartup/configLoader/configLoader.cjs +38 -6
  19. package/lib/preStartup/configLoader/configLoader.cjs.map +1 -1
  20. package/lib/preStartup/configLoader/configLoader.d.ts +3 -3
  21. package/lib/preStartup/configLoader/configLoader.js +38 -6
  22. package/lib/preStartup/configLoader/configLoader.js.map +1 -1
  23. package/lib/preStartup/configLoader/index.cjs +1 -1
  24. package/lib/preStartup/configLoader/index.cjs.map +1 -1
  25. package/lib/preStartup/configLoader/index.js +1 -1
  26. package/lib/preStartup/configLoader/index.js.map +1 -1
  27. package/lib/preStartup/copyIfVersionChanged.cjs +8 -2
  28. package/lib/preStartup/copyIfVersionChanged.cjs.map +1 -1
  29. package/lib/preStartup/copyIfVersionChanged.js +8 -2
  30. package/lib/preStartup/copyIfVersionChanged.js.map +1 -1
  31. package/lib/rollup/index.d.ts +1 -0
  32. package/lib/rollup/modifyLibFiles/extractGraphQLQueries.cjs +39 -10
  33. package/lib/rollup/modifyLibFiles/extractGraphQLQueries.cjs.map +1 -1
  34. package/lib/rollup/modifyLibFiles/extractGraphQLQueries.js +39 -10
  35. package/lib/rollup/modifyLibFiles/extractGraphQLQueries.js.map +1 -1
  36. package/lib/rollup/modifyLibFiles/fixtures/compute1/TestComponent.d.ts +6 -0
  37. package/lib/rollup/modifyLibFiles/fixtures/compute1/TestDeferComponent.d.ts +10 -0
  38. package/lib/rollup/modifyLibFiles/handleComponentOrDialog.cjs +211 -141
  39. package/lib/rollup/modifyLibFiles/handleComponentOrDialog.cjs.map +1 -1
  40. package/lib/rollup/modifyLibFiles/handleComponentOrDialog.d.ts +21 -0
  41. package/lib/rollup/modifyLibFiles/handleComponentOrDialog.js +211 -141
  42. package/lib/rollup/modifyLibFiles/handleComponentOrDialog.js.map +1 -1
  43. package/lib/rollup/modifyLibFiles/handleImportPaths.cjs +4 -3
  44. package/lib/rollup/modifyLibFiles/handleImportPaths.cjs.map +1 -1
  45. package/lib/rollup/modifyLibFiles/handleImportPaths.js +4 -3
  46. package/lib/rollup/modifyLibFiles/handleImportPaths.js.map +1 -1
  47. package/lib/rollup/modifyLibFiles/handleLoaderReturn.cjs +86 -0
  48. package/lib/rollup/modifyLibFiles/handleLoaderReturn.cjs.map +1 -0
  49. package/lib/rollup/modifyLibFiles/handleLoaderReturn.d.ts +11 -0
  50. package/lib/rollup/modifyLibFiles/handleLoaderReturn.js +86 -0
  51. package/lib/rollup/modifyLibFiles/handleLoaderReturn.js.map +1 -0
  52. package/lib/rollup/modifyLibFiles/handleLoaderReturn.test.d.ts +1 -0
  53. package/lib/rollup/modifyLibFiles/utils.cjs +7 -7
  54. package/lib/rollup/modifyLibFiles/utils.cjs.map +1 -1
  55. package/lib/rollup/modifyLibFiles/utils.d.ts +1 -1
  56. package/lib/rollup/modifyLibFiles/utils.js +7 -7
  57. package/lib/rollup/modifyLibFiles/utils.js.map +1 -1
  58. package/lib/rollup/rollupPluginGenerateJson.cjs +2 -3
  59. package/lib/rollup/rollupPluginGenerateJson.cjs.map +1 -1
  60. package/lib/rollup/rollupPluginGenerateJson.js +2 -3
  61. package/lib/rollup/rollupPluginGenerateJson.js.map +1 -1
  62. package/lib/rollup/rollupPluginModifyLibFiles.cjs +25 -14
  63. package/lib/rollup/rollupPluginModifyLibFiles.cjs.map +1 -1
  64. package/lib/rollup/rollupPluginModifyLibFiles.js +25 -14
  65. package/lib/rollup/rollupPluginModifyLibFiles.js.map +1 -1
  66. package/lib/rollup/rollupPluginModifyLibFiles.test.d.ts +1 -0
  67. package/lib/rollup/rollupPluginUpdateFromConfig.cjs +122 -0
  68. package/lib/rollup/rollupPluginUpdateFromConfig.cjs.map +1 -0
  69. package/lib/rollup/rollupPluginUpdateFromConfig.d.ts +1 -0
  70. package/lib/rollup/rollupPluginUpdateFromConfig.js +122 -0
  71. package/lib/rollup/rollupPluginUpdateFromConfig.js.map +1 -0
  72. package/lib/utils/deepMerge.cjs +61 -0
  73. package/lib/utils/deepMerge.cjs.map +1 -0
  74. package/lib/utils/deepMerge.d.ts +1 -0
  75. package/lib/utils/deepMerge.js +61 -0
  76. package/lib/utils/deepMerge.js.map +1 -0
  77. package/lib/utils/getAllCDECodeConfig.cjs +18 -0
  78. package/lib/utils/getAllCDECodeConfig.cjs.map +1 -0
  79. package/lib/utils/getAllCDECodeConfig.d.ts +1 -0
  80. package/lib/utils/getAllCDECodeConfig.js +18 -0
  81. package/lib/utils/getAllCDECodeConfig.js.map +1 -0
  82. package/lib/utils/index.d.ts +1 -0
  83. package/lib/utils/parseUtility.d.ts +3 -0
  84. package/lib/utils/setupConfig.cjs +6 -65
  85. package/lib/utils/setupConfig.cjs.map +1 -1
  86. package/lib/utils/setupConfig.d.ts +1 -2
  87. package/lib/utils/setupConfig.js +6 -65
  88. package/lib/utils/setupConfig.js.map +1 -1
  89. package/lib/utils/utils.cjs +25 -1
  90. package/lib/utils/utils.cjs.map +1 -1
  91. package/lib/utils/utils.d.ts +1 -0
  92. package/lib/utils/utils.js +25 -1
  93. package/lib/utils/utils.js.map +1 -1
  94. package/lib/utils/verifyConfig.cjs +13 -0
  95. package/lib/utils/verifyConfig.cjs.map +1 -0
  96. package/lib/utils/verifyConfig.d.ts +2 -0
  97. package/lib/utils/verifyConfig.js +13 -0
  98. package/lib/utils/verifyConfig.js.map +1 -0
  99. package/lib/utils/withErrorHandleUtil.cjs +3 -7
  100. package/lib/utils/withErrorHandleUtil.cjs.map +1 -1
  101. package/lib/utils/withErrorHandleUtil.js +3 -7
  102. package/lib/utils/withErrorHandleUtil.js.map +1 -1
  103. package/lib/vite-wrappers/custom-routes.cjs +44 -0
  104. package/lib/vite-wrappers/custom-routes.cjs.map +1 -0
  105. package/lib/vite-wrappers/custom-routes.d.ts +2 -0
  106. package/lib/vite-wrappers/custom-routes.js +44 -0
  107. package/lib/vite-wrappers/custom-routes.js.map +1 -0
  108. package/lib/vite-wrappers/generators/clientLoaderGenerator.cjs +159 -0
  109. package/lib/vite-wrappers/generators/clientLoaderGenerator.cjs.map +1 -0
  110. package/lib/vite-wrappers/generators/clientLoaderGenerator.d.ts +17 -0
  111. package/lib/vite-wrappers/generators/clientLoaderGenerator.js +159 -0
  112. package/lib/vite-wrappers/generators/clientLoaderGenerator.js.map +1 -0
  113. package/lib/vite-wrappers/generators/clientLoaderGenerator.test.d.ts +1 -0
  114. package/lib/vite-wrappers/generators/generateHasConfiguration.cjs +20 -0
  115. package/lib/vite-wrappers/generators/generateHasConfiguration.cjs.map +1 -0
  116. package/lib/vite-wrappers/generators/generateHasConfiguration.d.ts +10 -0
  117. package/lib/vite-wrappers/generators/generateHasConfiguration.js +20 -0
  118. package/lib/vite-wrappers/generators/generateHasConfiguration.js.map +1 -0
  119. package/lib/vite-wrappers/generators/generateHasPermission.cjs +29 -0
  120. package/lib/vite-wrappers/generators/generateHasPermission.cjs.map +1 -0
  121. package/lib/vite-wrappers/generators/generateHasPermission.d.ts +9 -0
  122. package/lib/vite-wrappers/generators/generateHasPermission.js +29 -0
  123. package/lib/vite-wrappers/generators/generateHasPermission.js.map +1 -0
  124. package/lib/vite-wrappers/generators/generateHasPermission.test.d.ts +1 -0
  125. package/lib/vite-wrappers/generators/loaderGenerator.cjs +157 -0
  126. package/lib/vite-wrappers/generators/loaderGenerator.cjs.map +1 -0
  127. package/lib/vite-wrappers/generators/loaderGenerator.d.ts +36 -0
  128. package/lib/vite-wrappers/generators/loaderGenerator.js +157 -0
  129. package/lib/vite-wrappers/generators/loaderGenerator.js.map +1 -0
  130. package/lib/vite-wrappers/generators/loaderGenerator.test.d.ts +1 -0
  131. package/lib/vite-wrappers/generators/serverQueryLoaderGenerator.cjs +40 -0
  132. package/lib/vite-wrappers/generators/serverQueryLoaderGenerator.cjs.map +1 -0
  133. package/lib/vite-wrappers/generators/serverQueryLoaderGenerator.d.ts +10 -0
  134. package/lib/vite-wrappers/generators/serverQueryLoaderGenerator.js +40 -0
  135. package/lib/vite-wrappers/generators/serverQueryLoaderGenerator.js.map +1 -0
  136. package/lib/vite-wrappers/generators/serverQueryLoaderGenerator.test.d.ts +1 -0
  137. package/lib/vite-wrappers/generators/utils/pickConfig.cjs +15 -0
  138. package/lib/vite-wrappers/generators/utils/pickConfig.cjs.map +1 -0
  139. package/lib/vite-wrappers/generators/utils/pickConfig.d.ts +10 -0
  140. package/lib/vite-wrappers/generators/utils/pickConfig.js +15 -0
  141. package/lib/vite-wrappers/generators/utils/pickConfig.js.map +1 -0
  142. package/lib/vite-wrappers/generators/utils/resourceParams.cjs +58 -0
  143. package/lib/vite-wrappers/generators/utils/resourceParams.cjs.map +1 -0
  144. package/lib/vite-wrappers/generators/utils/resourceParams.d.ts +12 -0
  145. package/lib/vite-wrappers/generators/utils/resourceParams.js +58 -0
  146. package/lib/vite-wrappers/generators/utils/resourceParams.js.map +1 -0
  147. package/lib/vite-wrappers/generators/utils/resourceParams.test.d.ts +1 -0
  148. package/lib/vite-wrappers/helpers/componentReplacement.cjs +12 -0
  149. package/lib/vite-wrappers/helpers/componentReplacement.cjs.map +1 -0
  150. package/lib/vite-wrappers/helpers/componentReplacement.d.ts +2 -0
  151. package/lib/vite-wrappers/helpers/componentReplacement.js +12 -0
  152. package/lib/vite-wrappers/helpers/componentReplacement.js.map +1 -0
  153. package/lib/vite-wrappers/icon-switch.cjs +1 -1
  154. package/lib/vite-wrappers/icon-switch.cjs.map +1 -1
  155. package/lib/vite-wrappers/icon-switch.js +1 -1
  156. package/lib/vite-wrappers/icon-switch.js.map +1 -1
  157. package/lib/vite-wrappers/index.d.ts +3 -0
  158. package/lib/vite-wrappers/json-wrappers.cjs +103 -12
  159. package/lib/vite-wrappers/json-wrappers.cjs.map +1 -1
  160. package/lib/vite-wrappers/json-wrappers.d.ts +33 -0
  161. package/lib/vite-wrappers/json-wrappers.js +103 -12
  162. package/lib/vite-wrappers/json-wrappers.js.map +1 -1
  163. package/lib/vite-wrappers/wrapperComponent.cjs +202 -128
  164. package/lib/vite-wrappers/wrapperComponent.cjs.map +1 -1
  165. package/lib/vite-wrappers/wrapperComponent.d.ts +11 -2
  166. package/lib/vite-wrappers/wrapperComponent.js +202 -128
  167. package/lib/vite-wrappers/wrapperComponent.js.map +1 -1
  168. package/package.json +7 -5
  169. package/lib/interfaces/types.d.ts +0 -59
  170. package/lib/vite-wrappers/loaderGenerator.cjs +0 -245
  171. package/lib/vite-wrappers/loaderGenerator.cjs.map +0 -1
  172. package/lib/vite-wrappers/loaderGenerator.d.ts +0 -18
  173. package/lib/vite-wrappers/loaderGenerator.js +0 -245
  174. package/lib/vite-wrappers/loaderGenerator.js.map +0 -1
  175. /package/lib/{vite-wrappers/loaderGenerator.test.d.ts → rollup/modifyLibFiles/handleComponentOrDialog.test.d.ts} +0 -0
@@ -1,245 +0,0 @@
1
- 'use strict';var lodashEs=require('lodash-es');const generateDeferKey = (key) => lodashEs.camelCase(key.replace('Get', '')).replace('Document', 'Query');
2
- const generateServerLoader = ({ queries }) => {
3
- if (Object.keys(queries ?? {}).length === 0) {
4
- return '';
5
- }
6
- return `
7
- export const defaultServerLoader = async ({ context, params }) => {
8
- const { apolloClient: client } = context;
9
- const queries = ${Object.entries(queries).reduce((acc, [key, value], index) => {
10
- const formattedValue = value.includes('queryParamsGenerator_')
11
- ? `queryGeneratorFunc(params).${value.split('queryParamsGenerator_')[1]}`
12
- : value;
13
- return `${acc}${key}:${formattedValue}${index + 1 === Object.keys(queries).length ? '}' : ','}`;
14
- }, '{')};
15
- ${Object.keys(queries)
16
- .map((queryDoc) => `
17
- const ${generateDeferKey(queryDoc)} = client.query({
18
- query: ${queryDoc},
19
- variables: queries['${queryDoc}'],
20
- fetchPolicy: __SERVER__ ? 'network-only' : 'cache-first',
21
- });
22
- `)
23
- .join('')}
24
-
25
- return {
26
- data: {
27
- ${Object.keys(queries).map(generateDeferKey)}
28
- }
29
- };
30
- };
31
- `;
32
- };
33
- function generateLoaderReturnLogic(options) {
34
- if (options.loaderReturnInfo?.keys?.length > 0) {
35
- // Create deferred objects by directly assigning each key to its corresponding index in loaderData
36
- const deferredAssignments = options.loaderReturnInfo?.keys
37
- .map((key, index) => ` returnObject['${key}'] = loaderData[${index}];`)
38
- .join('\n ');
39
- return `
40
- const returnObject = {};
41
- if (hasPermissions) {
42
- ${deferredAssignments}
43
- }
44
- `;
45
- }
46
- return '';
47
- }
48
- /**
49
- * if loaderReturnInfo.keys is empty and hasMiddleware is false, return loaderData otherwise
50
- * if loaderReturnInfo.keys is not empty, return an object with the keys and values from loaderData wrapped with the loaderReturnInfo.returnType.
51
- * Also if we have the hasMiddleware flag, include the permissions and dataContext in the object. Also if we have the respondOptions flag, include the respondOptions in the object.
52
- * Also if we have the options.queries object, include the defaultLoaderData in the object.
53
- * If options.queries is not empty, return an object with wrapped with `defer`. Include middleware if it exists. Include respondOptions if it exists.
54
- * if loaderReturnInfo.keys is empty and hasMiddleware is true or false, but has options.queries objects then return defaultLoaderData
55
- * if its a resource route and isResourceRoute is true then return an object with the keys and values from loaderData wrapped around `json`.
56
- * @param options
57
- * @returns
58
- */
59
- function generateReturnStatement(options, hasMiddleware) {
60
- const { loaderReturnInfo, isResourceRoute, queries, hasLoader } = options;
61
- const hasQueries = Object.keys(queries ?? {}).length > 0;
62
- const responseKey = isResourceRoute ? 'json' : loaderReturnInfo?.keys?.length > 0 || hasQueries ? 'defer' : loaderReturnInfo?.returnType || '';
63
- const defaultLoaderData = hasQueries ? 'defaultLoaderData' : '{}';
64
- const middlewareData = hasMiddleware ? '{ permissions, dataContext: rest, configurations }' : '{}';
65
- const respondOptions = loaderReturnInfo?.hasOptions ? 'respondOptions' : '';
66
- if (loaderReturnInfo?.keys?.length > 0) {
67
- return `return ${responseKey}({
68
- ...returnObject,
69
- ...${defaultLoaderData},
70
- ...${middlewareData},
71
- errors: loaderErrors
72
- }${respondOptions ? `, ${respondOptions}` : ''});`;
73
- }
74
- if (hasLoader && !hasMiddleware && !hasQueries) {
75
- return 'return loaderData;';
76
- }
77
- const loaderDataSpread = hasLoader ? '...loaderData, ' : '';
78
- return `return ${responseKey}({
79
- ${loaderDataSpread}
80
- ...${defaultLoaderData},
81
- ...${middlewareData},
82
- errors: loaderErrors
83
- }${respondOptions ? `, ${respondOptions}` : ''});`;
84
- }
85
- function generateMiddlewarePushes(options) {
86
- return (options.middlewares ?? [])
87
- ?.map((_, index) => `middlewareStack.push({ name: "middleware${index + 1}", func: middleware${index + 1} });`)
88
- .join('\n');
89
- }
90
- function generateHasPermission(options, isClient = false) {
91
- const hasLoader = isClient ? options.hasClientLoader : options.hasLoader;
92
- let generates = '';
93
- if (options.authority?.length > 0 || options.extraPermissions?.length > 0) {
94
- generates = `
95
- if (permissions !== null) {
96
- // Filter permissions based on authority keys
97
- const permissionKeys = ${JSON.stringify(options.authority)} || [];
98
- let extraPermissions = ${JSON.stringify(options.extraPermissions)} || [];
99
- extraPermissions = permissionKeys.concat(extraPermissions);
100
- permissions = {
101
- resolveConfiguration: pick(permissions?.resolveConfiguration, extraPermissions)
102
- };
103
- `;
104
- if (hasLoader) {
105
- generates += `
106
- hasPermissions = permissionKeys.some(key => ['Allow'].includes(get(permissions.resolveConfiguration, key)));
107
- `;
108
- }
109
- generates += `}`;
110
- }
111
- return generates;
112
- }
113
- function generateLoaderExports(sourceExport = '', options, hasMiddleware = false, hasQueries = false) {
114
- if (hasQueries) {
115
- sourceExport += generateServerLoader(options);
116
- // options = internalOptions(options); // Mutating the options object to add the loaderReturnInfo object
117
- }
118
- const getMiddlewareOptions = () => {
119
- if (options.requireAuth) {
120
- const val = typeof options.authStrategy === 'boolean' ? options.authStrategy : `'${options.authStrategy}'`;
121
- return `{authStrategy: ${val}}`;
122
- }
123
- return '{}';
124
- };
125
- const { resourceUri, configurations } = options;
126
- sourceExport += `
127
- export async function loader(params) {
128
- ${hasMiddleware ? 'const middlewareStack = [];' : ''}
129
- const middlewareOptions = ${getMiddlewareOptions()}
130
- ${options.requireAuth ? 'middlewareStack.push({ name: "auth", func: authMiddleware });' : ''}
131
- ${generateMiddlewarePushes(options)}
132
- ${(options.authority?.length > 0 || options.extraPermissions?.length > 0) ?
133
- 'middlewareStack.push({ name: "lifecycle", func: lifecycleMiddleware });\n' : ''}
134
- ${options.authority?.length > 0 ? 'middlewareStack.push({ name: "permission", func: permissionMiddleware });\n' : ''}
135
- ${options.resourceUri ? 'middlewareStack.push({ name: "configurations", func: configurationMiddleware });\n' : ''}
136
- const paramsFromOptions = ${options.resourceUri
137
- ? `{ resourceUri: '${resourceUri}', configurations: ${JSON.stringify(configurations ?? [])} }\n`
138
- : '{}'};
139
- ${hasMiddleware
140
- ? 'let middlewareData = {};\n' +
141
- ' if (middlewareStack.length > 0) {\n' +
142
- ' middlewareData = await loaderWithMiddleware({...paramsFromOptions, ...params}, middlewareOptions, middlewareStack) || {};\n' +
143
- ' }\n' +
144
- ' let { permissions = null, configurations = null, ...rest } = middlewareData;\n'
145
- : ''}
146
- let hasPermissions = true;
147
- let loaderErrors = [];
148
- ${generateHasPermission(options)}
149
- const defaultLoaderResult = ${hasQueries ? `hasPermissions ? await withErrorHandler(defaultServerLoader, params) : { data: {}, errors: [] };\n
150
- loaderErrors = defaultLoaderResult.errors` : '{ data: {}, errors: [] }'};
151
- const defaultLoaderData = defaultLoaderResult.data;
152
- ${options.requireAuth
153
- ? 'if (middlewareData.userId) { params.context = params.context || {}; params.context.userId = middlewareData.userId; }\n'
154
- : ''}
155
- ${options.hasLoader && options.loaderReturnInfo?.keys?.length > 0
156
- ? `let loaderResult = hasPermissions && await withErrorHandler(loaderFunc, params) || { data: [], errors: [] };\n
157
- let loaderData = loaderResult.data || [];\n
158
- loaderErrors = loaderResult?.errors;\n
159
- ${options.loaderReturnInfo.hasOptions ? 'let respondOptions = loaderResult.options || null;' : ''}`
160
- : options.hasLoader
161
- ? `let loaderData = hasPermissions && await withErrorHandler(loaderFunc, params) || { data: [], errors: [] };\n
162
- loaderErrors = loaderData?.errors;\n`
163
- : ''}
164
-
165
-
166
- ${generateLoaderReturnLogic(options)}
167
- ${generateReturnStatement(options, hasMiddleware)}
168
- }`;
169
- return sourceExport;
170
- }
171
- const generateClientLoader = ({ queries }) => {
172
- if (Object.keys(queries ?? {}).length === 0) {
173
- return '';
174
- }
175
- return `
176
- const defaultClientLoader = async ({params, serverLoader})=>{
177
- const client = window.__CLIENT_SERVICE__?.apolloClient;
178
- const container = window.__CLIENT_SERVICE__?.container
179
-
180
- try {
181
- const getKey = (documentName:string)=> camelCase(documentName).replace('Document','')
182
-
183
-
184
- const queries = ${Object.entries(queries).reduce((acc, [key, value], index) => {
185
- const formattedValue = value.includes('queryParamsGenerator_')
186
- ? `queryGeneratorFunc(params).${value.split('queryParamsGenerator_')[1]}`
187
- : value;
188
- return `${acc}${key}:${formattedValue}${index + 1 === Object.keys(queries).length ? '}' : ','}`;
189
- }, '{')};
190
-
191
- const queryKeys: string[] = [${Object.keys(queries)
192
- .map((key) => lodashEs.camelCase(key.replace('Get', '')).replace('Document', 'Query'))
193
- .map((key) => `'${key}'`)}]
194
- let shouldCallServerLoader = false;
195
- let response = {};
196
- let cachedData, cacheKey;
197
- ${Object.keys(queries)
198
- .map((queryDoc, index) => `
199
- cachedData = client.cache.readQuery({
200
- query: ${queryDoc},
201
- variables: queries['${queryDoc}'],
202
- });
203
- cacheKey = getKey('${queryDoc}');
204
- if(!cachedData){
205
- shouldCallServerLoader = true;
206
- }
207
- if(cachedData && cachedData[cacheKey]){
208
- response[queryKeys[${index}]] = Promise.resolve(cachedData[cacheKey]);
209
- }
210
- `)
211
- .join('')}
212
- if(!shouldCallServerLoader) return response;
213
- const serverData = await serverLoader();
214
-
215
- if(serverData?.errors?.length){
216
- const store = container.get(ClientTypes.ReduxStore)
217
-
218
- serverData?.errors?.map((error)=>{
219
- store.dispatch(error)
220
- })
221
- }
222
-
223
- let queryKey;
224
- ${Object.keys(queries)
225
- .map((queryDoc, index) => `
226
- queryKey = queryKeys[${index}];
227
- if(!serverData[queryKey].then){
228
- return;
229
- }
230
- serverData[queryKey].then(({ data }) => {
231
- client.cache.writeQuery({
232
- query: ${queryDoc},
233
- variables: queries['${queryDoc}'],
234
- data,
235
- })
236
- })
237
- `)
238
- .join('')}
239
- return serverData;
240
-
241
- }catch(err){
242
- console.error('Error in defaultClientLoader',err);
243
- }
244
- }`;
245
- };exports.generateClientLoader=generateClientLoader;exports.generateHasPermission=generateHasPermission;exports.generateLoaderExports=generateLoaderExports;exports.generateReturnStatement=generateReturnStatement;exports.generateServerLoader=generateServerLoader;//# sourceMappingURL=loaderGenerator.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loaderGenerator.cjs","sources":["../../src/vite-wrappers/loaderGenerator.ts"],"sourcesContent":[null],"names":["camelCase"],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- import { IOptions } from '../interfaces/types';
2
- export declare function internalOptions(options: any): any;
3
- export declare const generateServerLoader: ({ queries }: Pick<IOptions, "queries">) => string;
4
- /**
5
- * if loaderReturnInfo.keys is empty and hasMiddleware is false, return loaderData otherwise
6
- * if loaderReturnInfo.keys is not empty, return an object with the keys and values from loaderData wrapped with the loaderReturnInfo.returnType.
7
- * Also if we have the hasMiddleware flag, include the permissions and dataContext in the object. Also if we have the respondOptions flag, include the respondOptions in the object.
8
- * Also if we have the options.queries object, include the defaultLoaderData in the object.
9
- * If options.queries is not empty, return an object with wrapped with `defer`. Include middleware if it exists. Include respondOptions if it exists.
10
- * if loaderReturnInfo.keys is empty and hasMiddleware is true or false, but has options.queries objects then return defaultLoaderData
11
- * if its a resource route and isResourceRoute is true then return an object with the keys and values from loaderData wrapped around `json`.
12
- * @param options
13
- * @returns
14
- */
15
- export declare function generateReturnStatement(options: IOptions, hasMiddleware: boolean): string;
16
- export declare function generateHasPermission(options: IOptions, isClient?: boolean): string;
17
- export declare function generateLoaderExports(sourceExport: string, options: IOptions, hasMiddleware?: boolean, hasQueries?: boolean): string;
18
- export declare const generateClientLoader: ({ queries }: Pick<IOptions, "queries">) => string;
@@ -1,245 +0,0 @@
1
- import {camelCase}from'lodash-es';const generateDeferKey = (key) => camelCase(key.replace('Get', '')).replace('Document', 'Query');
2
- const generateServerLoader = ({ queries }) => {
3
- if (Object.keys(queries ?? {}).length === 0) {
4
- return '';
5
- }
6
- return `
7
- export const defaultServerLoader = async ({ context, params }) => {
8
- const { apolloClient: client } = context;
9
- const queries = ${Object.entries(queries).reduce((acc, [key, value], index) => {
10
- const formattedValue = value.includes('queryParamsGenerator_')
11
- ? `queryGeneratorFunc(params).${value.split('queryParamsGenerator_')[1]}`
12
- : value;
13
- return `${acc}${key}:${formattedValue}${index + 1 === Object.keys(queries).length ? '}' : ','}`;
14
- }, '{')};
15
- ${Object.keys(queries)
16
- .map((queryDoc) => `
17
- const ${generateDeferKey(queryDoc)} = client.query({
18
- query: ${queryDoc},
19
- variables: queries['${queryDoc}'],
20
- fetchPolicy: __SERVER__ ? 'network-only' : 'cache-first',
21
- });
22
- `)
23
- .join('')}
24
-
25
- return {
26
- data: {
27
- ${Object.keys(queries).map(generateDeferKey)}
28
- }
29
- };
30
- };
31
- `;
32
- };
33
- function generateLoaderReturnLogic(options) {
34
- if (options.loaderReturnInfo?.keys?.length > 0) {
35
- // Create deferred objects by directly assigning each key to its corresponding index in loaderData
36
- const deferredAssignments = options.loaderReturnInfo?.keys
37
- .map((key, index) => ` returnObject['${key}'] = loaderData[${index}];`)
38
- .join('\n ');
39
- return `
40
- const returnObject = {};
41
- if (hasPermissions) {
42
- ${deferredAssignments}
43
- }
44
- `;
45
- }
46
- return '';
47
- }
48
- /**
49
- * if loaderReturnInfo.keys is empty and hasMiddleware is false, return loaderData otherwise
50
- * if loaderReturnInfo.keys is not empty, return an object with the keys and values from loaderData wrapped with the loaderReturnInfo.returnType.
51
- * Also if we have the hasMiddleware flag, include the permissions and dataContext in the object. Also if we have the respondOptions flag, include the respondOptions in the object.
52
- * Also if we have the options.queries object, include the defaultLoaderData in the object.
53
- * If options.queries is not empty, return an object with wrapped with `defer`. Include middleware if it exists. Include respondOptions if it exists.
54
- * if loaderReturnInfo.keys is empty and hasMiddleware is true or false, but has options.queries objects then return defaultLoaderData
55
- * if its a resource route and isResourceRoute is true then return an object with the keys and values from loaderData wrapped around `json`.
56
- * @param options
57
- * @returns
58
- */
59
- function generateReturnStatement(options, hasMiddleware) {
60
- const { loaderReturnInfo, isResourceRoute, queries, hasLoader } = options;
61
- const hasQueries = Object.keys(queries ?? {}).length > 0;
62
- const responseKey = isResourceRoute ? 'json' : loaderReturnInfo?.keys?.length > 0 || hasQueries ? 'defer' : loaderReturnInfo?.returnType || '';
63
- const defaultLoaderData = hasQueries ? 'defaultLoaderData' : '{}';
64
- const middlewareData = hasMiddleware ? '{ permissions, dataContext: rest, configurations }' : '{}';
65
- const respondOptions = loaderReturnInfo?.hasOptions ? 'respondOptions' : '';
66
- if (loaderReturnInfo?.keys?.length > 0) {
67
- return `return ${responseKey}({
68
- ...returnObject,
69
- ...${defaultLoaderData},
70
- ...${middlewareData},
71
- errors: loaderErrors
72
- }${respondOptions ? `, ${respondOptions}` : ''});`;
73
- }
74
- if (hasLoader && !hasMiddleware && !hasQueries) {
75
- return 'return loaderData;';
76
- }
77
- const loaderDataSpread = hasLoader ? '...loaderData, ' : '';
78
- return `return ${responseKey}({
79
- ${loaderDataSpread}
80
- ...${defaultLoaderData},
81
- ...${middlewareData},
82
- errors: loaderErrors
83
- }${respondOptions ? `, ${respondOptions}` : ''});`;
84
- }
85
- function generateMiddlewarePushes(options) {
86
- return (options.middlewares ?? [])
87
- ?.map((_, index) => `middlewareStack.push({ name: "middleware${index + 1}", func: middleware${index + 1} });`)
88
- .join('\n');
89
- }
90
- function generateHasPermission(options, isClient = false) {
91
- const hasLoader = isClient ? options.hasClientLoader : options.hasLoader;
92
- let generates = '';
93
- if (options.authority?.length > 0 || options.extraPermissions?.length > 0) {
94
- generates = `
95
- if (permissions !== null) {
96
- // Filter permissions based on authority keys
97
- const permissionKeys = ${JSON.stringify(options.authority)} || [];
98
- let extraPermissions = ${JSON.stringify(options.extraPermissions)} || [];
99
- extraPermissions = permissionKeys.concat(extraPermissions);
100
- permissions = {
101
- resolveConfiguration: pick(permissions?.resolveConfiguration, extraPermissions)
102
- };
103
- `;
104
- if (hasLoader) {
105
- generates += `
106
- hasPermissions = permissionKeys.some(key => ['Allow'].includes(get(permissions.resolveConfiguration, key)));
107
- `;
108
- }
109
- generates += `}`;
110
- }
111
- return generates;
112
- }
113
- function generateLoaderExports(sourceExport = '', options, hasMiddleware = false, hasQueries = false) {
114
- if (hasQueries) {
115
- sourceExport += generateServerLoader(options);
116
- // options = internalOptions(options); // Mutating the options object to add the loaderReturnInfo object
117
- }
118
- const getMiddlewareOptions = () => {
119
- if (options.requireAuth) {
120
- const val = typeof options.authStrategy === 'boolean' ? options.authStrategy : `'${options.authStrategy}'`;
121
- return `{authStrategy: ${val}}`;
122
- }
123
- return '{}';
124
- };
125
- const { resourceUri, configurations } = options;
126
- sourceExport += `
127
- export async function loader(params) {
128
- ${hasMiddleware ? 'const middlewareStack = [];' : ''}
129
- const middlewareOptions = ${getMiddlewareOptions()}
130
- ${options.requireAuth ? 'middlewareStack.push({ name: "auth", func: authMiddleware });' : ''}
131
- ${generateMiddlewarePushes(options)}
132
- ${(options.authority?.length > 0 || options.extraPermissions?.length > 0) ?
133
- 'middlewareStack.push({ name: "lifecycle", func: lifecycleMiddleware });\n' : ''}
134
- ${options.authority?.length > 0 ? 'middlewareStack.push({ name: "permission", func: permissionMiddleware });\n' : ''}
135
- ${options.resourceUri ? 'middlewareStack.push({ name: "configurations", func: configurationMiddleware });\n' : ''}
136
- const paramsFromOptions = ${options.resourceUri
137
- ? `{ resourceUri: '${resourceUri}', configurations: ${JSON.stringify(configurations ?? [])} }\n`
138
- : '{}'};
139
- ${hasMiddleware
140
- ? 'let middlewareData = {};\n' +
141
- ' if (middlewareStack.length > 0) {\n' +
142
- ' middlewareData = await loaderWithMiddleware({...paramsFromOptions, ...params}, middlewareOptions, middlewareStack) || {};\n' +
143
- ' }\n' +
144
- ' let { permissions = null, configurations = null, ...rest } = middlewareData;\n'
145
- : ''}
146
- let hasPermissions = true;
147
- let loaderErrors = [];
148
- ${generateHasPermission(options)}
149
- const defaultLoaderResult = ${hasQueries ? `hasPermissions ? await withErrorHandler(defaultServerLoader, params) : { data: {}, errors: [] };\n
150
- loaderErrors = defaultLoaderResult.errors` : '{ data: {}, errors: [] }'};
151
- const defaultLoaderData = defaultLoaderResult.data;
152
- ${options.requireAuth
153
- ? 'if (middlewareData.userId) { params.context = params.context || {}; params.context.userId = middlewareData.userId; }\n'
154
- : ''}
155
- ${options.hasLoader && options.loaderReturnInfo?.keys?.length > 0
156
- ? `let loaderResult = hasPermissions && await withErrorHandler(loaderFunc, params) || { data: [], errors: [] };\n
157
- let loaderData = loaderResult.data || [];\n
158
- loaderErrors = loaderResult?.errors;\n
159
- ${options.loaderReturnInfo.hasOptions ? 'let respondOptions = loaderResult.options || null;' : ''}`
160
- : options.hasLoader
161
- ? `let loaderData = hasPermissions && await withErrorHandler(loaderFunc, params) || { data: [], errors: [] };\n
162
- loaderErrors = loaderData?.errors;\n`
163
- : ''}
164
-
165
-
166
- ${generateLoaderReturnLogic(options)}
167
- ${generateReturnStatement(options, hasMiddleware)}
168
- }`;
169
- return sourceExport;
170
- }
171
- const generateClientLoader = ({ queries }) => {
172
- if (Object.keys(queries ?? {}).length === 0) {
173
- return '';
174
- }
175
- return `
176
- const defaultClientLoader = async ({params, serverLoader})=>{
177
- const client = window.__CLIENT_SERVICE__?.apolloClient;
178
- const container = window.__CLIENT_SERVICE__?.container
179
-
180
- try {
181
- const getKey = (documentName:string)=> camelCase(documentName).replace('Document','')
182
-
183
-
184
- const queries = ${Object.entries(queries).reduce((acc, [key, value], index) => {
185
- const formattedValue = value.includes('queryParamsGenerator_')
186
- ? `queryGeneratorFunc(params).${value.split('queryParamsGenerator_')[1]}`
187
- : value;
188
- return `${acc}${key}:${formattedValue}${index + 1 === Object.keys(queries).length ? '}' : ','}`;
189
- }, '{')};
190
-
191
- const queryKeys: string[] = [${Object.keys(queries)
192
- .map((key) => camelCase(key.replace('Get', '')).replace('Document', 'Query'))
193
- .map((key) => `'${key}'`)}]
194
- let shouldCallServerLoader = false;
195
- let response = {};
196
- let cachedData, cacheKey;
197
- ${Object.keys(queries)
198
- .map((queryDoc, index) => `
199
- cachedData = client.cache.readQuery({
200
- query: ${queryDoc},
201
- variables: queries['${queryDoc}'],
202
- });
203
- cacheKey = getKey('${queryDoc}');
204
- if(!cachedData){
205
- shouldCallServerLoader = true;
206
- }
207
- if(cachedData && cachedData[cacheKey]){
208
- response[queryKeys[${index}]] = Promise.resolve(cachedData[cacheKey]);
209
- }
210
- `)
211
- .join('')}
212
- if(!shouldCallServerLoader) return response;
213
- const serverData = await serverLoader();
214
-
215
- if(serverData?.errors?.length){
216
- const store = container.get(ClientTypes.ReduxStore)
217
-
218
- serverData?.errors?.map((error)=>{
219
- store.dispatch(error)
220
- })
221
- }
222
-
223
- let queryKey;
224
- ${Object.keys(queries)
225
- .map((queryDoc, index) => `
226
- queryKey = queryKeys[${index}];
227
- if(!serverData[queryKey].then){
228
- return;
229
- }
230
- serverData[queryKey].then(({ data }) => {
231
- client.cache.writeQuery({
232
- query: ${queryDoc},
233
- variables: queries['${queryDoc}'],
234
- data,
235
- })
236
- })
237
- `)
238
- .join('')}
239
- return serverData;
240
-
241
- }catch(err){
242
- console.error('Error in defaultClientLoader',err);
243
- }
244
- }`;
245
- };export{generateClientLoader,generateHasPermission,generateLoaderExports,generateReturnStatement,generateServerLoader};//# sourceMappingURL=loaderGenerator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loaderGenerator.js","sources":["../../src/vite-wrappers/loaderGenerator.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}