@udondan/avanti 0.24.0 → 0.26.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 +488 -64
- package/dist/commands/diff.d.ts.map +1 -1
- package/dist/commands/diff.js +82 -18
- package/dist/commands/diff.js.map +1 -1
- package/dist/commands/lock.d.ts.map +1 -1
- package/dist/commands/lock.js +6 -4
- package/dist/commands/lock.js.map +1 -1
- package/dist/commands/log.d.ts.map +1 -1
- package/dist/commands/log.js +7 -5
- package/dist/commands/log.js.map +1 -1
- package/dist/commands/pull.d.ts.map +1 -1
- package/dist/commands/pull.js +682 -42
- package/dist/commands/pull.js.map +1 -1
- package/dist/commands/reset.d.ts.map +1 -1
- package/dist/commands/reset.js +43 -11
- package/dist/commands/reset.js.map +1 -1
- package/dist/commands/revert.d.ts.map +1 -1
- package/dist/commands/revert.js +68 -14
- package/dist/commands/revert.js.map +1 -1
- package/dist/condition.d.ts.map +1 -1
- package/dist/condition.js +9 -6
- package/dist/condition.js.map +1 -1
- package/dist/config-writeback.d.ts.map +1 -1
- package/dist/config-writeback.js +17 -0
- package/dist/config-writeback.js.map +1 -1
- package/dist/config.d.ts +12 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +346 -3
- package/dist/config.js.map +1 -1
- package/dist/diff.d.ts +19 -0
- package/dist/diff.d.ts.map +1 -1
- package/dist/diff.js +317 -12
- package/dist/diff.js.map +1 -1
- package/dist/extract.d.ts +4 -0
- package/dist/extract.d.ts.map +1 -0
- package/dist/extract.js +142 -0
- package/dist/extract.js.map +1 -0
- package/dist/filter.d.ts +3 -0
- package/dist/filter.d.ts.map +1 -0
- package/dist/filter.js +126 -0
- package/dist/filter.js.map +1 -0
- package/dist/history.d.ts +7 -1
- package/dist/history.d.ts.map +1 -1
- package/dist/history.js +89 -9
- package/dist/history.js.map +1 -1
- package/dist/paths.d.ts +4 -0
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +97 -0
- package/dist/paths.js.map +1 -1
- package/dist/processors/ini.d.ts +33 -0
- package/dist/processors/ini.d.ts.map +1 -0
- package/dist/processors/ini.js +500 -0
- package/dist/processors/ini.js.map +1 -0
- package/dist/processors/insert.d.ts.map +1 -1
- package/dist/processors/insert.js +338 -15
- package/dist/processors/insert.js.map +1 -1
- package/dist/processors/on.d.ts +4 -0
- package/dist/processors/on.d.ts.map +1 -0
- package/dist/processors/on.js +54 -0
- package/dist/processors/on.js.map +1 -0
- package/dist/ref.d.ts +21 -0
- package/dist/ref.d.ts.map +1 -0
- package/dist/ref.js +65 -0
- package/dist/ref.js.map +1 -0
- package/dist/sources/bitbucket.d.ts.map +1 -1
- package/dist/sources/bitbucket.js +51 -12
- package/dist/sources/bitbucket.js.map +1 -1
- package/dist/sources/git.d.ts.map +1 -1
- package/dist/sources/git.js +54 -6
- package/dist/sources/git.js.map +1 -1
- package/dist/sources/github.d.ts.map +1 -1
- package/dist/sources/github.js +188 -51
- package/dist/sources/github.js.map +1 -1
- package/dist/sources/gitlab.d.ts.map +1 -1
- package/dist/sources/gitlab.js +242 -44
- package/dist/sources/gitlab.js.map +1 -1
- package/dist/sources/index.d.ts +4 -2
- package/dist/sources/index.d.ts.map +1 -1
- package/dist/sources/index.js +220 -49
- package/dist/sources/index.js.map +1 -1
- package/dist/sources/local.d.ts +3 -0
- package/dist/sources/local.d.ts.map +1 -1
- package/dist/sources/local.js +44 -0
- package/dist/sources/local.js.map +1 -1
- package/dist/types.d.ts +38 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/variables-remote.d.ts +1 -1
- package/dist/variables-remote.d.ts.map +1 -1
- package/dist/variables-remote.js +4 -3
- package/dist/variables-remote.js.map +1 -1
- package/dist/variables.d.ts +1 -0
- package/dist/variables.d.ts.map +1 -1
- package/dist/variables.js +37 -2
- package/dist/variables.js.map +1 -1
- package/dist/writer.d.ts +17 -0
- package/dist/writer.d.ts.map +1 -1
- package/dist/writer.js +848 -20
- package/dist/writer.js.map +1 -1
- package/package.json +14 -10
package/dist/paths.d.ts
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { FileEntry, Variables } from './types';
|
|
2
|
+
export declare function expandTilde(p: string): string;
|
|
2
3
|
export declare function resolveTargetPath(entry: {
|
|
3
4
|
target?: string;
|
|
4
5
|
}, relPath: string, workingDir: string, vars?: Variables): string;
|
|
5
6
|
export declare function buildEntryPreVars(entry: FileEntry, isSelf: boolean, workingDir: string, vars: Variables): Variables;
|
|
6
7
|
export declare function expandBraces(pattern: string, limit?: number): string[];
|
|
8
|
+
export declare function resolveFollowSymlink(targetPath: string, entry: {
|
|
9
|
+
followSymlink?: boolean;
|
|
10
|
+
}, workingDir: string): string;
|
|
7
11
|
//# sourceMappingURL=paths.d.ts.map
|
package/dist/paths.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAG/C,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAI7C;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EAC1B,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE,SAA4C,GACjD,MAAM,CA4CR;AAMD,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,OAAO,EACf,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,SAAS,GACd,SAAS,CAmBX;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,SAAM,GAAG,MAAM,EAAE,CA+BnE;AA8BD,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE;IAAE,aAAa,CAAC,EAAE,OAAO,CAAA;CAAE,EAClC,UAAU,EAAE,MAAM,GACjB,MAAM,CAqFR"}
|
package/dist/paths.js
CHANGED
|
@@ -33,12 +33,22 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.expandTilde = expandTilde;
|
|
36
37
|
exports.resolveTargetPath = resolveTargetPath;
|
|
37
38
|
exports.buildEntryPreVars = buildEntryPreVars;
|
|
38
39
|
exports.expandBraces = expandBraces;
|
|
40
|
+
exports.resolveFollowSymlink = resolveFollowSymlink;
|
|
41
|
+
const fs = __importStar(require("fs"));
|
|
39
42
|
const os = __importStar(require("os"));
|
|
40
43
|
const path = __importStar(require("path"));
|
|
41
44
|
const variables_1 = require("./variables");
|
|
45
|
+
function expandTilde(p) {
|
|
46
|
+
if (p === '~')
|
|
47
|
+
return os.homedir();
|
|
48
|
+
if (p.startsWith('~/'))
|
|
49
|
+
return path.join(os.homedir(), p.slice(2));
|
|
50
|
+
return p;
|
|
51
|
+
}
|
|
42
52
|
function resolveTargetPath(entry, relPath, workingDir, vars = Object.create(null)) {
|
|
43
53
|
let resolved;
|
|
44
54
|
const target = entry.target ? (0, variables_1.resolveVars)(entry.target, vars) : undefined;
|
|
@@ -148,4 +158,91 @@ function assertWithinWorkingDir(resolvedPath, workingDir) {
|
|
|
148
158
|
throw new Error(`Target path "${resolvedPath}" escapes working directory "${workingDir}".`);
|
|
149
159
|
}
|
|
150
160
|
}
|
|
161
|
+
// When followSymlink is true and targetPath is a symlink, resolves it to the
|
|
162
|
+
// real file and verifies the real file is inside the working directory.
|
|
163
|
+
// Returns targetPath unchanged when followSymlink is false/undefined, when the
|
|
164
|
+
// path doesn't exist yet, or when the path is not a symlink.
|
|
165
|
+
function resolveFollowSymlink(targetPath, entry, workingDir) {
|
|
166
|
+
if (!entry.followSymlink)
|
|
167
|
+
return targetPath;
|
|
168
|
+
const stat = fs.lstatSync(targetPath, { throwIfNoEntry: false });
|
|
169
|
+
if (!stat?.isSymbolicLink())
|
|
170
|
+
return targetPath;
|
|
171
|
+
// Normalize workingDir to its canonical path so the prefix check is stable
|
|
172
|
+
// on platforms where the working directory is itself reached via a symlink
|
|
173
|
+
// (e.g. macOS /var/folders → /private/var/folders).
|
|
174
|
+
const realWorkingDir = fs.realpathSync(workingDir);
|
|
175
|
+
// Fast path: realpathSync resolves the entire chain atomically. It throws
|
|
176
|
+
// ENOENT when any component is missing (dangling symlink chain), in which
|
|
177
|
+
// case we fall through to manual resolution below.
|
|
178
|
+
try {
|
|
179
|
+
const resolved = fs.realpathSync(targetPath);
|
|
180
|
+
if (fs.lstatSync(resolved).isDirectory()) {
|
|
181
|
+
throw new Error(`followSymlink: "${targetPath}" resolves to a directory; refusing to write`);
|
|
182
|
+
}
|
|
183
|
+
try {
|
|
184
|
+
assertWithinWorkingDir(resolved, realWorkingDir);
|
|
185
|
+
}
|
|
186
|
+
catch {
|
|
187
|
+
throw new Error(`followSymlink: "${targetPath}" resolves to "${resolved}" which escapes the working directory`);
|
|
188
|
+
}
|
|
189
|
+
return resolved;
|
|
190
|
+
}
|
|
191
|
+
catch (err) {
|
|
192
|
+
const code = err.code;
|
|
193
|
+
if (code === 'ELOOP') {
|
|
194
|
+
throw new Error(`followSymlink: "${targetPath}" contains a circular symlink`, { cause: err });
|
|
195
|
+
}
|
|
196
|
+
if (code !== 'ENOENT')
|
|
197
|
+
throw err;
|
|
198
|
+
}
|
|
199
|
+
// Dangling symlink chain — follow links manually until we reach the
|
|
200
|
+
// non-existent endpoint (or detect a cycle).
|
|
201
|
+
let current = targetPath;
|
|
202
|
+
const seen = new Set();
|
|
203
|
+
for (;;) {
|
|
204
|
+
if (seen.has(normalizePath(current))) {
|
|
205
|
+
throw new Error(`followSymlink: "${targetPath}" contains a circular symlink`);
|
|
206
|
+
}
|
|
207
|
+
seen.add(normalizePath(current));
|
|
208
|
+
const st = fs.lstatSync(current, { throwIfNoEntry: false });
|
|
209
|
+
if (!st)
|
|
210
|
+
break; // non-existent endpoint
|
|
211
|
+
if (!st.isSymbolicLink())
|
|
212
|
+
break; // regular file/dir — stop here
|
|
213
|
+
const linkTarget = fs.readlinkSync(current);
|
|
214
|
+
current = path.resolve(path.dirname(current), linkTarget);
|
|
215
|
+
}
|
|
216
|
+
// Canonicalize the deepest existing ancestor directory to catch intermediate
|
|
217
|
+
// symlinked dirs that redirect writes outside the working directory even when
|
|
218
|
+
// the raw string path appears inside it (e.g. workingDir/out -> /etc).
|
|
219
|
+
let dir = path.dirname(current);
|
|
220
|
+
for (;;) {
|
|
221
|
+
if (fs.lstatSync(dir, { throwIfNoEntry: false })) {
|
|
222
|
+
const realDir = fs.realpathSync(dir);
|
|
223
|
+
try {
|
|
224
|
+
assertWithinWorkingDir(realDir, realWorkingDir);
|
|
225
|
+
}
|
|
226
|
+
catch {
|
|
227
|
+
throw new Error(`followSymlink: "${targetPath}" escapes the working directory via a symlinked intermediate directory`);
|
|
228
|
+
}
|
|
229
|
+
// Rewrite current using the canonical ancestor so that the final prefix
|
|
230
|
+
// check compares apples-to-apples. Without this, macOS /var/… paths
|
|
231
|
+
// fail the /private/var/… prefix check even when the path is valid.
|
|
232
|
+
current = path.join(realDir, path.relative(dir, current));
|
|
233
|
+
break;
|
|
234
|
+
}
|
|
235
|
+
const parent = path.dirname(dir);
|
|
236
|
+
if (parent === dir)
|
|
237
|
+
break; // reached filesystem root
|
|
238
|
+
dir = parent;
|
|
239
|
+
}
|
|
240
|
+
try {
|
|
241
|
+
assertWithinWorkingDir(current, realWorkingDir);
|
|
242
|
+
}
|
|
243
|
+
catch {
|
|
244
|
+
throw new Error(`followSymlink: "${targetPath}" escapes the working directory`);
|
|
245
|
+
}
|
|
246
|
+
return current;
|
|
247
|
+
}
|
|
151
248
|
//# sourceMappingURL=paths.js.map
|
package/dist/paths.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { IniMergeOptions } from '../types';
|
|
2
|
+
export interface IniComment {
|
|
3
|
+
kind: 'comment';
|
|
4
|
+
raw: string;
|
|
5
|
+
}
|
|
6
|
+
export interface IniBlank {
|
|
7
|
+
kind: 'blank';
|
|
8
|
+
}
|
|
9
|
+
export interface IniKeyValue {
|
|
10
|
+
kind: 'kv';
|
|
11
|
+
key: string;
|
|
12
|
+
isArray: boolean;
|
|
13
|
+
value: IniScalar | IniScalar[];
|
|
14
|
+
sep: string;
|
|
15
|
+
inlineComment?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface IniSection {
|
|
18
|
+
kind: 'section';
|
|
19
|
+
name: string;
|
|
20
|
+
subName?: string;
|
|
21
|
+
headerComment?: string;
|
|
22
|
+
items: (IniComment | IniBlank | IniKeyValue)[];
|
|
23
|
+
}
|
|
24
|
+
export type IniItem = IniComment | IniBlank | IniKeyValue | IniSection;
|
|
25
|
+
export type IniScalar = string | number | boolean;
|
|
26
|
+
export interface IniDocument {
|
|
27
|
+
items: IniItem[];
|
|
28
|
+
}
|
|
29
|
+
export declare function parseIniDoc(text: string): IniDocument;
|
|
30
|
+
export declare function stringifyIniDoc(doc: IniDocument): string;
|
|
31
|
+
export declare function mergeIni(parts: string[], opts?: IniMergeOptions): string;
|
|
32
|
+
export declare function formatIni(content: string): string;
|
|
33
|
+
//# sourceMappingURL=ini.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ini.d.ts","sourceRoot":"","sources":["../../src/processors/ini.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAI3C,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,SAAS,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,IAAI,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,CAAC,UAAU,GAAG,QAAQ,GAAG,WAAW,CAAC,EAAE,CAAC;CAChD;AAED,MAAM,MAAM,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,WAAW,GAAG,UAAU,CAAC;AACvE,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAElD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,OAAO,EAAE,CAAC;CAClB;AAsDD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAuJrD;AAiCD,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CA4BxD;AAmRD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,GAAE,eAAoB,GAAG,MAAM,CAyB5E;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAMjD"}
|