configorama 0.6.19 → 0.7.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 +78 -2
- package/cli.js +1 -0
- package/index.d.ts +90 -37
- package/package.json +8 -2
- package/src/index.js +42 -14
- package/src/main.js +72 -51
- package/src/parsers/index.js +10 -0
- package/src/parsers/typescript.js +20 -43
- package/src/parsers/yaml.js +35 -2
- package/src/resolvers/valueFromFile.js +87 -24
- package/src/resolvers/valueFromGit.js +11 -3
- package/src/utils/encoders/js-fixes.js +44 -0
- package/src/utils/parsing/mergeByKeys.js +4 -3
- package/src/utils/parsing/parse.js +4 -2
- package/src/utils/paths/getFullFilePath.js +1 -1
- package/src/utils/resolution/preResolveVariable.js +1 -0
- package/src/utils/strings/quoteUtils.js +2 -2
- package/src/utils/strings/splitCsv.js +1 -1
- package/src/utils/ui/logs.js +4 -4
- package/src/utils/validation/warnIfNotFound.js +3 -3
- package/src/utils/variables/findNestedVariables.js +2 -2
- package/types/cli.d.ts +3 -0
- package/types/cli.d.ts.map +1 -0
- package/types/src/functions/md5.d.ts +3 -0
- package/types/src/functions/md5.d.ts.map +1 -0
- package/types/src/index.d.ts +100 -0
- package/types/src/index.d.ts.map +1 -0
- package/types/src/main.d.ts +275 -0
- package/types/src/main.d.ts.map +1 -0
- package/types/src/parsers/esm.d.ts +15 -0
- package/types/src/parsers/esm.d.ts.map +1 -0
- package/types/src/parsers/hcl.d.ts +1 -0
- package/types/src/parsers/hcl.d.ts.map +1 -0
- package/types/src/parsers/index.d.ts +18 -0
- package/types/src/parsers/index.d.ts.map +1 -0
- package/types/src/parsers/ini.d.ts +6 -0
- package/types/src/parsers/ini.d.ts.map +1 -0
- package/types/src/parsers/json5.d.ts +10 -0
- package/types/src/parsers/json5.d.ts.map +1 -0
- package/types/src/parsers/toml.d.ts +7 -0
- package/types/src/parsers/toml.d.ts.map +1 -0
- package/types/src/parsers/typescript.d.ts +15 -0
- package/types/src/parsers/typescript.d.ts.map +1 -0
- package/types/src/parsers/yaml.d.ts +45 -0
- package/types/src/parsers/yaml.d.ts.map +1 -0
- package/types/src/resolvers/valueFromCron.d.ts +14 -0
- package/types/src/resolvers/valueFromCron.d.ts.map +1 -0
- package/types/src/resolvers/valueFromEnv.d.ts +8 -0
- package/types/src/resolvers/valueFromEnv.d.ts.map +1 -0
- package/types/src/resolvers/valueFromEval.d.ts +7 -0
- package/types/src/resolvers/valueFromEval.d.ts.map +1 -0
- package/types/src/resolvers/valueFromFile.d.ts +58 -0
- package/types/src/resolvers/valueFromFile.d.ts.map +1 -0
- package/types/src/resolvers/valueFromGit.d.ts +11 -0
- package/types/src/resolvers/valueFromGit.d.ts.map +1 -0
- package/types/src/resolvers/valueFromNumber.d.ts +6 -0
- package/types/src/resolvers/valueFromNumber.d.ts.map +1 -0
- package/types/src/resolvers/valueFromOptions.d.ts +9 -0
- package/types/src/resolvers/valueFromOptions.d.ts.map +1 -0
- package/types/src/resolvers/valueFromSelf.d.ts +1 -0
- package/types/src/resolvers/valueFromSelf.d.ts.map +1 -0
- package/types/src/resolvers/valueFromString.d.ts +6 -0
- package/types/src/resolvers/valueFromString.d.ts.map +1 -0
- package/types/src/sync.d.ts +3 -0
- package/types/src/sync.d.ts.map +1 -0
- package/types/src/utils/PromiseTracker.d.ts +19 -0
- package/types/src/utils/PromiseTracker.d.ts.map +1 -0
- package/types/src/utils/encoders/index.d.ts +2 -0
- package/types/src/utils/encoders/index.d.ts.map +1 -0
- package/types/src/utils/encoders/js-fixes.d.ts +23 -0
- package/types/src/utils/encoders/js-fixes.d.ts.map +1 -0
- package/types/src/utils/encoders/unknown-values.d.ts +18 -0
- package/types/src/utils/encoders/unknown-values.d.ts.map +1 -0
- package/types/src/utils/handleSignalEvents.d.ts +3 -0
- package/types/src/utils/handleSignalEvents.d.ts.map +1 -0
- package/types/src/utils/lodash.d.ts +4 -0
- package/types/src/utils/lodash.d.ts.map +1 -0
- package/types/src/utils/parsing/arrayToJsonPath.d.ts +5 -0
- package/types/src/utils/parsing/arrayToJsonPath.d.ts.map +1 -0
- package/types/src/utils/parsing/cloudformationSchema.d.ts +2 -0
- package/types/src/utils/parsing/cloudformationSchema.d.ts.map +1 -0
- package/types/src/utils/parsing/enrichMetadata.d.ts +17 -0
- package/types/src/utils/parsing/enrichMetadata.d.ts.map +1 -0
- package/types/src/utils/parsing/mergeByKeys.d.ts +5 -0
- package/types/src/utils/parsing/mergeByKeys.d.ts.map +1 -0
- package/types/src/utils/parsing/parse.d.ts +54 -0
- package/types/src/utils/parsing/parse.d.ts.map +1 -0
- package/types/src/utils/parsing/preProcess.d.ts +10 -0
- package/types/src/utils/parsing/preProcess.d.ts.map +1 -0
- package/types/src/utils/paths/filePathUtils.d.ts +32 -0
- package/types/src/utils/paths/filePathUtils.d.ts.map +1 -0
- package/types/src/utils/paths/findLineForKey.d.ts +12 -0
- package/types/src/utils/paths/findLineForKey.d.ts.map +1 -0
- package/types/src/utils/paths/findProjectRoot.d.ts +2 -0
- package/types/src/utils/paths/findProjectRoot.d.ts.map +1 -0
- package/types/src/utils/paths/getFullFilePath.d.ts +25 -0
- package/types/src/utils/paths/getFullFilePath.d.ts.map +1 -0
- package/types/src/utils/paths/resolveAlias.d.ts +14 -0
- package/types/src/utils/paths/resolveAlias.d.ts.map +1 -0
- package/types/src/utils/regex/index.d.ts +14 -0
- package/types/src/utils/regex/index.d.ts.map +1 -0
- package/types/src/utils/resolution/preResolveVariable.d.ts +51 -0
- package/types/src/utils/resolution/preResolveVariable.d.ts.map +1 -0
- package/types/src/utils/strings/bracketMatcher.d.ts +25 -0
- package/types/src/utils/strings/bracketMatcher.d.ts.map +1 -0
- package/types/src/utils/strings/formatFunctionArgs.d.ts +3 -0
- package/types/src/utils/strings/formatFunctionArgs.d.ts.map +1 -0
- package/types/src/utils/strings/quoteUtils.d.ts +31 -0
- package/types/src/utils/strings/quoteUtils.d.ts.map +1 -0
- package/types/src/utils/strings/replaceAll.d.ts +9 -0
- package/types/src/utils/strings/replaceAll.d.ts.map +1 -0
- package/types/src/utils/strings/splitByComma.d.ts +2 -0
- package/types/src/utils/strings/splitByComma.d.ts.map +1 -0
- package/types/src/utils/strings/splitCsv.d.ts +10 -0
- package/types/src/utils/strings/splitCsv.d.ts.map +1 -0
- package/types/src/utils/strings/textUtils.d.ts +15 -0
- package/types/src/utils/strings/textUtils.d.ts.map +1 -0
- package/types/src/utils/ui/chalk.d.ts +70 -0
- package/types/src/utils/ui/chalk.d.ts.map +1 -0
- package/types/src/utils/ui/configWizard.d.ts +67 -0
- package/types/src/utils/ui/configWizard.d.ts.map +1 -0
- package/types/src/utils/ui/createEditorLink.d.ts +11 -0
- package/types/src/utils/ui/createEditorLink.d.ts.map +1 -0
- package/types/src/utils/ui/deep-log.d.ts +3 -0
- package/types/src/utils/ui/deep-log.d.ts.map +1 -0
- package/types/src/utils/ui/logs.d.ts +2 -0
- package/types/src/utils/ui/logs.d.ts.map +1 -0
- package/types/src/utils/validation/warnIfNotFound.d.ts +15 -0
- package/types/src/utils/validation/warnIfNotFound.d.ts.map +1 -0
- package/types/src/utils/variables/appendDeepVariable.d.ts +3 -0
- package/types/src/utils/variables/appendDeepVariable.d.ts.map +1 -0
- package/types/src/utils/variables/cleanVariable.d.ts +3 -0
- package/types/src/utils/variables/cleanVariable.d.ts.map +1 -0
- package/types/src/utils/variables/findNestedVariables.d.ts +23 -0
- package/types/src/utils/variables/findNestedVariables.d.ts.map +1 -0
- package/types/src/utils/variables/getVariableType.d.ts +8 -0
- package/types/src/utils/variables/getVariableType.d.ts.map +1 -0
- package/types/src/utils/variables/variableUtils.d.ts +21 -0
- package/types/src/utils/variables/variableUtils.d.ts.map +1 -0
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runs config setup wizard
|
|
3
|
+
* @param {object} metadata - Enriched metadata from configorama
|
|
4
|
+
* @param {object} originalConfig - The original config before resolution
|
|
5
|
+
* @returns {Promise<object>} User inputs by variable type
|
|
6
|
+
*/
|
|
7
|
+
export function runConfigWizard(metadata: object, originalConfig?: object, configFilePath?: string): Promise<object>;
|
|
8
|
+
/**
|
|
9
|
+
* Groups variables by type for wizard flow
|
|
10
|
+
* @param {object} uniqueVariables - The uniqueVariables from enriched metadata
|
|
11
|
+
* @param {object} originalConfig - The original config before resolution
|
|
12
|
+
* @returns {object} Grouped variables by type
|
|
13
|
+
*/
|
|
14
|
+
export function groupVariablesByType(uniqueVariables: object, originalConfig?: object): object;
|
|
15
|
+
/**
|
|
16
|
+
* Detects if a variable name suggests sensitive data
|
|
17
|
+
* @param {string} name - Variable name
|
|
18
|
+
* @returns {boolean} True if likely sensitive
|
|
19
|
+
*/
|
|
20
|
+
export function isSensitiveVariable(name: string): boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Creates a human-readable prompt message
|
|
23
|
+
* @param {object} varInfo - Variable info
|
|
24
|
+
* @returns {string} Prompt message
|
|
25
|
+
*/
|
|
26
|
+
export function createPromptMessage(varInfo: object): string;
|
|
27
|
+
/**
|
|
28
|
+
* Extracts type from variable data or occurrences
|
|
29
|
+
* @param {object} varData - Variable data with types array or occurrences
|
|
30
|
+
* @returns {string|null} Expected type or null
|
|
31
|
+
*/
|
|
32
|
+
export function getExpectedType(varData: object): string | null;
|
|
33
|
+
/**
|
|
34
|
+
* Extracts help text from variable data or occurrences
|
|
35
|
+
* @param {object} varData - Variable data with descriptions array or occurrences
|
|
36
|
+
* @returns {string|null} Help text or null
|
|
37
|
+
*/
|
|
38
|
+
export function getHelpText(varData: object): string | null;
|
|
39
|
+
/**
|
|
40
|
+
* Extracts allowed values from description text like "Deployment stage (dev, staging, production)"
|
|
41
|
+
* @param {object} varData - Variable data with descriptions array or occurrences
|
|
42
|
+
* @returns {string[]|null} Array of allowed values or null if not found
|
|
43
|
+
*/
|
|
44
|
+
export function getAllowedValues(varData: object): string[] | null;
|
|
45
|
+
/**
|
|
46
|
+
* Validates input value based on expected type
|
|
47
|
+
* @param {string} value - Input value
|
|
48
|
+
* @param {string} expectedType - Expected type (String, Number, Boolean, Json)
|
|
49
|
+
* @returns {string|undefined} Error message if invalid, undefined if valid
|
|
50
|
+
*/
|
|
51
|
+
export function validateType(value: string, expectedType: string): string | undefined;
|
|
52
|
+
/**
|
|
53
|
+
* Prefixes each line of multiline text with INVISIBLE_SPACE repeated a specified number of times
|
|
54
|
+
* @param {number} count - Number of times to repeat INVISIBLE_SPACE for prefix
|
|
55
|
+
* @param {string} text - Multiline text to prefix
|
|
56
|
+
* @returns {string} Text with each line prefixed with INVISIBLE_SPACE
|
|
57
|
+
*/
|
|
58
|
+
export function prefixMultilineText(count: number, text: string): string;
|
|
59
|
+
/**
|
|
60
|
+
* Formats multiline text for wizard display with leading pipe and invisible space indentation
|
|
61
|
+
* @param {number} indentCount - Number of times to repeat INVISIBLE_SPACE for indentation
|
|
62
|
+
* @param {string} text - Multiline text to format
|
|
63
|
+
* @param {boolean} addLeadingEmptyLine - Whether to add empty line with pipe before first line (default: true)
|
|
64
|
+
* @returns {string} Formatted text with pipe prefix and indentation
|
|
65
|
+
*/
|
|
66
|
+
export function formatWizardMultilineText(indentCount: number, text: string, addLeadingEmptyLine?: boolean): string;
|
|
67
|
+
//# sourceMappingURL=configWizard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configWizard.d.ts","sourceRoot":"","sources":["../../../../src/utils/ui/configWizard.js"],"names":[],"mappings":"AAwcA;;;;;GAKG;AACH,0CAJW,MAAM,mBACN,MAAM,4BACJ,OAAO,CAAC,MAAM,CAAC,CAqP3B;AA5pBD;;;;;GAKG;AACH,sDAJW,MAAM,mBACN,MAAM,GACJ,MAAM,CAgKlB;AAED;;;;GAIG;AACH,0CAHW,MAAM,GACJ,OAAO,CAYnB;AA+HD;;;;GAIG;AACH,6CAHW,MAAM,GACJ,MAAM,CA0GlB;AApMD;;;;GAIG;AACH,yCAHW,MAAM,GACJ,MAAM,GAAC,IAAI,CA0BvB;AAED;;;;GAIG;AACH,qCAHW,MAAM,GACJ,MAAM,GAAC,IAAI,CA4BvB;AAED;;;;GAIG;AACH,0CAHW,MAAM,GACJ,MAAM,EAAE,GAAC,IAAI,CAkBzB;AA3HD;;;;;GAKG;AACH,oCAJW,MAAM,gBACN,MAAM,GACJ,MAAM,GAAC,SAAS,CAgC5B;AAvPD;;;;;GAKG;AACH,2CAJW,MAAM,QACN,MAAM,GACJ,MAAM,CAMlB;AAED;;;;;;GAMG;AACH,uDALW,MAAM,QACN,MAAM,wBACN,OAAO,GACL,MAAM,CASlB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Creates a hyperlink for the default editor (Cursor/VS Code)
|
|
3
|
+
* @param {string} filePath - The file path to link to
|
|
4
|
+
* @param {number} line - Line number (default: 1)
|
|
5
|
+
* @param {number} column - Column number (default: 1)
|
|
6
|
+
* @param {string} customDisplay - Custom display text (default: filename:line)
|
|
7
|
+
* @param {string|false} color - Chalk color for the link (default: 'cyanBright'), or false to skip coloring
|
|
8
|
+
* @returns {string} The hyperlink string
|
|
9
|
+
*/
|
|
10
|
+
export function createEditorLink(filePath: string, line?: number, column?: number, customDisplay?: string, color?: string | false): string;
|
|
11
|
+
//# sourceMappingURL=createEditorLink.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createEditorLink.d.ts","sourceRoot":"","sources":["../../../../src/utils/ui/createEditorLink.js"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AACH,2CAPW,MAAM,SACN,MAAM,WACN,MAAM,kBACN,MAAM,UACN,MAAM,GAAC,KAAK,GACV,MAAM,CAiBlB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deep-log.d.ts","sourceRoot":"","sources":["../../../../src/utils/ui/deep-log.js"],"names":[],"mappings":"AAEiB,8DAOhB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../../../src/utils/ui/logs.js"],"names":[],"mappings":"AAEA,8CASC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Check if variable resolved to valid value, log warning if not
|
|
3
|
+
* @param {string} variableString - The variable being resolved
|
|
4
|
+
* @param {*} valueToPopulate - The resolved value
|
|
5
|
+
* @param {object} [options] - Configuration options
|
|
6
|
+
* @param {object} [options.patterns] - Regex patterns for variable types
|
|
7
|
+
* @param {boolean} [options.debug] - Whether to log warnings
|
|
8
|
+
* @returns {*} The valueToPopulate unchanged
|
|
9
|
+
*/
|
|
10
|
+
export function warnIfNotFound(variableString: string, valueToPopulate: any, options?: {
|
|
11
|
+
patterns?: object;
|
|
12
|
+
debug?: boolean;
|
|
13
|
+
}): any;
|
|
14
|
+
export function isValidValue(val: any): boolean;
|
|
15
|
+
//# sourceMappingURL=warnIfNotFound.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"warnIfNotFound.d.ts","sourceRoot":"","sources":["../../../../src/utils/validation/warnIfNotFound.js"],"names":[],"mappings":"AAYA;;;;;;;;GAQG;AACH,+CAPW,MAAM,mBACN,GAAC,YAET;IAAyB,QAAQ,GAAzB,MAAM;IACY,KAAK,GAAvB,OAAO;CACf,GAAU,GAAC,CA2Bb;AAzCD,gDAKC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"appendDeepVariable.d.ts","sourceRoot":"","sources":["../../../../src/utils/variables/appendDeepVariable.js"],"names":[],"mappings":"AACiB,mEAEhB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cleanVariable.d.ts","sourceRoot":"","sources":["../../../../src/utils/variables/cleanVariable.js"],"names":[],"mappings":"AAYiB,+GAuEhB"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Finds all nested variable interpolations in a string while preserving original syntax
|
|
3
|
+
*
|
|
4
|
+
* This function handles complex nested variables like:
|
|
5
|
+
* ${file(./config.${opt:stage, ${defaultStage}}.json):CREDS}
|
|
6
|
+
*
|
|
7
|
+
* The returned matches will include:
|
|
8
|
+
* 1. innermost variables first (e.g., ${defaultStage})
|
|
9
|
+
* 2. middle variables next (e.g., ${opt:stage, ${defaultStage}})
|
|
10
|
+
* 3. outermost variables last (e.g., the entire expression)
|
|
11
|
+
*
|
|
12
|
+
* Each variable retains its original syntax even in nested form.
|
|
13
|
+
*
|
|
14
|
+
* @param {string} input - The input string containing variable interpolations
|
|
15
|
+
* @param {RegExp} regex - The regex pattern to match variables
|
|
16
|
+
* @param {RegExp} variablesKnownTypes - Combined regex of all known variable types
|
|
17
|
+
* @param {string} location - The location in config where this variable appears
|
|
18
|
+
* @param {Array} variableTypes - Array of variable type definitions from resolvers
|
|
19
|
+
* @param {boolean} debug - Whether to print debug information
|
|
20
|
+
* @returns {Array} Array of match objects with fullMatch, variable, varString and other properties
|
|
21
|
+
*/
|
|
22
|
+
export function findNestedVariables(input: string, regex: RegExp, variablesKnownTypes: RegExp, location: string, variableTypes: any[], debug?: boolean): any[];
|
|
23
|
+
//# sourceMappingURL=findNestedVariables.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"findNestedVariables.d.ts","sourceRoot":"","sources":["../../../../src/utils/variables/findNestedVariables.js"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,2CARW,MAAM,SACN,MAAM,uBACN,MAAM,YACN,MAAM,gCAEN,OAAO,SAyQjB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Determines the type of a variable by matching against resolver definitions
|
|
3
|
+
* @param {string} varString - The variable string (without ${})
|
|
4
|
+
* @param {Array} variableTypes - Array of variable type definitions with match regex and type
|
|
5
|
+
* @returns {string} The type field from the matching resolver, or 'dot.prop' as fallback
|
|
6
|
+
*/
|
|
7
|
+
export function getVariableType(varString: string, variableTypes: any[]): string;
|
|
8
|
+
//# sourceMappingURL=getVariableType.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getVariableType.d.ts","sourceRoot":"","sources":["../../../../src/utils/variables/getVariableType.js"],"names":[],"mappings":"AAQA;;;;;GAKG;AACH,2CAJW,MAAM,yBAEJ,MAAM,CAwClB"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extract variable prefix/suffix from regex source
|
|
3
|
+
* @param {string} syntaxSource - The regex source string (e.g., '\\$\\{(...)\\}')
|
|
4
|
+
* @returns {{ prefix: string, suffix: string }} The unescaped prefix and suffix
|
|
5
|
+
*/
|
|
6
|
+
export function extractVariableWrapper(syntaxSource: string): {
|
|
7
|
+
prefix: string;
|
|
8
|
+
suffix: string;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Get fallback variable string
|
|
12
|
+
* @param {string[]} split - Array from split at comma
|
|
13
|
+
* @param {string} nestedVar - Fallback variable to reconstruct variable string from
|
|
14
|
+
* @returns {string} New ${variable, string}
|
|
15
|
+
*/
|
|
16
|
+
export function getFallbackString(split: string[], nestedVar: string): string;
|
|
17
|
+
/**
|
|
18
|
+
* Verify if variable string is valid
|
|
19
|
+
*/
|
|
20
|
+
export function verifyVariable(variableString: any, valueObject: any, variableTypes: any, config: any): any;
|
|
21
|
+
//# sourceMappingURL=variableUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variableUtils.d.ts","sourceRoot":"","sources":["../../../../src/utils/variables/variableUtils.js"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,qDAHW,MAAM,GACJ;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAqC9C;AAED;;;;;GAKG;AACH,yCAJW,MAAM,EAAE,aACR,MAAM,GACJ,MAAM,CAelB;AAED;;GAEG;AACH,4GAsBC"}
|