configorama 0.9.14 → 0.9.16

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.
@@ -42,6 +42,139 @@ function findLineForKey(keyToFind, lines, fileType) {
42
42
  return lineIdx !== -1 ? lineIdx + 1 : 0
43
43
  }
44
44
 
45
+ /**
46
+ * Walk a dot-separated config path through raw file lines to find the exact line.
47
+ * YAML uses indentation-based nesting, JSON uses brace-based nesting.
48
+ * @param {string} configPath - Dot-separated path (e.g. 'resources.Parameters.Description')
49
+ * @param {string[]} lines - Array of file lines
50
+ * @param {string} fileType - File extension (e.g., '.yml', '.json')
51
+ * @returns {number} Line number (1-indexed) or 0 if not found
52
+ */
53
+ function findLineByPath(configPath, lines, fileType) {
54
+ if (!configPath || !lines || !lines.length) return 0
55
+
56
+ const isYaml = fileType === '.yml' || fileType === '.yaml'
57
+ const isJson = fileType === '.json' || fileType === '.json5' || fileType === '.jsonc'
58
+ if (!isYaml && !isJson) return 0
59
+
60
+ const segments = configPath.split('.')
61
+ if (isYaml) return findLineByPathYaml(segments, lines)
62
+ return findLineByPathJson(segments, lines)
63
+ }
64
+
65
+ /**
66
+ * @param {string[]} segments
67
+ * @param {string[]} lines
68
+ * @returns {number}
69
+ */
70
+ function findLineByPathYaml(segments, lines) {
71
+ let searchStart = 0
72
+ let parentIndent = -1
73
+
74
+ for (let si = 0; si < segments.length; si++) {
75
+ const key = segments[si]
76
+ const escaped = key.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')
77
+ const keyPattern = new RegExp(`^(\\s*)${escaped}\\s*:`)
78
+ let found = false
79
+
80
+ for (let li = searchStart; li < lines.length; li++) {
81
+ const match = keyPattern.exec(lines[li])
82
+ if (!match) continue
83
+
84
+ const indent = match[1].length
85
+ // Must be exactly one level deeper than parent (or top-level if parentIndent is -1)
86
+ if (parentIndent === -1 && indent === 0) {
87
+ // Top-level key
88
+ } else if (indent <= parentIndent) {
89
+ // We've left the parent's scope — key not found under this parent
90
+ break
91
+ } else if (indent <= parentIndent) {
92
+ continue
93
+ }
94
+
95
+ // Found the key at this nesting level
96
+ if (si === segments.length - 1) {
97
+ return li + 1
98
+ }
99
+ // Descend: next segment must be indented deeper, starting after this line
100
+ parentIndent = indent
101
+ searchStart = li + 1
102
+ found = true
103
+ break
104
+ }
105
+
106
+ if (!found) return 0
107
+ }
108
+ return 0
109
+ }
110
+
111
+ /**
112
+ * @param {string[]} segments
113
+ * @param {string[]} lines
114
+ * @returns {number}
115
+ */
116
+ function findLineByPathJson(segments, lines) {
117
+ let searchStart = 0
118
+ let targetDepth = 1 // JSON top-level keys are at brace depth 1
119
+
120
+ for (let si = 0; si < segments.length; si++) {
121
+ const key = segments[si]
122
+ const escaped = key.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')
123
+ const keyPattern = new RegExp(`"${escaped}"\\s*:`)
124
+ let depth = 0
125
+ let found = false
126
+
127
+ for (let li = searchStart; li < lines.length; li++) {
128
+ const line = lines[li]
129
+ // Track brace depth character by character
130
+ for (let ci = 0; ci < line.length; ci++) {
131
+ const ch = line[ci]
132
+ if (ch === '{') depth++
133
+ else if (ch === '}') depth--
134
+ }
135
+
136
+ // Check for key match at the right depth
137
+ // We need to check depth BEFORE the line's closing braces
138
+ let depthBeforeLine = depth
139
+ for (let ci = 0; ci < line.length; ci++) {
140
+ if (line[ci] === '{') depthBeforeLine--
141
+ else if (line[ci] === '}') depthBeforeLine++
142
+ }
143
+
144
+ if (keyPattern.test(line)) {
145
+ // Calculate depth at the point where the key appears
146
+ let depthAtKey = 0
147
+ for (let cli = 0; cli < li; cli++) {
148
+ for (let ci = 0; ci < lines[cli].length; ci++) {
149
+ if (lines[cli][ci] === '{') depthAtKey++
150
+ else if (lines[cli][ci] === '}') depthAtKey--
151
+ }
152
+ }
153
+ // Account for any opening braces before the key on this line
154
+ const keyIdx = line.search(keyPattern)
155
+ for (let ci = 0; ci < keyIdx; ci++) {
156
+ if (line[ci] === '{') depthAtKey++
157
+ else if (line[ci] === '}') depthAtKey--
158
+ }
159
+
160
+ if (depthAtKey === targetDepth) {
161
+ if (si === segments.length - 1) {
162
+ return li + 1
163
+ }
164
+ targetDepth++
165
+ searchStart = li + 1
166
+ found = true
167
+ break
168
+ }
169
+ }
170
+ }
171
+
172
+ if (!found) return 0
173
+ }
174
+ return 0
175
+ }
176
+
45
177
  module.exports = {
46
- findLineForKey
178
+ findLineForKey,
179
+ findLineByPath
47
180
  }
@@ -10,8 +10,8 @@
10
10
  * @returns {any} Regex-like result array or null
11
11
  */
12
12
  function parseFunctionCall(str) {
13
- if (!str || typeof str !== 'string') return null
14
-
13
+ if (!str || typeof str !== 'string' || str.indexOf('(') === -1) return null
14
+
15
15
  // Find function name followed by opening paren
16
16
  const funcMatch = str.match(/(\w+)\s*\(/)
17
17
  if (!funcMatch) return null
@@ -1,7 +1,8 @@
1
+ const BoundedMap = require('../BoundedMap')
1
2
  const REPLACE_PATTERN = /([\/\,\!\\\^\$\{\}\[\]\(\)\.\*\+\?\|<>\-\&])/g
2
3
 
3
4
  // Cache for compiled regex patterns (perf: avoid recompilation)
4
- const regexCache = new Map()
5
+ const regexCache = new BoundedMap(200)
5
6
 
6
7
  /**
7
8
  * Replace all occurrences of a string while handling regex special characters
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Display "No Variables Found" message
3
+ * @param {string} configFilePath
4
+ * @param {RegExp} variableSyntax
5
+ * @param {Object} variableTypes
6
+ */
7
+ export function displayNoVariablesFound(configFilePath: string, variableSyntax: RegExp, variableTypes: any): void;
8
+ /**
9
+ * Display variable details in stacked box format
10
+ * @param {Object} params
11
+ * @param {string[]} params.varKeys
12
+ * @param {Object} params.variableData
13
+ * @param {Object} params.uniqueVariables
14
+ * @param {RegExp} params.varPrefixPattern
15
+ * @param {RegExp} params.varSuffixPattern
16
+ * @param {string[]} params.lines
17
+ * @param {string} params.fileType
18
+ * @param {string} params.configFilePath
19
+ */
20
+ export function displayVariableDetails({ varKeys, variableData, uniqueVariables, varPrefixPattern, varSuffixPattern, lines, fileType, configFilePath }: {
21
+ varKeys: string[];
22
+ variableData: any;
23
+ uniqueVariables: any;
24
+ varPrefixPattern: RegExp;
25
+ varSuffixPattern: RegExp;
26
+ lines: string[];
27
+ fileType: string;
28
+ configFilePath: string;
29
+ }): void;
30
+ /**
31
+ * Display unique variables in stacked box format
32
+ * @param {Object} params
33
+ * @param {string[]} params.uniqueVarKeys
34
+ * @param {Object} params.uniqueVariables
35
+ * @param {string[]} params.lines
36
+ * @param {string} params.fileType
37
+ * @param {string} params.configFilePath
38
+ */
39
+ export function displayUniqueVariables({ uniqueVarKeys, uniqueVariables, lines, fileType, configFilePath }: {
40
+ uniqueVarKeys: string[];
41
+ uniqueVariables: any;
42
+ lines: string[];
43
+ fileType: string;
44
+ configFilePath: string;
45
+ }): void;
46
+ /**
47
+ * Display configurable variables grouped by source type
48
+ * @param {Object} params
49
+ * @param {string[]} params.uniqueVarKeys
50
+ * @param {Object} params.uniqueVariables
51
+ * @param {string[]} params.lines
52
+ * @param {string} params.fileType
53
+ * @param {string} params.configFilePath
54
+ */
55
+ export function displayConfigurableVariables({ uniqueVarKeys, uniqueVariables, lines, fileType, configFilePath }: {
56
+ uniqueVarKeys: string[];
57
+ uniqueVariables: any;
58
+ lines: string[];
59
+ fileType: string;
60
+ configFilePath: string;
61
+ }): void;
62
+ //# sourceMappingURL=display.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../src/display.js"],"names":[],"mappings":"AAcA;;;;;GAKG;AACH,wDAJW,MAAM,kBACN,MAAM,4BAwBhB;AAED;;;;;;;;;;;GAWG;AACH,wJATG;IAAyB,OAAO,EAAxB,MAAM,EAAE;IACO,YAAY;IACZ,eAAe;IACf,gBAAgB,EAA/B,MAAM;IACS,gBAAgB,EAA/B,MAAM;IACW,KAAK,EAAtB,MAAM,EAAE;IACO,QAAQ,EAAvB,MAAM;IACS,cAAc,EAA7B,MAAM;CAChB,QAyJA;AAED;;;;;;;;GAQG;AACH,4GANG;IAAyB,aAAa,EAA9B,MAAM,EAAE;IACO,eAAe;IACb,KAAK,EAAtB,MAAM,EAAE;IACO,QAAQ,EAAvB,MAAM;IACS,cAAc,EAA7B,MAAM;CAChB,QAiHA;AAED;;;;;;;;GAQG;AACH,kHANG;IAAyB,aAAa,EAA9B,MAAM,EAAE;IACO,eAAe;IACb,KAAK,EAAtB,MAAM,EAAE;IACO,QAAQ,EAAvB,MAAM;IACS,cAAc,EAA7B,MAAM;CAChB,QAyIA"}
@@ -57,6 +57,14 @@ type ConfigoramaSettings = {
57
57
  * - return both config and metadata about variables found
58
58
  */
59
59
  returnMetadata?: boolean;
60
+ /**
61
+ * - suppress env-stage-loader logs when useDotenv/useDotEnv is enabled
62
+ */
63
+ dotEnvSilent?: boolean;
64
+ /**
65
+ * - enable env-stage-loader debug logs when useDotenv/useDotEnv is enabled
66
+ */
67
+ dotEnvDebug?: boolean;
60
68
  /**
61
69
  * - keys to merge in arrays of objects
62
70
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.js"],"names":[],"mappings":";;;AAuCiB,0BALH,CAAC,4BACJ,MAAM,MAAO,aACb,mBAAmB,GACjB,OAAO,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAiD7C;;IASqB,qBALR,CAAC,4BACJ,MAAM,MAAO,aACb,mBAAmB,GACjB,CAAC,CAgBb;IAQwB,4CAJb,MAAM,GAAC,MAAM,aACd,MAAM,gBAUhB;;;;;;;;;;;;;;;;aApHa,MAAM;;;;gBACN,MAAM;;;;;;;;;;;;;;;;;;;;uBAIN,OAAO;;;;2BACP,OAAO;;;;kBACP,cAAe;;;;qBACf,OAAO;;;;gBACP,MAAM,EAAE;;;;;;;;uBAKR,CAAC;;;;oBAED,MAAM;;;;;;;;;;YAEN,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.js"],"names":[],"mappings":";;;AAyCiB,0BALH,CAAC,4BACJ,MAAM,MAAO,aACb,mBAAmB,GACjB,OAAO,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAiD7C;;IASqB,qBALR,CAAC,4BACJ,MAAM,MAAO,aACb,mBAAmB,GACjB,CAAC,CAgBb;IAQwB,4CAJb,MAAM,GAAC,MAAM,aACd,MAAM,gBAUhB;;;;;;;;;;;;;;;;aAtHa,MAAM;;;;gBACN,MAAM;;;;;;;;;;;;;;;;;;;;uBAIN,OAAO;;;;2BACP,OAAO;;;;kBACP,cAAe;;;;qBACf,OAAO;;;;mBACP,OAAO;;;;kBACP,OAAO;;;;gBACP,MAAM,EAAE;;;;;;;;uBAKR,CAAC;;;;oBAED,MAAM;;;;;;;;;;YAEN,CAAC"}
@@ -7,6 +7,7 @@ declare class Configorama {
7
7
  foundVariables: any[];
8
8
  fileRefsFound: any[];
9
9
  resolutionTracking: {};
10
+ _trackCalls: boolean;
10
11
  variableSyntax: RegExp;
11
12
  varPrefix: string;
12
13
  varSuffix: string;
@@ -64,22 +65,7 @@ declare class Configorama {
64
65
  * @returns {object} Metadata object containing variables, fileRefs, and summary
65
66
  */
66
67
  collectVariableMetadata(): object;
67
- _cachedMetadata: {
68
- variables: {};
69
- uniqueVariables: {};
70
- fileDependencies: {
71
- globPatterns: any[];
72
- dynamicPaths: any[];
73
- resolvedPaths: any[];
74
- byConfigPath: any[];
75
- references: any[];
76
- };
77
- summary: {
78
- totalVariables: number;
79
- requiredVariables: number;
80
- variablesWithDefaults: number;
81
- };
82
- };
68
+ _cachedMetadata: any;
83
69
  /**
84
70
  * Populate the variables in the given object.
85
71
  * @param objectToPopulate The object to populate variables within.
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/main.js"],"names":[],"mappings":";AA0GA;IACE,0CA2dC;IAndC,cAcW;IAuBX,gBAAqB;IAErB,mCAAoC;IAEpC,sBAAwB;IACxB,qBAAuB;IAGvB,uBAA4B;IAsB5B,uBAAoC;IAIpC,kBAAqC;IACrC,kBAAqC;IAErC,yBAA+F;IAC/F,yBAAuD;IACvD,kCAAyE;IAKvE,uBAAgD;IAKhD,YAAuB;IAEvB,oBAA0C;IAE1C,gBAAoD;IAOpD,uBAAkC;IAElC,uBAA8B;IAE9B,uBAAkC;IASpC,wBAAmC;IAGnC,mBAqHC;IAwED,4BAA8C;IAG9C,iCAAkC;IAalC,aA2EC;IAUD,oBAEC;IAGD,eAiDC;IAOD,YAAc;IACd,cAAgB;IAChB,kBAAkB;IAGpB;;;;OAIG;IACH,0BAHW,MAAM,GACJ,OAAO,CAQnB;IAED;;;;OAIG;IACH,6BAHW,MAAM,GACJ,MAAM,GAAC,IAAI,CAOvB;IAED;;;;OAIG;IACH,gCAHW,MAAM,GACJ,OAAO,CA2BnB;IAKD;;;;;OAKG;IACH,oBAFa,OAAO,CAAC,GAAG,CAAC,CA6vBxB;IA1vBC,aAA4B;IAc1B,2BAA4B;IAmB1B,sBAA0C;IAC1C,4BAAkC;IA0tBxC;;;OAGG;IACH,2BAFa,MAAM,CA6alB;IAvBC;;;;;;;;;;;;;;;MAoBC;IAIH;;;;OAIG;IACH,uCAFa,OAAO,CAAC,GAAG,CAAC,CAIxB;IACD,+CAsBC;IAKD;;;;;;;;;;;;;;;;;;;OAmBG;IACH;;;;;;;;;;;OAWG;IACH,mFAHa;;;;cAZC,QAAQ;;;;eACR,IAAI,GAAC,MAAM,SAAO;OAWD,CA6E9B;IACD;;;OAGG;IACH;;;;;OAKG;IACH,oCAHa,OAAO,CAAC;;;;cAjGP,QAAQ;;;;eACR,IAAI,GAAC,MAAM,SAAO;OAgGgB,CAAC,EAAE,CA6BlD;IACD;;;;;OAKG;IACH,iDAFa,OAAO,CAAC,IAAI,CAAC,CAWzB;IAID;;;;;OAKG;IACH;;;;OAIG;IACH,2BAFa,eAAc;;;;;;;;;;OAAa,CAavC;IACD;;;;;OAKG;IACH,yBAHW;;;;;;;;;;OAAa,gCACX,cAAS,CAOrB;IACD;;;;;;OAMG;IACH,6DAFa,GAAC,CAiLb;IAKD;;;;;;;OAOG;IACH,yDAHa,OAAO,CAAC,GAAG,CAAC,CAiCxB;IACD;;;;OAIG;IAOH;;;;;;OAMG;IACH,wFA2BC;IACD;;;;;;;;;;;OAWG;IACH,8BARG;QAAyB,KAAK,EAAtB,GAAG;QACoB,IAAI,GAA3B,MAAM,EAAE;QACa,cAAc,GAAnC,MAAM;QACc,iBAAiB;KAC7C,6CAEU;QAAC,KAAK,EAAE,GAAG,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,iBAAiB,CAAC,QAAQ;QAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAC,CAsa9J;IAID;;;;;;;;OAQG;IACH,qEAHa,OAAO,CAAC,GAAG,CAAC,CAoExB;IAKD;;;;;;;OAOG;IACH,0FAFa,OAAO,CAAC,GAAG,CAAC,CAiiBxB;IACD,+EA+BC;IACD,yDAiBC;IACD,oEA6BC;IAKD,8CAQC;IACD,kDAyBC;IACD;;;;;;;;;;;;;OAaG;IACH,wEAoDC;IAKD,4BAOC;IACD,sCAqEC;CACF"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/main.js"],"names":[],"mappings":";AA2GA;IACE,0CAieC;IAzdC,cAkBW;IAuBX,gBAAqB;IAErB,mCAAoC;IAEpC,sBAAwB;IACxB,qBAAuB;IAGvB,uBAA4B;IAE5B,qBAAmD;IAsBnD,uBAAoC;IAIpC,kBAAqC;IACrC,kBAAqC;IAErC,yBAA+F;IAC/F,yBAAuD;IACvD,kCAAyE;IAKvE,uBAAgD;IAKhD,YAAuB;IAEvB,oBAA0C;IAE1C,gBAAoD;IAOpD,uBAAkC;IAElC,uBAA8B;IAE9B,uBAAkC;IASpC,wBAAmC;IAGnC,mBAqHC;IAwED,4BAA8C;IAG9C,iCAAkC;IAalC,aA2EC;IAUD,oBAEC;IAGD,eAiDC;IAOD,YAAc;IACd,cAAgB;IAChB,kBAAkB;IAGpB;;;;OAIG;IACH,0BAHW,MAAM,GACJ,OAAO,CAQnB;IAED;;;;OAIG;IACH,6BAHW,MAAM,GACJ,MAAM,GAAC,IAAI,CAOvB;IAED;;;;OAIG;IACH,gCAHW,MAAM,GACJ,OAAO,CA2BnB;IAKD;;;;;OAKG;IACH,oBAFa,OAAO,CAAC,GAAG,CAAC,CA6UxB;IA1UC,aAA4B;IAc1B,2BAA4B;IAmB1B,sBAA0C;IAC1C,4BAAkC;IA0SxC;;;OAGG;IACH,2BAFa,MAAM,CAsBlB;IAdC,qBAWE;IAIJ;;;;OAIG;IACH,uCAFa,OAAO,CAAC,GAAG,CAAC,CAIxB;IACD,+CAsBC;IAKD;;;;;;;;;;;;;;;;;;;OAmBG;IACH;;;;;;;;;;;OAWG;IACH,mFAHa;;;;cAZC,QAAQ;;;;eACR,IAAI,GAAC,MAAM,SAAO;OAWD,CA6E9B;IACD;;;OAGG;IACH;;;;;OAKG;IACH,oCAHa,OAAO,CAAC;;;;cAjGP,QAAQ;;;;eACR,IAAI,GAAC,MAAM,SAAO;OAgGgB,CAAC,EAAE,CA6BlD;IACD;;;;;OAKG;IACH,iDAFa,OAAO,CAAC,IAAI,CAAC,CAWzB;IAID;;;;;OAKG;IACH;;;;OAIG;IACH,2BAFa,eAAc;;;;;;;;;;OAAa,CAavC;IACD;;;;;OAKG;IACH,yBAHW;;;;;;;;;;OAAa,gCACX,cAAS,CAOrB;IACD;;;;;;OAMG;IACH,6DAFa,GAAC,CAiLb;IAKD;;;;;;;OAOG;IACH,yDAHa,OAAO,CAAC,GAAG,CAAC,CAiCxB;IACD;;;;OAIG;IAOH;;;;;;OAMG;IACH,wFA2BC;IACD;;;;;;;;;;;OAWG;IACH,8BARG;QAAyB,KAAK,EAAtB,GAAG;QACoB,IAAI,GAA3B,MAAM,EAAE;QACa,cAAc,GAAnC,MAAM;QACc,iBAAiB;KAC7C,6CAEU;QAAC,KAAK,EAAE,GAAG,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,iBAAiB,CAAC,QAAQ;QAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAC,CAsa9J;IAID;;;;;;;;OAQG;IACH,qEAHa,OAAO,CAAC,GAAG,CAAC,CAoExB;IAKD;;;;;;;OAOG;IACH,0FAFa,OAAO,CAAC,GAAG,CAAC,CA0iBxB;IACD,+EA+BC;IACD,yDAiBC;IACD,oEA6BC;IAKD,8CAQC;IACD,kDAyBC;IACD;;;;;;;;;;;;;OAaG;IACH,wEAoDC;IAKD,4BAOC;IACD,sCAqEC;CACF"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Collect metadata about all variables found in the configuration
3
+ * @param {Object} params
4
+ * @param {RegExp} params.variableSyntax
5
+ * @param {Object} params.variablesKnownTypes
6
+ * @param {Object} params.variableTypes
7
+ * @param {RegExp|null} params.filterMatch
8
+ * @param {string} params.configFilePath
9
+ * @param {Object} params.displayConfig - rawOriginalConfig || originalConfig, used for traversal
10
+ * @param {Object} params.originalConfig - this.originalConfig, used for dotProp.get checks
11
+ * @param {string} params.varSuffix
12
+ * @param {RegExp} params.varSuffixWithSpacePattern
13
+ * @returns {Object} Metadata object containing variables, fileDependencies, and summary
14
+ */
15
+ export function collectVariableMetadata({ variableSyntax, variablesKnownTypes, variableTypes, filterMatch, configFilePath, displayConfig, originalConfig, varSuffix, varSuffixWithSpacePattern, }: {
16
+ variableSyntax: RegExp;
17
+ variablesKnownTypes: any;
18
+ variableTypes: any;
19
+ filterMatch: RegExp | null;
20
+ configFilePath: string;
21
+ displayConfig: any;
22
+ originalConfig: any;
23
+ varSuffix: string;
24
+ varSuffixWithSpacePattern: RegExp;
25
+ }): any;
26
+ //# sourceMappingURL=metadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/metadata.js"],"names":[],"mappings":"AAWA;;;;;;;;;;;;;GAaG;AACH,mMAXG;IAAuB,cAAc,EAA7B,MAAM;IACS,mBAAmB;IACnB,aAAa;IACR,WAAW,EAA/B,MAAM,GAAC,IAAI;IACI,cAAc,EAA7B,MAAM;IACS,aAAa;IACb,cAAc;IACd,SAAS,EAAxB,MAAM;IACS,yBAAyB,EAAxC,MAAM;CACd,OAyaF"}
@@ -1 +1 @@
1
- {"version":3,"file":"valueFromGit.d.ts","sourceRoot":"","sources":["../../../src/resolvers/valueFromGit.js"],"names":[],"mappings":"AA2XiB;;;;;;;;EAUhB"}
1
+ {"version":3,"file":"valueFromGit.d.ts","sourceRoot":"","sources":["../../../src/resolvers/valueFromGit.js"],"names":[],"mappings":"AA4XiB;;;;;;;;EAUhB"}
@@ -0,0 +1,10 @@
1
+ export = BoundedMap;
2
+ declare class BoundedMap {
3
+ constructor(maxSize?: number);
4
+ _map: Map<any, any>;
5
+ _maxSize: number;
6
+ get(key: any): any;
7
+ has(key: any): boolean;
8
+ set(key: any, value: any): this;
9
+ }
10
+ //# sourceMappingURL=BoundedMap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BoundedMap.d.ts","sourceRoot":"","sources":["../../../src/utils/BoundedMap.js"],"names":[],"mappings":";AAGA;IACE,8BAGC;IAFC,oBAAqB;IACrB,iBAAuB;IAEzB,mBAEC;IACD,uBAEC;IACD,gCAOC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../../src/utils/parsing/parse.js"],"names":[],"mappings":";;;;cAgBc,MAAM;;;;cACN,MAAM;;;;eACN,MAAM;;;;kBACN,cAAe;;;;;;eAmIf,MAAM;;;;kBACN,cAAe;;AAzI7B;;;;;;GAMG;AAEH;;;;GAIG;AACH,iFAHW,YAAY,OA0HtB;AAED;;;;GAIG;AAEH;;;;;GAKG;AACH,oCAJW,MAAM,SACN,gBAAgB,OAW1B"}
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../../src/utils/parsing/parse.js"],"names":[],"mappings":";;;;cA4Dc,MAAM;;;;cACN,MAAM;;;;eACN,MAAM;;;;kBACN,cAAe;;;;;;eAyIf,MAAM;;;;kBACN,cAAe;;AA/I7B;;;;;;GAMG;AAEH;;;;GAIG;AACH,iFAHW,YAAY,OAgItB;AAED;;;;GAIG;AAEH;;;;;GAKG;AACH,oCAJW,MAAM,SACN,gBAAgB,OAW1B"}
@@ -9,4 +9,13 @@
9
9
  * @returns {number} Line number (1-indexed) or 0 if not found
10
10
  */
11
11
  export function findLineForKey(keyToFind: string, lines: string[], fileType: string): number;
12
+ /**
13
+ * Walk a dot-separated config path through raw file lines to find the exact line.
14
+ * YAML uses indentation-based nesting, JSON uses brace-based nesting.
15
+ * @param {string} configPath - Dot-separated path (e.g. 'resources.Parameters.Description')
16
+ * @param {string[]} lines - Array of file lines
17
+ * @param {string} fileType - File extension (e.g., '.yml', '.json')
18
+ * @returns {number} Line number (1-indexed) or 0 if not found
19
+ */
20
+ export function findLineByPath(configPath: string, lines: string[], fileType: string): number;
12
21
  //# sourceMappingURL=findLineForKey.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"findLineForKey.d.ts","sourceRoot":"","sources":["../../../../src/utils/paths/findLineForKey.js"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;GAMG;AACH,0CALW,MAAM,SACN,MAAM,EAAE,YACR,MAAM,GACJ,MAAM,CAiClB"}
1
+ {"version":3,"file":"findLineForKey.d.ts","sourceRoot":"","sources":["../../../../src/utils/paths/findLineForKey.js"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;GAMG;AACH,0CALW,MAAM,SACN,MAAM,EAAE,YACR,MAAM,GACJ,MAAM,CAiClB;AAED;;;;;;;GAOG;AACH,2CALW,MAAM,SACN,MAAM,EAAE,YACR,MAAM,GACJ,MAAM,CAYlB"}
@@ -1 +1 @@
1
- {"version":3,"file":"replaceAll.d.ts","sourceRoot":"","sources":["../../../../src/utils/strings/replaceAll.js"],"names":[],"mappings":"AAKA;;;;;;GAMG;AACH,wCALW,MAAM,YACN,MAAM,UACN,MAAM,GACJ,MAAM,CAelB"}
1
+ {"version":3,"file":"replaceAll.d.ts","sourceRoot":"","sources":["../../../../src/utils/strings/replaceAll.js"],"names":[],"mappings":"AAMA;;;;;;GAMG;AACH,wCALW,MAAM,YACN,MAAM,UACN,MAAM,GACJ,MAAM,CAelB"}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=valueFromSelf.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"valueFromSelf.d.ts","sourceRoot":"","sources":["../../../src/resolvers/valueFromSelf.js"],"names":[],"mappings":""}