@udondan/avanti 0.23.1 → 0.25.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.
Files changed (100) hide show
  1. package/README.md +578 -65
  2. package/dist/commands/diff.d.ts.map +1 -1
  3. package/dist/commands/diff.js +82 -15
  4. package/dist/commands/diff.js.map +1 -1
  5. package/dist/commands/lock.d.ts.map +1 -1
  6. package/dist/commands/lock.js +3 -2
  7. package/dist/commands/lock.js.map +1 -1
  8. package/dist/commands/log.d.ts.map +1 -1
  9. package/dist/commands/log.js +7 -5
  10. package/dist/commands/log.js.map +1 -1
  11. package/dist/commands/pull.d.ts.map +1 -1
  12. package/dist/commands/pull.js +695 -32
  13. package/dist/commands/pull.js.map +1 -1
  14. package/dist/commands/reset.d.ts.map +1 -1
  15. package/dist/commands/reset.js +43 -11
  16. package/dist/commands/reset.js.map +1 -1
  17. package/dist/commands/revert.d.ts.map +1 -1
  18. package/dist/commands/revert.js +68 -14
  19. package/dist/commands/revert.js.map +1 -1
  20. package/dist/condition.d.ts.map +1 -1
  21. package/dist/condition.js +9 -6
  22. package/dist/condition.js.map +1 -1
  23. package/dist/config-writeback.d.ts.map +1 -1
  24. package/dist/config-writeback.js +33 -4
  25. package/dist/config-writeback.js.map +1 -1
  26. package/dist/config.d.ts.map +1 -1
  27. package/dist/config.js +396 -10
  28. package/dist/config.js.map +1 -1
  29. package/dist/diff.d.ts +25 -1
  30. package/dist/diff.d.ts.map +1 -1
  31. package/dist/diff.js +410 -28
  32. package/dist/diff.js.map +1 -1
  33. package/dist/extract.d.ts +4 -0
  34. package/dist/extract.d.ts.map +1 -0
  35. package/dist/extract.js +142 -0
  36. package/dist/extract.js.map +1 -0
  37. package/dist/filter.d.ts +3 -0
  38. package/dist/filter.d.ts.map +1 -0
  39. package/dist/filter.js +126 -0
  40. package/dist/filter.js.map +1 -0
  41. package/dist/history.d.ts +7 -1
  42. package/dist/history.d.ts.map +1 -1
  43. package/dist/history.js +89 -9
  44. package/dist/history.js.map +1 -1
  45. package/dist/paths.d.ts +4 -0
  46. package/dist/paths.d.ts.map +1 -1
  47. package/dist/paths.js +97 -0
  48. package/dist/paths.js.map +1 -1
  49. package/dist/processors/ini.d.ts +33 -0
  50. package/dist/processors/ini.d.ts.map +1 -0
  51. package/dist/processors/ini.js +500 -0
  52. package/dist/processors/ini.js.map +1 -0
  53. package/dist/processors/insert.d.ts.map +1 -1
  54. package/dist/processors/insert.js +338 -15
  55. package/dist/processors/insert.js.map +1 -1
  56. package/dist/processors/on.d.ts +4 -0
  57. package/dist/processors/on.d.ts.map +1 -0
  58. package/dist/processors/on.js +54 -0
  59. package/dist/processors/on.js.map +1 -0
  60. package/dist/ref.d.ts +21 -0
  61. package/dist/ref.d.ts.map +1 -0
  62. package/dist/ref.js +65 -0
  63. package/dist/ref.js.map +1 -0
  64. package/dist/sources/bitbucket.d.ts.map +1 -1
  65. package/dist/sources/bitbucket.js +51 -12
  66. package/dist/sources/bitbucket.js.map +1 -1
  67. package/dist/sources/git.d.ts.map +1 -1
  68. package/dist/sources/git.js +54 -6
  69. package/dist/sources/git.js.map +1 -1
  70. package/dist/sources/github.d.ts +1 -0
  71. package/dist/sources/github.d.ts.map +1 -1
  72. package/dist/sources/github.js +287 -50
  73. package/dist/sources/github.js.map +1 -1
  74. package/dist/sources/gitlab.d.ts +1 -0
  75. package/dist/sources/gitlab.d.ts.map +1 -1
  76. package/dist/sources/gitlab.js +387 -28
  77. package/dist/sources/gitlab.js.map +1 -1
  78. package/dist/sources/index.d.ts +3 -1
  79. package/dist/sources/index.d.ts.map +1 -1
  80. package/dist/sources/index.js +206 -44
  81. package/dist/sources/index.js.map +1 -1
  82. package/dist/sources/local.d.ts +3 -0
  83. package/dist/sources/local.d.ts.map +1 -1
  84. package/dist/sources/local.js +44 -0
  85. package/dist/sources/local.js.map +1 -1
  86. package/dist/types.d.ts +71 -6
  87. package/dist/types.d.ts.map +1 -1
  88. package/dist/types.js.map +1 -1
  89. package/dist/variables-remote.d.ts.map +1 -1
  90. package/dist/variables-remote.js +88 -7
  91. package/dist/variables-remote.js.map +1 -1
  92. package/dist/variables.d.ts +1 -0
  93. package/dist/variables.d.ts.map +1 -1
  94. package/dist/variables.js +133 -12
  95. package/dist/variables.js.map +1 -1
  96. package/dist/writer.d.ts +18 -0
  97. package/dist/writer.d.ts.map +1 -1
  98. package/dist/writer.js +968 -25
  99. package/dist/writer.js.map +1 -1
  100. package/package.json +12 -8
@@ -34,10 +34,16 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.fetchLocal = fetchLocal;
37
+ exports.isNonLocalSrcString = isNonLocalSrcString;
38
+ exports.resolveSymlinkSrcPath = resolveSymlinkSrcPath;
37
39
  const fs = __importStar(require("fs"));
38
40
  const os = __importStar(require("os"));
39
41
  const path = __importStar(require("path"));
42
+ const fetch_1 = require("../fetch");
43
+ const git_1 = require("./git");
40
44
  const logger_1 = require("../logger");
45
+ const paths_1 = require("../paths");
46
+ const variables_1 = require("../variables");
41
47
  function fetchLocal(src, workingDir, optional = false) {
42
48
  let resolved;
43
49
  if (src.startsWith('~/')) {
@@ -78,4 +84,42 @@ function readDirRecursive(base, current, out) {
78
84
  }
79
85
  }
80
86
  }
87
+ function isNonLocalSrcString(s) {
88
+ return (s.startsWith('http://') ||
89
+ s.startsWith('https://') ||
90
+ s.startsWith('file://') ||
91
+ s.startsWith('exec:') ||
92
+ (0, git_1.isGitRemoteUrl)(s) ||
93
+ s.startsWith('git+') ||
94
+ s.startsWith('ssh://') ||
95
+ s.startsWith('s3://') ||
96
+ s.startsWith('github:') ||
97
+ s.startsWith('gitlab:') ||
98
+ s.startsWith('bitbucket:') ||
99
+ s.startsWith('raw:') ||
100
+ s.startsWith('vault:') ||
101
+ s.startsWith('aws_secrets_manager:') ||
102
+ s.startsWith('aws_systems_manager_parameter:'));
103
+ }
104
+ function resolveSymlinkSrcPath(src, workingDir, vars, mode, linkPath) {
105
+ const expanded = (0, variables_1.resolveVars)(src, vars);
106
+ // Guard against a variable that resolves to a remote URL or exec: expression.
107
+ // Config-level validation (isLocalFileSrc) checks the raw src before variable
108
+ // substitution; a variable value could still expand to a remote spec.
109
+ if (isNonLocalSrcString(expanded)) {
110
+ throw new Error(`symlink src resolved to a non-local value "${(0, fetch_1.redactUrl)(expanded)}"; symlink src must be a local filesystem path`);
111
+ }
112
+ const tildeExpanded = (0, paths_1.expandTilde)(expanded);
113
+ const abs = path.isAbsolute(tildeExpanded)
114
+ ? tildeExpanded
115
+ : path.resolve(workingDir, tildeExpanded);
116
+ if (mode === 'relative') {
117
+ const rel = path.relative(path.dirname(linkPath), abs);
118
+ // path.relative returns "" when both paths are identical (src is the
119
+ // symlink's parent directory). Normalize to "." so the symlink target is
120
+ // valid — a symlink with an empty target string is broken on all platforms.
121
+ return rel === '' ? '.' : rel;
122
+ }
123
+ return abs;
124
+ }
81
125
  //# sourceMappingURL=local.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"local.js","sourceRoot":"","sources":["../../src/sources/local.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,gCA2BC;AArCD,uCAAyB;AACzB,uCAAyB;AACzB,2CAA6B;AAC7B,sCAAoC;AAOpC,SAAgB,UAAU,CACxB,GAAW,EACX,UAAkB,EAClB,QAAQ,GAAG,KAAK;IAEhB,IAAI,QAAgB,CAAC;IACrB,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC;SAAM,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAChC,QAAQ,GAAG,GAAG,CAAC;IACjB,CAAC;SAAM,CAAC;QACN,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAC3C,CAAC;IACD,IAAA,gBAAO,EAAC,kBAAkB,QAAQ,EAAE,CAAC,CAAC;IAEtC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,IAAI,QAAQ;YAAE,OAAO,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,2BAA2B,QAAQ,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACvB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,CAAC;AACnB,CAAC;AAED,SAAS,gBAAgB,CACvB,IAAY,EACZ,OAAe,EACf,GAAwB;IAExB,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACvB,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"local.js","sourceRoot":"","sources":["../../src/sources/local.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,gCA2BC;AAmBD,kDAkBC;AAED,sDA4BC;AA7GD,uCAAyB;AACzB,uCAAyB;AACzB,2CAA6B;AAC7B,oCAAqC;AACrC,+BAAuC;AACvC,sCAAoC;AACpC,oCAAuC;AACvC,4CAA2C;AAQ3C,SAAgB,UAAU,CACxB,GAAW,EACX,UAAkB,EAClB,QAAQ,GAAG,KAAK;IAEhB,IAAI,QAAgB,CAAC;IACrB,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC;SAAM,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAChC,QAAQ,GAAG,GAAG,CAAC;IACjB,CAAC;SAAM,CAAC;QACN,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAC3C,CAAC;IACD,IAAA,gBAAO,EAAC,kBAAkB,QAAQ,EAAE,CAAC,CAAC;IAEtC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,IAAI,QAAQ;YAAE,OAAO,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,2BAA2B,QAAQ,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACvB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,CAAC;AACnB,CAAC;AAED,SAAS,gBAAgB,CACvB,IAAY,EACZ,OAAe,EACf,GAAwB;IAExB,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACvB,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAgB,mBAAmB,CAAC,CAAS;IAC3C,OAAO,CACL,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;QACvB,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC;QACxB,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;QACvB,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC;QACrB,IAAA,oBAAc,EAAC,CAAC,CAAC;QACjB,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;QACpB,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC;QACtB,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;QACvB,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;QACvB,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC;QAC1B,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;QACpB,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC;QACtB,CAAC,CAAC,UAAU,CAAC,sBAAsB,CAAC;QACpC,CAAC,CAAC,UAAU,CAAC,gCAAgC,CAAC,CAC/C,CAAC;AACJ,CAAC;AAED,SAAgB,qBAAqB,CACnC,GAAW,EACX,UAAkB,EAClB,IAAe,EACf,IAAuC,EACvC,QAAgB;IAEhB,MAAM,QAAQ,GAAG,IAAA,uBAAW,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACxC,8EAA8E;IAC9E,8EAA8E;IAC9E,sEAAsE;IACtE,IAAI,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CACb,8CAA8C,IAAA,iBAAS,EAAC,QAAQ,CAAC,gDAAgD,CAClH,CAAC;IACJ,CAAC;IACD,MAAM,aAAa,GAAG,IAAA,mBAAW,EAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;QACxC,CAAC,CAAC,aAAa;QACf,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IAC5C,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC;QACvD,qEAAqE;QACrE,yEAAyE;QACzE,4EAA4E;QAC5E,OAAO,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAChC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
package/dist/types.d.ts CHANGED
@@ -1,6 +1,10 @@
1
- export type Variables = Record<string, string>;
1
+ export type JsonValue = string | number | boolean | null | JsonValue[] | {
2
+ [key: string]: JsonValue;
3
+ };
4
+ export type VariableValue = Exclude<JsonValue, null>;
5
+ export type Variables = Record<string, VariableValue>;
2
6
  export type Via = 'api' | 'cli';
3
- export type OsPlatform = 'linux' | 'mac' | 'windows';
7
+ export type OsPlatform = 'linux' | 'mac' | 'windows' | 'darwin' | 'win32';
4
8
  export interface Condition {
5
9
  os?: OsPlatform | OsPlatform[];
6
10
  exists?: string;
@@ -12,30 +16,62 @@ export interface ReplaceRule {
12
16
  from: string;
13
17
  to: string;
14
18
  }
15
- export interface GitLabSrc {
19
+ export interface GitLabFileSrc {
16
20
  gitlab: {
17
21
  project: string;
18
22
  file: string;
23
+ /** Branch, tag, commit, `$latest` (newest semver tag), `$recent` (newest tag), or `/pattern/[flags]`. */
19
24
  ref?: string;
20
25
  sha?: string;
21
26
  host?: string;
22
27
  via?: Via | Via[];
23
28
  };
29
+ filter?: string[];
24
30
  if?: Condition | Condition[];
25
31
  ifAny?: Condition[];
26
32
  }
27
- export interface GitHubSrc {
33
+ export interface GitLabReleaseSrc {
34
+ gitlab: {
35
+ project: string;
36
+ /** Tag name, `$latest` (newest semver release; falls back to semver tag scan if releases/latest is non-semver), `$recent` (newest by date), or `/pattern/[flags]`. */
37
+ release: string;
38
+ sha?: string;
39
+ host?: string;
40
+ via?: Via | Via[];
41
+ };
42
+ filter?: string[];
43
+ if?: Condition | Condition[];
44
+ ifAny?: Condition[];
45
+ }
46
+ export type GitLabSrc = GitLabFileSrc | GitLabReleaseSrc;
47
+ export interface GitHubFileSrc {
28
48
  github: {
29
49
  repo: string;
30
50
  file: string;
51
+ /** Branch, tag, commit, `$latest` (newest semver tag), `$recent` (newest tag), or `/pattern/[flags]`. */
31
52
  ref?: string;
32
53
  sha?: string;
33
54
  host?: string;
34
55
  via?: Via | Via[];
35
56
  };
57
+ filter?: string[];
58
+ if?: Condition | Condition[];
59
+ ifAny?: Condition[];
60
+ }
61
+ export interface GitHubReleaseSrc {
62
+ github: {
63
+ repo: string;
64
+ /** Tag name, `$latest` (newest stable semver tag), `$recent` (most recently created tag), or `/pattern/[flags]`. */
65
+ release: string;
66
+ sha?: string;
67
+ host?: string;
68
+ via?: Via | Via[];
69
+ };
70
+ filter?: string[];
36
71
  if?: Condition | Condition[];
37
72
  ifAny?: Condition[];
38
73
  }
74
+ export type GitHubSrc = GitHubFileSrc | GitHubReleaseSrc;
39
75
  export interface ExecSrc {
40
76
  exec: string;
41
77
  sha?: string;
@@ -52,10 +88,12 @@ export interface BitbucketSrc {
52
88
  workspace: string;
53
89
  repo: string;
54
90
  file: string;
91
+ /** Branch, tag, `$latest` (newest semver tag), `$recent` (newest tag), or `/pattern/[flags]`. */
55
92
  ref?: string;
56
93
  sha?: string;
57
94
  host?: string;
58
95
  };
96
+ filter?: string[];
59
97
  if?: Condition | Condition[];
60
98
  ifAny?: Condition[];
61
99
  }
@@ -63,14 +101,17 @@ export interface GitSrc {
63
101
  git: {
64
102
  repo: string;
65
103
  file: string;
104
+ /** Branch, tag, commit, `$latest` (newest semver tag), `$recent` (first tag in `git ls-remote` output order — not date-ordered), or `/pattern/[flags]` (first match in `git ls-remote` output order). */
66
105
  ref?: string;
67
106
  sha?: string;
68
107
  };
108
+ filter?: string[];
69
109
  if?: Condition | Condition[];
70
110
  ifAny?: Condition[];
71
111
  }
72
112
  export interface AwsS3Src {
73
113
  aws_s3: string;
114
+ filter?: string[];
74
115
  sha?: string;
75
116
  if?: Condition | Condition[];
76
117
  ifAny?: Condition[];
@@ -114,6 +155,7 @@ export interface HttpSrc {
114
155
  export interface LocalSrc {
115
156
  path: string;
116
157
  optional?: boolean;
158
+ filter?: string[];
117
159
  sha?: string;
118
160
  if?: Condition | Condition[];
119
161
  ifAny?: Condition[];
@@ -157,8 +199,24 @@ export interface TomlMergeOptions {
157
199
  arrays?: TomlArrayStrategy;
158
200
  objects?: TomlObjectStrategy;
159
201
  }
202
+ export type IniConflictStrategy = 'abort' | 'first_wins' | 'last_wins';
203
+ export type IniArrayStrategy = 'replace' | 'concat' | 'dedupe';
204
+ export type IniObjectStrategy = 'replace' | 'merge';
205
+ export interface IniMergeOptions {
206
+ conflicts?: IniConflictStrategy;
207
+ arrays?: IniArrayStrategy;
208
+ objects?: IniObjectStrategy;
209
+ }
160
210
  export type TemplateEngine = 'handlebars' | 'nunjucks' | 'jinja2' | 'liquidjs' | 'ejs' | 'mustache' | 'eta';
161
211
  export declare const VALID_TEMPLATE_ENGINES: TemplateEngine[];
212
+ export interface OnHooks {
213
+ write?: string;
214
+ beforeWrite?: string;
215
+ beforeCreate?: string;
216
+ beforeUpdate?: string;
217
+ create?: string;
218
+ update?: string;
219
+ }
162
220
  export interface FileEntry {
163
221
  src: FileSrc | FileSrc[];
164
222
  target: string;
@@ -167,21 +225,28 @@ export interface FileEntry {
167
225
  mode?: string;
168
226
  backup?: string;
169
227
  replace?: ReplaceRule[];
170
- post?: string;
228
+ on?: OnHooks;
171
229
  template?: TemplateEngine | true;
172
230
  json?: JsonMergeOptions | boolean;
173
231
  yaml?: YamlMergeOptions | boolean;
174
232
  toml?: TomlMergeOptions | boolean;
233
+ ini?: IniMergeOptions | boolean;
175
234
  strategy?: 'replace' | 'insert';
235
+ writeInPlace?: boolean;
236
+ followSymlink?: boolean;
237
+ symlink?: true | 'absolute' | 'relative';
238
+ extract?: true | string[];
239
+ sudo?: true | string;
176
240
  }
177
241
  export interface VariableEntry {
178
242
  src: FileSrc | FileSrc[];
179
243
  json?: JsonMergeOptions | boolean;
180
244
  yaml?: YamlMergeOptions | boolean;
181
245
  toml?: TomlMergeOptions | boolean;
246
+ ini?: IniMergeOptions | boolean;
182
247
  template?: TemplateEngine | true;
183
248
  }
184
- export type VariableSpec = Record<string, string | VariableEntry>;
249
+ export type VariableSpec = Record<string, VariableValue | VariableEntry>;
185
250
  export interface AvantiConfig {
186
251
  variables?: VariableSpec;
187
252
  backup_roots?: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AA+Ma,QAAA,sBAAsB,GAAqB;IACtD,YAAY;IACZ,UAAU;IACV,QAAQ;IACR,UAAU;IACV,KAAK;IACL,UAAU;IACV,KAAK;CACN,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AA+Qa,QAAA,sBAAsB,GAAqB;IACtD,YAAY;IACZ,UAAU;IACV,QAAQ;IACR,UAAU;IACV,KAAK;IACL,UAAU;IACV,KAAK;CACN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"variables-remote.d.ts","sourceRoot":"","sources":["../src/variables-remote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE7D,OAAO,EAAe,UAAU,EAAe,MAAM,WAAW,CAAC;AAGjE,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,YAAY,EAClB,UAAU,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,UAAU,GACjB,OAAO,CAAC,SAAS,CAAC,CAqEpB"}
1
+ {"version":3,"file":"variables-remote.d.ts","sourceRoot":"","sources":["../src/variables-remote.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,SAAS,EAET,YAAY,EAEb,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAe,UAAU,EAAe,MAAM,WAAW,CAAC;AAuEjE,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,YAAY,EAClB,UAAU,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,UAAU,GACjB,OAAO,CAAC,SAAS,CAAC,CAyGpB"}
@@ -37,6 +37,56 @@ exports.resolveVariableSpec = resolveVariableSpec;
37
37
  const variables_1 = require("./variables");
38
38
  const sources_1 = require("./sources");
39
39
  const binary_1 = require("./binary");
40
+ // Recursively resolve $var references in all string leaves of a JsonValue.
41
+ // `seen` tracks the current DFS path for cycle detection; it is backtracked
42
+ // after each object/array so shared (non-circular) references are not flagged.
43
+ function deepResolveVars(value, vars, path = '', seen = new WeakSet()) {
44
+ if (typeof value === 'string')
45
+ return (0, variables_1.resolveVars)(value, vars);
46
+ // Reject non-JSON-compatible primitives that can reach here from programmatic
47
+ // callers who bypass TypeScript (e.g. via `as any`).
48
+ if (typeof value === 'undefined' ||
49
+ typeof value === 'bigint' ||
50
+ typeof value === 'symbol' ||
51
+ typeof value === 'function') {
52
+ const at = path ? ` at ${path}` : '';
53
+ throw new Error(`Variable value has unsupported type "${typeof value}"${at} — only string, number, boolean, null, array, and plain object are allowed`);
54
+ }
55
+ if (Array.isArray(value)) {
56
+ if (seen.has(value)) {
57
+ const at = path ? ` at ${path}` : '';
58
+ throw new Error(`Variable value contains a circular reference${at}`);
59
+ }
60
+ seen.add(value);
61
+ const result = value.map((v, i) => deepResolveVars(v, vars, `${path}[${i}]`, seen));
62
+ seen.delete(value);
63
+ return result;
64
+ }
65
+ if (typeof value === 'object' && value !== null) {
66
+ if (seen.has(value)) {
67
+ const at = path ? ` at ${path}` : '';
68
+ throw new Error(`Variable value contains a circular reference${at}`);
69
+ }
70
+ const proto = Object.getPrototypeOf(value);
71
+ if (proto !== Object.prototype && proto !== null) {
72
+ const typeName = value.constructor?.name ??
73
+ 'unknown';
74
+ const at = path ? ` at ${path}` : '';
75
+ throw new Error(`Variable value contains a non-plain object (${typeName})${at} — only plain objects and arrays are supported as variable values. If loading from YAML, quote timestamps and other auto-typed values.`);
76
+ }
77
+ seen.add(value);
78
+ const out = Object.create(null);
79
+ for (const [k, v] of Object.entries(value)) {
80
+ const keyPart = /[.[\]"']/.test(k)
81
+ ? `["${k.replace(/\\/g, '\\\\').replace(/"/g, '\\"')}"]`
82
+ : `.${k}`;
83
+ out[k] = deepResolveVars(v, vars, `${path}${keyPart}`, seen);
84
+ }
85
+ seen.delete(value);
86
+ return out;
87
+ }
88
+ return value;
89
+ }
40
90
  async function resolveVariableSpec(spec, workingDir, cache) {
41
91
  const resolved = Object.create(null);
42
92
  let applyTemplate;
@@ -50,13 +100,44 @@ async function resolveVariableSpec(spec, workingDir, cache) {
50
100
  throw new Error(`variables.${name}: ${msg}`, { cause: err });
51
101
  }
52
102
  }
103
+ else if (value === null) {
104
+ throw new Error(`variables.${name}: value must not be null`);
105
+ }
106
+ else if (typeof value === 'undefined' ||
107
+ typeof value === 'bigint' ||
108
+ typeof value === 'symbol' ||
109
+ typeof value === 'function') {
110
+ throw new Error(`variables.${name}: unsupported value type "${typeof value}" — value must be a string, number, boolean, list, or plain object`);
111
+ }
112
+ else if (typeof value !== 'object' ||
113
+ Array.isArray(value) ||
114
+ // Use `in` for TypeScript narrowing; Object.hasOwn guards against
115
+ // inherited `src` properties from programmatic callers.
116
+ !('src' in value) ||
117
+ !Object.hasOwn(value, 'src')) {
118
+ // Non-string, non-VariableEntry value (number, boolean, list, or plain
119
+ // object) — resolve $vars in any string leaves.
120
+ try {
121
+ // deepResolveVars returns JsonValue (handles nested nulls), but null
122
+ // is rejected above so the cast to VariableValue is sound.
123
+ // TS can't narrow VariableEntry away via Object.hasOwn; the cast is
124
+ // safe — only values without an own `src` reach this branch.
125
+ resolved[name] = deepResolveVars(value, resolved);
126
+ }
127
+ catch (err) {
128
+ const msg = err instanceof Error ? err.message : String(err);
129
+ throw new Error(`variables.${name}: ${msg}`, { cause: err });
130
+ }
131
+ }
53
132
  else {
133
+ const entry = value;
54
134
  const synthetic = {
55
- src: value.src,
135
+ src: entry.src,
56
136
  target: name,
57
- json: value.json,
58
- yaml: value.yaml,
59
- toml: value.toml,
137
+ json: entry.json,
138
+ yaml: entry.yaml,
139
+ toml: entry.toml,
140
+ ini: entry.ini,
60
141
  };
61
142
  let result;
62
143
  try {
@@ -72,17 +153,17 @@ async function resolveVariableSpec(spec, workingDir, cache) {
72
153
  throw new Error(`variables.${name}: source resolved to no content`);
73
154
  }
74
155
  if (result.files.size > 1) {
75
- throw new Error(`variables.${name}: source resolved to multiple files; set json/yaml/toml to merge them into one`);
156
+ throw new Error(`variables.${name}: source resolved to multiple files; set json/yaml/toml/ini to merge them into one`);
76
157
  }
77
158
  const [srcPath, buf] = result.files.entries().next().value;
78
159
  if ((0, binary_1.isBinary)(buf)) {
79
160
  throw new Error(`variables.${name}: source resolved to binary content, which cannot be used as a variable value`);
80
161
  }
81
162
  let text = buf.toString('utf8');
82
- if (value.template !== undefined) {
163
+ if (entry.template !== undefined) {
83
164
  applyTemplate ??= (await Promise.resolve().then(() => __importStar(require('./processors/template')))).applyTemplate;
84
165
  try {
85
- text = await applyTemplate(text, value.template, resolved, srcPath || undefined);
166
+ text = await applyTemplate(text, entry.template, resolved, srcPath || undefined);
86
167
  }
87
168
  catch (err) {
88
169
  const msg = err instanceof Error ? err.message : String(err);
@@ -1 +1 @@
1
- {"version":3,"file":"variables-remote.js","sourceRoot":"","sources":["../src/variables-remote.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"variables-remote.js","sourceRoot":"","sources":["../src/variables-remote.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export declare function resolveVars(value: string, vars: Variables): string;
6
6
  export declare function resolveVarsShellSafe(value: string, vars: Variables): string;
7
7
  export declare function buildFileVars(targetPath: string): Variables;
8
8
  export declare function buildDateVars(now?: Date): Variables;
9
+ export declare function buildSystemVars(): Variables;
9
10
  export declare function resolveBackupCounter(pattern: string): string;
10
11
  export declare function assertBackupPathAllowed(backupPath: string, workingDir: string, backupRoots: string[]): void;
11
12
  export declare function resolveBackupPath(pattern: string, targetPath: string, workingDir: string, vars: Variables, backupRoots: string[]): string;
@@ -1 +1 @@
1
- {"version":3,"file":"variables.d.ts","sourceRoot":"","sources":["../src/variables.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAGlD,eAAO,MAAM,aAAa,aAAsB,CAAC;AAGjD,eAAO,MAAM,kBAAkB,aAW7B,CAAC;AAEH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,GAAG,YAAY,GAAG,IAAI,CAMtE;AAOD,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,CAmBlE;AAgBD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,CAmB3E;AAGD,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAa3D;AAGD,wBAAgB,aAAa,CAAC,GAAG,GAAE,IAAiB,GAAG,SAAS,CAc/D;AAYD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CA2B5D;AA6BD,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EAAE,GACpB,IAAI,CAkBN;AASD,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,SAAS,EACf,WAAW,EAAE,MAAM,EAAE,GACpB,MAAM,CAmCR"}
1
+ {"version":3,"file":"variables.d.ts","sourceRoot":"","sources":["../src/variables.ts"],"names":[],"mappings":"AAGA,OAAO,EAAa,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAG7D,eAAO,MAAM,aAAa,aAAgC,CAAC;AAG3D,eAAO,MAAM,kBAAkB,aAc7B,CAAC;AAEH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,GAAG,YAAY,GAAG,IAAI,CAMtE;AAqGD,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,CA4BlE;AAgBD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,CA4B3E;AAGD,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAa3D;AAGD,wBAAgB,aAAa,CAAC,GAAG,GAAE,IAAiB,GAAG,SAAS,CAc/D;AAOD,wBAAgB,eAAe,IAAI,SAAS,CAyB3C;AAYD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CA2B5D;AA6BD,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EAAE,GACpB,IAAI,CAkBN;AASD,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,SAAS,EACf,WAAW,EAAE,MAAM,EAAE,GACpB,MAAM,CAmCR"}