@solidstarters/solid-code-builder 1.0.18 → 1.0.19

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.
@@ -156,11 +156,38 @@ function addImports(tree, filePath, imports) {
156
156
  tree.commitUpdate(updateRecorder);
157
157
  }
158
158
  function safeApplyChanges(tree, moduleName, filePath, changes, generateChecksum = false) {
159
- // De-duplicate changes which have the same description
160
- const uniqueChanges = changes.filter((item, index, self) => index === self.findIndex((c) => c.description === item.description));
161
- applyChanges(tree, filePath, uniqueChanges);
159
+ const uniqueChanges = deDuplicateByDescription(changes);
160
+ // Get all the insert changes
161
+ const insertChanges = uniqueChanges.filter((change) => change instanceof change_1.InsertChange);
162
+ // Get all the replace and remove changes
163
+ const replaceAndRemoveChanges = uniqueChanges.filter((change) => change instanceof FieldManager_1.ReplaceChangeSSS || change instanceof FieldManager_1.RemoveChangeSSS);
164
+ const { replaceChangesArray, removeChangesArray } = deDuplicateByPosition(replaceAndRemoveChanges);
165
+ const safeChanges = [...insertChanges, ...replaceChangesArray, ...removeChangesArray];
166
+ applyChanges(tree, filePath, safeChanges);
162
167
  generateChecksum ? handleUpdateChecksums(tree, moduleName, filePath) : "no-ops";
163
168
  }
169
+ function deDuplicateByDescription(changes) {
170
+ return changes.filter((item, index, self) => index === self.findIndex((c) => c.description === item.description));
171
+ }
172
+ // if there are multiple replace changes for the same position, then only the last replace change will be applied
173
+ function deDuplicateByPosition(replaceAndRemoveChanges) {
174
+ const replaceChanges = replaceAndRemoveChanges.filter((change) => change instanceof FieldManager_1.ReplaceChangeSSS);
175
+ // de-duplicate the replace changes in the same position, using the last replace change
176
+ const replaceChangesMap = new Map();
177
+ replaceChanges.forEach((change) => {
178
+ replaceChangesMap.set(change.replacePosition, change);
179
+ });
180
+ const replaceChangesArray = Array.from(replaceChangesMap.values());
181
+ // if there are multiple replace changes for the same position, then only the last replace change will be applied
182
+ const removeChanges = replaceAndRemoveChanges.filter((change) => change instanceof FieldManager_1.RemoveChangeSSS);
183
+ // de-duplicate the remove changes in the same position, using the last remove change
184
+ const removeChangesMap = new Map();
185
+ removeChanges.forEach((change) => {
186
+ removeChangesMap.set(change.removePosition, change);
187
+ });
188
+ const removeChangesArray = Array.from(removeChangesMap.values());
189
+ return { replaceChangesArray, removeChangesArray };
190
+ }
164
191
  function generateMD5Hash(input) {
165
192
  return crypto.createHash('md5').update(input).digest('hex');
166
193
  }
@@ -269,7 +296,7 @@ function updateField(tree, options, field) {
269
296
  }
270
297
  }
271
298
  function applyFieldChanges(tree, moduleName, fieldChanges, generateChecksum = false) {
272
- // Collect the changes file wise into a map
299
+ // Collect the changes file wise into a map, i.e all changes related to a file get applied together
273
300
  const changesMap = new Map();
274
301
  fieldChanges.forEach((fieldChange) => {
275
302
  var _a;
@@ -277,7 +304,7 @@ function applyFieldChanges(tree, moduleName, fieldChanges, generateChecksum = fa
277
304
  changes.push(...fieldChange.changes);
278
305
  changesMap.set(fieldChange.filePath, changes);
279
306
  });
280
- //Apply the changes to the entity file
307
+ //Apply the changes to the file
281
308
  changesMap.forEach((changes, filePath) => {
282
309
  safeApplyChanges(tree, moduleName, filePath, changes, generateChecksum);
283
310
  });
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../src/code-builder/lib/model/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../src/code-builder/lib/model/helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ diff --git a/src/code-builder/lib/field/field-managers/base/BaseFieldManagerForDto.ts b/src/code-builder/lib/field/field-managers/base/BaseFieldManagerForDto.ts
2
+ index 7809d32..3ca4f0b 100644
3
+ --- a/src/code-builder/lib/field/field-managers/base/BaseFieldManagerForDto.ts
4
+ +++ b/src/code-builder/lib/field/field-managers/base/BaseFieldManagerForDto.ts
5
+ @@ -88,7 +88,7 @@ export abstract class BaseFieldManagerForDto implements FieldManager {
6
+
7
+ removeField(): FieldChange[] {
8
+ const fieldChanges: FieldChange[] = [];
9
+ - console.log(`Dto removeField ${this.fieldName()} called ...`);
10
+ + console.log(`${this.options.sourceType} Dto removeField ${this.fieldName()} called ...`);
11
+ fieldChanges.push(this.removeFieldFor(this.fieldName(), this.source));
12
+ if (this.isAdditionalFieldRequired()) {
13
+ fieldChanges.push(...this.removeAdditionalField());
14
+ @@ -288,7 +288,7 @@ export abstract class BaseFieldManagerForDto implements FieldManager {
15
+ updateField(): FieldChange[] {
16
+ const fieldChanges: FieldChange[] = [];
17
+
18
+ - console.log(`\ncreate Dto updateField ${this.fieldName()} called ...`);
19
+ + console.log(`\n${this.options.sourceType} Dto updateField ${this.fieldName()} called ...`);
20
+
21
+ const fieldName = this.fieldName();
22
+ const fieldType = this.fieldType().node(this.field);
23
+ @@ -307,11 +307,13 @@ export abstract class BaseFieldManagerForDto implements FieldManager {
24
+ // Get the related field property declaration node
25
+ fieldChanges.push(...this.addOrUpdateAdditionalField()); // TODO This needs to be refactored and renamed to updateAdditionalField, since it is confusing
26
+ }
27
+ - else {
28
+ - // fieldChanges.push(this.removeAdditionalField()); //FIXME temporary fix, to check update module command
29
+ - }
30
+
31
+ - return fieldChanges;
32
+ + // Since updateFieldInternal updates the class node, and additional field updates are done on the updated class node, need to only use the latest field change
33
+ + const latestFieldChange = fieldChanges.pop();
34
+ + if (!latestFieldChange) {
35
+ + throw new Error(`Field change not found for field ${this.fieldName()}`);
36
+ + }
37
+ + return [latestFieldChange];
38
+ }
39
+
40
+ protected addAdditionalField(): FieldChange[] {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@solidstarters/solid-code-builder",
3
- "version": "1.0.18",
3
+ "version": "1.0.19",
4
4
  "description": "This package is use to generate code for the @solidstarters projects",
5
5
  "private": false,
6
6
  "publishConfig": {
@@ -169,14 +169,48 @@ function safeApplyChanges(
169
169
  changes: Change[],
170
170
  generateChecksum: boolean=false
171
171
  ) {
172
- // De-duplicate changes which have the same description
173
- const uniqueChanges = changes.filter((item, index, self) =>
174
- index === self.findIndex((c) => c.description === item.description)
172
+ const uniqueChanges = deDuplicateByDescription(changes);
173
+
174
+ // Get all the insert changes
175
+ const insertChanges = uniqueChanges.filter((change) => change instanceof InsertChange);
176
+
177
+ // Get all the replace and remove changes
178
+ const replaceAndRemoveChanges = uniqueChanges.filter(
179
+ (change) => change instanceof ReplaceChangeSSS || change instanceof RemoveChangeSSS
175
180
  );
176
- applyChanges(tree, filePath, uniqueChanges)
181
+ const { replaceChangesArray, removeChangesArray } = deDuplicateByPosition(replaceAndRemoveChanges);
182
+
183
+ const safeChanges = [...insertChanges, ...replaceChangesArray, ...removeChangesArray];
184
+ applyChanges(tree, filePath, safeChanges)
177
185
  generateChecksum ? handleUpdateChecksums(tree, moduleName, filePath) : "no-ops";
178
186
  }
179
187
 
188
+ function deDuplicateByDescription(changes: Change[]) {
189
+ return changes.filter((item, index, self) => index === self.findIndex((c) => c.description === item.description)
190
+ );
191
+ }
192
+
193
+ // if there are multiple replace changes for the same position, then only the last replace change will be applied
194
+ function deDuplicateByPosition(replaceAndRemoveChanges: Change[]) {
195
+ const replaceChanges = replaceAndRemoveChanges.filter((change) => change instanceof ReplaceChangeSSS);
196
+ // de-duplicate the replace changes in the same position, using the last replace change
197
+ const replaceChangesMap = new Map<number, ReplaceChangeSSS>();
198
+ replaceChanges.forEach((change) => {
199
+ replaceChangesMap.set(change.replacePosition, change);
200
+ });
201
+ const replaceChangesArray = Array.from(replaceChangesMap.values());
202
+
203
+ // if there are multiple replace changes for the same position, then only the last replace change will be applied
204
+ const removeChanges = replaceAndRemoveChanges.filter((change) => change instanceof RemoveChangeSSS);
205
+ // de-duplicate the remove changes in the same position, using the last remove change
206
+ const removeChangesMap = new Map<number, RemoveChangeSSS>();
207
+ removeChanges.forEach((change) => {
208
+ removeChangesMap.set(change.removePosition, change);
209
+ });
210
+ const removeChangesArray = Array.from(removeChangesMap.values());
211
+ return { replaceChangesArray, removeChangesArray };
212
+ }
213
+
180
214
  export function generateMD5Hash(input: string): string {
181
215
  return crypto.createHash('md5').update(input).digest('hex');
182
216
  }
@@ -317,7 +351,7 @@ export function updateField(tree: Tree, options: any, field: any) {
317
351
  }
318
352
 
319
353
  function applyFieldChanges(tree: Tree, moduleName: string, fieldChanges: FieldChange[], generateChecksum: boolean=false) {
320
- // Collect the changes file wise into a map
354
+ // Collect the changes file wise into a map, i.e all changes related to a file get applied together
321
355
  const changesMap = new Map<string, Change[]>();
322
356
  fieldChanges.forEach((fieldChange) => {
323
357
  const changes = changesMap.get(fieldChange.filePath) ?? [];
@@ -325,7 +359,7 @@ function applyFieldChanges(tree: Tree, moduleName: string, fieldChanges: FieldCh
325
359
  changesMap.set(fieldChange.filePath, changes);
326
360
  });
327
361
 
328
- //Apply the changes to the entity file
362
+ //Apply the changes to the file
329
363
  changesMap.forEach((changes, filePath) => {
330
364
  safeApplyChanges(
331
365
  tree,