@stackbit/cms-core 3.0.6 → 3.0.7

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.
@@ -2,10 +2,10 @@ import { GitServiceInterface, GitServicePullListener, GitServicePushListener, Gi
2
2
  import { Worker } from '@stackbit/utils';
3
3
  import { CommandRunner } from '@stackbit/types';
4
4
  export declare class GitService implements GitServiceInterface {
5
- private readonly repoUrl;
5
+ private repoUrl;
6
+ private repoBranch;
7
+ private repoPublishBranch;
6
8
  private readonly repoDir;
7
- private readonly repoBranch;
8
- private readonly repoPublishBranch;
9
9
  private readonly worker;
10
10
  private readonly runCommand;
11
11
  private readonly logger;
@@ -26,8 +26,11 @@ export declare class GitService implements GitServiceInterface {
26
26
  userLogger: Logger;
27
27
  });
28
28
  getRepoUrl(): string;
29
+ setRepoUrl(repoUrl: string): void;
29
30
  getRepoBranch(): string;
31
+ setRepoBranch(repoBranch: string): void;
30
32
  getRepoPublishBranch(): string;
33
+ setRepoPublishBranch(publishBranch: string): void;
31
34
  getRepoDir(): string;
32
35
  addPullListener(listener: GitServicePullListener): void;
33
36
  removePullListener(listener: GitServicePullListener): void;
@@ -48,6 +51,73 @@ export declare class GitService implements GitServiceInterface {
48
51
  private parseGitCommitAuthor;
49
52
  private diffBranches;
50
53
  diff(): Promise<string[]>;
54
+ /**
55
+ * Parse commit log between two branches
56
+ * command: git log --pretty=format:commit:%H%n%at%n%ae%x28%an%x29 --name-status master..preview
57
+ *
58
+ * Every commit entry has the following pattern
59
+ * ```
60
+ * commit:{COMMIT_HASH}
61
+ * {UNIX_TIMESTAMP}
62
+ * {AUTHOR_EMAIL}({AUTHOR_NAME})
63
+ * {OPTIONAL_CHANGES}
64
+ * {OPTIONAL_CHANGES}
65
+ * ```
66
+ *
67
+ * The OPTIONAL_CHANGES can be one of the two following formats:
68
+ * ```
69
+ * CODE PATH
70
+ * CODE ORIG_PATH -> PATH
71
+ * ```
72
+ *
73
+ * The CODE can be one of the following:
74
+ * M - modified
75
+ * T - file type changed (regular file, symbolic link or submodule)
76
+ * A = added
77
+ * D = deleted
78
+ * R = renamed
79
+ * C = copied (if config option status.renames is set to "copies")
80
+ * U = updated but unmerged
81
+ *
82
+ * The ORIG_PATH is where the renamed/copied contents came from.
83
+ * The ORIG_PATH is only shown when the entry is renamed or copied.
84
+ *
85
+ * @example
86
+ * commit:eeb5da951efd67177450340ed1d9f097de1880d1
87
+ * 1725289941
88
+ * john@doe.com(John Doe)
89
+ * R100 content/pages/bar.md content/pages/bar2.md
90
+ *
91
+ * commit:c8e3582f5f5da508d288a704274a79c3c5910c2e
92
+ * 1725289821
93
+ * john@doe.com(John Doe)
94
+ * commit:99ccff89435652b049ff257a97f24ef7e138ecd2
95
+ * 1725289805
96
+ * john@doe.com(John Doe)
97
+ * A content/pages/bar.md
98
+ *
99
+ * commit:1db31aba03eac648c93b5f18d87d555bf77380be
100
+ * 1725288846
101
+ * john@doe.com(John Doe)
102
+ * R071 content/pages/foo.md content/pages/foo2.md
103
+ *
104
+ * commit:eb392a5d1eacff5620bed8e558733bd6f2c4fc51
105
+ * 1725288806
106
+ * john@doe.com(John Doe)
107
+ * commit:9b5dad9e257a506ef3a1da7cbec0d50f0e2a47db
108
+ * 1725288647
109
+ * john@doe.com(John Doe)
110
+ * A content/pages/foo.md
111
+ * D content/pages/hello11.md
112
+ *
113
+ * commit:0adb4e9b3de382f80720d5acc1027f7efb240f14
114
+ * 1725229056
115
+ * john@doe.com(John Doe)
116
+ * commit:81189019c5f6de62525a755333434a40c4ab4d44
117
+ * 1725228656
118
+ * john@doe.com(John Doe)
119
+ * R100 content/pages/hello10.md content/pages/hello11.md
120
+ */
51
121
  commitLog(): Promise<GitCommitLogEntry[]>;
52
122
  }
53
123
  //# sourceMappingURL=git.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/services/git.ts"],"names":[],"mappings":"AAMA,OAAO,EACH,mBAAmB,EACnB,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EACvB,SAAS,EACT,iBAAiB,EACjB,MAAM,EACT,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGzC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAQhD,qBAAa,UAAW,YAAW,mBAAmB;IAClD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgB;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAU;IACpC,OAAO,CAAC,aAAa,CAA2B;IAChD,OAAO,CAAC,aAAa,CAA2B;IAEhD,OAAO,CAAC,aAAa,CAAkB;gBAE3B,OAAO,EAAE;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,aAAa,CAAC;QAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;KACtB;IAeD,UAAU;IAIV,aAAa;IAIb,oBAAoB;IAIpB,UAAU;IAIV,eAAe,CAAC,QAAQ,EAAE,sBAAsB;IAIhD,kBAAkB,CAAC,QAAQ,EAAE,sBAAsB;IAI7C,mBAAmB,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,EAAE,CAAA;KAAE;IAU7E,eAAe,CAAC,QAAQ,EAAE,sBAAsB;IAIhD,kBAAkB,CAAC,QAAQ,EAAE,sBAAsB;IAI7C,mBAAmB;YAUX,MAAM;YAmBN,IAAI;IAgBZ,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,uBAAuB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjF,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAkB5B,UAAU;YAgBV,YAAY;IAwC1B,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAe/D,OAAO,CAAC,oBAAoB;YAiBd,YAAY;IAcpB,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAUzB,SAAS,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;CAiDlD"}
1
+ {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/services/git.ts"],"names":[],"mappings":"AAMA,OAAO,EACH,mBAAmB,EACnB,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EACvB,SAAS,EACT,iBAAiB,EACjB,MAAM,EACT,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAQhD,qBAAa,UAAW,YAAW,mBAAmB;IAClD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgB;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAU;IACpC,OAAO,CAAC,aAAa,CAA2B;IAChD,OAAO,CAAC,aAAa,CAA2B;IAEhD,OAAO,CAAC,aAAa,CAAkB;gBAE3B,OAAO,EAAE;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,aAAa,CAAC;QAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;KACtB;IAeD,UAAU;IAIV,UAAU,CAAC,OAAO,EAAE,MAAM;IAI1B,aAAa;IAIb,aAAa,CAAC,UAAU,EAAE,MAAM;IAIhC,oBAAoB;IAIpB,oBAAoB,CAAC,aAAa,EAAE,MAAM;IAI1C,UAAU;IAIV,eAAe,CAAC,QAAQ,EAAE,sBAAsB;IAIhD,kBAAkB,CAAC,QAAQ,EAAE,sBAAsB;IAI7C,mBAAmB,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,EAAE,CAAA;KAAE;IAU7E,eAAe,CAAC,QAAQ,EAAE,sBAAsB;IAIhD,kBAAkB,CAAC,QAAQ,EAAE,sBAAsB;IAI7C,mBAAmB;YAUX,MAAM;YAmBN,IAAI;IAgBZ,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,uBAAuB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjF,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAkB5B,UAAU;YAgBV,YAAY;IAwC1B,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAe/D,OAAO,CAAC,oBAAoB;YAiBd,YAAY;IAcpB,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAU/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkEG;IACG,SAAS,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;CAsDlD"}
@@ -32,12 +32,21 @@ class GitService {
32
32
  getRepoUrl() {
33
33
  return this.repoUrl;
34
34
  }
35
+ setRepoUrl(repoUrl) {
36
+ this.repoUrl = repoUrl;
37
+ }
35
38
  getRepoBranch() {
36
39
  return this.repoBranch;
37
40
  }
41
+ setRepoBranch(repoBranch) {
42
+ this.repoBranch = repoBranch;
43
+ }
38
44
  getRepoPublishBranch() {
39
45
  return this.repoPublishBranch;
40
46
  }
47
+ setRepoPublishBranch(publishBranch) {
48
+ this.repoPublishBranch = publishBranch;
49
+ }
41
50
  getRepoDir() {
42
51
  return this.repoDir;
43
52
  }
@@ -226,10 +235,77 @@ class GitService {
226
235
  return result;
227
236
  });
228
237
  }
238
+ /**
239
+ * Parse commit log between two branches
240
+ * command: git log --pretty=format:commit:%H%n%at%n%ae%x28%an%x29 --name-status master..preview
241
+ *
242
+ * Every commit entry has the following pattern
243
+ * ```
244
+ * commit:{COMMIT_HASH}
245
+ * {UNIX_TIMESTAMP}
246
+ * {AUTHOR_EMAIL}({AUTHOR_NAME})
247
+ * {OPTIONAL_CHANGES}
248
+ * {OPTIONAL_CHANGES}
249
+ * ```
250
+ *
251
+ * The OPTIONAL_CHANGES can be one of the two following formats:
252
+ * ```
253
+ * CODE PATH
254
+ * CODE ORIG_PATH -> PATH
255
+ * ```
256
+ *
257
+ * The CODE can be one of the following:
258
+ * M - modified
259
+ * T - file type changed (regular file, symbolic link or submodule)
260
+ * A = added
261
+ * D = deleted
262
+ * R = renamed
263
+ * C = copied (if config option status.renames is set to "copies")
264
+ * U = updated but unmerged
265
+ *
266
+ * The ORIG_PATH is where the renamed/copied contents came from.
267
+ * The ORIG_PATH is only shown when the entry is renamed or copied.
268
+ *
269
+ * @example
270
+ * commit:eeb5da951efd67177450340ed1d9f097de1880d1
271
+ * 1725289941
272
+ * john@doe.com(John Doe)
273
+ * R100 content/pages/bar.md content/pages/bar2.md
274
+ *
275
+ * commit:c8e3582f5f5da508d288a704274a79c3c5910c2e
276
+ * 1725289821
277
+ * john@doe.com(John Doe)
278
+ * commit:99ccff89435652b049ff257a97f24ef7e138ecd2
279
+ * 1725289805
280
+ * john@doe.com(John Doe)
281
+ * A content/pages/bar.md
282
+ *
283
+ * commit:1db31aba03eac648c93b5f18d87d555bf77380be
284
+ * 1725288846
285
+ * john@doe.com(John Doe)
286
+ * R071 content/pages/foo.md content/pages/foo2.md
287
+ *
288
+ * commit:eb392a5d1eacff5620bed8e558733bd6f2c4fc51
289
+ * 1725288806
290
+ * john@doe.com(John Doe)
291
+ * commit:9b5dad9e257a506ef3a1da7cbec0d50f0e2a47db
292
+ * 1725288647
293
+ * john@doe.com(John Doe)
294
+ * A content/pages/foo.md
295
+ * D content/pages/hello11.md
296
+ *
297
+ * commit:0adb4e9b3de382f80720d5acc1027f7efb240f14
298
+ * 1725229056
299
+ * john@doe.com(John Doe)
300
+ * commit:81189019c5f6de62525a755333434a40c4ab4d44
301
+ * 1725228656
302
+ * john@doe.com(John Doe)
303
+ * R100 content/pages/hello10.md content/pages/hello11.md
304
+ */
229
305
  async commitLog() {
230
- this.logger.debug('Changes check scheduled');
306
+ this.logger.debug('commitLog scheduled');
231
307
  return this.worker.schedule(async () => {
232
- this.logger.debug('Changes check running');
308
+ this.logger.debug('commitLog running');
233
309
  if (!this.branchFetched && this.repoPublishBranch !== this.repoBranch) {
234
310
  await this.runCommand('git', ['fetch', '--no-write-fetch-head', 'origin', `${this.repoPublishBranch}:${this.repoPublishBranch}`], {
235
311
  cwd: this.repoDir
@@ -237,7 +313,7 @@ class GitService {
237
313
  this.branchFetched = true;
238
314
  }
239
315
  const logResult = await this.runCommand('git', ['log', '--pretty=format:commit:%H%n%at%n%ae%x28%an%x29', '--name-status', `${this.repoPublishBranch}..${this.repoBranch}`], { cwd: this.repoDir });
240
- this.logger.debug('Changes check done');
316
+ this.logger.debug('commitLog finished');
241
317
  return logResult.stdout
242
318
  .split('commit:')
243
319
  .filter(Boolean)
@@ -253,14 +329,20 @@ class GitService {
253
329
  .filter(Boolean)
254
330
  .filter(([status, filename, _]) => status && filename)
255
331
  .map(([status, filename, auxFilename]) => {
256
- const gitStatus = GIT_LOG_CHANGE_TYPES[status] || 'modified';
257
- if (status?.startsWith('R100')) {
332
+ if (status?.startsWith('R')) {
258
333
  return {
259
- status: gitStatus,
334
+ status: 'modified',
260
335
  filePath: auxFilename,
261
336
  fromFilePath: filename
262
337
  };
263
338
  }
339
+ else if (status?.startsWith('C')) {
340
+ return {
341
+ status: 'added',
342
+ filePath: auxFilename
343
+ };
344
+ }
345
+ const gitStatus = GIT_LOG_CHANGE_TYPES[status] || 'modified';
264
346
  return {
265
347
  status: gitStatus,
266
348
  filePath: filename
@@ -1 +1 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/services/git.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/services/git.ts"],"names":[],"mappings":"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"}
@@ -35,12 +35,14 @@ function getProcessPromise(p) {
35
35
  p.stderr.on('data', (out) => (stderr += out));
36
36
  p.on('close', (exitCode) => {
37
37
  if (exitCode !== 0) {
38
- reject({
39
- err: new Error(`process exited with code: ${exitCode}, stderr: ${stderr}`),
40
- stdout,
41
- stderr,
42
- exitCode
43
- });
38
+ let msg = `Command '${p.spawnargs.join(' ')}' exited with code: ${exitCode},`;
39
+ if (stderr) {
40
+ msg += `, stderr: ${stderr}`;
41
+ }
42
+ if (stdout) {
43
+ msg += `, stdout: ${stdout}`;
44
+ }
45
+ reject(new Error(msg));
44
46
  }
45
47
  else {
46
48
  resolve({
@@ -50,11 +52,14 @@ function getProcessPromise(p) {
50
52
  }
51
53
  });
52
54
  p.on('error', (err) => {
53
- reject({
54
- err,
55
- stdout,
56
- stderr
57
- });
55
+ let msg = `Command '${p.spawnargs.join(' ')}' failed with error: ${err.message},`;
56
+ if (stderr) {
57
+ msg += `, stderr: ${stderr}`;
58
+ }
59
+ if (stdout) {
60
+ msg += `, stdout: ${stdout}`;
61
+ }
62
+ reject(new Error(msg));
58
63
  });
59
64
  });
60
65
  }
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/services/run.ts"],"names":[],"mappings":";;;;;;AAAA,kEAA6E;AAE7E,2CAA6C;AAE7C,SAAgB,gBAAgB,CAAC,oBAA8D;IAC3F,OAAO,CAAC,OAAe,EAAE,IAAe,EAAE,OAAqF,EAAsB,EAAE;QACnJ,IAAI,OAAO,EAAE,MAAM,EAAE;YACjB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;SAC5I;QACD,MAAM,OAAO,GAAG,uBAAY,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;YAC9C,GAAG,EAAE,OAAO,EAAE,GAAG;YACjB,KAAK,EAAE,OAAO,EAAE,KAAK;YACrB,GAAG,EAAE;gBACD,GAAG,oBAAoB,CAAC,GAAG;gBAC3B,GAAG,OAAO,EAAE,GAAG;aAClB;YACD,GAAG,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,oBAAoB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzE,CAAC,CAAC;QACH,IAAI,OAAO,EAAE,MAAM,EAAE;YACjB,IAAA,kBAAU,EAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;SAC9C;QACD,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC,CAAC;AACN,CAAC;AAnBD,4CAmBC;AAED,SAAS,iBAAiB,CAAC,CAAiC;IAMxD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE;YACvB,IAAI,QAAQ,KAAK,CAAC,EAAE;gBAChB,MAAM,CAAC;oBACH,GAAG,EAAE,IAAI,KAAK,CAAC,6BAA6B,QAAQ,aAAa,MAAM,EAAE,CAAC;oBAC1E,MAAM;oBACN,MAAM;oBACN,QAAQ;iBACX,CAAC,CAAC;aACN;iBAAM;gBACH,OAAO,CAAC;oBACJ,MAAM;oBACN,MAAM;iBACT,CAAC,CAAC;aACN;QACL,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YAClB,MAAM,CAAC;gBACH,GAAG;gBACH,MAAM;gBACN,MAAM;aACT,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/services/run.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stackbit/cms-core",
3
- "version": "3.0.6",
3
+ "version": "3.0.7",
4
4
  "description": "stackbit-dev",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -26,9 +26,9 @@
26
26
  "@babel/traverse": "^7.11.5",
27
27
  "@iarna/toml": "^2.2.3",
28
28
  "@netlify/sdk": "^1.17.2",
29
- "@stackbit/sdk": "2.0.8",
30
- "@stackbit/types": "2.0.5",
31
- "@stackbit/utils": "0.4.25",
29
+ "@stackbit/sdk": "2.0.9",
30
+ "@stackbit/types": "2.0.6",
31
+ "@stackbit/utils": "0.4.26",
32
32
  "chalk": "^4.0.1",
33
33
  "content-engine": "0.0.29",
34
34
  "esm": "^3.2.25",
@@ -44,5 +44,5 @@
44
44
  "slugify": "^1.6.5",
45
45
  "uuid": "^9.0.0"
46
46
  },
47
- "gitHead": "ea52f02a86a018a697264d8e96d845a57c8365f7"
47
+ "gitHead": "d4fde9d7e7fe29007bf584b3ca847f9542ccc0cd"
48
48
  }
@@ -15,20 +15,19 @@ import {
15
15
  } from '@stackbit/types';
16
16
  import { Worker } from '@stackbit/utils';
17
17
 
18
- import { DocumentStatus } from '@stackbit/types';
19
18
  import { CommandRunner } from '@stackbit/types';
20
19
 
21
- const GIT_LOG_CHANGE_TYPES: Record<string, DocumentStatus> = {
20
+ const GIT_LOG_CHANGE_TYPES: Record<string, GitCommitLogEntry['changes'][number]['status']> = {
22
21
  M: 'modified',
23
22
  A: 'added',
24
23
  D: 'deleted'
25
24
  };
26
25
 
27
26
  export class GitService implements GitServiceInterface {
28
- private readonly repoUrl: string;
27
+ private repoUrl: string;
28
+ private repoBranch: string;
29
+ private repoPublishBranch: string;
29
30
  private readonly repoDir: string;
30
- private readonly repoBranch: string;
31
- private readonly repoPublishBranch: string;
32
31
  private readonly worker: Worker;
33
32
  private readonly runCommand: CommandRunner;
34
33
  private readonly logger: Logger;
@@ -68,14 +67,26 @@ export class GitService implements GitServiceInterface {
68
67
  return this.repoUrl;
69
68
  }
70
69
 
70
+ setRepoUrl(repoUrl: string) {
71
+ this.repoUrl = repoUrl;
72
+ }
73
+
71
74
  getRepoBranch() {
72
75
  return this.repoBranch;
73
76
  }
74
77
 
78
+ setRepoBranch(repoBranch: string) {
79
+ this.repoBranch = repoBranch;
80
+ }
81
+
75
82
  getRepoPublishBranch() {
76
83
  return this.repoPublishBranch;
77
84
  }
78
85
 
86
+ setRepoPublishBranch(publishBranch: string) {
87
+ this.repoPublishBranch = publishBranch;
88
+ }
89
+
79
90
  getRepoDir() {
80
91
  return this.repoDir;
81
92
  }
@@ -286,10 +297,77 @@ export class GitService implements GitServiceInterface {
286
297
  });
287
298
  }
288
299
 
300
+ /**
301
+ * Parse commit log between two branches
302
+ * command: git log --pretty=format:commit:%H%n%at%n%ae%x28%an%x29 --name-status master..preview
303
+ *
304
+ * Every commit entry has the following pattern
305
+ * ```
306
+ * commit:{COMMIT_HASH}
307
+ * {UNIX_TIMESTAMP}
308
+ * {AUTHOR_EMAIL}({AUTHOR_NAME})
309
+ * {OPTIONAL_CHANGES}
310
+ * {OPTIONAL_CHANGES}
311
+ * ```
312
+ *
313
+ * The OPTIONAL_CHANGES can be one of the two following formats:
314
+ * ```
315
+ * CODE PATH
316
+ * CODE ORIG_PATH -> PATH
317
+ * ```
318
+ *
319
+ * The CODE can be one of the following:
320
+ * M - modified
321
+ * T - file type changed (regular file, symbolic link or submodule)
322
+ * A = added
323
+ * D = deleted
324
+ * R = renamed
325
+ * C = copied (if config option status.renames is set to "copies")
326
+ * U = updated but unmerged
327
+ *
328
+ * The ORIG_PATH is where the renamed/copied contents came from.
329
+ * The ORIG_PATH is only shown when the entry is renamed or copied.
330
+ *
331
+ * @example
332
+ * commit:eeb5da951efd67177450340ed1d9f097de1880d1
333
+ * 1725289941
334
+ * john@doe.com(John Doe)
335
+ * R100 content/pages/bar.md content/pages/bar2.md
336
+ *
337
+ * commit:c8e3582f5f5da508d288a704274a79c3c5910c2e
338
+ * 1725289821
339
+ * john@doe.com(John Doe)
340
+ * commit:99ccff89435652b049ff257a97f24ef7e138ecd2
341
+ * 1725289805
342
+ * john@doe.com(John Doe)
343
+ * A content/pages/bar.md
344
+ *
345
+ * commit:1db31aba03eac648c93b5f18d87d555bf77380be
346
+ * 1725288846
347
+ * john@doe.com(John Doe)
348
+ * R071 content/pages/foo.md content/pages/foo2.md
349
+ *
350
+ * commit:eb392a5d1eacff5620bed8e558733bd6f2c4fc51
351
+ * 1725288806
352
+ * john@doe.com(John Doe)
353
+ * commit:9b5dad9e257a506ef3a1da7cbec0d50f0e2a47db
354
+ * 1725288647
355
+ * john@doe.com(John Doe)
356
+ * A content/pages/foo.md
357
+ * D content/pages/hello11.md
358
+ *
359
+ * commit:0adb4e9b3de382f80720d5acc1027f7efb240f14
360
+ * 1725229056
361
+ * john@doe.com(John Doe)
362
+ * commit:81189019c5f6de62525a755333434a40c4ab4d44
363
+ * 1725228656
364
+ * john@doe.com(John Doe)
365
+ * R100 content/pages/hello10.md content/pages/hello11.md
366
+ */
289
367
  async commitLog(): Promise<GitCommitLogEntry[]> {
290
- this.logger.debug('Changes check scheduled');
368
+ this.logger.debug('commitLog scheduled');
291
369
  return this.worker.schedule(async () => {
292
- this.logger.debug('Changes check running');
370
+ this.logger.debug('commitLog running');
293
371
  if (!this.branchFetched && this.repoPublishBranch !== this.repoBranch) {
294
372
  await this.runCommand('git', ['fetch', '--no-write-fetch-head', 'origin', `${this.repoPublishBranch}:${this.repoPublishBranch}`], {
295
373
  cwd: this.repoDir
@@ -301,7 +379,7 @@ export class GitService implements GitServiceInterface {
301
379
  ['log', '--pretty=format:commit:%H%n%at%n%ae%x28%an%x29', '--name-status', `${this.repoPublishBranch}..${this.repoBranch}`],
302
380
  { cwd: this.repoDir }
303
381
  );
304
- this.logger.debug('Changes check done');
382
+ this.logger.debug('commitLog finished');
305
383
  return logResult.stdout
306
384
  .split('commit:')
307
385
  .filter(Boolean)
@@ -317,14 +395,19 @@ export class GitService implements GitServiceInterface {
317
395
  .filter(Boolean)
318
396
  .filter(([status, filename, _]) => status && filename)
319
397
  .map(([status, filename, auxFilename]) => {
320
- const gitStatus = GIT_LOG_CHANGE_TYPES[status!] || 'modified';
321
- if (status?.startsWith('R100')) {
398
+ if (status?.startsWith('R')) {
322
399
  return {
323
- status: gitStatus,
400
+ status: 'modified',
324
401
  filePath: auxFilename,
325
402
  fromFilePath: filename
326
403
  };
404
+ } else if (status?.startsWith('C')) {
405
+ return {
406
+ status: 'added',
407
+ filePath: auxFilename
408
+ };
327
409
  }
410
+ const gitStatus = GIT_LOG_CHANGE_TYPES[status!] || 'modified';
328
411
  return {
329
412
  status: gitStatus,
330
413
  filePath: filename
@@ -36,12 +36,14 @@ function getProcessPromise(p: ChildProcessWithoutNullStreams): Promise<{
36
36
  p.stderr.on('data', (out) => (stderr += out));
37
37
  p.on('close', (exitCode) => {
38
38
  if (exitCode !== 0) {
39
- reject({
40
- err: new Error(`process exited with code: ${exitCode}, stderr: ${stderr}`),
41
- stdout,
42
- stderr,
43
- exitCode
44
- });
39
+ let msg = `Command '${p.spawnargs.join(' ')}' exited with code: ${exitCode},`;
40
+ if (stderr) {
41
+ msg += `, stderr: ${stderr}`;
42
+ }
43
+ if (stdout) {
44
+ msg += `, stdout: ${stdout}`;
45
+ }
46
+ reject(new Error(msg));
45
47
  } else {
46
48
  resolve({
47
49
  stdout,
@@ -50,11 +52,14 @@ function getProcessPromise(p: ChildProcessWithoutNullStreams): Promise<{
50
52
  }
51
53
  });
52
54
  p.on('error', (err) => {
53
- reject({
54
- err,
55
- stdout,
56
- stderr
57
- });
55
+ let msg = `Command '${p.spawnargs.join(' ')}' failed with error: ${err.message},`;
56
+ if (stderr) {
57
+ msg += `, stderr: ${stderr}`;
58
+ }
59
+ if (stdout) {
60
+ msg += `, stdout: ${stdout}`;
61
+ }
62
+ reject(new Error(msg));
58
63
  });
59
64
  });
60
65
  }