@udondan/avanti 0.12.0 → 0.13.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.
- package/README.md +161 -87
- package/dist/cli.js +2 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/diff.d.ts.map +1 -1
- package/dist/commands/diff.js +7 -0
- package/dist/commands/diff.js.map +1 -1
- package/dist/commands/lock.d.ts +3 -0
- package/dist/commands/lock.d.ts.map +1 -0
- package/dist/commands/lock.js +103 -0
- package/dist/commands/lock.js.map +1 -0
- package/dist/commands/log.d.ts.map +1 -1
- package/dist/commands/log.js +37 -3
- package/dist/commands/log.js.map +1 -1
- package/dist/commands/pull.d.ts.map +1 -1
- package/dist/commands/pull.js +126 -15
- package/dist/commands/pull.js.map +1 -1
- package/dist/commands/reset.d.ts.map +1 -1
- package/dist/commands/reset.js +1 -1
- package/dist/commands/reset.js.map +1 -1
- package/dist/commands/revert.d.ts.map +1 -1
- package/dist/commands/revert.js +1 -1
- package/dist/commands/revert.js.map +1 -1
- package/dist/config-writeback.d.ts +12 -0
- package/dist/config-writeback.d.ts.map +1 -0
- package/dist/config-writeback.js +183 -0
- package/dist/config-writeback.js.map +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +53 -47
- package/dist/config.js.map +1 -1
- package/dist/fetch.d.ts +3 -0
- package/dist/fetch.d.ts.map +1 -1
- package/dist/fetch.js +6 -5
- package/dist/fetch.js.map +1 -1
- package/dist/history.d.ts +9 -1
- package/dist/history.d.ts.map +1 -1
- package/dist/history.js +21 -15
- package/dist/history.js.map +1 -1
- package/dist/processors/post.js +1 -1
- package/dist/processors/post.js.map +1 -1
- package/dist/sha.d.ts +2 -0
- package/dist/sha.d.ts.map +1 -0
- package/dist/sha.js +32 -0
- package/dist/sha.js.map +1 -0
- package/dist/sources/bitbucket.d.ts.map +1 -1
- package/dist/sources/bitbucket.js +8 -6
- package/dist/sources/bitbucket.js.map +1 -1
- package/dist/sources/git.js +1 -1
- package/dist/sources/git.js.map +1 -1
- package/dist/sources/github.d.ts.map +1 -1
- package/dist/sources/github.js +44 -36
- package/dist/sources/github.js.map +1 -1
- package/dist/sources/gitlab.d.ts.map +1 -1
- package/dist/sources/gitlab.js +5 -3
- package/dist/sources/gitlab.js.map +1 -1
- package/dist/sources/index.d.ts +7 -0
- package/dist/sources/index.d.ts.map +1 -1
- package/dist/sources/index.js +154 -97
- package/dist/sources/index.js.map +1 -1
- package/dist/sources/local.d.ts.map +1 -1
- package/dist/sources/local.js +5 -1
- package/dist/sources/local.js.map +1 -1
- package/dist/sources/s3.js +1 -1
- package/dist/sources/s3.js.map +1 -1
- package/dist/sources/vault.js +1 -1
- package/dist/sources/vault.js.map +1 -1
- package/dist/types.d.ts +13 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/variables.d.ts +1 -0
- package/dist/variables.d.ts.map +1 -1
- package/dist/variables.js +27 -1
- package/dist/variables.js.map +1 -1
- package/dist/writer.d.ts.map +1 -1
- package/dist/writer.js +18 -12
- package/dist/writer.js.map +1 -1
- package/package.json +3 -3
package/dist/writer.js
CHANGED
|
@@ -25,32 +25,38 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.atomicWrite = void 0;
|
|
27
27
|
const fs = __importStar(require("fs"));
|
|
28
|
-
const os = __importStar(require("os"));
|
|
29
28
|
const path = __importStar(require("path"));
|
|
30
29
|
function atomicWrite(targets, deletions = []) {
|
|
31
|
-
|
|
30
|
+
// Stage each file as a sibling temp file on the same filesystem as the
|
|
31
|
+
// destination so that renameSync (rename(2)) is atomic on POSIX.
|
|
32
|
+
const staged = [];
|
|
32
33
|
try {
|
|
33
|
-
// Stage all files to temp dir first
|
|
34
|
-
const staged = [];
|
|
35
34
|
for (const t of targets) {
|
|
36
|
-
const
|
|
35
|
+
const dir = path.dirname(t.targetPath);
|
|
36
|
+
if (!fs.existsSync(dir)) {
|
|
37
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
38
|
+
}
|
|
39
|
+
const tmpFile = path.join(dir, '.' + path.basename(t.targetPath) + '.avanti-tmp');
|
|
37
40
|
fs.writeFileSync(tmpFile, t.content, 'utf8');
|
|
38
41
|
staged.push({ tmp: tmpFile, dest: t.targetPath, mode: t.mode });
|
|
39
42
|
}
|
|
40
|
-
// All staging succeeded —
|
|
43
|
+
// All staging succeeded — atomically rename each temp file into place
|
|
41
44
|
for (const s of staged) {
|
|
42
|
-
|
|
43
|
-
if (!fs.existsSync(dir)) {
|
|
44
|
-
fs.mkdirSync(dir, { recursive: true });
|
|
45
|
-
}
|
|
46
|
-
fs.copyFileSync(s.tmp, s.dest);
|
|
45
|
+
fs.renameSync(s.tmp, s.dest);
|
|
47
46
|
if (s.mode) {
|
|
48
47
|
fs.chmodSync(s.dest, parseInt(s.mode, 8));
|
|
49
48
|
}
|
|
50
49
|
}
|
|
51
50
|
}
|
|
52
51
|
finally {
|
|
53
|
-
|
|
52
|
+
for (const s of staged) {
|
|
53
|
+
try {
|
|
54
|
+
fs.rmSync(s.tmp, { force: true });
|
|
55
|
+
}
|
|
56
|
+
catch {
|
|
57
|
+
// already renamed into place or never created
|
|
58
|
+
}
|
|
59
|
+
}
|
|
54
60
|
}
|
|
55
61
|
// Deletions happen after writes succeed; each failure is non-fatal
|
|
56
62
|
for (const p of deletions) {
|
package/dist/writer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writer.js","sourceRoot":"","sources":["../src/writer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,
|
|
1
|
+
{"version":3,"file":"writer.js","sourceRoot":"","sources":["../src/writer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAQ7B,SAAgB,WAAW,CACzB,OAAsB,EACtB,YAAsB,EAAE;IAExB,uEAAuE;IACvE,iEAAiE;IACjE,MAAM,MAAM,GAAwD,EAAE,CAAC;IACvE,IAAI,CAAC;QACH,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YACvC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACzC,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CACvB,GAAG,EACH,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,aAAa,CAClD,CAAC;YACF,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC7C,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,sEAAsE;QACtE,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;gBACX,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,IAAI,CAAC;gBACH,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACpC,CAAC;YAAC,MAAM,CAAC;gBACP,8CAA8C;YAChD,CAAC;QACH,CAAC;IACH,CAAC;IAED,mEAAmE;IACnE,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,KAAM,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;AACH,CAAC;AA9CD,kCA8CC"}
|
package/package.json
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@udondan/avanti",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.13.0",
|
|
4
4
|
"description": "Assemble local files from any source via a declarative YAML spec",
|
|
5
5
|
"bin": {
|
|
6
6
|
"avanti": "dist/cli.js"
|
|
7
7
|
},
|
|
8
8
|
"main": "./dist/cli.js",
|
|
9
9
|
"scripts": {
|
|
10
|
-
"build": "tsc && chmod +x dist/cli.js",
|
|
10
|
+
"build": "tsc -p tsconfig.build.json && chmod +x dist/cli.js",
|
|
11
11
|
"dev": "tsx src/cli.ts",
|
|
12
12
|
"test": "vitest run",
|
|
13
13
|
"test:watch": "vitest",
|
|
14
|
-
"lint": "eslint src",
|
|
14
|
+
"lint": "eslint src test",
|
|
15
15
|
"format": "prettier --write .",
|
|
16
16
|
"format:check": "prettier --check ."
|
|
17
17
|
},
|