@eldrforge/kodrdriv 0.0.48 → 0.0.49

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 CHANGED
@@ -73,7 +73,6 @@ kodrdriv --check-config
73
73
  - **[audio-review](docs/public/commands/audio-review.md)** - Record audio for review analysis
74
74
  - **[release](docs/public/commands/release.md)** - Generate comprehensive release notes
75
75
  - **[publish](docs/public/commands/publish.md)** - Automate the entire release process
76
- - **[publish-tree](docs/public/commands/publish-tree.md)** - Manage multi-package workspace publishing
77
76
  - **[link](docs/public/commands/link.md)** - Link local packages for development
78
77
  - **[unlink](docs/public/commands/unlink.md)** - Remove workspace links
79
78
  - **[clean](docs/public/commands/clean.md)** - Clean generated files
@@ -2,19 +2,17 @@ import * as Cardigantime from '@theunwalked/cardigantime';
2
2
  import 'dotenv/config';
3
3
  import { configure } from './arguments.js';
4
4
  import { execute as execute$1 } from './commands/audio-commit.js';
5
- import { execute as execute$9 } from './commands/audio-review.js';
6
- import { execute as execute$a } from './commands/clean.js';
5
+ import { execute as execute$7 } from './commands/audio-review.js';
6
+ import { execute as execute$8 } from './commands/clean.js';
7
7
  import { execute } from './commands/commit.js';
8
- import { execute as execute$7 } from './commands/link.js';
8
+ import { execute as execute$5 } from './commands/link.js';
9
9
  import { execute as execute$3 } from './commands/publish.js';
10
- import { execute as execute$4 } from './commands/publish-tree.js';
11
- import { execute as execute$5 } from './commands/commit-tree.js';
12
- import { execute as execute$6 } from './commands/tree.js';
10
+ import { execute as execute$4 } from './commands/tree.js';
13
11
  import { execute as execute$2 } from './commands/release.js';
14
- import { execute as execute$b } from './commands/review.js';
15
- import { execute as execute$c } from './commands/select-audio.js';
16
- import { execute as execute$8 } from './commands/unlink.js';
17
- import { DEFAULT_CONFIG_DIR, COMMAND_CHECK_CONFIG, COMMAND_INIT_CONFIG, COMMAND_COMMIT, COMMAND_AUDIO_COMMIT, COMMAND_RELEASE, COMMAND_PUBLISH, COMMAND_PUBLISH_TREE, COMMAND_COMMIT_TREE, COMMAND_TREE, COMMAND_LINK, COMMAND_UNLINK, COMMAND_AUDIO_REVIEW, COMMAND_CLEAN, COMMAND_REVIEW, COMMAND_SELECT_AUDIO } from './constants.js';
12
+ import { execute as execute$9 } from './commands/review.js';
13
+ import { execute as execute$a } from './commands/select-audio.js';
14
+ import { execute as execute$6 } from './commands/unlink.js';
15
+ import { DEFAULT_CONFIG_DIR, COMMAND_CHECK_CONFIG, COMMAND_INIT_CONFIG, COMMAND_COMMIT, COMMAND_AUDIO_COMMIT, COMMAND_RELEASE, COMMAND_PUBLISH, COMMAND_TREE, COMMAND_LINK, COMMAND_UNLINK, COMMAND_AUDIO_REVIEW, COMMAND_CLEAN, COMMAND_REVIEW, COMMAND_SELECT_AUDIO } from './constants.js';
18
16
  import { getLogger, setLogLevel } from './logging.js';
19
17
  import { ConfigSchema } from './types.js';
20
18
  import { UserCancellationError } from './error/CommandErrors.js';
@@ -104,7 +102,7 @@ async function runApplication() {
104
102
  // Unknown tree argument, let it fail naturally in tree.ts
105
103
  commandName = 'tree';
106
104
  }
107
- } else if (command === 'commit' || command === 'audio-commit' || command === 'release' || command === 'publish' || command === 'publish-tree' || command === 'commit-tree' || command === 'tree' || command === 'link' || command === 'unlink' || command === 'audio-review' || command === 'clean' || command === 'review' || command === 'select-audio') {
105
+ } else if (command === 'commit' || command === 'audio-commit' || command === 'release' || command === 'publish' || command === 'tree' || command === 'link' || command === 'unlink' || command === 'audio-review' || command === 'clean' || command === 'review' || command === 'select-audio') {
108
106
  commandName = command;
109
107
  }
110
108
  let summary = '';
@@ -118,46 +116,10 @@ async function runApplication() {
118
116
  summary = `${releaseSummary.title}\n\n${releaseSummary.body}`;
119
117
  } else if (commandName === COMMAND_PUBLISH) {
120
118
  await execute$3(runConfig);
121
- } else if (commandName === COMMAND_PUBLISH_TREE) {
122
- var _runConfig_audioReview, _runConfig_publishTree, _runConfig_publishTree1;
123
- // DEPRECATED: publish-tree is now handled by tree command
124
- logger.warn('⚠️ DEPRECATION WARNING: publish-tree command is deprecated.');
125
- logger.warn(' Please use: kodrdriv tree publish');
126
- logger.warn(' This provides the same functionality with improved dependency analysis.');
127
- logger.warn('');
128
- // Handle publishTree directory mapping from command-specific arguments
129
- if (((_runConfig_audioReview = runConfig.audioReview) === null || _runConfig_audioReview === void 0 ? void 0 : _runConfig_audioReview.directory) && !((_runConfig_publishTree = runConfig.publishTree) === null || _runConfig_publishTree === void 0 ? void 0 : _runConfig_publishTree.directory)) {
130
- runConfig.publishTree = runConfig.publishTree || {};
131
- runConfig.publishTree.directory = runConfig.audioReview.directory;
132
- }
133
- // Handle publishTree exclusion patterns - use global excludedPatterns for publish-tree
134
- if (runConfig.excludedPatterns && !((_runConfig_publishTree1 = runConfig.publishTree) === null || _runConfig_publishTree1 === void 0 ? void 0 : _runConfig_publishTree1.excludedPatterns)) {
135
- runConfig.publishTree = runConfig.publishTree || {};
136
- runConfig.publishTree.excludedPatterns = runConfig.excludedPatterns;
137
- }
138
- summary = await execute$4(runConfig);
139
- } else if (commandName === COMMAND_COMMIT_TREE) {
140
- var _runConfig_audioReview1, _runConfig_commitTree, _runConfig_commitTree1;
141
- // DEPRECATED: commit-tree is now handled by tree command
142
- logger.warn('⚠️ DEPRECATION WARNING: commit-tree command is deprecated.');
143
- logger.warn(' Please use: kodrdriv tree commit');
144
- logger.warn(' This provides the same functionality with improved dependency analysis.');
145
- logger.warn('');
146
- // Handle commitTree directory mapping from command-specific arguments
147
- if (((_runConfig_audioReview1 = runConfig.audioReview) === null || _runConfig_audioReview1 === void 0 ? void 0 : _runConfig_audioReview1.directory) && !((_runConfig_commitTree = runConfig.commitTree) === null || _runConfig_commitTree === void 0 ? void 0 : _runConfig_commitTree.directory)) {
148
- runConfig.commitTree = runConfig.commitTree || {};
149
- runConfig.commitTree.directory = runConfig.audioReview.directory;
150
- }
151
- // Handle commitTree exclusion patterns - use global excludedPatterns for commit-tree
152
- if (runConfig.excludedPatterns && !((_runConfig_commitTree1 = runConfig.commitTree) === null || _runConfig_commitTree1 === void 0 ? void 0 : _runConfig_commitTree1.excludedPatterns)) {
153
- runConfig.commitTree = runConfig.commitTree || {};
154
- runConfig.commitTree.excludedPatterns = runConfig.excludedPatterns;
155
- }
156
- summary = await execute$5(runConfig);
157
119
  } else if (commandName === COMMAND_TREE) {
158
- var _runConfig_audioReview2, _runConfig_tree, _runConfig_tree1;
120
+ var _runConfig_audioReview, _runConfig_tree, _runConfig_tree1;
159
121
  // Handle tree directories mapping from command-specific arguments
160
- if (((_runConfig_audioReview2 = runConfig.audioReview) === null || _runConfig_audioReview2 === void 0 ? void 0 : _runConfig_audioReview2.directory) && !((_runConfig_tree = runConfig.tree) === null || _runConfig_tree === void 0 ? void 0 : _runConfig_tree.directories)) {
122
+ if (((_runConfig_audioReview = runConfig.audioReview) === null || _runConfig_audioReview === void 0 ? void 0 : _runConfig_audioReview.directory) && !((_runConfig_tree = runConfig.tree) === null || _runConfig_tree === void 0 ? void 0 : _runConfig_tree.directories)) {
161
123
  runConfig.tree = runConfig.tree || {};
162
124
  runConfig.tree.directories = [
163
125
  runConfig.audioReview.directory
@@ -168,20 +130,20 @@ async function runApplication() {
168
130
  runConfig.tree = runConfig.tree || {};
169
131
  runConfig.tree.excludedPatterns = runConfig.excludedPatterns;
170
132
  }
171
- summary = await execute$6(runConfig);
133
+ summary = await execute$4(runConfig);
172
134
  } else if (commandName === COMMAND_LINK) {
173
- summary = await execute$7(runConfig);
135
+ summary = await execute$5(runConfig);
174
136
  } else if (commandName === COMMAND_UNLINK) {
175
- summary = await execute$8(runConfig);
137
+ summary = await execute$6(runConfig);
176
138
  } else if (commandName === COMMAND_AUDIO_REVIEW) {
177
- summary = await execute$9(runConfig);
139
+ summary = await execute$7(runConfig);
178
140
  } else if (commandName === COMMAND_CLEAN) {
179
- await execute$a(runConfig);
141
+ await execute$8(runConfig);
180
142
  summary = 'Output directory cleaned successfully.';
181
143
  } else if (commandName === COMMAND_REVIEW) {
182
- summary = await execute$b(runConfig);
144
+ summary = await execute$9(runConfig);
183
145
  } else if (commandName === COMMAND_SELECT_AUDIO) {
184
- await execute$c(runConfig);
146
+ await execute$a(runConfig);
185
147
  summary = 'Audio selection completed successfully.';
186
148
  }
187
149
  // eslint-disable-next-line no-console
@@ -1 +1 @@
1
- {"version":3,"file":"application.js","sources":["../src/application.ts"],"sourcesContent":["import * as Cardigantime from '@theunwalked/cardigantime';\nimport 'dotenv/config';\nimport { CommandConfig } from 'types';\nimport * as Arguments from './arguments';\nimport * as AudioCommit from './commands/audio-commit';\nimport * as AudioReview from './commands/audio-review';\nimport * as Clean from './commands/clean';\nimport * as Commit from './commands/commit';\nimport * as Link from './commands/link';\nimport * as Publish from './commands/publish';\nimport * as PublishTree from './commands/publish-tree';\nimport * as CommitTree from './commands/commit-tree';\nimport * as Tree from './commands/tree';\nimport * as Release from './commands/release';\nimport * as Review from './commands/review';\nimport * as SelectAudio from './commands/select-audio';\nimport * as Unlink from './commands/unlink';\nimport { COMMAND_AUDIO_COMMIT, COMMAND_AUDIO_REVIEW, COMMAND_CHECK_CONFIG, COMMAND_CLEAN, COMMAND_COMMIT, COMMAND_COMMIT_TREE, COMMAND_INIT_CONFIG, COMMAND_LINK, COMMAND_PUBLISH, COMMAND_PUBLISH_TREE, COMMAND_TREE, COMMAND_RELEASE, COMMAND_REVIEW, COMMAND_SELECT_AUDIO, COMMAND_UNLINK, DEFAULT_CONFIG_DIR } from './constants';\nimport { getLogger, setLogLevel } from './logging';\nimport { Config, ConfigSchema, SecureConfig } from './types';\nimport { UserCancellationError } from './error/CommandErrors';\n\n/**\n * Configure early logging based on command line flags.\n *\n * Hey we need this because we need to be able to debug CardiganTime.\n * This method checks for --verbose and --debug flags early in the process\n * before CardiganTime is configured, allowing us to capture debug output\n * from the CardiganTime initialization itself.\n */\nexport function configureEarlyLogging(): void {\n const hasVerbose = process.argv.includes('--verbose');\n const hasDebug = process.argv.includes('--debug');\n\n // Set log level based on early flag detection\n if (hasDebug) {\n setLogLevel('debug');\n } else if (hasVerbose) {\n setLogLevel('verbose');\n }\n}\n\nexport async function runApplication(): Promise<void> {\n // Configure logging early, before CardiganTime initialization\n configureEarlyLogging();\n\n // Cast create to `any` to avoid excessive type instantiation issues in TS compiler\n const createCardigantime: any = (Cardigantime as unknown as { create: unknown }).create as any;\n\n const cardigantime = createCardigantime({\n defaults: {\n configDirectory: DEFAULT_CONFIG_DIR,\n // Move pathResolution INSIDE defaults\n pathResolution: {\n resolvePathArray: ['contextDirectories'], // Resolve contextDirectories array elements as paths\n },\n // Use fieldOverlaps instead of mergeStrategy, INSIDE defaults\n fieldOverlaps: {\n 'contextDirectories': 'prepend', // Use prepend strategy for contextDirectories array\n // Add other field overlap configurations as needed\n },\n },\n features: ['config', 'hierarchical'],\n configShape: ConfigSchema.shape, // No need for 'as any' now\n logger: getLogger(),\n }); // No need for 'as any' at the end\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [runConfig, secureConfig, commandConfig]: [Config, SecureConfig, CommandConfig] = await Arguments.configure(cardigantime); // Pass cardigantime instance\n\n // Set log level based on verbose flag\n if (runConfig.verbose) {\n setLogLevel('verbose');\n }\n if (runConfig.debug) {\n setLogLevel('debug');\n }\n\n const logger = getLogger();\n cardigantime.setLogger(logger);\n\n // Handle check-config command first\n if (commandConfig.commandName === COMMAND_CHECK_CONFIG) {\n // CardiganTime's checkConfig has already been called in Arguments.configure()\n // No additional processing needed here\n return;\n }\n\n // Handle init-config command\n if (commandConfig.commandName === COMMAND_INIT_CONFIG) {\n // CardiganTime's initConfig has already been called in Arguments.configure()\n // No additional processing needed here\n return;\n }\n\n // Get the command from Commander\n const command = process.argv[2];\n let commandName = commandConfig.commandName;\n\n // Handle special case for tree command with built-in command argument\n if (command === 'tree' && process.argv[3]) {\n const treeBuiltInCommand = process.argv[3];\n const supportedBuiltInCommands = ['commit', 'publish', 'link', 'unlink'];\n if (supportedBuiltInCommands.includes(treeBuiltInCommand)) {\n // This is a tree command with built-in command, keep commandName as 'tree'\n commandName = 'tree';\n } else {\n // Unknown tree argument, let it fail naturally in tree.ts\n commandName = 'tree';\n }\n }\n // If we have a specific command argument, use that\n else if (command === 'commit' || command === 'audio-commit' || command === 'release' || command === 'publish' || command === 'publish-tree' || command === 'commit-tree' || command === 'tree' || command === 'link' || command === 'unlink' || command === 'audio-review' || command === 'clean' || command === 'review' || command === 'select-audio') {\n commandName = command;\n }\n\n let summary: string = '';\n\n try {\n if (commandName === COMMAND_COMMIT) {\n summary = await Commit.execute(runConfig);\n } else if (commandName === COMMAND_AUDIO_COMMIT) {\n summary = await AudioCommit.execute(runConfig);\n } else if (commandName === COMMAND_RELEASE) {\n const releaseSummary = await Release.execute(runConfig);\n summary = `${releaseSummary.title}\\n\\n${releaseSummary.body}`;\n } else if (commandName === COMMAND_PUBLISH) {\n await Publish.execute(runConfig);\n } else if (commandName === COMMAND_PUBLISH_TREE) {\n // DEPRECATED: publish-tree is now handled by tree command\n logger.warn('⚠️ DEPRECATION WARNING: publish-tree command is deprecated.');\n logger.warn(' Please use: kodrdriv tree publish');\n logger.warn(' This provides the same functionality with improved dependency analysis.');\n logger.warn('');\n\n // Handle publishTree directory mapping from command-specific arguments\n if (runConfig.audioReview?.directory && !runConfig.publishTree?.directory) {\n runConfig.publishTree = runConfig.publishTree || {};\n runConfig.publishTree.directory = runConfig.audioReview.directory;\n }\n // Handle publishTree exclusion patterns - use global excludedPatterns for publish-tree\n if (runConfig.excludedPatterns && !runConfig.publishTree?.excludedPatterns) {\n runConfig.publishTree = runConfig.publishTree || {};\n runConfig.publishTree.excludedPatterns = runConfig.excludedPatterns;\n }\n summary = await PublishTree.execute(runConfig);\n } else if (commandName === COMMAND_COMMIT_TREE) {\n // DEPRECATED: commit-tree is now handled by tree command\n logger.warn('⚠️ DEPRECATION WARNING: commit-tree command is deprecated.');\n logger.warn(' Please use: kodrdriv tree commit');\n logger.warn(' This provides the same functionality with improved dependency analysis.');\n logger.warn('');\n\n // Handle commitTree directory mapping from command-specific arguments\n if (runConfig.audioReview?.directory && !runConfig.commitTree?.directory) {\n runConfig.commitTree = runConfig.commitTree || {};\n runConfig.commitTree.directory = runConfig.audioReview.directory;\n }\n // Handle commitTree exclusion patterns - use global excludedPatterns for commit-tree\n if (runConfig.excludedPatterns && !runConfig.commitTree?.excludedPatterns) {\n runConfig.commitTree = runConfig.commitTree || {};\n runConfig.commitTree.excludedPatterns = runConfig.excludedPatterns;\n }\n summary = await CommitTree.execute(runConfig);\n } else if (commandName === COMMAND_TREE) {\n // Handle tree directories mapping from command-specific arguments\n if (runConfig.audioReview?.directory && !runConfig.tree?.directories) {\n runConfig.tree = runConfig.tree || {};\n runConfig.tree.directories = [runConfig.audioReview.directory];\n }\n // Handle tree exclusion patterns - use global excludedPatterns for tree\n if (runConfig.excludedPatterns && !runConfig.tree?.excludedPatterns) {\n runConfig.tree = runConfig.tree || {};\n runConfig.tree.excludedPatterns = runConfig.excludedPatterns;\n }\n summary = await Tree.execute(runConfig);\n } else if (commandName === COMMAND_LINK) {\n summary = await Link.execute(runConfig);\n } else if (commandName === COMMAND_UNLINK) {\n summary = await Unlink.execute(runConfig);\n } else if (commandName === COMMAND_AUDIO_REVIEW) {\n summary = await AudioReview.execute(runConfig);\n } else if (commandName === COMMAND_CLEAN) {\n await Clean.execute(runConfig);\n summary = 'Output directory cleaned successfully.';\n } else if (commandName === COMMAND_REVIEW) {\n summary = await Review.execute(runConfig);\n } else if (commandName === COMMAND_SELECT_AUDIO) {\n await SelectAudio.execute(runConfig);\n summary = 'Audio selection completed successfully.';\n }\n\n // eslint-disable-next-line no-console\n console.log(`\\n\\n${summary}\\n\\n`);\n } catch (error: any) {\n // Handle user cancellation gracefully\n if (error instanceof UserCancellationError) {\n logger.info(error.message);\n process.exit(0);\n }\n\n // Re-throw other errors to be handled by main.ts\n throw error;\n }\n}\n"],"names":["configureEarlyLogging","hasVerbose","process","argv","includes","hasDebug","setLogLevel","runApplication","createCardigantime","Cardigantime","create","cardigantime","defaults","configDirectory","DEFAULT_CONFIG_DIR","pathResolution","resolvePathArray","fieldOverlaps","features","configShape","ConfigSchema","shape","logger","getLogger","runConfig","secureConfig","commandConfig","Arguments","verbose","debug","setLogger","commandName","COMMAND_CHECK_CONFIG","COMMAND_INIT_CONFIG","command","treeBuiltInCommand","supportedBuiltInCommands","summary","COMMAND_COMMIT","Commit","COMMAND_AUDIO_COMMIT","AudioCommit","COMMAND_RELEASE","releaseSummary","Release","title","body","COMMAND_PUBLISH","Publish","COMMAND_PUBLISH_TREE","warn","audioReview","directory","publishTree","excludedPatterns","PublishTree","COMMAND_COMMIT_TREE","commitTree","CommitTree","COMMAND_TREE","tree","directories","Tree","COMMAND_LINK","Link","COMMAND_UNLINK","Unlink","COMMAND_AUDIO_REVIEW","AudioReview","COMMAND_CLEAN","Clean","COMMAND_REVIEW","Review","COMMAND_SELECT_AUDIO","SelectAudio","console","log","error","UserCancellationError","info","message","exit"],"mappings":"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"}
1
+ {"version":3,"file":"application.js","sources":["../src/application.ts"],"sourcesContent":["import * as Cardigantime from '@theunwalked/cardigantime';\nimport 'dotenv/config';\nimport { CommandConfig } from 'types';\nimport * as Arguments from './arguments';\nimport * as AudioCommit from './commands/audio-commit';\nimport * as AudioReview from './commands/audio-review';\nimport * as Clean from './commands/clean';\nimport * as Commit from './commands/commit';\nimport * as Link from './commands/link';\nimport * as Publish from './commands/publish';\nimport * as Tree from './commands/tree';\nimport * as Release from './commands/release';\nimport * as Review from './commands/review';\nimport * as SelectAudio from './commands/select-audio';\nimport * as Unlink from './commands/unlink';\nimport { COMMAND_AUDIO_COMMIT, COMMAND_AUDIO_REVIEW, COMMAND_CHECK_CONFIG, COMMAND_CLEAN, COMMAND_COMMIT, COMMAND_INIT_CONFIG, COMMAND_LINK, COMMAND_PUBLISH, COMMAND_TREE, COMMAND_RELEASE, COMMAND_REVIEW, COMMAND_SELECT_AUDIO, COMMAND_UNLINK, DEFAULT_CONFIG_DIR } from './constants';\nimport { getLogger, setLogLevel } from './logging';\nimport { Config, ConfigSchema, SecureConfig } from './types';\nimport { UserCancellationError } from './error/CommandErrors';\n\n/**\n * Configure early logging based on command line flags.\n *\n * Hey we need this because we need to be able to debug CardiganTime.\n * This method checks for --verbose and --debug flags early in the process\n * before CardiganTime is configured, allowing us to capture debug output\n * from the CardiganTime initialization itself.\n */\nexport function configureEarlyLogging(): void {\n const hasVerbose = process.argv.includes('--verbose');\n const hasDebug = process.argv.includes('--debug');\n\n // Set log level based on early flag detection\n if (hasDebug) {\n setLogLevel('debug');\n } else if (hasVerbose) {\n setLogLevel('verbose');\n }\n}\n\nexport async function runApplication(): Promise<void> {\n // Configure logging early, before CardiganTime initialization\n configureEarlyLogging();\n\n // Cast create to `any` to avoid excessive type instantiation issues in TS compiler\n const createCardigantime: any = (Cardigantime as unknown as { create: unknown }).create as any;\n\n const cardigantime = createCardigantime({\n defaults: {\n configDirectory: DEFAULT_CONFIG_DIR,\n // Move pathResolution INSIDE defaults\n pathResolution: {\n resolvePathArray: ['contextDirectories'], // Resolve contextDirectories array elements as paths\n },\n // Use fieldOverlaps instead of mergeStrategy, INSIDE defaults\n fieldOverlaps: {\n 'contextDirectories': 'prepend', // Use prepend strategy for contextDirectories array\n // Add other field overlap configurations as needed\n },\n },\n features: ['config', 'hierarchical'],\n configShape: ConfigSchema.shape, // No need for 'as any' now\n logger: getLogger(),\n }); // No need for 'as any' at the end\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [runConfig, secureConfig, commandConfig]: [Config, SecureConfig, CommandConfig] = await Arguments.configure(cardigantime); // Pass cardigantime instance\n\n // Set log level based on verbose flag\n if (runConfig.verbose) {\n setLogLevel('verbose');\n }\n if (runConfig.debug) {\n setLogLevel('debug');\n }\n\n const logger = getLogger();\n cardigantime.setLogger(logger);\n\n // Handle check-config command first\n if (commandConfig.commandName === COMMAND_CHECK_CONFIG) {\n // CardiganTime's checkConfig has already been called in Arguments.configure()\n // No additional processing needed here\n return;\n }\n\n // Handle init-config command\n if (commandConfig.commandName === COMMAND_INIT_CONFIG) {\n // CardiganTime's initConfig has already been called in Arguments.configure()\n // No additional processing needed here\n return;\n }\n\n // Get the command from Commander\n const command = process.argv[2];\n let commandName = commandConfig.commandName;\n\n // Handle special case for tree command with built-in command argument\n if (command === 'tree' && process.argv[3]) {\n const treeBuiltInCommand = process.argv[3];\n const supportedBuiltInCommands = ['commit', 'publish', 'link', 'unlink'];\n if (supportedBuiltInCommands.includes(treeBuiltInCommand)) {\n // This is a tree command with built-in command, keep commandName as 'tree'\n commandName = 'tree';\n } else {\n // Unknown tree argument, let it fail naturally in tree.ts\n commandName = 'tree';\n }\n }\n // If we have a specific command argument, use that\n else if (command === 'commit' || command === 'audio-commit' || command === 'release' || command === 'publish' || command === 'tree' || command === 'link' || command === 'unlink' || command === 'audio-review' || command === 'clean' || command === 'review' || command === 'select-audio') {\n commandName = command;\n }\n\n let summary: string = '';\n\n try {\n if (commandName === COMMAND_COMMIT) {\n summary = await Commit.execute(runConfig);\n } else if (commandName === COMMAND_AUDIO_COMMIT) {\n summary = await AudioCommit.execute(runConfig);\n } else if (commandName === COMMAND_RELEASE) {\n const releaseSummary = await Release.execute(runConfig);\n summary = `${releaseSummary.title}\\n\\n${releaseSummary.body}`;\n } else if (commandName === COMMAND_PUBLISH) {\n await Publish.execute(runConfig);\n } else if (commandName === COMMAND_TREE) {\n // Handle tree directories mapping from command-specific arguments\n if (runConfig.audioReview?.directory && !runConfig.tree?.directories) {\n runConfig.tree = runConfig.tree || {};\n runConfig.tree.directories = [runConfig.audioReview.directory];\n }\n // Handle tree exclusion patterns - use global excludedPatterns for tree\n if (runConfig.excludedPatterns && !runConfig.tree?.excludedPatterns) {\n runConfig.tree = runConfig.tree || {};\n runConfig.tree.excludedPatterns = runConfig.excludedPatterns;\n }\n summary = await Tree.execute(runConfig);\n } else if (commandName === COMMAND_LINK) {\n summary = await Link.execute(runConfig);\n } else if (commandName === COMMAND_UNLINK) {\n summary = await Unlink.execute(runConfig);\n } else if (commandName === COMMAND_AUDIO_REVIEW) {\n summary = await AudioReview.execute(runConfig);\n } else if (commandName === COMMAND_CLEAN) {\n await Clean.execute(runConfig);\n summary = 'Output directory cleaned successfully.';\n } else if (commandName === COMMAND_REVIEW) {\n summary = await Review.execute(runConfig);\n } else if (commandName === COMMAND_SELECT_AUDIO) {\n await SelectAudio.execute(runConfig);\n summary = 'Audio selection completed successfully.';\n }\n\n // eslint-disable-next-line no-console\n console.log(`\\n\\n${summary}\\n\\n`);\n } catch (error: any) {\n // Handle user cancellation gracefully\n if (error instanceof UserCancellationError) {\n logger.info(error.message);\n process.exit(0);\n }\n\n // Re-throw other errors to be handled by main.ts\n throw error;\n }\n}\n"],"names":["configureEarlyLogging","hasVerbose","process","argv","includes","hasDebug","setLogLevel","runApplication","createCardigantime","Cardigantime","create","cardigantime","defaults","configDirectory","DEFAULT_CONFIG_DIR","pathResolution","resolvePathArray","fieldOverlaps","features","configShape","ConfigSchema","shape","logger","getLogger","runConfig","secureConfig","commandConfig","Arguments","verbose","debug","setLogger","commandName","COMMAND_CHECK_CONFIG","COMMAND_INIT_CONFIG","command","treeBuiltInCommand","supportedBuiltInCommands","summary","COMMAND_COMMIT","Commit","COMMAND_AUDIO_COMMIT","AudioCommit","COMMAND_RELEASE","releaseSummary","Release","title","body","COMMAND_PUBLISH","Publish","COMMAND_TREE","audioReview","directory","tree","directories","excludedPatterns","Tree","COMMAND_LINK","Link","COMMAND_UNLINK","Unlink","COMMAND_AUDIO_REVIEW","AudioReview","COMMAND_CLEAN","Clean","COMMAND_REVIEW","Review","COMMAND_SELECT_AUDIO","SelectAudio","console","log","error","UserCancellationError","info","message","exit"],"mappings":"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"}
package/dist/arguments.js CHANGED
@@ -111,8 +111,8 @@ const transformCliArgs = (finalCliArgs, commandName)=>{
111
111
  }
112
112
  }
113
113
  }
114
- // Nested mappings for 'audio-review' options
115
- if (finalCliArgs.includeCommitHistory !== undefined || finalCliArgs.includeRecentDiffs !== undefined || finalCliArgs.includeReleaseNotes !== undefined || finalCliArgs.includeGithubIssues !== undefined || finalCliArgs.commitHistoryLimit !== undefined || finalCliArgs.diffHistoryLimit !== undefined || finalCliArgs.releaseNotesLimit !== undefined || finalCliArgs.githubIssuesLimit !== undefined || finalCliArgs.file !== undefined || finalCliArgs.directories !== undefined || finalCliArgs.keepTemp !== undefined) {
114
+ // Nested mappings for 'audio-review' options (only when it's not a tree command)
115
+ if (commandName !== 'tree' && (finalCliArgs.includeCommitHistory !== undefined || finalCliArgs.includeRecentDiffs !== undefined || finalCliArgs.includeReleaseNotes !== undefined || finalCliArgs.includeGithubIssues !== undefined || finalCliArgs.commitHistoryLimit !== undefined || finalCliArgs.diffHistoryLimit !== undefined || finalCliArgs.releaseNotesLimit !== undefined || finalCliArgs.githubIssuesLimit !== undefined || finalCliArgs.file !== undefined || finalCliArgs.directories !== undefined || finalCliArgs.keepTemp !== undefined)) {
116
116
  transformedCliArgs.audioReview = {};
117
117
  if (finalCliArgs.includeCommitHistory !== undefined) transformedCliArgs.audioReview.includeCommitHistory = finalCliArgs.includeCommitHistory;
118
118
  if (finalCliArgs.includeRecentDiffs !== undefined) transformedCliArgs.audioReview.includeRecentDiffs = finalCliArgs.includeRecentDiffs;
@@ -144,34 +144,7 @@ const transformCliArgs = (finalCliArgs, commandName)=>{
144
144
  if (finalCliArgs.context !== undefined) transformedCliArgs.review.context = finalCliArgs.context;
145
145
  if (finalCliArgs.sendit !== undefined) transformedCliArgs.review.sendit = finalCliArgs.sendit;
146
146
  }
147
- // Nested mappings for 'publishTree' options (add when relevant args present, unless we're specifically doing commit-tree)
148
- if (commandName !== 'commit-tree') {
149
- const publishTreeExcludedPatterns = finalCliArgs.excludedPatterns || finalCliArgs.excludedPaths;
150
- if (finalCliArgs.directory !== undefined || finalCliArgs.directories !== undefined || publishTreeExcludedPatterns !== undefined || finalCliArgs.startFrom !== undefined || finalCliArgs.script !== undefined || finalCliArgs.cmd !== undefined || finalCliArgs.publish !== undefined || finalCliArgs.parallel !== undefined) {
151
- transformedCliArgs.publishTree = {};
152
- if (finalCliArgs.directory !== undefined) transformedCliArgs.publishTree.directory = finalCliArgs.directory;
153
- else if (finalCliArgs.directories !== undefined && finalCliArgs.directories.length > 0) transformedCliArgs.publishTree.directory = finalCliArgs.directories[0];
154
- if (publishTreeExcludedPatterns !== undefined) transformedCliArgs.publishTree.excludedPatterns = publishTreeExcludedPatterns;
155
- if (finalCliArgs.startFrom !== undefined) transformedCliArgs.publishTree.startFrom = finalCliArgs.startFrom;
156
- if (finalCliArgs.script !== undefined) transformedCliArgs.publishTree.script = finalCliArgs.script;
157
- if (finalCliArgs.cmd !== undefined) transformedCliArgs.publishTree.cmd = finalCliArgs.cmd;
158
- if (finalCliArgs.publish !== undefined) transformedCliArgs.publishTree.publish = finalCliArgs.publish;
159
- if (finalCliArgs.parallel !== undefined) transformedCliArgs.publishTree.parallel = finalCliArgs.parallel;
160
- }
161
- }
162
- // Nested mappings for 'commitTree' options (only when the command is actually commit-tree)
163
- if (commandName === 'commit-tree') {
164
- const commitTreeExcludedPatterns = finalCliArgs.excludedPatterns || finalCliArgs.excludedPaths;
165
- if (finalCliArgs.directory !== undefined || finalCliArgs.directories !== undefined || commitTreeExcludedPatterns !== undefined || finalCliArgs.startFrom !== undefined || finalCliArgs.parallel !== undefined) {
166
- transformedCliArgs.commitTree = {};
167
- if (finalCliArgs.directory !== undefined) transformedCliArgs.commitTree.directory = finalCliArgs.directory;
168
- else if (finalCliArgs.directories !== undefined && finalCliArgs.directories.length > 0) transformedCliArgs.commitTree.directory = finalCliArgs.directories[0];
169
- if (commitTreeExcludedPatterns !== undefined) transformedCliArgs.commitTree.excludedPatterns = commitTreeExcludedPatterns;
170
- if (finalCliArgs.startFrom !== undefined) transformedCliArgs.commitTree.startFrom = finalCliArgs.startFrom;
171
- if (finalCliArgs.parallel !== undefined) transformedCliArgs.commitTree.parallel = finalCliArgs.parallel;
172
- }
173
- }
174
- // Nested mappings for 'tree' options (only when the command is actually tree)
147
+ // Nested mappings for 'tree' options (add when relevant args present)
175
148
  if (commandName === 'tree') {
176
149
  const treeExcludedPatterns = finalCliArgs.excludedPatterns || finalCliArgs.excludedPaths;
177
150
  const builtInCommand = finalCliArgs.builtInCommand;
@@ -385,10 +358,6 @@ async function getCliConfig(program) {
385
358
  addSharedOptions(releaseCommand);
386
359
  const publishCommand = program.command('publish').option('--merge-method <method>', 'method to merge PR (merge, squash, rebase)', 'squash').option('--sendit', 'skip all confirmation prompts and proceed automatically').description('Publish a release');
387
360
  addSharedOptions(publishCommand);
388
- const publishTreeCommand = program.command('publish-tree').option('--directory <directory>', 'target directory containing multiple packages (defaults to current directory)').option('--start-from <startFrom>', 'resume build order from this package directory name (useful for restarting failed builds)').option('--script <script>', 'script command to execute in each package directory (e.g., "npm run build")').option('--cmd <cmd>', 'shell command to execute in each package directory (e.g., "git add -A")').option('--publish', 'execute kodrdriv publish command in each package directory').option('--parallel', 'execute packages in parallel when dependencies allow (packages with no interdependencies run simultaneously)').option('--excluded-patterns [excludedPatterns...]', 'patterns to exclude packages from processing (e.g., "**/node_modules/**", "dist/*")').description('Analyze package dependencies in workspace and determine publish order');
389
- addSharedOptions(publishTreeCommand);
390
- const commitTreeCommand = program.command('commit-tree').option('--directory <directory>', 'target directory containing multiple packages (defaults to current directory)').option('--start-from <startFrom>', 'resume commit order from this package directory name (useful for restarting failed commits)').option('--parallel', 'execute packages in parallel when dependencies allow (packages with no interdependencies run simultaneously)').option('--excluded-patterns [excludedPatterns...]', 'patterns to exclude packages from processing (e.g., "**/node_modules/**", "dist/*")').description('Analyze package dependencies in workspace and run commit operations (git add -A + kodrdriv commit) in dependency order');
391
- addSharedOptions(commitTreeCommand);
392
361
  const treeCommand = program.command('tree [command]').option('--directory <directory>', 'target directory containing multiple packages (defaults to current directory)').option('--directories [directories...]', 'target directories containing multiple packages (defaults to current directory)').option('--start-from <startFrom>', 'resume execution from this package directory name (useful for restarting failed builds)').option('--cmd <cmd>', 'shell command to execute in each package directory (e.g., "npm install", "git status")').option('--parallel', 'execute packages in parallel when dependencies allow (packages with no interdependencies run simultaneously)').option('--excluded-patterns [excludedPatterns...]', 'patterns to exclude packages from processing (e.g., "**/node_modules/**", "dist/*")').description('Analyze package dependencies in workspace and execute commands in dependency order. Supports built-in commands: commit, publish, link, unlink');
393
362
  addSharedOptions(treeCommand);
394
363
  const linkCommand = program.command('link').option('--scope-roots <scopeRoots>', 'JSON mapping of scopes to root directories (e.g., \'{"@company": "../"}\')').description('Create npm file: dependencies for local development');
@@ -553,10 +522,6 @@ async function getCliConfig(program) {
553
522
  commandOptions = releaseCommand.opts();
554
523
  } else if (commandName === 'publish' && publishCommand.opts) {
555
524
  commandOptions = publishCommand.opts();
556
- } else if (commandName === 'publish-tree' && publishTreeCommand.opts) {
557
- commandOptions = publishTreeCommand.opts();
558
- } else if (commandName === 'commit-tree' && commitTreeCommand.opts) {
559
- commandOptions = commitTreeCommand.opts();
560
525
  } else if (commandName === 'tree' && treeCommand.opts) {
561
526
  commandOptions = treeCommand.opts();
562
527
  // Handle positional argument for built-in command
@@ -618,10 +583,10 @@ async function validateAndProcessSecureOptions() {
618
583
  }
619
584
  // Renamed validation function to reflect its broader role
620
585
  async function validateAndProcessOptions(options) {
621
- var _options_commit, _options_commit1, _options_commit2, _options_commit3, _options_commit4, _options_commit5, _options_commit6, _options_audioCommit, _options_audioCommit1, _options_audioCommit2, _options_audioCommit3, _options_release, _options_release1, _options_release2, _options_release3, _options_audioReview, _options_audioReview1, _options_audioReview2, _options_audioReview3, _options_audioReview4, _options_audioReview5, _options_audioReview6, _options_audioReview7, _options_audioReview8, _options_audioReview9, _options_audioReview10, _options_audioReview11, _options_audioReview12, _options_audioReview13, _options_audioReview14, _options_review, _options_review1, _options_review2, _options_review3, _options_review4, _options_review5, _options_review6, _options_review7, _options_review8, _options_review9, _options_review10, _options_publish, _options_publish1, _options_publish2, _options_publish3, _options_publish4, _options_publish5, _options_link, _options_link1, _options_publishTree, _options_publishTree1, _options_publishTree2, _options_publishTree3, _options_publishTree4, _options_publishTree5, _options_publishTree6, _options_commitTree, _options_commitTree1, _options_commitTree2, _options_commitTree3, _options_tree, _options_tree1, _options_tree2, _options_tree3, _options_tree4, _options_tree5;
586
+ var _options_commit, _options_commit1, _options_commit2, _options_commit3, _options_commit4, _options_commit5, _options_commit6, _options_audioCommit, _options_audioCommit1, _options_audioCommit2, _options_audioCommit3, _options_release, _options_release1, _options_release2, _options_release3, _options_audioReview, _options_audioReview1, _options_audioReview2, _options_audioReview3, _options_audioReview4, _options_audioReview5, _options_audioReview6, _options_audioReview7, _options_audioReview8, _options_audioReview9, _options_audioReview10, _options_audioReview11, _options_audioReview12, _options_audioReview13, _options_audioReview14, _options_review, _options_review1, _options_review2, _options_review3, _options_review4, _options_review5, _options_review6, _options_review7, _options_review8, _options_review9, _options_review10, _options_publish, _options_publish1, _options_publish2, _options_publish3, _options_publish4, _options_publish5, _options_link, _options_link1, _options_tree, _options_tree1, _options_tree2, _options_tree3, _options_tree4, _options_tree5;
622
587
  const contextDirectories = await validateContextDirectories(options.contextDirectories || KODRDRIV_DEFAULTS.contextDirectories);
623
588
  const configDir = options.configDirectory || KODRDRIV_DEFAULTS.configDirectory;
624
- var _options_dryRun, _options_verbose, _options_debug, _options_overrides, _options_model, _options_outputDirectory, _options_preferencesDirectory, _options_discoveredConfigDirs, _options_resolvedConfigDirs, _options_commit_add, _options_commit_cached, _options_commit_sendit, _options_commit_messageLimit, _options_commit_skipFileCheck, _options_audioCommit_maxRecordingTime, _options_audioCommit_audioDevice, _options_release_from, _options_release_to, _options_release_messageLimit, _options_audioReview_includeCommitHistory, _options_audioReview_includeRecentDiffs, _options_audioReview_includeReleaseNotes, _options_audioReview_includeGithubIssues, _options_audioReview_commitHistoryLimit, _options_audioReview_diffHistoryLimit, _options_audioReview_releaseNotesLimit, _options_audioReview_githubIssuesLimit, _options_audioReview_sendit, _options_audioReview_maxRecordingTime, _options_audioReview_audioDevice, _options_review_includeCommitHistory, _options_review_includeRecentDiffs, _options_review_includeReleaseNotes, _options_review_includeGithubIssues, _options_review_commitHistoryLimit, _options_review_diffHistoryLimit, _options_review_releaseNotesLimit, _options_review_githubIssuesLimit, _options_review_sendit, _options_publish_mergeMethod, _options_publish_requiredEnvVars, _options_publish_linkWorkspacePackages, _options_publish_unlinkWorkspacePackages, _options_publish_sendit, _options_link_scopeRoots, _options_link_dryRun, _options_publishTree_directory, _options_publishTree_excludedPatterns, _options_publishTree_startFrom, _options_publishTree_script, _options_publishTree_cmd, _options_publishTree_publish, _options_publishTree_parallel, _options_commitTree_directory, _options_commitTree_excludedPatterns, _options_commitTree_startFrom, _options_commitTree_parallel, _options_tree_directories, _options_tree_excludedPatterns, _options_tree_startFrom, _options_tree_cmd, _options_tree_parallel, _options_tree_builtInCommand, _options_excludedPatterns;
589
+ var _options_dryRun, _options_verbose, _options_debug, _options_overrides, _options_model, _options_outputDirectory, _options_preferencesDirectory, _options_discoveredConfigDirs, _options_resolvedConfigDirs, _options_commit_add, _options_commit_cached, _options_commit_sendit, _options_commit_messageLimit, _options_commit_skipFileCheck, _options_audioCommit_maxRecordingTime, _options_audioCommit_audioDevice, _options_release_from, _options_release_to, _options_release_messageLimit, _options_audioReview_includeCommitHistory, _options_audioReview_includeRecentDiffs, _options_audioReview_includeReleaseNotes, _options_audioReview_includeGithubIssues, _options_audioReview_commitHistoryLimit, _options_audioReview_diffHistoryLimit, _options_audioReview_releaseNotesLimit, _options_audioReview_githubIssuesLimit, _options_audioReview_sendit, _options_audioReview_maxRecordingTime, _options_audioReview_audioDevice, _options_review_includeCommitHistory, _options_review_includeRecentDiffs, _options_review_includeReleaseNotes, _options_review_includeGithubIssues, _options_review_commitHistoryLimit, _options_review_diffHistoryLimit, _options_review_releaseNotesLimit, _options_review_githubIssuesLimit, _options_review_sendit, _options_publish_mergeMethod, _options_publish_requiredEnvVars, _options_publish_linkWorkspacePackages, _options_publish_unlinkWorkspacePackages, _options_publish_sendit, _options_link_scopeRoots, _options_link_dryRun, _options_tree_directories, _options_tree_excludedPatterns, _options_tree_startFrom, _options_tree_cmd, _options_tree_parallel, _options_tree_builtInCommand, _options_excludedPatterns;
625
590
  // Skip config directory validation since Cardigantime handles hierarchical lookup
626
591
  // Ensure all required fields are present and have correct types after merging
627
592
  const finalConfig = {
@@ -701,21 +666,6 @@ async function validateAndProcessOptions(options) {
701
666
  scopeRoots: (_options_link_scopeRoots = (_options_link = options.link) === null || _options_link === void 0 ? void 0 : _options_link.scopeRoots) !== null && _options_link_scopeRoots !== void 0 ? _options_link_scopeRoots : KODRDRIV_DEFAULTS.link.scopeRoots,
702
667
  dryRun: (_options_link_dryRun = (_options_link1 = options.link) === null || _options_link1 === void 0 ? void 0 : _options_link1.dryRun) !== null && _options_link_dryRun !== void 0 ? _options_link_dryRun : KODRDRIV_DEFAULTS.link.dryRun
703
668
  },
704
- publishTree: {
705
- directory: (_options_publishTree_directory = (_options_publishTree = options.publishTree) === null || _options_publishTree === void 0 ? void 0 : _options_publishTree.directory) !== null && _options_publishTree_directory !== void 0 ? _options_publishTree_directory : KODRDRIV_DEFAULTS.publishTree.directory,
706
- excludedPatterns: (_options_publishTree_excludedPatterns = (_options_publishTree1 = options.publishTree) === null || _options_publishTree1 === void 0 ? void 0 : _options_publishTree1.excludedPatterns) !== null && _options_publishTree_excludedPatterns !== void 0 ? _options_publishTree_excludedPatterns : KODRDRIV_DEFAULTS.publishTree.excludedPatterns,
707
- startFrom: (_options_publishTree_startFrom = (_options_publishTree2 = options.publishTree) === null || _options_publishTree2 === void 0 ? void 0 : _options_publishTree2.startFrom) !== null && _options_publishTree_startFrom !== void 0 ? _options_publishTree_startFrom : KODRDRIV_DEFAULTS.publishTree.startFrom,
708
- script: (_options_publishTree_script = (_options_publishTree3 = options.publishTree) === null || _options_publishTree3 === void 0 ? void 0 : _options_publishTree3.script) !== null && _options_publishTree_script !== void 0 ? _options_publishTree_script : KODRDRIV_DEFAULTS.publishTree.script,
709
- cmd: (_options_publishTree_cmd = (_options_publishTree4 = options.publishTree) === null || _options_publishTree4 === void 0 ? void 0 : _options_publishTree4.cmd) !== null && _options_publishTree_cmd !== void 0 ? _options_publishTree_cmd : KODRDRIV_DEFAULTS.publishTree.cmd,
710
- publish: (_options_publishTree_publish = (_options_publishTree5 = options.publishTree) === null || _options_publishTree5 === void 0 ? void 0 : _options_publishTree5.publish) !== null && _options_publishTree_publish !== void 0 ? _options_publishTree_publish : KODRDRIV_DEFAULTS.publishTree.publish,
711
- parallel: (_options_publishTree_parallel = (_options_publishTree6 = options.publishTree) === null || _options_publishTree6 === void 0 ? void 0 : _options_publishTree6.parallel) !== null && _options_publishTree_parallel !== void 0 ? _options_publishTree_parallel : KODRDRIV_DEFAULTS.publishTree.parallel
712
- },
713
- commitTree: {
714
- directory: (_options_commitTree_directory = (_options_commitTree = options.commitTree) === null || _options_commitTree === void 0 ? void 0 : _options_commitTree.directory) !== null && _options_commitTree_directory !== void 0 ? _options_commitTree_directory : KODRDRIV_DEFAULTS.commitTree.directory,
715
- excludedPatterns: (_options_commitTree_excludedPatterns = (_options_commitTree1 = options.commitTree) === null || _options_commitTree1 === void 0 ? void 0 : _options_commitTree1.excludedPatterns) !== null && _options_commitTree_excludedPatterns !== void 0 ? _options_commitTree_excludedPatterns : KODRDRIV_DEFAULTS.commitTree.excludedPatterns,
716
- startFrom: (_options_commitTree_startFrom = (_options_commitTree2 = options.commitTree) === null || _options_commitTree2 === void 0 ? void 0 : _options_commitTree2.startFrom) !== null && _options_commitTree_startFrom !== void 0 ? _options_commitTree_startFrom : KODRDRIV_DEFAULTS.commitTree.startFrom,
717
- parallel: (_options_commitTree_parallel = (_options_commitTree3 = options.commitTree) === null || _options_commitTree3 === void 0 ? void 0 : _options_commitTree3.parallel) !== null && _options_commitTree_parallel !== void 0 ? _options_commitTree_parallel : KODRDRIV_DEFAULTS.commitTree.parallel
718
- },
719
669
  tree: {
720
670
  directories: (_options_tree_directories = (_options_tree = options.tree) === null || _options_tree === void 0 ? void 0 : _options_tree.directories) !== null && _options_tree_directories !== void 0 ? _options_tree_directories : KODRDRIV_DEFAULTS.tree.directories,
721
671
  excludedPatterns: (_options_tree_excludedPatterns = (_options_tree1 = options.tree) === null || _options_tree1 === void 0 ? void 0 : _options_tree1.excludedPatterns) !== null && _options_tree_excludedPatterns !== void 0 ? _options_tree_excludedPatterns : KODRDRIV_DEFAULTS.tree.excludedPatterns,