@memberjunction/metadata-sync 3.3.0 → 3.4.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.
|
@@ -25,7 +25,7 @@ const DEFAULT_SYNC_CONFIG = {
|
|
|
25
25
|
dbDatabase: process.env.DB_DATABASE,
|
|
26
26
|
dbUsername: process.env.DB_USERNAME,
|
|
27
27
|
dbPassword: process.env.DB_PASSWORD,
|
|
28
|
-
dbTrustServerCertificate:
|
|
28
|
+
dbTrustServerCertificate: (0, config_1.parseBooleanEnv)(process.env.DB_TRUST_SERVER_CERTIFICATE) ? 'Y' : 'N',
|
|
29
29
|
dbEncrypt: process.env.DB_ENCRYPT ?? undefined,
|
|
30
30
|
dbInstanceName: process.env.DB_INSTANCE_NAME,
|
|
31
31
|
mjCoreSchema: process.env.MJ_CORE_SCHEMA ?? '__mj',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-manager.js","sourceRoot":"","sources":["../../src/lib/config-manager.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEH,6CAA8C;AAC9C,
|
|
1
|
+
{"version":3,"file":"config-manager.js","sourceRoot":"","sources":["../../src/lib/config-manager.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @fileoverview Shared configuration manager for MetadataSync commands\n * @module lib/config-manager\n *\n * This module provides a centralized configuration management system that handles\n * loading MJ config from the original working directory, regardless of any\n * directory changes made during command execution.\n */\n\nimport { cosmiconfigSync } from 'cosmiconfig';\nimport { mergeConfigs, parseBooleanEnv } from '@memberjunction/config';\nimport { MJConfig } from '../config';\n\n/**\n * Default configuration for MetadataSync\n *\n * Provides database connection settings from environment variables,\n * matching the pattern used by MJServer's DEFAULT_SERVER_CONFIG.\n * This ensures consistent behavior with the MJ ecosystem.\n */\nconst DEFAULT_SYNC_CONFIG: Partial<MJConfig> = {\n // Database connection settings (environment-driven with defaults)\n dbHost: process.env.DB_HOST ?? 'localhost',\n dbPort: process.env.DB_PORT ? parseInt(process.env.DB_PORT, 10) : 1433,\n dbDatabase: process.env.DB_DATABASE,\n dbUsername: process.env.DB_USERNAME,\n dbPassword: process.env.DB_PASSWORD,\n dbTrustServerCertificate: parseBooleanEnv(process.env.DB_TRUST_SERVER_CERTIFICATE) ? 'Y' : 'N',\n dbEncrypt: process.env.DB_ENCRYPT ?? undefined,\n dbInstanceName: process.env.DB_INSTANCE_NAME,\n mjCoreSchema: process.env.MJ_CORE_SCHEMA ?? '__mj',\n};\n\n/**\n * Configuration manager singleton for handling MJ configuration\n * \n * Stores the original working directory and MJ configuration to ensure\n * consistent access across all commands, even when the current working\n * directory changes during execution.\n */\nexport class ConfigManager {\n private static instance: ConfigManager;\n private originalCwd: string | null = null;\n private mjConfig: MJConfig | null = null;\n private configLoaded = false;\n\n private constructor() {\n // Original cwd will be set on first access\n }\n\n /**\n * Get the singleton instance of ConfigManager\n */\n static getInstance(): ConfigManager {\n if (!ConfigManager.instance) {\n ConfigManager.instance = new ConfigManager();\n }\n return ConfigManager.instance;\n }\n\n /**\n * Get the original working directory from when the process started\n * \n * @returns The original working directory path\n */\n getOriginalCwd(): string {\n if (!this.originalCwd) {\n // Capture on first access\n this.originalCwd = process.cwd();\n }\n return this.originalCwd;\n }\n \n /**\n * Set the original working directory (for testing or special cases)\n * \n * @param cwd - The working directory to use as original\n */\n setOriginalCwd(cwd: string): void {\n this.originalCwd = cwd;\n }\n\n /**\n * Load MemberJunction configuration\n * \n * Searches for mj.config.cjs starting from the original working directory\n * and walking up the directory tree. Caches the result for subsequent calls.\n * \n * @param forceReload - Force reload the configuration even if cached\n * @returns MJConfig object if found, null if not found or invalid\n */\n loadMJConfig(forceReload = false): MJConfig | null {\n if (this.configLoaded && !forceReload) {\n return this.mjConfig;\n }\n\n try {\n const explorer = cosmiconfigSync('mj');\n // Always search from the original working directory\n const searchPath = this.getOriginalCwd();\n const result = explorer.search(searchPath);\n\n // Merge user config with DEFAULT_SYNC_CONFIG (user config takes precedence)\n // This ensures environment variables are used for database settings\n // when not explicitly set in the config file\n const userConfig = result?.config ?? {};\n this.mjConfig = mergeConfigs(DEFAULT_SYNC_CONFIG, userConfig) as MJConfig;\n this.configLoaded = true;\n return this.mjConfig;\n } catch (error) {\n console.error('Error loading MJ config:', error);\n this.mjConfig = null;\n this.configLoaded = true;\n return null;\n }\n }\n\n /**\n * Get the cached MJ configuration\n * \n * @returns The cached MJConfig or null if not loaded\n */\n getMJConfig(): MJConfig | null {\n if (!this.configLoaded) {\n return this.loadMJConfig();\n }\n return this.mjConfig;\n }\n}\n\n// Export singleton instance for convenience\nexport const configManager = ConfigManager.getInstance();"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/metadata-sync",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.4.0",
|
|
4
4
|
"description": "MemberJunction metadata synchronization CLI tool",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"metadata",
|
|
@@ -26,13 +26,13 @@
|
|
|
26
26
|
"build": "tsc -b"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@memberjunction/config": "3.
|
|
30
|
-
"@memberjunction/core": "3.
|
|
31
|
-
"@memberjunction/core-entities": "3.
|
|
32
|
-
"@memberjunction/core-entities-server": "3.
|
|
33
|
-
"@memberjunction/global": "3.
|
|
34
|
-
"@memberjunction/graphql-dataprovider": "3.
|
|
35
|
-
"@memberjunction/sqlserver-dataprovider": "3.
|
|
29
|
+
"@memberjunction/config": "3.4.0",
|
|
30
|
+
"@memberjunction/core": "3.4.0",
|
|
31
|
+
"@memberjunction/core-entities": "3.4.0",
|
|
32
|
+
"@memberjunction/core-entities-server": "3.4.0",
|
|
33
|
+
"@memberjunction/global": "3.4.0",
|
|
34
|
+
"@memberjunction/graphql-dataprovider": "3.4.0",
|
|
35
|
+
"@memberjunction/sqlserver-dataprovider": "3.4.0",
|
|
36
36
|
"axios": "^1.6.8",
|
|
37
37
|
"chalk": "^4.1.2",
|
|
38
38
|
"chokidar": "^3.6.0",
|