@memberjunction/config 3.3.0 → 4.0.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.
@@ -1,4 +1,4 @@
1
- import { MergeOptions } from './config-merger';
1
+ import { MergeOptions } from './config-merger.js';
2
2
  /**
3
3
  * Configuration loading options
4
4
  */
@@ -1 +1 @@
1
- {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../src/config-loader.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE7D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;OAEG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IACvD;;OAEG;IACH,MAAM,EAAE,CAAC,CAAC;IAEV;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,aAAa,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACxD,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CA6E9B;AAmBD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACtD,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,IAAI,CAAC,iBAAiB,EAAE,YAAY,GAAG,mBAAmB,CAAM,GACxE,CAAC,CAUH;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,eAAe,EAAE;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC,EACD,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACxC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CA2BrB"}
1
+ {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../src/config-loader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgB,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAK7D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;OAEG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IACvD;;OAEG;IACH,MAAM,EAAE,CAAC,CAAC;IAEV;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,aAAa,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACxD,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CA6E9B;AAmBD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACtD,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,IAAI,CAAC,iBAAiB,EAAE,YAAY,GAAG,mBAAmB,CAAM,GACxE,CAAC,CAUH;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,eAAe,EAAE;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC,EACD,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACxC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CA2BrB"}
@@ -1,8 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.buildMJConfig = exports.loadMJConfigSync = exports.loadMJConfig = void 0;
4
- const cosmiconfig_1 = require("cosmiconfig");
5
- const config_merger_1 = require("./config-merger");
1
+ import { cosmiconfig } from 'cosmiconfig';
2
+ import { createRequire } from 'node:module';
3
+ import { mergeConfigs } from './config-merger.js';
4
+ // Use createRequire to load CommonJS config files
5
+ const require = createRequire(import.meta.url);
6
6
  /**
7
7
  * Loads and merges MemberJunction configuration from multiple sources:
8
8
  * 1. Default configuration (provided by calling package)
@@ -12,14 +12,14 @@ const config_merger_1 = require("./config-merger");
12
12
  * @param options - Configuration loading options
13
13
  * @returns Merged configuration result
14
14
  */
15
- async function loadMJConfig(options = {}) {
15
+ export async function loadMJConfig(options = {}) {
16
16
  const { searchFrom = process.cwd(), requireConfigFile = false, mergeOptions = {}, verbose = false, defaultConfig = {} } = options;
17
17
  if (verbose) {
18
18
  console.log(`\nšŸ“„ Loading MemberJunction configuration...`);
19
19
  console.log(` Search directory: ${searchFrom}`);
20
20
  }
21
21
  // Search for user config file
22
- const explorer = (0, cosmiconfig_1.cosmiconfig)('mj', {
22
+ const explorer = cosmiconfig('mj', {
23
23
  searchPlaces: [
24
24
  'mj.config.cjs',
25
25
  'mj.config.js',
@@ -49,7 +49,7 @@ async function loadMJConfig(options = {}) {
49
49
  }
50
50
  // Merge user config into defaults
51
51
  const userConfig = searchResult.config;
52
- const mergedConfig = (0, config_merger_1.mergeConfigs)(defaultConfig, userConfig, mergeOptions);
52
+ const mergedConfig = mergeConfigs(defaultConfig, userConfig, mergeOptions);
53
53
  // Identify overridden keys for logging
54
54
  const overriddenKeys = identifyOverriddenKeys(defaultConfig, userConfig);
55
55
  if (verbose) {
@@ -71,7 +71,6 @@ async function loadMJConfig(options = {}) {
71
71
  overriddenKeys
72
72
  };
73
73
  }
74
- exports.loadMJConfig = loadMJConfig;
75
74
  /**
76
75
  * Identifies which top-level keys were overridden in user config
77
76
  */
@@ -92,18 +91,17 @@ function identifyOverriddenKeys(defaults, overrides) {
92
91
  * @param configPath - Explicit path to config file
93
92
  * @param options - Loading options
94
93
  */
95
- function loadMJConfigSync(configPath, options = {}) {
94
+ export function loadMJConfigSync(configPath, options = {}) {
96
95
  const { defaultConfig = {}, mergeOptions = {} } = options;
97
96
  try {
98
97
  const userConfig = require(configPath);
99
- const mergedConfig = (0, config_merger_1.mergeConfigs)(defaultConfig, userConfig, mergeOptions);
98
+ const mergedConfig = mergeConfigs(defaultConfig, userConfig, mergeOptions);
100
99
  return mergedConfig;
101
100
  }
102
101
  catch (error) {
103
102
  throw new Error(`Failed to load config from ${configPath}: ${error.message}`);
104
103
  }
105
104
  }
106
- exports.loadMJConfigSync = loadMJConfigSync;
107
105
  /**
108
106
  * Helper to build a complete MJ config by merging configurations from multiple packages.
109
107
  * Each package provides its own default configuration.
@@ -112,30 +110,29 @@ exports.loadMJConfigSync = loadMJConfigSync;
112
110
  * @param userConfigOverrides - Optional user overrides
113
111
  * @returns Merged configuration
114
112
  */
115
- function buildMJConfig(packageDefaults, userConfigOverrides) {
113
+ export function buildMJConfig(packageDefaults, userConfigOverrides) {
116
114
  // Start with empty config
117
115
  let config = {};
118
116
  // Merge each package's defaults
119
117
  if (packageDefaults.codegen) {
120
- config = (0, config_merger_1.mergeConfigs)(config, packageDefaults.codegen);
118
+ config = mergeConfigs(config, packageDefaults.codegen);
121
119
  }
122
120
  if (packageDefaults.server) {
123
- config = (0, config_merger_1.mergeConfigs)(config, packageDefaults.server);
121
+ config = mergeConfigs(config, packageDefaults.server);
124
122
  }
125
123
  if (packageDefaults.mcpServer) {
126
- config = (0, config_merger_1.mergeConfigs)(config, packageDefaults.mcpServer);
124
+ config = mergeConfigs(config, packageDefaults.mcpServer);
127
125
  }
128
126
  if (packageDefaults.a2aServer) {
129
- config = (0, config_merger_1.mergeConfigs)(config, packageDefaults.a2aServer);
127
+ config = mergeConfigs(config, packageDefaults.a2aServer);
130
128
  }
131
129
  if (packageDefaults.queryGen) {
132
130
  config = { ...config, queryGen: packageDefaults.queryGen };
133
131
  }
134
132
  // Apply user overrides
135
133
  if (userConfigOverrides) {
136
- config = (0, config_merger_1.mergeConfigs)(config, userConfigOverrides);
134
+ config = mergeConfigs(config, userConfigOverrides);
137
135
  }
138
136
  return config;
139
137
  }
140
- exports.buildMJConfig = buildMJConfig;
141
138
  //# sourceMappingURL=config-loader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../src/config-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../src/config-loader.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,4 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.validateConfigStructure = exports.mergeConfigs = void 0;
7
- const lodash_mergewith_1 = __importDefault(require("lodash.mergewith"));
1
+ import mergeWith from 'lodash.mergewith';
8
2
  /**
9
3
  * Deep merges user configuration into default configuration.
10
4
  *
@@ -20,21 +14,20 @@ const lodash_mergewith_1 = __importDefault(require("lodash.mergewith"));
20
14
  * @param options - Merge behavior options
21
15
  * @returns Merged configuration object
22
16
  */
23
- function mergeConfigs(defaults, overrides, options = {}) {
17
+ export function mergeConfigs(defaults, overrides, options = {}) {
24
18
  const { concatenateArrays = false, allowNullOverrides = false } = options;
25
19
  if (!overrides || typeof overrides !== 'object') {
26
20
  return defaults;
27
21
  }
28
22
  // Process _append suffixed keys first
29
23
  const processedOverrides = processAppendKeys(overrides, defaults);
30
- return (0, lodash_mergewith_1.default)({}, defaults, processedOverrides, (defaultValue, overrideValue, key) => {
24
+ return mergeWith({}, defaults, processedOverrides, (defaultValue, overrideValue, key) => {
31
25
  return customMergeStrategy(defaultValue, overrideValue, key, {
32
26
  concatenateArrays,
33
27
  allowNullOverrides
34
28
  });
35
29
  });
36
30
  }
37
- exports.mergeConfigs = mergeConfigs;
38
31
  /**
39
32
  * Processes keys with _append suffix to concatenate arrays
40
33
  */
@@ -93,7 +86,7 @@ function isPlainObject(value) {
93
86
  * @param config - Merged configuration object
94
87
  * @param allowedKeys - Set of allowed top-level keys
95
88
  */
96
- function validateConfigStructure(config, allowedKeys) {
89
+ export function validateConfigStructure(config, allowedKeys) {
97
90
  const configKeys = Object.keys(config);
98
91
  const unexpectedKeys = configKeys.filter(key => !allowedKeys.has(key));
99
92
  if (unexpectedKeys.length > 0) {
@@ -101,5 +94,4 @@ function validateConfigStructure(config, allowedKeys) {
101
94
  `These may be typos or deprecated settings.`);
102
95
  }
103
96
  }
104
- exports.validateConfigStructure = validateConfigStructure;
105
97
  //# sourceMappingURL=config-merger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config-merger.js","sourceRoot":"","sources":["../src/config-merger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-merger.js","sourceRoot":"","sources":["../src/config-merger.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  /**
3
2
  * Configuration type definitions for MemberJunction.
4
3
  *
@@ -10,13 +9,10 @@
10
9
  * - @memberjunction/a2a-server (A2AServerConfig)
11
10
  * - @memberjunction/querygen (QueryGenConfig)
12
11
  */
13
- Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.isValidConfig = void 0;
15
12
  /**
16
13
  * Type guard to check if a value is a valid configuration object
17
14
  */
18
- function isValidConfig(value) {
15
+ export function isValidConfig(value) {
19
16
  return typeof value === 'object' && value !== null;
20
17
  }
21
- exports.isValidConfig = isValidConfig;
22
18
  //# sourceMappingURL=config-types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config-types.js","sourceRoot":"","sources":["../src/config-types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAQH;;GAEG;AACH,SAAgB,aAAa,CAAC,KAAc;IAC1C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACrD,CAAC;AAFD,sCAEC"}
1
+ {"version":3,"file":"config-types.js","sourceRoot":"","sources":["../src/config-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAQH;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACrD,CAAC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Parses a boolean environment variable with support for common truthy values.
3
+ *
4
+ * Accepts the following as TRUE (case-insensitive):
5
+ * - 'true', 'True', 'TRUE'
6
+ * - '1'
7
+ * - 'yes', 'Yes', 'YES'
8
+ * - 'y', 'Y'
9
+ * - 'on', 'On', 'ON'
10
+ * - 't', 'T'
11
+ *
12
+ * All other values (including undefined, empty string, null) return FALSE.
13
+ *
14
+ * @param value - The environment variable value to parse
15
+ * @returns true if the value matches a truthy pattern, false otherwise
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * import { parseBooleanEnv } from '@memberjunction/config';
20
+ *
21
+ * // All return true
22
+ * parseBooleanEnv('true');
23
+ * parseBooleanEnv('True');
24
+ * parseBooleanEnv('TRUE');
25
+ * parseBooleanEnv('1');
26
+ * parseBooleanEnv('yes');
27
+ * parseBooleanEnv('Y');
28
+ * parseBooleanEnv('on');
29
+ *
30
+ * // All return false
31
+ * parseBooleanEnv('false');
32
+ * parseBooleanEnv('0');
33
+ * parseBooleanEnv('no');
34
+ * parseBooleanEnv(undefined);
35
+ * parseBooleanEnv('');
36
+ * ```
37
+ */
38
+ export declare function parseBooleanEnv(value: string | undefined | null): boolean;
39
+ //# sourceMappingURL=env-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env-utils.d.ts","sourceRoot":"","sources":["../src/env-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CASzE"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Parses a boolean environment variable with support for common truthy values.
3
+ *
4
+ * Accepts the following as TRUE (case-insensitive):
5
+ * - 'true', 'True', 'TRUE'
6
+ * - '1'
7
+ * - 'yes', 'Yes', 'YES'
8
+ * - 'y', 'Y'
9
+ * - 'on', 'On', 'ON'
10
+ * - 't', 'T'
11
+ *
12
+ * All other values (including undefined, empty string, null) return FALSE.
13
+ *
14
+ * @param value - The environment variable value to parse
15
+ * @returns true if the value matches a truthy pattern, false otherwise
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * import { parseBooleanEnv } from '@memberjunction/config';
20
+ *
21
+ * // All return true
22
+ * parseBooleanEnv('true');
23
+ * parseBooleanEnv('True');
24
+ * parseBooleanEnv('TRUE');
25
+ * parseBooleanEnv('1');
26
+ * parseBooleanEnv('yes');
27
+ * parseBooleanEnv('Y');
28
+ * parseBooleanEnv('on');
29
+ *
30
+ * // All return false
31
+ * parseBooleanEnv('false');
32
+ * parseBooleanEnv('0');
33
+ * parseBooleanEnv('no');
34
+ * parseBooleanEnv(undefined);
35
+ * parseBooleanEnv('');
36
+ * ```
37
+ */
38
+ export function parseBooleanEnv(value) {
39
+ if (!value) {
40
+ return false;
41
+ }
42
+ const normalized = value.trim().toLowerCase();
43
+ const truthyValues = ['true', '1', 'yes', 'y', 'on', 't'];
44
+ return truthyValues.includes(normalized);
45
+ }
46
+ //# sourceMappingURL=env-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env-utils.js","sourceRoot":"","sources":["../src/env-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,UAAU,eAAe,CAAC,KAAgC;IAC9D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IAE1D,OAAO,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AAC3C,CAAC"}
package/dist/index.d.ts CHANGED
@@ -10,7 +10,8 @@
10
10
  * - User's mj.config.cjs file overrides package defaults
11
11
  * - Environment variables override everything
12
12
  */
13
- export { loadMJConfig, loadMJConfigSync, buildMJConfig, type LoadConfigOptions, type LoadConfigResult } from './config-loader';
14
- export { mergeConfigs, validateConfigStructure, type MergeOptions } from './config-merger';
15
- export { type MJConfig, isValidConfig } from './config-types';
13
+ export { loadMJConfig, loadMJConfigSync, buildMJConfig, type LoadConfigOptions, type LoadConfigResult } from './config-loader.js';
14
+ export { mergeConfigs, validateConfigStructure, type MergeOptions } from './config-merger.js';
15
+ export { type MJConfig, isValidConfig } from './config-types.js';
16
+ export { parseBooleanEnv } from './env-utils.js';
16
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACtB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,KAAK,YAAY,EAClB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,KAAK,QAAQ,EACb,aAAa,EACd,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACtB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,KAAK,YAAY,EAClB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,KAAK,QAAQ,EACb,aAAa,EACd,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,eAAe,EAChB,MAAM,aAAa,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  /**
3
2
  * @memberjunction/config
4
3
  *
@@ -11,15 +10,8 @@
11
10
  * - User's mj.config.cjs file overrides package defaults
12
11
  * - Environment variables override everything
13
12
  */
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.isValidConfig = exports.validateConfigStructure = exports.mergeConfigs = exports.buildMJConfig = exports.loadMJConfigSync = exports.loadMJConfig = void 0;
16
- var config_loader_1 = require("./config-loader");
17
- Object.defineProperty(exports, "loadMJConfig", { enumerable: true, get: function () { return config_loader_1.loadMJConfig; } });
18
- Object.defineProperty(exports, "loadMJConfigSync", { enumerable: true, get: function () { return config_loader_1.loadMJConfigSync; } });
19
- Object.defineProperty(exports, "buildMJConfig", { enumerable: true, get: function () { return config_loader_1.buildMJConfig; } });
20
- var config_merger_1 = require("./config-merger");
21
- Object.defineProperty(exports, "mergeConfigs", { enumerable: true, get: function () { return config_merger_1.mergeConfigs; } });
22
- Object.defineProperty(exports, "validateConfigStructure", { enumerable: true, get: function () { return config_merger_1.validateConfigStructure; } });
23
- var config_types_1 = require("./config-types");
24
- Object.defineProperty(exports, "isValidConfig", { enumerable: true, get: function () { return config_types_1.isValidConfig; } });
13
+ export { loadMJConfig, loadMJConfigSync, buildMJConfig } from './config-loader.js';
14
+ export { mergeConfigs, validateConfigStructure } from './config-merger.js';
15
+ export { isValidConfig } from './config-types.js';
16
+ export { parseBooleanEnv } from './env-utils.js';
25
17
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;AAEH,iDAMyB;AALvB,6GAAA,YAAY,OAAA;AACZ,iHAAA,gBAAgB,OAAA;AAChB,8GAAA,aAAa,OAAA;AAKf,iDAIyB;AAHvB,6GAAA,YAAY,OAAA;AACZ,wHAAA,uBAAuB,OAAA;AAIzB,+CAGwB;AADtB,6GAAA,aAAa,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,aAAa,EAGd,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,YAAY,EACZ,uBAAuB,EAExB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAEL,aAAa,EACd,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,eAAe,EAChB,MAAM,aAAa,CAAC"}
package/package.json CHANGED
@@ -1,13 +1,14 @@
1
1
  {
2
2
  "name": "@memberjunction/config",
3
- "version": "3.3.0",
3
+ "type": "module",
4
+ "version": "4.0.0",
4
5
  "description": "Central configuration package for MemberJunction framework with default configurations and merge utilities",
5
6
  "main": "dist/index.js",
6
7
  "types": "dist/index.d.ts",
7
8
  "scripts": {
8
- "build": "tsc",
9
+ "build": "tsc && tsc-alias -f",
9
10
  "watch": "tsc --watch",
10
- "clean": "rm -rf dist",
11
+ "clean": "rimraf dist",
11
12
  "test": "jest"
12
13
  },
13
14
  "keywords": [
@@ -20,12 +21,12 @@
20
21
  "dependencies": {
21
22
  "cosmiconfig": "^9.0.0",
22
23
  "lodash.mergewith": "^4.6.2",
23
- "zod": "^3.22.0"
24
+ "zod": "~3.24.4"
24
25
  },
25
26
  "devDependencies": {
26
27
  "@types/lodash.mergewith": "^4.6.9",
27
- "@types/node": "^20.0.0",
28
- "typescript": "^5.3.0"
28
+ "@types/node": "^24.10.11",
29
+ "typescript": "^5.9.3"
29
30
  },
30
31
  "files": [
31
32
  "dist"