@tasenor/common-node 1.10.33 → 1.10.34

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.
@@ -38,6 +38,10 @@ export declare class GitRepo {
38
38
  * Add, commit and push the given files and/or directories.
39
39
  */
40
40
  put(message: string, ...subPaths: (FilePath | DirectoryPath)[]): Promise<boolean>;
41
+ /**
42
+ * Pull the latest.
43
+ */
44
+ update(): Promise<boolean>;
41
45
  /**
42
46
  * Gather all repos found from the directory.
43
47
  */
@@ -91,24 +91,37 @@ export class GitRepo {
91
91
  * Add, commit and push the given files and/or directories.
92
92
  */
93
93
  async put(message, ...subPaths) {
94
+ let fail = !await this.update();
95
+ if (!fail) {
96
+ await this.git.add('.').catch(err => {
97
+ error(`Git add failed: ${err}`);
98
+ fail = true;
99
+ });
100
+ }
101
+ if (!fail) {
102
+ await this.git.commit(message).catch(err => {
103
+ error(`Git commit failed: ${err}`);
104
+ fail = true;
105
+ });
106
+ }
107
+ if (!fail) {
108
+ await this.git.push().catch(err => {
109
+ error(`Git push failed: ${err}`);
110
+ fail = true;
111
+ });
112
+ }
113
+ return !fail;
114
+ }
115
+ /**
116
+ * Pull the latest.
117
+ */
118
+ async update() {
94
119
  let fail = false;
95
120
  await this.git.pull().catch(err => {
96
121
  error(`Git pull failed: ${err}`);
97
122
  fail = true;
98
123
  });
99
- await this.git.add(subPaths).catch(err => {
100
- error(`Git add failed: ${err}`);
101
- fail = true;
102
- });
103
- await this.git.commit(message).catch(err => {
104
- error(`Git commit failed: ${err}`);
105
- fail = true;
106
- });
107
- await this.git.push().catch(err => {
108
- error(`Git push failed: ${err}`);
109
- fail = true;
110
- });
111
- return fail;
124
+ return !fail;
112
125
  }
113
126
  /**
114
127
  * Gather all repos found from the directory.
@@ -1 +1 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src/net/git.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src/net/git.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tasenor/common-node",
3
- "version": "1.10.33",
3
+ "version": "1.10.34",
4
4
  "description": "Common Node-parts of Tasenor project",
5
5
  "main": "src/index.ts",
6
6
  "types": "src/index.ts",
@@ -36,7 +36,7 @@
36
36
  "sqlite3": "^5.1.6",
37
37
  "tar": "^6.1.15",
38
38
  "ts-opaque": "^3.0.1",
39
- "@tasenor/common": "1.10.33"
39
+ "@tasenor/common": "1.10.34"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@jest/globals": "^29.6.1",
@@ -46,7 +46,7 @@
46
46
  "ts-jest": "^29.1.1",
47
47
  "typescript": "^5.1.6",
48
48
  "eslint-config-tasenor": "0.0.0",
49
- "@tasenor/config": "1.10.33"
49
+ "@tasenor/config": "1.10.34"
50
50
  },
51
51
  "scripts": {
52
52
  "ci": "pnpm run lint && pnpm run test",
package/src/net/git.ts CHANGED
@@ -99,25 +99,39 @@ export class GitRepo {
99
99
  * Add, commit and push the given files and/or directories.
100
100
  */
101
101
  async put(message: string, ...subPaths: (FilePath | DirectoryPath)[]): Promise<boolean> {
102
+ let fail = !await this.update()
103
+ if (!fail) {
104
+ await this.git.add('.').catch(err => {
105
+ error(`Git add failed: ${err}`)
106
+ fail = true
107
+ })
108
+ }
109
+ if (!fail) {
110
+ await this.git.commit(message).catch(err => {
111
+ error(`Git commit failed: ${err}`)
112
+ fail = true
113
+ })
114
+ }
115
+ if (!fail) {
116
+ await this.git.push().catch(err => {
117
+ error(`Git push failed: ${err}`)
118
+ fail = true
119
+ })
120
+ }
121
+
122
+ return !fail
123
+ }
124
+
125
+ /**
126
+ * Pull the latest.
127
+ */
128
+ async update(): Promise<boolean> {
102
129
  let fail = false
103
130
  await this.git.pull().catch(err => {
104
131
  error(`Git pull failed: ${err}`)
105
132
  fail = true
106
133
  })
107
- await this.git.add(subPaths).catch(err => {
108
- error(`Git add failed: ${err}`)
109
- fail = true
110
- })
111
- await this.git.commit(message).catch(err => {
112
- error(`Git commit failed: ${err}`)
113
- fail = true
114
- })
115
- await this.git.push().catch(err => {
116
- error(`Git push failed: ${err}`)
117
- fail = true
118
- })
119
-
120
- return fail
134
+ return !fail
121
135
  }
122
136
 
123
137
  /**