jostraca 0.20.1 → 0.21.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.
@@ -138,6 +138,7 @@ class FileHandler {
138
138
  }
139
139
  }
140
140
  else if (existing.merge) {
141
+ // console.log('EXISTING:', oldcontent.length, content.length, oldcontent === content)
141
142
  if (oldcontent.length !== content.length || oldcontent !== content) {
142
143
  const cstr = 'string' === typeof content ? content : content.toString('utf8');
143
144
  if (this.control.duplicate) {
@@ -209,42 +210,73 @@ class FileHandler {
209
210
  const content = this.loadFile(frompath, { encoding: isBinary ? null : 'utf8' }, whence);
210
211
  this.save(topath, content, whence);
211
212
  }
212
- // TODO: need to record if diffed, merged
213
213
  merge(newcontent, oldcontent, origcontent) {
214
- const isowhen = new Date(this.when).toISOString();
215
- const isolast = new Date(this.last()).toISOString();
216
- // Consider the previously generated pure version, stored in
217
- // .jostraca/generated to be the "original". That preserves
218
- // manual edits in the main generated output.
219
- const diffres = Diff3.merge(oldcontent, origcontent, newcontent, {
220
- // stringSeparator: '\n',
221
- stringSeparator: /\r?\n/,
222
- excludeFalseConflicts: true,
223
- label: {
224
- a: 'EXISTING: ' + isolast + '/merge',
225
- b: 'GENERATED: ' + isowhen + '/merge',
226
- }
227
- });
228
- // if (oldcontent.includes('foo js')) {
229
- // console.log(
230
- // 'DIFF======',
231
- // '\no=', JSON.stringify(oldcontent),
232
- // '\ng=', JSON.stringify(origcontent),
233
- // '\nn=', JSON.stringify(newcontent),
234
- // diffres
235
- // )
236
- // }
237
- // console.log('%%%%%%%%%%%', {
238
- // oldcontent,
239
- // origcontent,
240
- // newcontent,
241
- // })
242
- // console.log(diffres)
243
- const conflict = diffres.conflict;
244
- const content = diffres.result.join('\n');
245
- return { content, conflict };
214
+ const out = { content: oldcontent, conflict: false };
215
+ let done = false;
216
+ let why = 'same';
217
+ // Only merge if needed
218
+ if (origcontent.length === newcontent.length &&
219
+ origcontent === newcontent) {
220
+ done = true;
221
+ }
222
+ // Don't stack conflicts
223
+ if (oldcontent.includes('<<<<<<< EXISTING:')
224
+ || oldcontent.includes('<<<<<<< GENERATED:')) {
225
+ why = 'unresolved';
226
+ done = true;
227
+ // TODO: should this be a error, or collected?
228
+ }
229
+ if (!done) {
230
+ why = 'merge';
231
+ const isowhen = new Date(this.when).toISOString();
232
+ const isolast = new Date(this.last()).toISOString();
233
+ // Consider the previously generated pure version, stored in
234
+ // .jostraca/generated to be the "original". That preserves
235
+ // manual edits in the main generated output.
236
+ const diffres = Diff3.merge(oldcontent, origcontent, newcontent, {
237
+ // stringSeparator: '\n',
238
+ stringSeparator: /\r?\n/,
239
+ excludeFalseConflicts: true,
240
+ label: {
241
+ a: 'EXISTING: ' + isolast + '/merge',
242
+ b: 'GENERATED: ' + isowhen + '/merge',
243
+ }
244
+ });
245
+ // if (oldcontent.includes('foo js')) {
246
+ // console.log(
247
+ // 'DIFF======',
248
+ // '\no=', JSON.stringify(oldcontent),
249
+ // '\ng=', JSON.stringify(origcontent),
250
+ // '\nn=', JSON.stringify(newcontent),
251
+ // diffres
252
+ // )
253
+ // }
254
+ // console.log('%%%%%%%%%%%', {
255
+ // oldcontent,
256
+ // origcontent,
257
+ // newcontent,
258
+ // })
259
+ // console.log(diffres)
260
+ const conflict = diffres.conflict;
261
+ const content = diffres.result.join('\n');
262
+ out.content = content;
263
+ out.conflict = conflict;
264
+ }
265
+ // console.log(
266
+ // 'MERGE: ', why, '\n',
267
+ // 'OLD:', oldcontent,
268
+ // 'RIG:', origcontent,
269
+ // 'NEW:', newcontent,
270
+ // 'OUT:', out.content,
271
+ // )
272
+ return out;
246
273
  }
247
274
  diff(oldcontent, newcontent) {
275
+ // Only diff if needed
276
+ if (oldcontent.length === newcontent.length &&
277
+ oldcontent === newcontent) {
278
+ return newcontent;
279
+ }
248
280
  const isowhen = new Date(this.when).toISOString();
249
281
  const isolast = new Date(this.last()).toISOString();
250
282
  const difflines = Diff.diffLines(newcontent, oldcontent);
@@ -1 +1 @@
1
- {"version":3,"file":"FileHandler.js","sourceRoot":"","sources":["../../src/build/FileHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FileHandler.js","sourceRoot":"","sources":["../../src/build/FileHandler.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jostraca",
3
- "version": "0.20.1",
3
+ "version": "0.21.0",
4
4
  "main": "dist/jostraca.js",
5
5
  "type": "commonjs",
6
6
  "types": "dist/jostraca.d.ts",
@@ -218,6 +218,7 @@ class FileHandler {
218
218
  }
219
219
  }
220
220
  else if (existing.merge) {
221
+ // console.log('EXISTING:', oldcontent.length, content.length, oldcontent === content)
221
222
  if (oldcontent.length !== content.length || oldcontent !== content) {
222
223
  const cstr = 'string' === typeof content ? content : content.toString('utf8')
223
224
 
@@ -309,8 +310,6 @@ class FileHandler {
309
310
  }
310
311
 
311
312
 
312
- // TODO: need to record if diffed, merged
313
-
314
313
  merge(
315
314
  newcontent: string,
316
315
  oldcontent: string,
@@ -318,46 +317,91 @@ class FileHandler {
318
317
  content: string,
319
318
  conflict: boolean
320
319
  } {
321
- const isowhen = new Date(this.when).toISOString()
322
- const isolast = new Date(this.last()).toISOString()
323
320
 
324
- // Consider the previously generated pure version, stored in
325
- // .jostraca/generated to be the "original". That preserves
326
- // manual edits in the main generated output.
327
- const diffres = Diff3.merge(oldcontent, origcontent, newcontent, {
328
- // stringSeparator: '\n',
329
- stringSeparator: /\r?\n/,
330
- excludeFalseConflicts: true,
331
- label: {
332
- a: 'EXISTING: ' + isolast + '/merge',
333
- b: 'GENERATED: ' + isowhen + '/merge',
334
- }
335
- })
336
321
 
337
- // if (oldcontent.includes('foo js')) {
338
- // console.log(
339
- // 'DIFF======',
340
- // '\no=', JSON.stringify(oldcontent),
341
- // '\ng=', JSON.stringify(origcontent),
342
- // '\nn=', JSON.stringify(newcontent),
343
- // diffres
344
- // )
345
- // }
346
-
347
- // console.log('%%%%%%%%%%%', {
348
- // oldcontent,
349
- // origcontent,
350
- // newcontent,
351
- // })
352
- // console.log(diffres)
353
-
354
- const conflict = diffres.conflict
355
- const content = diffres.result.join('\n')
356
- return { content, conflict }
322
+ const out = { content: oldcontent, conflict: false }
323
+ let done = false
324
+ let why = 'same'
325
+
326
+ // Only merge if needed
327
+ if (origcontent.length === newcontent.length &&
328
+ origcontent === newcontent
329
+ ) {
330
+ done = true
331
+ }
332
+
333
+ // Don't stack conflicts
334
+ if (oldcontent.includes('<<<<<<< EXISTING:')
335
+ || oldcontent.includes('<<<<<<< GENERATED:')) {
336
+ why = 'unresolved'
337
+ done = true
338
+ // TODO: should this be a error, or collected?
339
+ }
340
+
341
+
342
+ if (!done) {
343
+ why = 'merge'
344
+ const isowhen = new Date(this.when).toISOString()
345
+ const isolast = new Date(this.last()).toISOString()
346
+
347
+ // Consider the previously generated pure version, stored in
348
+ // .jostraca/generated to be the "original". That preserves
349
+ // manual edits in the main generated output.
350
+ const diffres = Diff3.merge(oldcontent, origcontent, newcontent, {
351
+ // stringSeparator: '\n',
352
+ stringSeparator: /\r?\n/,
353
+ excludeFalseConflicts: true,
354
+ label: {
355
+ a: 'EXISTING: ' + isolast + '/merge',
356
+ b: 'GENERATED: ' + isowhen + '/merge',
357
+ }
358
+ })
359
+
360
+ // if (oldcontent.includes('foo js')) {
361
+ // console.log(
362
+ // 'DIFF======',
363
+ // '\no=', JSON.stringify(oldcontent),
364
+ // '\ng=', JSON.stringify(origcontent),
365
+ // '\nn=', JSON.stringify(newcontent),
366
+ // diffres
367
+ // )
368
+ // }
369
+
370
+ // console.log('%%%%%%%%%%%', {
371
+ // oldcontent,
372
+ // origcontent,
373
+ // newcontent,
374
+ // })
375
+ // console.log(diffres)
376
+
377
+ const conflict = diffres.conflict
378
+ const content = diffres.result.join('\n')
379
+
380
+ out.content = content
381
+ out.conflict = conflict
382
+ }
383
+
384
+ // console.log(
385
+ // 'MERGE: ', why, '\n',
386
+ // 'OLD:', oldcontent,
387
+ // 'RIG:', origcontent,
388
+ // 'NEW:', newcontent,
389
+ // 'OUT:', out.content,
390
+ // )
391
+
392
+
393
+ return out
357
394
  }
358
395
 
359
396
 
360
397
  diff(oldcontent: string, newcontent: string): string {
398
+
399
+ // Only diff if needed
400
+ if (oldcontent.length === newcontent.length &&
401
+ oldcontent === newcontent) {
402
+ return newcontent
403
+ }
404
+
361
405
  const isowhen = new Date(this.when).toISOString()
362
406
  const isolast = new Date(this.last()).toISOString()
363
407