From 45a548fb9738dc237a8ca7fe7f4512e652dee8e2 Mon Sep 17 00:00:00 2001 From: Aman Kumar Date: Fri, 22 Aug 2025 17:29:44 +0530 Subject: [PATCH 1/6] fix: Errors are now logged in the log file and also displayed on the console. --- package-lock.json | 44 +-- packages/contentstack-audit/package.json | 2 +- packages/contentstack-auth/package.json | 2 +- packages/contentstack-bootstrap/package.json | 2 +- packages/contentstack-branches/package.json | 2 +- .../contentstack-bulk-publish/package.json | 2 +- packages/contentstack-clone/package.json | 2 +- packages/contentstack-command/package.json | 2 +- packages/contentstack-config/package.json | 2 +- .../contentstack-export-to-csv/package.json | 2 +- packages/contentstack-export/package.json | 2 +- .../contentstack-import-setup/package.json | 2 +- packages/contentstack-import/package.json | 4 +- .../contentstack-import/src/config/index.ts | 2 +- .../src/import/modules/content-types.ts | 2 +- .../src/import/modules/entries.ts | 300 +++++++++++++----- .../src/utils/asset-helper.ts | 22 +- .../src/utils/content-type-helper.ts | 33 +- .../src/utils/entries-helper.ts | 20 +- .../src/utils/extension-helper.ts | 6 +- .../contentstack-migrate-rte/package.json | 2 +- packages/contentstack-migration/package.json | 2 +- packages/contentstack-seed/package.json | 4 +- packages/contentstack-utilities/package.json | 2 +- .../contentstack-utilities/src/helpers.ts | 16 +- .../src/logger/cli-error-handler.ts | 36 ++- .../src/logger/logger.ts | 39 ++- packages/contentstack-variants/package.json | 2 +- packages/contentstack/README.md | 5 +- packages/contentstack/package.json | 6 +- pnpm-lock.yaml | 38 +-- 31 files changed, 392 insertions(+), 215 deletions(-) diff --git a/package-lock.json b/package-lock.json index 12739d2b92..162fc74748 100644 --- a/package-lock.json +++ b/package-lock.json @@ -26337,7 +26337,7 @@ }, "packages/contentstack": { "name": "@contentstack/cli", - "version": "1.45.0", + "version": "1.45.1", "license": "MIT", "dependencies": { "@contentstack/cli-audit": "~1.14.0", @@ -26348,7 +26348,7 @@ "@contentstack/cli-cm-clone": "~1.15.1", "@contentstack/cli-cm-export": "~1.19.0", "@contentstack/cli-cm-export-to-csv": "~1.9.0", - "@contentstack/cli-cm-import": "~1.26.2", + "@contentstack/cli-cm-import": "~1.26.3", "@contentstack/cli-cm-import-setup": "1.4.1", "@contentstack/cli-cm-migrate-rte": "~1.6.0", "@contentstack/cli-cm-seed": "~1.12.0", @@ -26356,7 +26356,7 @@ "@contentstack/cli-config": "~1.15.0", "@contentstack/cli-launch": "^1.9.2", "@contentstack/cli-migration": "~1.8.0", - "@contentstack/cli-utilities": "~1.13.1", + "@contentstack/cli-utilities": "~1.13.2", "@contentstack/cli-variants": "~1.3.0", "@contentstack/management": "~1.22.0", "@oclif/core": "^4.3.0", @@ -26413,7 +26413,7 @@ "license": "MIT", "dependencies": { "@contentstack/cli-command": "~1.6.0", - "@contentstack/cli-utilities": "~1.13.1", + "@contentstack/cli-utilities": "~1.13.2", "@oclif/core": "^4.3.0", "@oclif/plugin-help": "^6.2.28", "@oclif/plugin-plugins": "^5.4.38", @@ -26494,7 +26494,7 @@ "license": "MIT", "dependencies": { "@contentstack/cli-command": "~1.6.0", - "@contentstack/cli-utilities": "~1.13.1", + "@contentstack/cli-utilities": "~1.13.2", "@oclif/core": "^4.3.0", "@oclif/plugin-help": "^6.2.28", "otplib": "^12.0.1" @@ -26653,7 +26653,7 @@ "dependencies": { "@contentstack/cli-cm-seed": "~1.12.0", "@contentstack/cli-command": "~1.6.0", - "@contentstack/cli-utilities": "~1.13.1", + "@contentstack/cli-utilities": "~1.13.2", "@oclif/core": "^4.3.0", "@oclif/plugin-help": "^6.2.28", "inquirer": "8.2.6", @@ -26741,7 +26741,7 @@ "license": "MIT", "dependencies": { "@contentstack/cli-command": "~1.6.0", - "@contentstack/cli-utilities": "~1.13.1", + "@contentstack/cli-utilities": "~1.13.2", "@oclif/core": "^4.3.0", "@oclif/plugin-help": "^6.2.28", "chalk": "^4.1.2", @@ -26774,7 +26774,7 @@ "license": "MIT", "dependencies": { "@contentstack/cli-command": "~1.6.0", - "@contentstack/cli-utilities": "~1.13.1", + "@contentstack/cli-utilities": "~1.13.2", "@oclif/core": "^4.3.0", "@oclif/plugin-help": "^6.2.28", "chalk": "^4.1.2", @@ -26805,7 +26805,7 @@ "@contentstack/cli-cm-export": "~1.19.0", "@contentstack/cli-cm-import": "~1.26.1", "@contentstack/cli-command": "~1.6.0", - "@contentstack/cli-utilities": "~1.13.1", + "@contentstack/cli-utilities": "~1.13.2", "@oclif/core": "^4.3.0", "@oclif/plugin-help": "^6.2.28", "chalk": "^4.1.2", @@ -26836,7 +26836,7 @@ "version": "1.6.0", "license": "MIT", "dependencies": { - "@contentstack/cli-utilities": "~1.13.1", + "@contentstack/cli-utilities": "~1.13.2", "@oclif/core": "^4.3.0", "@oclif/plugin-help": "^6.2.28", "contentstack": "^3.25.3" @@ -26918,7 +26918,7 @@ "license": "MIT", "dependencies": { "@contentstack/cli-command": "~1.6.0", - "@contentstack/cli-utilities": "~1.13.1", + "@contentstack/cli-utilities": "~1.13.2", "@oclif/core": "^4.3.0", "@oclif/plugin-help": "^6.2.28", "lodash": "^4.17.21" @@ -27266,7 +27266,7 @@ "license": "MIT", "dependencies": { "@contentstack/cli-command": "~1.6.0", - "@contentstack/cli-utilities": "~1.13.1", + "@contentstack/cli-utilities": "~1.13.2", "@contentstack/cli-variants": "~1.3.0", "@oclif/core": "^4.3.3", "async": "^3.2.6", @@ -27309,7 +27309,7 @@ "license": "MIT", "dependencies": { "@contentstack/cli-command": "~1.6.0", - "@contentstack/cli-utilities": "~1.13.1", + "@contentstack/cli-utilities": "~1.13.2", "@oclif/core": "^4.3.0", "@oclif/plugin-help": "^6.2.28", "fast-csv": "^4.3.6", @@ -27707,12 +27707,12 @@ }, "packages/contentstack-import": { "name": "@contentstack/cli-cm-import", - "version": "1.26.2", + "version": "1.26.3", "license": "MIT", "dependencies": { "@contentstack/cli-audit": "~1.14.0", "@contentstack/cli-command": "~1.6.0", - "@contentstack/cli-utilities": "~1.13.1", + "@contentstack/cli-utilities": "~1.13.2", "@contentstack/cli-variants": "~1.3.0", "@contentstack/management": "~1.22.0", "@oclif/core": "^4.3.0", @@ -27758,7 +27758,7 @@ "license": "MIT", "dependencies": { "@contentstack/cli-command": "~1.6.0", - "@contentstack/cli-utilities": "~1.13.1", + "@contentstack/cli-utilities": "~1.13.2", "@oclif/core": "^4.3.0", "big-json": "^3.2.0", "chalk": "^4.1.2", @@ -27815,7 +27815,7 @@ "license": "MIT", "dependencies": { "@contentstack/cli-command": "~1.6.0", - "@contentstack/cli-utilities": "~1.13.1", + "@contentstack/cli-utilities": "~1.13.2", "@contentstack/json-rte-serializer": "~2.1.0", "@oclif/core": "^4.3.0", "@oclif/plugin-help": "^6.2.28", @@ -27847,7 +27847,7 @@ "license": "MIT", "dependencies": { "@contentstack/cli-command": "~1.6.0", - "@contentstack/cli-utilities": "~1.13.1", + "@contentstack/cli-utilities": "~1.13.2", "@oclif/core": "^4.3.0", "@oclif/plugin-help": "^6.2.28", "async": "^3.2.6", @@ -27877,9 +27877,9 @@ "version": "1.12.0", "license": "MIT", "dependencies": { - "@contentstack/cli-cm-import": "~1.26.1", + "@contentstack/cli-cm-import": "~1.26.3", "@contentstack/cli-command": "~1.6.0", - "@contentstack/cli-utilities": "~1.13.1", + "@contentstack/cli-utilities": "~1.13.2", "@contentstack/management": "~1.22.0", "inquirer": "8.2.6", "mkdirp": "^1.0.4", @@ -27963,7 +27963,7 @@ }, "packages/contentstack-utilities": { "name": "@contentstack/cli-utilities", - "version": "1.13.1", + "version": "1.13.2", "license": "MIT", "dependencies": { "@contentstack/management": "~1.22.0", @@ -28035,7 +28035,7 @@ "version": "1.3.0", "license": "MIT", "dependencies": { - "@contentstack/cli-utilities": "~1.13.0", + "@contentstack/cli-utilities": "~1.13.2", "@oclif/core": "^4.3.0", "@oclif/plugin-help": "^6.2.28", "lodash": "^4.17.21", diff --git a/packages/contentstack-audit/package.json b/packages/contentstack-audit/package.json index 845555c0d1..f4a673ea76 100644 --- a/packages/contentstack-audit/package.json +++ b/packages/contentstack-audit/package.json @@ -19,7 +19,7 @@ ], "dependencies": { "@contentstack/cli-command": "~1.6.0", - "@contentstack/cli-utilities": "~1.13.1", + "@contentstack/cli-utilities": "~1.13.2", "@oclif/core": "^4.3.0", "@oclif/plugin-help": "^6.2.28", "@oclif/plugin-plugins": "^5.4.38", diff --git a/packages/contentstack-auth/package.json b/packages/contentstack-auth/package.json index 126f2e6b5f..dae78a2c3e 100644 --- a/packages/contentstack-auth/package.json +++ b/packages/contentstack-auth/package.json @@ -23,7 +23,7 @@ }, "dependencies": { "@contentstack/cli-command": "~1.6.0", - "@contentstack/cli-utilities": "~1.13.1", + "@contentstack/cli-utilities": "~1.13.2", "@oclif/core": "^4.3.0", "@oclif/plugin-help": "^6.2.28", "otplib": "^12.0.1" diff --git a/packages/contentstack-bootstrap/package.json b/packages/contentstack-bootstrap/package.json index e539a65ede..8dfdb9b472 100644 --- a/packages/contentstack-bootstrap/package.json +++ b/packages/contentstack-bootstrap/package.json @@ -18,7 +18,7 @@ "dependencies": { "@contentstack/cli-cm-seed": "~1.12.0", "@contentstack/cli-command": "~1.6.0", - "@contentstack/cli-utilities": "~1.13.1", + "@contentstack/cli-utilities": "~1.13.2", "@oclif/core": "^4.3.0", "@oclif/plugin-help": "^6.2.28", "inquirer": "8.2.6", diff --git a/packages/contentstack-branches/package.json b/packages/contentstack-branches/package.json index 6fa9e8a83b..3ea0827d92 100644 --- a/packages/contentstack-branches/package.json +++ b/packages/contentstack-branches/package.json @@ -8,7 +8,7 @@ "@contentstack/cli-command": "~1.6.0", "@oclif/core": "^4.3.0", "@oclif/plugin-help": "^6.2.28", - "@contentstack/cli-utilities": "~1.13.1", + "@contentstack/cli-utilities": "~1.13.2", "chalk": "^4.1.2", "just-diff": "^6.0.2", "lodash": "^4.17.21" diff --git a/packages/contentstack-bulk-publish/package.json b/packages/contentstack-bulk-publish/package.json index 52f399bcc6..f64f07b9a8 100644 --- a/packages/contentstack-bulk-publish/package.json +++ b/packages/contentstack-bulk-publish/package.json @@ -6,7 +6,7 @@ "bugs": "https://github.com/contentstack/cli/issues", "dependencies": { "@contentstack/cli-command": "~1.6.0", - "@contentstack/cli-utilities": "~1.13.1", + "@contentstack/cli-utilities": "~1.13.2", "@oclif/core": "^4.3.0", "@oclif/plugin-help": "^6.2.28", "chalk": "^4.1.2", diff --git a/packages/contentstack-clone/package.json b/packages/contentstack-clone/package.json index 67eb97a0a4..dbf516b7da 100644 --- a/packages/contentstack-clone/package.json +++ b/packages/contentstack-clone/package.json @@ -9,7 +9,7 @@ "@contentstack/cli-cm-export": "~1.19.0", "@contentstack/cli-cm-import": "~1.26.1", "@contentstack/cli-command": "~1.6.0", - "@contentstack/cli-utilities": "~1.13.1", + "@contentstack/cli-utilities": "~1.13.2", "@oclif/core": "^4.3.0", "@oclif/plugin-help": "^6.2.28", "chalk": "^4.1.2", diff --git a/packages/contentstack-command/package.json b/packages/contentstack-command/package.json index 1e9dfafd1c..8a71cf1d90 100644 --- a/packages/contentstack-command/package.json +++ b/packages/contentstack-command/package.json @@ -19,7 +19,7 @@ "test:unit": "mocha --timeout 10000 --forbid-only \"test/unit/**/*.test.ts\"" }, "dependencies": { - "@contentstack/cli-utilities": "~1.13.1", + "@contentstack/cli-utilities": "~1.13.2", "contentstack": "^3.25.3", "@oclif/core": "^4.3.0", "@oclif/plugin-help": "^6.2.28" diff --git a/packages/contentstack-config/package.json b/packages/contentstack-config/package.json index 9594c692bb..a8c48e23b4 100644 --- a/packages/contentstack-config/package.json +++ b/packages/contentstack-config/package.json @@ -22,7 +22,7 @@ }, "dependencies": { "@contentstack/cli-command": "~1.6.0", - "@contentstack/cli-utilities": "~1.13.1", + "@contentstack/cli-utilities": "~1.13.2", "@oclif/core": "^4.3.0", "@oclif/plugin-help": "^6.2.28", "lodash": "^4.17.21" diff --git a/packages/contentstack-export-to-csv/package.json b/packages/contentstack-export-to-csv/package.json index fb3f4842d7..ee72606581 100644 --- a/packages/contentstack-export-to-csv/package.json +++ b/packages/contentstack-export-to-csv/package.json @@ -6,7 +6,7 @@ "bugs": "https://github.com/contentstack/cli/issues", "dependencies": { "@contentstack/cli-command": "~1.6.0", - "@contentstack/cli-utilities": "~1.13.1", + "@contentstack/cli-utilities": "~1.13.2", "@oclif/core": "^4.3.0", "@oclif/plugin-help": "^6.2.28", "fast-csv": "^4.3.6", diff --git a/packages/contentstack-export/package.json b/packages/contentstack-export/package.json index 02cb29072b..1fa9127b70 100644 --- a/packages/contentstack-export/package.json +++ b/packages/contentstack-export/package.json @@ -8,7 +8,7 @@ "@contentstack/cli-command": "~1.6.0", "@contentstack/cli-variants": "~1.3.0", "@oclif/core": "^4.3.3", - "@contentstack/cli-utilities": "~1.13.1", + "@contentstack/cli-utilities": "~1.13.2", "async": "^3.2.6", "big-json": "^3.2.0", "bluebird": "^3.7.2", diff --git a/packages/contentstack-import-setup/package.json b/packages/contentstack-import-setup/package.json index a1dfc3be70..c3c332fcf2 100644 --- a/packages/contentstack-import-setup/package.json +++ b/packages/contentstack-import-setup/package.json @@ -6,7 +6,7 @@ "bugs": "https://github.com/contentstack/cli/issues", "dependencies": { "@contentstack/cli-command": "~1.6.0", - "@contentstack/cli-utilities": "~1.13.1", + "@contentstack/cli-utilities": "~1.13.2", "@oclif/core": "^4.3.0", "big-json": "^3.2.0", "chalk": "^4.1.2", diff --git a/packages/contentstack-import/package.json b/packages/contentstack-import/package.json index 265e27e91e..5d68d3b3ef 100644 --- a/packages/contentstack-import/package.json +++ b/packages/contentstack-import/package.json @@ -1,13 +1,13 @@ { "name": "@contentstack/cli-cm-import", "description": "Contentstack CLI plugin to import content into stack", - "version": "1.26.2", + "version": "1.26.3", "author": "Contentstack", "bugs": "https://github.com/contentstack/cli/issues", "dependencies": { "@contentstack/cli-audit": "~1.14.0", "@contentstack/cli-command": "~1.6.0", - "@contentstack/cli-utilities": "~1.13.1", + "@contentstack/cli-utilities": "~1.13.2", "@contentstack/management": "~1.22.0", "@contentstack/cli-variants": "~1.3.0", "@oclif/core": "^4.3.0", diff --git a/packages/contentstack-import/src/config/index.ts b/packages/contentstack-import/src/config/index.ts index feea282cbc..1af842feda 100644 --- a/packages/contentstack-import/src/config/index.ts +++ b/packages/contentstack-import/src/config/index.ts @@ -436,7 +436,7 @@ const config: DefaultConfig = { getEncryptionKeyMaxRetry: 3, // useBackedupDir: '', // backupConcurrency: 10, - onlyTSModules: ['taxonomies', 'personalize', 'variant-entries'], + onlyTSModules: ['taxonomies', 'personalize', 'variant-entries', 'stack'], auditConfig: { noLog: false, // Skip logs printing on terminal skipConfirm: true, // Skip confirmation if any diff --git a/packages/contentstack-import/src/import/modules/content-types.ts b/packages/contentstack-import/src/import/modules/content-types.ts index 9e3f05a63a..5b0f463f75 100644 --- a/packages/contentstack-import/src/import/modules/content-types.ts +++ b/packages/contentstack-import/src/import/modules/content-types.ts @@ -114,7 +114,7 @@ export default class ContentTypesImport extends BaseClass { log.debug('Created content types mapper directory', this.importConfig.context); this.installedExtensions = ( - ((await fsUtil.readFile(this.marketplaceAppMapperPath)) as any) || { extension_uid: {} } + (fsUtil.readFile(this.marketplaceAppMapperPath) as any) || { extension_uid: {} } ).extension_uid; log.debug( `Loaded ${Object.keys(this.installedExtensions)?.length} installed extensions`, diff --git a/packages/contentstack-import/src/import/modules/entries.ts b/packages/contentstack-import/src/import/modules/entries.ts index 1b6af4a3c5..13507fbcbe 100644 --- a/packages/contentstack-import/src/import/modules/entries.ts +++ b/packages/contentstack-import/src/import/modules/entries.ts @@ -106,33 +106,41 @@ export default class EntriesImport extends BaseClass { } async start(): Promise { - try { - this.cTs = fsUtil.readFile(path.join(this.cTsPath, 'schema.json')) as Record[]; + try { + this.cTs = (fsUtil.readFile(path.join(this.cTsPath, 'schema.json')) || []) as Record[]; if (!this.cTs || isEmpty(this.cTs)) { - log.info('No content type found', this.importConfig.context); + log.warn( + `No content types file found at ${path.join(this.cTsPath, 'schema.json')}. Skipping entries import.`, + this.importConfig.context, + ); return; } log.debug(`Found ${this.cTs.length} content types for entry import`, this.importConfig.context); - + this.installedExtensions = ( - ((await fsUtil.readFile(this.marketplaceAppMapperPath)) as any) || { extension_uid: {} } + (fsUtil.readFile(this.marketplaceAppMapperPath) as any) || { extension_uid: {} } ).extension_uid; log.debug('Loaded installed extensions for entry processing', this.importConfig.context); this.assetUidMapper = (fsUtil.readFile(this.assetUidMapperPath) as Record) || {}; this.assetUrlMapper = (fsUtil.readFile(this.assetUrlMapperPath) as Record) || {}; - log.debug(`Loaded asset mappings - UIDs: ${Object.keys(this.assetUidMapper).length}, URLs: ${Object.keys(this.assetUrlMapper).length}`, this.importConfig.context); + log.debug( + `Loaded asset mappings - UIDs: ${Object.keys(this.assetUidMapper).length}, URLs: ${ + Object.keys(this.assetUrlMapper).length + }`, + this.importConfig.context, + ); - this.taxonomies = fsUtil.readFile(this.taxonomiesPath) as Record; + this.taxonomies = (fsUtil.readFile(this.taxonomiesPath) || {}) as Record; log.debug('Loaded taxonomy data for entry processing', this.importConfig.context); fsUtil.makeDirectory(this.entriesMapperPath); log.debug('Created entries mapper directory', this.importConfig.context); - + log.info('Preparing content types for entry import', this.importConfig.context); await this.disableMandatoryCTReferences(); - - this.locales = values(fsUtil.readFile(this.localesPath) as Record[]); + + this.locales = values((fsUtil.readFile(this.localesPath) || []) as Record[]); this.locales.unshift(this.importConfig.master_locale); // adds master locale to the list log.debug(`Processing entries for ${values(this.locales).length} locales`, this.importConfig.context); @@ -140,18 +148,22 @@ export default class EntriesImport extends BaseClass { log.info('Starting entry creation process', this.importConfig.context); const entryRequestOptions = this.populateEntryCreatePayload(); log.debug(`Generated ${entryRequestOptions.length} entry creation tasks`, this.importConfig.context); - + for (let entryRequestOption of entryRequestOptions) { await this.createEntries(entryRequestOption); } log.success('Entry creation process completed', this.importConfig.context); - + if (this.importConfig.replaceExisting) { // Note: Instead of using entryRequestOptions, we can prepare request options for replace, to avoid unnecessary operations log.info('Starting entry replacement process', this.importConfig.context); for (let entryRequestOption of entryRequestOptions) { await this.replaceEntries(entryRequestOption).catch((error) => { - handleAndLogError(error, { ...this.importConfig.context, cTUid: entryRequestOption.cTUid, locale: entryRequestOption.locale }, 'Error while replacing existing entries'); + handleAndLogError( + error, + { ...this.importConfig.context, cTUid: entryRequestOption.cTUid, locale: entryRequestOption.locale }, + 'Error while replacing existing entries', + ); }); } log.success('Entry replacement process completed', this.importConfig.context); @@ -162,9 +174,16 @@ export default class EntriesImport extends BaseClass { fsUtil.writeFile(path.join(this.entriesMapperPath, 'failed-entries.json'), this.failedEntries); if (this.autoCreatedEntries?.length > 0) { - log.info(`Removing ${this.autoCreatedEntries.length} entries from master language which got created by default`, this.importConfig.context); + log.info( + `Removing ${this.autoCreatedEntries.length} entries from master language which got created by default`, + this.importConfig.context, + ); await this.removeAutoCreatedEntries().catch((error) => { - handleAndLogError(error, { ...this.importConfig.context }, 'Error while removing auto created entries in master locale'); + handleAndLogError( + error, + { ...this.importConfig.context }, + 'Error while removing auto created entries in master locale', + ); }); log.success('Auto-created entries cleanup completed', this.importConfig.context); } @@ -173,10 +192,18 @@ export default class EntriesImport extends BaseClass { log.info('Starting entry references update process', this.importConfig.context); const entryUpdateRequestOptions = this.populateEntryUpdatePayload(); log.debug(`Generated ${entryUpdateRequestOptions.length} entry update tasks`, this.importConfig.context); - + for (let entryUpdateRequestOption of entryUpdateRequestOptions) { await this.updateEntriesWithReferences(entryUpdateRequestOption).catch((error) => { - handleAndLogError(error, { ...this.importConfig.context, cTUid: entryUpdateRequestOption.cTUid, locale: entryUpdateRequestOption.locale }, `Error while updating entries references of ${entryUpdateRequestOption.cTUid} in locale ${entryUpdateRequestOption.locale}`); + handleAndLogError( + error, + { + ...this.importConfig.context, + cTUid: entryUpdateRequestOption.cTUid, + locale: entryUpdateRequestOption.locale, + }, + `Error while updating entries references of ${entryUpdateRequestOption.cTUid} in locale ${entryUpdateRequestOption.locale}`, + ); }); } fsUtil.writeFile(path.join(this.entriesMapperPath, 'failed-entries.json'), this.failedEntries); @@ -198,12 +225,24 @@ export default class EntriesImport extends BaseClass { // Publishing entries if (!this.importConfig.skipEntriesPublish) { log.info('Starting entry publishing process', this.importConfig.context); - this.envs = fileHelper.readFileSync(this.envPath); - log.debug(`Loaded ${Object.keys(this.envs).length} environments for publishing`, this.importConfig.context); - + this.envs = fileHelper.readFileSync(this.envPath) || {}; + if (Object.keys(this.envs).length === 0) { + log.warn( + `No environments file found at ${this.envPath}. Entries will not be published.`, + this.importConfig.context, + ); + return; + } else { + log.debug(`Loaded ${Object.keys(this.envs).length} environments for publishing`, this.importConfig.context); + } + for (let entryRequestOption of entryRequestOptions) { await this.publishEntries(entryRequestOption).catch((error) => { - handleAndLogError(error, { ...this.importConfig.context, cTUid: entryRequestOption.cTUid, locale: entryRequestOption.locale }, `Error in publishing entries of ${entryRequestOption.cTUid} in locale ${entryRequestOption.locale}`); + handleAndLogError( + error, + { ...this.importConfig.context, cTUid: entryRequestOption.cTUid, locale: entryRequestOption.locale }, + `Error in publishing entries of ${entryRequestOption.cTUid} in locale ${entryRequestOption.locale}`, + ); }); } log.success('All the entries have been published successfully', this.importConfig.context); @@ -216,7 +255,6 @@ export default class EntriesImport extends BaseClass { } catch (error) { this.createEntryDataForVariantEntry(); handleAndLogError(error, { ...this.importConfig.context }); - throw new Error('Error while importing entries'); } } @@ -233,15 +271,17 @@ export default class EntriesImport extends BaseClass { } async disableMandatoryCTReferences() { - log.debug(`Starting to disable mandatory CT references for ${this.cTs.length} content types`, this.importConfig.context); - + log.debug( + `Starting to disable mandatory CT references for ${this.cTs.length} content types`, + this.importConfig.context, + ); + const onSuccess = ({ response: contentType, apiData: { uid } }: any) => { log.success(`${uid} content type references removed temporarily`, this.importConfig.context); log.debug(`Successfully processed content type: ${uid}`, this.importConfig.context); }; const onReject = ({ error, apiData: { uid } }: any) => { - handleAndLogError(error, { ...this.importConfig.context, uid }); - throw new Error(`${uid} content type references removal failed`); + handleAndLogError(error, { ...this.importConfig.context, uid }, `${uid} content type references removal failed`); }; return await this.makeConcurrentCall({ processName: 'Update content types (removing mandatory references temporarily)', @@ -351,11 +391,14 @@ export default class EntriesImport extends BaseClass { log.debug(`No entries found for content type ${cTUid} in locale ${locale}`, this.importConfig.context); return Promise.resolve(); } - log.debug(`Starting to create entries for ${cTUid} in locale ${locale} - ${indexerCount} chunks to process`, this.importConfig.context); - + log.debug( + `Starting to create entries for ${cTUid} in locale ${locale} - ${indexerCount} chunks to process`, + this.importConfig.context, + ); + const isMasterLocale = locale === this.importConfig?.master_locale?.code; log.debug(`Processing ${isMasterLocale ? 'master' : 'non-master'} locale: ${locale}`, this.importConfig.context); - + // Write created entries const entriesCreateFileHelper = new FsUtility({ moduleName: 'entries', @@ -383,14 +426,20 @@ export default class EntriesImport extends BaseClass { if (additionalInfo[entry.uid]?.isLocalized) { let oldUid = additionalInfo[entry.uid].entryOldUid; this.entriesForVariant.push({ content_type: cTUid, entry_uid: oldUid, locale }); - log.info(`Localized entry: '${entry.title}' of content type ${cTUid} in locale ${locale}`, this.importConfig.context); + log.info( + `Localized entry: '${entry.title}' of content type ${cTUid} in locale ${locale}`, + this.importConfig.context, + ); log.debug(`Mapped localized entry UID: ${entry.uid} → ${oldUid}`, this.importConfig.context); entry.uid = oldUid; entry.entryOldUid = oldUid; entry.sourceEntryFilePath = path.join(sanitizePath(basePath), sanitizePath(additionalInfo.entryFileName)); // stores source file path temporarily entriesCreateFileHelper.writeIntoFile({ [oldUid]: entry } as any, { mapKeyVal: true }); } else { - log.info(`Created entry: '${entry.title}' of content type ${cTUid} in locale ${locale}`, this.importConfig.context); + log.info( + `Created entry: '${entry.title}' of content type ${cTUid} in locale ${locale}`, + this.importConfig.context, + ); log.debug(`Created entry UID mapping: ${entry.uid} → ${response.uid}`, this.importConfig.context); this.entriesForVariant.push({ content_type: cTUid, entry_uid: entry.uid, locale }); // This is for creating localized entries that do not have a counterpart in master locale. @@ -414,7 +463,7 @@ export default class EntriesImport extends BaseClass { (item) => !(item.locale === locale && item.entry_uid === uid), ); log.debug(`Removed failed entry from variant list: ${uid}`, this.importConfig.context); - + // NOTE: write existing entries into files to handler later if (error.errorCode === 119) { if (error?.errors?.title || error?.errors?.uid) { @@ -439,7 +488,7 @@ export default class EntriesImport extends BaseClass { for (const index in indexer) { log.debug(`Processing chunk ${index} of ${indexerCount} for ${cTUid} in ${locale}`, this.importConfig.context); - + const chunk = await fs.readChunkFiles.next().catch((error) => { handleAndLogError(error, { ...this.importConfig.context, cTUid: cTUid, locale }); }); @@ -447,7 +496,7 @@ export default class EntriesImport extends BaseClass { if (chunk) { let apiContent = values(chunk as Record[]); log.debug(`Processing ${apiContent.length} entries in chunk ${index}`, this.importConfig.context); - + await this.makeConcurrentCall({ apiContent, processName, @@ -483,8 +532,11 @@ export default class EntriesImport extends BaseClass { } = apiOptions; try { - log.debug(`Serializing entry: ${entry.title} (${entry.uid}) for ${cTUid} in ${locale}`, this.importConfig.context); - + log.debug( + `Serializing entry: ${entry.title} (${entry.uid}) for ${cTUid} in ${locale}`, + this.importConfig.context, + ); + if (this.jsonRteCTs.indexOf(cTUid) > -1) { entry = removeUidsFromJsonRteFields(entry, contentType.schema); log.debug(`Removed UIDs from JSON RTE fields for entry: ${entry.uid}`, this.importConfig.context); @@ -501,7 +553,7 @@ export default class EntriesImport extends BaseClass { //will remove term if term doesn't exists in taxonomy lookUpTerms(contentType?.schema, entry, this.taxonomies, this.importConfig); log.debug(`Processed taxonomy terms for entry: ${entry.uid}`, this.importConfig.context); - + // will replace all old asset uid/urls with new ones entry = lookupAssets( { @@ -514,7 +566,7 @@ export default class EntriesImport extends BaseClass { this.installedExtensions, ); log.debug(`Processed asset lookups for entry: ${entry.uid}`, this.importConfig.context); - + delete entry.publish_details; // checking the entry is a localized one or not if (!isMasterLocale && this.entriesUidMapper.hasOwnProperty(entry.uid)) { @@ -525,7 +577,10 @@ export default class EntriesImport extends BaseClass { isLocalized: true, entryOldUid: entry.uid, }; - log.debug(`Prepared localized entry: ${entry.uid} → ${this.entriesUidMapper[entry.uid]}`, this.importConfig.context); + log.debug( + `Prepared localized entry: ${entry.uid} → ${this.entriesUidMapper[entry.uid]}`, + this.importConfig.context, + ); return apiOptions; } apiOptions.apiData = entry; @@ -549,7 +604,10 @@ export default class EntriesImport extends BaseClass { log.debug(`No existing entries found for replacement in ${cTUid} - ${locale}`, this.importConfig.context); return Promise.resolve(); } - log.debug(`Starting to replace entries for ${cTUid} in locale ${locale} - ${indexerCount} chunks to process`, this.importConfig.context); + log.debug( + `Starting to replace entries for ${cTUid} in locale ${locale} - ${indexerCount} chunks to process`, + this.importConfig.context, + ); // Write updated entries const entriesReplaceFileHelper = new FsUtility({ @@ -566,7 +624,10 @@ export default class EntriesImport extends BaseClass { log.debug(`Found content type schema for replacement: ${cTUid}`, this.importConfig.context); const onSuccess = ({ response, apiData: entry, additionalInfo }: any) => { - log.info(`Replaced entry: '${entry.title}' of content type ${cTUid} in locale ${locale}`, this.importConfig.context); + log.info( + `Replaced entry: '${entry.title}' of content type ${cTUid} in locale ${locale}`, + this.importConfig.context, + ); log.debug(`Replaced entry UID mapping: ${entry.uid} → ${response.uid}`, this.importConfig.context); this.entriesUidMapper[entry.uid] = response.uid; entriesReplaceFileHelper.writeIntoFile({ [entry.uid]: entry } as any, { mapKeyVal: true }); @@ -588,16 +649,22 @@ export default class EntriesImport extends BaseClass { }; for (const index in indexer) { - log.debug(`Processing replacement chunk ${index} of ${indexerCount} for ${cTUid} in ${locale}`, this.importConfig.context); - + log.debug( + `Processing replacement chunk ${index} of ${indexerCount} for ${cTUid} in ${locale}`, + this.importConfig.context, + ); + const chunk = await fs.readChunkFiles.next().catch((error) => { handleAndLogError(error, { ...this.importConfig.context, cTUid, locale }); }); if (chunk) { let apiContent = values(chunk as Record[]); - log.debug(`Processing ${apiContent.length} entries for replacement in chunk ${index}`, this.importConfig.context); - + log.debug( + `Processing ${apiContent.length} entries for replacement in chunk ${index}`, + this.importConfig.context, + ); + await this.makeConcurrentCall( { apiContent, @@ -702,7 +769,10 @@ export default class EntriesImport extends BaseClass { log.debug(`No entries found for reference updates in ${cTUid} - ${locale}`, this.importConfig.context); return Promise.resolve(); } - log.debug(`Starting to update entries with references for ${cTUid} in locale ${locale} - ${indexerCount} chunks to process`, this.importConfig.context); + log.debug( + `Starting to update entries with references for ${cTUid} in locale ${locale} - ${indexerCount} chunks to process`, + this.importConfig.context, + ); const contentType = find(this.cTs, { uid: cTUid }); log.debug(`Found content type schema for reference updates: ${cTUid}`, this.importConfig.context); @@ -728,16 +798,26 @@ export default class EntriesImport extends BaseClass { }; for (const index in indexer) { - log.debug(`Processing reference update chunk ${index} of ${indexerCount} for ${cTUid} in ${locale}`, this.importConfig.context); - + log.debug( + `Processing reference update chunk ${index} of ${indexerCount} for ${cTUid} in ${locale}`, + this.importConfig.context, + ); + const chunk = await fs.readChunkFiles.next().catch((error) => { - handleAndLogError(error, { ...this.importConfig.context, cTUid, locale }, 'Error'); + handleAndLogError( + error, + { ...this.importConfig.context, cTUid, locale }, + 'Failed to load data chunks due to a read error. Ensure the files are accessible and not corrupted.', + ); }); if (chunk) { let apiContent = values(chunk as Record[]); - log.debug(`Processing ${apiContent.length} entries for reference updates in chunk ${index}`, this.importConfig.context); - + log.debug( + `Processing ${apiContent.length} entries for reference updates in chunk ${index}`, + this.importConfig.context, + ); + await this.makeConcurrentCall({ apiContent, processName, @@ -770,18 +850,21 @@ export default class EntriesImport extends BaseClass { additionalInfo: { cTUid, locale, contentType }, } = apiOptions; try { - log.debug(`Serializing entry update: ${entry.title} (${entry.uid}) for ${cTUid} in ${locale}`, this.importConfig.context); - + log.debug( + `Serializing entry update: ${entry.title} (${entry.uid}) for ${cTUid} in ${locale}`, + this.importConfig.context, + ); + const sourceEntryFilePath = entry.sourceEntryFilePath; const sourceEntry = ((fsUtil.readFile(sourceEntryFilePath) || {}) as Record)[entry.entryOldUid]; const newUid = this.entriesUidMapper[entry.entryOldUid]; - + log.debug(`Updating entry references: ${entry.entryOldUid} → ${newUid}`, this.importConfig.context); - + // Removing temp values delete entry.sourceEntryFilePath; delete entry.entryOldUid; - + if (this.jsonRteCTs.indexOf(cTUid) > -1 || this.rteCTs.indexOf(cTUid) > -1) { // the entries stored in eSuccessFilePath, have the same uids as the entries from source data entry = restoreJsonRteEntryRefs(entry, sourceEntry, contentType.schema, { @@ -791,7 +874,7 @@ export default class EntriesImport extends BaseClass { }); log.debug(`Restored JSON RTE entry references for: ${newUid}`, this.importConfig.context); } - + entry = lookupAssets( { content_type: contentType, @@ -803,7 +886,7 @@ export default class EntriesImport extends BaseClass { this.installedExtensions, ); log.debug(`Processed asset lookups for entry update: ${newUid}`, this.importConfig.context); - + entry = lookupEntries( { content_type: contentType, @@ -831,7 +914,11 @@ export default class EntriesImport extends BaseClass { log.success(`${uid} content type references updated`, this.importConfig.context); }; const onReject = ({ error, apiData: { uid } }: any) => { - handleAndLogError(error, { ...this.importConfig.context, uid }, 'Error'); + handleAndLogError( + error, + { ...this.importConfig.context, uid }, + `Failed to update references of content type '${uid}'`, + ); throw new Error(`Failed to update references of content type ${uid}`); }; return await this.makeConcurrentCall({ @@ -886,7 +973,11 @@ export default class EntriesImport extends BaseClass { (item) => !(item.entry_uid === entryUid && item.locale === this.importConfig?.master_locale?.code), ); - handleAndLogError(error, { ...this.importConfig.context }, `Failed to remove auto created entry in master locale - entry uid ${entryUid}`); + handleAndLogError( + error, + { ...this.importConfig.context }, + `Failed to remove auto created entry in master locale - entry uid ${entryUid}`, + ); }; return await this.makeConcurrentCall({ processName: 'Remove auto created entry in master locale', @@ -903,35 +994,44 @@ export default class EntriesImport extends BaseClass { } async updateFieldRules(): Promise { - let cTsWithFieldRules = fsUtil.readFile(path.join(this.cTsPath + '/field_rules_uid.json')) as Record[]; + let cTsWithFieldRules = (fsUtil.readFile(path.join(this.cTsPath + '/field_rules_uid.json')) || []) as Record< + string, + any + >[]; if (!cTsWithFieldRules || cTsWithFieldRules?.length === 0) { log.debug('No content types with field rules found to update', this.importConfig.context); return; } log.debug(`Found ${cTsWithFieldRules.length} content types with field rules to update`, this.importConfig.context); - + for (let cTUid of cTsWithFieldRules) { log.debug(`Processing field rules for content type: ${cTUid}`, this.importConfig.context); - - const cTs: Record[] = fsUtil.readFile(path.join(this.cTsPath, 'schema.json')) as Record< + + const cTs: Record[] = (fsUtil.readFile(path.join(this.cTsPath, 'schema.json')) || []) as Record< string, unknown >[]; const contentType: any = find(cTs, { uid: cTUid }); - + if (contentType.field_rules) { - log.debug(`Found ${contentType.field_rules.length} field rules for content type: ${cTUid}`, this.importConfig.context); - + log.debug( + `Found ${contentType.field_rules.length} field rules for content type: ${cTUid}`, + this.importConfig.context, + ); + const fieldDatatypeMap: { [key: string]: string } = {}; for (let i = 0; i < contentType.schema?.length; i++) { const field = contentType.schema[i].uid; fieldDatatypeMap[field] = contentType.schema[i].data_type; } - log.debug(`Built field datatype map for ${Object.keys(fieldDatatypeMap).length} fields`, this.importConfig.context); - + log.debug( + `Built field datatype map for ${Object.keys(fieldDatatypeMap).length} fields`, + this.importConfig.context, + ); + let fieldRuleLength = contentType.field_rules?.length; let updatedRulesCount = 0; - + for (let k = 0; k < fieldRuleLength; k++) { let fieldRuleConditionLength = contentType.field_rules[k].conditions?.length; for (let i = 0; i < fieldRuleConditionLength; i++) { @@ -939,12 +1039,15 @@ export default class EntriesImport extends BaseClass { let fieldRulesValue = contentType.field_rules[k].conditions[i].value; let fieldRulesArray = fieldRulesValue.split('.'); let updatedValue = []; - + for (const element of fieldRulesArray) { let splittedFieldRulesValue = element; if (this.entriesUidMapper.hasOwnProperty(splittedFieldRulesValue)) { updatedValue.push(this.entriesUidMapper[splittedFieldRulesValue]); - log.debug(`Updated field rule reference: ${splittedFieldRulesValue} → ${this.entriesUidMapper[splittedFieldRulesValue]}`, this.importConfig.context); + log.debug( + `Updated field rule reference: ${splittedFieldRulesValue} → ${this.entriesUidMapper[splittedFieldRulesValue]}`, + this.importConfig.context, + ); } else { updatedValue.push(element); } @@ -954,9 +1057,12 @@ export default class EntriesImport extends BaseClass { } } } - - log.debug(`Updated ${updatedRulesCount} field rule references for content type: ${cTUid}`, this.importConfig.context); - + + log.debug( + `Updated ${updatedRulesCount} field rule references for content type: ${cTUid}`, + this.importConfig.context, + ); + const contentTypeResponse: any = await this.stack .contentType(contentType.uid) .fetch() @@ -967,7 +1073,7 @@ export default class EntriesImport extends BaseClass { log.debug(`Skipping field rules update for ${cTUid} - content type not found`, this.importConfig.context); continue; } - + contentTypeResponse.field_rules = contentType.field_rules; await contentTypeResponse.update().catch((error: Error) => { handleAndLogError(error, { ...this.importConfig.context, cTUid }); @@ -992,23 +1098,41 @@ export default class EntriesImport extends BaseClass { log.debug(`No entries found for publishing in ${cTUid} - ${locale}`, this.importConfig.context); return Promise.resolve(); } - log.debug(`Starting to publish entries for ${cTUid} in locale ${locale} - ${indexerCount} chunks to process`, this.importConfig.context); + log.debug( + `Starting to publish entries for ${cTUid} in locale ${locale} - ${indexerCount} chunks to process`, + this.importConfig.context, + ); const onSuccess = ({ response, apiData: { environments, entryUid, locales }, additionalInfo }: any) => { - log.success(`Published the entry: '${entryUid}' of Content Type '${cTUid}' and Locale '${locale}' in Environments '${environments?.join( - ',')}' and Locales '${locales?.join(',')}'`, this.importConfig.context); - log.debug(`Published entry ${entryUid} to ${environments?.length || 0} environments and ${locales?.length || 0} locales`, this.importConfig.context); + log.success( + `Published the entry: '${entryUid}' of Content Type '${cTUid}' and Locale '${locale}' in Environments '${environments?.join( + ',', + )}' and Locales '${locales?.join(',')}'`, + this.importConfig.context, + ); + log.debug( + `Published entry ${entryUid} to ${environments?.length || 0} environments and ${locales?.length || 0} locales`, + this.importConfig.context, + ); }; const onReject = ({ error, apiData: { environments, entryUid, locales }, additionalInfo }: any) => { - handleAndLogError(error, { ...this.importConfig.context, cTUid, locale }, `Failed to publish: '${entryUid}' entry of Content Type '${cTUid}' and Locale '${locale}' in Environments '${environments?.join( - ',')}' and Locales '${locales?.join(',')}'`); + handleAndLogError( + error, + { ...this.importConfig.context, cTUid, locale }, + `Failed to publish: '${entryUid}' entry of Content Type '${cTUid}' and Locale '${locale}' in Environments '${environments?.join( + ',', + )}' and Locales '${locales?.join(',')}'`, + ); }; for (const index in indexer) { - log.debug(`Processing publish chunk ${index} of ${indexerCount} for ${cTUid} in ${locale}`, this.importConfig.context); - + log.debug( + `Processing publish chunk ${index} of ${indexerCount} for ${cTUid} in ${locale}`, + this.importConfig.context, + ); + const chunk = await fs.readChunkFiles.next().catch((error) => { - handleAndLogError(error, { ...this.importConfig.context, cTUid, locale }, ); + handleAndLogError(error, { ...this.importConfig.context, cTUid, locale }); }); if (chunk) { @@ -1025,9 +1149,9 @@ export default class EntriesImport extends BaseClass { return []; // Return an empty array if publish_details is empty }); apiContent = apiContentDuplicate; - + log.debug(`Processing ${apiContent.length} publishable entries in chunk ${index}`, this.importConfig.context); - + if (apiContent?.length === 0) { log.debug(`No publishable entries found in chunk ${index}`, this.importConfig.context); continue; @@ -1093,4 +1217,4 @@ export default class EntriesImport extends BaseClass { apiOptions.apiData = requestObject; return apiOptions; } -} \ No newline at end of file +} diff --git a/packages/contentstack-import/src/utils/asset-helper.ts b/packages/contentstack-import/src/utils/asset-helper.ts index 57cb4d8d80..2c8272e90e 100644 --- a/packages/contentstack-import/src/utils/asset-helper.ts +++ b/packages/contentstack-import/src/utils/asset-helper.ts @@ -22,7 +22,7 @@ export const uploadAssetHelper = function (config: ImportConfig, req: any, fsPat return new Bluebird(function (resolve, reject) { try { log.debug(`Starting asset upload helper for path: ${fsPath}`); - + managementSDKClient(config) .then((APIClient: ContentstackClient) => { validate(req); @@ -34,13 +34,13 @@ export const uploadAssetHelper = function (config: ImportConfig, req: any, fsPat } log.debug(`Uploading asset (attempt ${RETRY}/${MAX_RETRY_LIMIT}): ${fsPath}`); - + req.upload = fsPath; const stackAPIClient = APIClient.stack({ api_key: config.target_stack, management_token: config.management_token, }); - + stackAPIClient .asset() .create(req) @@ -81,9 +81,9 @@ export const lookupAssets = function ( ) { throw new Error('Invalid inputs for lookupAssets!'); } - + log.debug(`Starting asset lookup for entry: ${data.entry?.uid}, content type: ${data.content_type?.uid}`); - + let parent: string[] = []; let assetUids: string[] = []; let assetUrls: string[] = []; @@ -138,7 +138,9 @@ export const lookupAssets = function ( findAssetIdsFromJsonCustomFields(data.entry, data.content_type.schema); } else if (schema[i].data_type === 'json' && schema[i].field_metadata.extension) { if (installedExtensions && installedExtensions[schema[i].extension_uid]) { - log.debug(`Mapping extension UID: ${schema[i].extension_uid} to ${installedExtensions[schema[i].extension_uid]}`); + log.debug( + `Mapping extension UID: ${schema[i].extension_uid} to ${installedExtensions[schema[i].extension_uid]}`, + ); schema[i].extension_uid = installedExtensions[schema[i].extension_uid]; } } @@ -267,9 +269,9 @@ export const lookupAssets = function ( updateFileFields(data.entry, data, null, mappedAssetUids, matchedUids, unmatchedUids, mappedAssetUrls); assetUids = _.uniq(assetUids); assetUrls = _.uniq(assetUrls); - + log.debug(`Found ${assetUids.length} unique asset UIDs and ${assetUrls.length} unique asset URLs`); - + let entry = JSON.stringify(data.entry); assetUrls.forEach(function (assetUrl: any) { @@ -310,7 +312,7 @@ export const lookupAssets = function ( } if (unmatchedUids.length) { - log.warn(`Found ${unmatchedUids.length} unmatched asset UIDs`); + log.debug(`Found ${unmatchedUids.length} unmatched asset UIDs`); let unmatchedAssetUids = helper.readFileSync(path.join(assetUidMapperPath, 'unmatched-asset-uids.json')); unmatchedAssetUids = unmatchedAssetUids || {}; if (unmatchedAssetUids.hasOwnProperty(data.content_type.uid)) { @@ -324,7 +326,7 @@ export const lookupAssets = function ( } if (unmatchedUrls.length) { - log.warn(`Found ${unmatchedUrls.length} unmatched asset URLs`); + log.debug(`Found ${unmatchedUrls.length} unmatched asset URLs`); let unmatchedAssetUrls = helper.readFileSync(path.join(assetUidMapperPath, 'unmatched-asset-urls.json')); unmatchedAssetUrls = unmatchedAssetUrls || {}; if (unmatchedAssetUrls.hasOwnProperty(data.content_type.uid)) { diff --git a/packages/contentstack-import/src/utils/content-type-helper.ts b/packages/contentstack-import/src/utils/content-type-helper.ts index 2ab71bdbf9..b1fa5fd194 100644 --- a/packages/contentstack-import/src/utils/content-type-helper.ts +++ b/packages/contentstack-import/src/utils/content-type-helper.ts @@ -54,7 +54,7 @@ export const schemaTemplate = { export const suppressSchemaReference = function (schema: any, flag: any) { log.debug('Starting schema reference suppression process'); - + for (var i in schema) { if (schema[i].data_type === 'group' || schema[i].data_type === 'global_field') { log.debug(`Processing ${schema[i].data_type} field: ${schema[i].uid}`); @@ -95,7 +95,7 @@ export const suppressSchemaReference = function (schema: any, flag: any) { } } } - + log.debug('Schema reference suppression completed'); }; @@ -105,7 +105,7 @@ export const removeReferenceFields = async function ( stackAPIClient: any, ): Promise { log.debug('Starting reference field removal process'); - + if (schema?.length) { for (let i = 0; i < schema.length; i++) { if (schema[i].data_type === 'group') { @@ -119,11 +119,11 @@ export const removeReferenceFields = async function ( } else if (schema[i].data_type === 'reference') { log.debug(`Processing reference field: ${schema[i].uid}`); flag.supressed = true; - + // Check if content-type exists // If exists, then no change should be required. let isContentTypeError = false; - + for (let j = 0; j < schema[i].reference_to.length; j++) { try { log.debug(`Checking if content type exists: ${schema[i].reference_to[j]}`); @@ -132,16 +132,15 @@ export const removeReferenceFields = async function ( } catch (error) { // Else warn and modify the schema object. isContentTypeError = true; - log.warn(`Content type does not exist: ${schema[i].reference_to[j]}`); - console.warn(`Content-type ${schema[i].reference_to[j]} does not exist. Removing the field from schema`); + log.warn(`Content-type ${schema[i].reference_to[j]} does not exist. Removing the field from schema`); } } - + if (isContentTypeError) { log.debug(`Removing reference field due to missing content types: ${schema[i].uid}`); schema.splice(i, 1); --i; - + if (schema.length < 1) { log.debug('Adding dummy field to prevent empty schema'); schema.push({ @@ -197,30 +196,30 @@ export const removeReferenceFields = async function ( } } } - + log.debug('Reference field removal process completed'); }; export const updateFieldRules = function (contentType: any) { log.debug(`Starting field rules update for content type: ${contentType.uid}`); - + const fieldDataTypeMap: { [key: string]: string } = {}; for (let i = 0; i < contentType.schema.length; i++) { const field = contentType.schema[i]; fieldDataTypeMap[field.uid] = field.data_type; } - + log.debug(`Created field data type mapping for ${Object.keys(fieldDataTypeMap).length} fields`); - + const fieldRules = [...contentType.field_rules]; let len = fieldRules.length; let removedRules = 0; - + // Looping backwards as we need to delete elements as we move. for (let i = len - 1; i >= 0; i--) { const conditions = fieldRules[i].conditions; let isReference = false; - + for (let j = 0; j < conditions.length; j++) { const field = conditions[j].operand_field; if (fieldDataTypeMap[field] === 'reference') { @@ -228,14 +227,14 @@ export const updateFieldRules = function (contentType: any) { isReference = true; } } - + if (isReference) { log.debug(`Removing field rule with reference condition`); fieldRules.splice(i, 1); removedRules++; } } - + log.debug(`Field rules update completed. Removed ${removedRules} rules with reference conditions`); return fieldRules; }; diff --git a/packages/contentstack-import/src/utils/entries-helper.ts b/packages/contentstack-import/src/utils/entries-helper.ts index 34f77e03f7..d01468637f 100644 --- a/packages/contentstack-import/src/utils/entries-helper.ts +++ b/packages/contentstack-import/src/utils/entries-helper.ts @@ -21,7 +21,7 @@ export const lookupEntries = function ( uidMapperPath: string, ) { log.debug(`Starting entry lookup for entry: ${data.entry?.uid}, content type: ${data.content_type?.uid}`); - + let parent: string[] = []; let uids: string[] = []; let unmapped: string[] = []; @@ -162,7 +162,7 @@ export const lookupEntries = function ( function findEntryIdsFromJsonRte(entry: any, ctSchema: any = []) { log.debug('Processing JSON RTE fields for entry references'); - + for (const element of ctSchema) { switch (element.data_type) { case 'blocks': { @@ -211,9 +211,9 @@ export const lookupEntries = function ( log.debug('Processing new reference field format'); findUidsInNewRefFields(data.entry, uids); } - + uids = _.flattenDeep(uids); - + // if no references are found, return if (uids.length === 0) { log.debug('No entry references found'); @@ -222,9 +222,9 @@ export const lookupEntries = function ( uids = _.uniq(uids); log.debug(`Found ${uids.length} unique entry references`); - + let entry = JSON.stringify(data.entry); - + uids?.forEach(function (uid: any) { if (mappedUids.hasOwnProperty(uid)) { const sanitizedUid = escapeRegExp(uid); @@ -243,7 +243,7 @@ export const lookupEntries = function ( }); if (unmapped.length > 0) { - log.warn(`Found ${unmapped.length} unmapped entry references`); + log.debug(`Found ${unmapped.length} unmapped entry references`); let unmappedUids = fileHelper.readFileSync(path.join(uidMapperPath, 'unmapped-uids.json')); unmappedUids = unmappedUids || {}; if (unmappedUids.hasOwnProperty(data.content_type.uid)) { @@ -299,7 +299,7 @@ export const removeUidsFromJsonRteFields = ( ctSchema: Record[] = [], ): Record => { log.debug('Removing UIDs from JSON RTE fields'); - + for (const element of ctSchema) { switch (element.data_type) { case 'blocks': { @@ -332,7 +332,7 @@ export const removeUidsFromJsonRteFields = ( case 'json': { if (entry[element.uid] && element?.field_metadata?.rich_text_type) { log.debug(`Processing JSON RTE field for UID removal: ${element.uid}`); - + if (element.multiple) { entry[element.uid] = entry[element.uid].map((jsonRteData: any) => { delete jsonRteData.uid; // remove uid @@ -363,7 +363,7 @@ export const removeUidsFromJsonRteFields = ( } } } - + log.debug('Completed removing UIDs from JSON RTE fields'); return entry; }; diff --git a/packages/contentstack-import/src/utils/extension-helper.ts b/packages/contentstack-import/src/utils/extension-helper.ts index e00e1eef2f..d2274b91d8 100644 --- a/packages/contentstack-import/src/utils/extension-helper.ts +++ b/packages/contentstack-import/src/utils/extension-helper.ts @@ -76,7 +76,7 @@ export const lookupExtension = function ( log.debug(`Mapping global field reference: ${global_fields_key_value} -> ${mappedValue}`); schema[i].reference_to = global_fields_data[global_fields_key_value]; } else { - log.warn(`No mapping found for global field: ${global_fields_key_value}`); + log.debug(`No mapping found for global field: ${global_fields_key_value}`); } } else if (schema[i].hasOwnProperty('extension_uid')) { log.debug(`Processing field with extension UID: ${schema[i].uid}`); @@ -93,7 +93,7 @@ export const lookupExtension = function ( log.debug(`Using installed extension mapping: ${schema[i].extension_uid}`); schema[i].extension_uid = installedExtensions[schema[i].extension_uid]; } else { - log.warn(`No mapping found for extension: ${extension_key_value}`); + log.debug(`No mapping found for extension: ${extension_key_value}`); } } } else if (schema[i].data_type === 'json' && schema[i].hasOwnProperty('plugins') && schema[i].plugins.length > 0) { @@ -116,7 +116,7 @@ export const lookupExtension = function ( log.debug(`Mapping marketplace app extension: ${extension_key_value} -> ${mappedMarketplaceExt}`); newPluginUidsArray.push(marketPlaceAppsData.extension_uid[extension_key_value]); } else { - log.warn(`No mapping found for plugin extension: ${extension_key_value}`); + log.debug(`No mapping found for plugin extension: ${extension_key_value}`); } }); diff --git a/packages/contentstack-migrate-rte/package.json b/packages/contentstack-migrate-rte/package.json index 9b2ed955f2..278092f953 100644 --- a/packages/contentstack-migrate-rte/package.json +++ b/packages/contentstack-migrate-rte/package.json @@ -6,7 +6,7 @@ "bugs": "https://github.com/contentstack/cli/issues", "dependencies": { "@contentstack/cli-command": "~1.6.0", - "@contentstack/cli-utilities": "~1.13.1", + "@contentstack/cli-utilities": "~1.13.2", "@contentstack/json-rte-serializer": "~2.1.0", "@oclif/core": "^4.3.0", "@oclif/plugin-help": "^6.2.28", diff --git a/packages/contentstack-migration/package.json b/packages/contentstack-migration/package.json index 1cd8cbfcf8..552b012885 100644 --- a/packages/contentstack-migration/package.json +++ b/packages/contentstack-migration/package.json @@ -5,7 +5,7 @@ "bugs": "https://github.com/contentstack/cli/issues", "dependencies": { "@contentstack/cli-command": "~1.6.0", - "@contentstack/cli-utilities": "~1.13.1", + "@contentstack/cli-utilities": "~1.13.2", "@oclif/core": "^4.3.0", "@oclif/plugin-help": "^6.2.28", "async": "^3.2.6", diff --git a/packages/contentstack-seed/package.json b/packages/contentstack-seed/package.json index d2604e0497..6344243b5c 100644 --- a/packages/contentstack-seed/package.json +++ b/packages/contentstack-seed/package.json @@ -5,9 +5,9 @@ "author": "Contentstack", "bugs": "https://github.com/contentstack/cli/issues", "dependencies": { - "@contentstack/cli-cm-import": "~1.26.1", + "@contentstack/cli-cm-import": "~1.26.3", "@contentstack/cli-command": "~1.6.0", - "@contentstack/cli-utilities": "~1.13.1", + "@contentstack/cli-utilities": "~1.13.2", "@contentstack/management": "~1.22.0", "inquirer": "8.2.6", "mkdirp": "^1.0.4", diff --git a/packages/contentstack-utilities/package.json b/packages/contentstack-utilities/package.json index 6efb80b7c0..d1770a0a4d 100644 --- a/packages/contentstack-utilities/package.json +++ b/packages/contentstack-utilities/package.json @@ -1,6 +1,6 @@ { "name": "@contentstack/cli-utilities", - "version": "1.13.1", + "version": "1.13.2", "description": "Utilities for contentstack projects", "main": "lib/index.js", "types": "lib/index.d.ts", diff --git a/packages/contentstack-utilities/src/helpers.ts b/packages/contentstack-utilities/src/helpers.ts index 0428c3256f..3c86d01120 100644 --- a/packages/contentstack-utilities/src/helpers.ts +++ b/packages/contentstack-utilities/src/helpers.ts @@ -160,7 +160,7 @@ export const formatError = function (error: any) { } // Append detailed error information if available - if (parsedError.errors && Object.keys(parsedError.errors).length > 0) { + if (parsedError.errors && typeof parsedError.errors === 'object' && Object.keys(parsedError.errors).length > 0) { const entityNames: { [key: string]: string } = { authorization: 'Authentication', api_key: 'Stack API key', @@ -169,11 +169,15 @@ export const formatError = function (error: any) { access_token: 'Delivery Token', }; - message += - ' ' + - Object.entries(parsedError.errors) - .map(([key, value]) => `${entityNames[key] || key} ${value}`) - .join(' '); + const errorList = Object.entries(parsedError.errors) + .map(([field, errors]) => { + const errorArray = Array.isArray(errors) ? errors : [errors]; + const fieldName = entityNames[field] || field; + return ` • ${fieldName}: ${errorArray.join(', ')}`; + }) + .join('\n'); + + message += `\n\nAPI Errors:\n${errorList}`; } return message; diff --git a/packages/contentstack-utilities/src/logger/cli-error-handler.ts b/packages/contentstack-utilities/src/logger/cli-error-handler.ts index 9a54987783..d4c42e2b92 100644 --- a/packages/contentstack-utilities/src/logger/cli-error-handler.ts +++ b/packages/contentstack-utilities/src/logger/cli-error-handler.ts @@ -99,7 +99,14 @@ export default class CLIErrorHandler { return formattedMessage || 'An error occurred. Please try again.'; } catch { - return 'An error occurred. Please try again.'; + // Fallback to basic error message extraction if formatError fails + if (error?.response?.data?.errorMessage && typeof error.response.data.errorMessage === 'string') { + return error.response.data.errorMessage; + } + + if (error?.errorMessage && typeof error.errorMessage === 'string') { + return error.errorMessage; + } } } @@ -121,7 +128,18 @@ export default class CLIErrorHandler { const normalizedError = new Error(message); // Only copy essential properties - const essentialProps = ['code', 'status', 'statusText', 'response', 'request', 'config']; + const essentialProps = [ + 'code', + 'status', + 'statusText', + 'response', + 'request', + 'message', + 'errorMessage', + 'error_message', + 'error', + 'errors', + ]; essentialProps.forEach((prop) => { if (errorObj[prop] !== undefined) { (normalizedError as any)[prop] = errorObj[prop]; @@ -179,6 +197,20 @@ export default class CLIErrorHandler { if (code) payload.code = code; if (status || response?.status) payload.status = status || response?.status; + // Add detailed field-level errors if available + if (response?.data?.errors && typeof response.data.errors === 'object') { + payload.errors = response.data.errors; + } else if (error?.errors && typeof error.errors === 'object') { + payload.errors = error.errors; + } + + // Add error code if available + if (response?.data?.error_code) { + payload.errorCode = response.data.error_code; + } else if (error?.error_code) { + payload.errorCode = error.error_code; + } + // Add request context with sensitive data redaction if (request || config) { const requestData = { diff --git a/packages/contentstack-utilities/src/logger/logger.ts b/packages/contentstack-utilities/src/logger/logger.ts index 283a1bda6e..aff9067fb2 100644 --- a/packages/contentstack-utilities/src/logger/logger.ts +++ b/packages/contentstack-utilities/src/logger/logger.ts @@ -9,9 +9,8 @@ export default class Logger { private loggers: Record; private config: LoggerConfig; - private sensitiveKeys = [ + private consoleSensitiveKeys = [ /authtoken/i, - /^email$/i, /^password$/i, /secret/i, /token/i, @@ -22,6 +21,8 @@ export default class Logger { /stack/i, ]; + private logSensitiveKeys = [/authtoken/i, /secret/i, /token/i, /management[-._]?token/i, /delivery[-._]?token/i]; + constructor(config: LoggerConfig) { this.config = config; winston.addColors(levelColors); @@ -56,13 +57,21 @@ export default class Logger { new winston.transports.File({ ...this.loggerOptions, filename: `${filePath}/${level}.log`, - format: winston.format.combine(winston.format.timestamp(), winston.format.json()), + format: winston.format.combine( + winston.format.timestamp(), + winston.format.printf((info) => { + // Apply minimal redaction for files (debugging info preserved) + const redactedInfo = this.redact(info, false); + return JSON.stringify(redactedInfo); + }), + ), }), new winston.transports.Console({ format: winston.format.combine( winston.format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }), winston.format.printf((info) => { - const redactedInfo = this.redact(info); + // Apply full redaction for console (user-facing) + const redactedInfo = this.redact(info, true); const colorizer = winston.format.colorize(); const levelText = redactedInfo.level.toUpperCase(); const { timestamp, message } = redactedInfo; @@ -74,25 +83,31 @@ export default class Logger { }); } - private isSensitiveKey(keyStr: string): boolean { - return typeof keyStr === 'string' ? this.sensitiveKeys.some((regex) => regex.test(keyStr)) : false; + private isSensitiveKey(keyStr: string, consoleMode: boolean = false): boolean { + if (keyStr && typeof keyStr === 'string') { + const keysToCheck = consoleMode ? this.consoleSensitiveKeys : this.logSensitiveKeys; + return keysToCheck.some((regex) => regex.test(keyStr)); + } + return false; } - private redactObject(obj: any): void { + private redactObject(obj: any, consoleMode: boolean = false) { const self = this; traverse(obj).forEach(function redactor() { - if (this.key && self.isSensitiveKey(this.key)) { + if (this.key && self.isSensitiveKey(this.key, consoleMode)) { this.update('[REDACTED]'); } }); + + return obj; } - private redact(info: any): any { + private redact(info: any, consoleMode: boolean = false): any { try { const copy = klona(info); - this.redactObject(copy); + this.redactObject(copy, consoleMode); const splat = copy[Symbol.for('splat')]; - if (splat) this.redactObject(splat); + if (splat) this.redactObject(splat, consoleMode); return copy; } catch { return info; @@ -162,7 +177,7 @@ export default class Logger { if (this.shouldLog('error', 'file')) { this.loggers.error.error(logPayload); } - + // For console, use debug level if hidden, otherwise error level const consoleLevel: LogType = params.hidden ? 'debug' : 'error'; if (this.shouldLog(consoleLevel, 'console')) { diff --git a/packages/contentstack-variants/package.json b/packages/contentstack-variants/package.json index 7d36af539a..8ad86eeaec 100644 --- a/packages/contentstack-variants/package.json +++ b/packages/contentstack-variants/package.json @@ -27,7 +27,7 @@ "typescript": "^5.8.3" }, "dependencies": { - "@contentstack/cli-utilities": "~1.13.0", + "@contentstack/cli-utilities": "~1.13.2", "@oclif/core": "^4.3.0", "@oclif/plugin-help": "^6.2.28", "lodash": "^4.17.21", diff --git a/packages/contentstack/README.md b/packages/contentstack/README.md index cae7ea8766..60103cf7c7 100644 --- a/packages/contentstack/README.md +++ b/packages/contentstack/README.md @@ -18,7 +18,7 @@ $ npm install -g @contentstack/cli $ csdx COMMAND running command... $ csdx (--version|-v) -@contentstack/cli/1.45.0 darwin-arm64 node-v22.14.0 +@contentstack/cli/1.45.1 darwin-arm64 node-v22.14.0 $ csdx --help [COMMAND] USAGE $ csdx COMMAND @@ -3820,7 +3820,8 @@ USAGE $ csdx launch:functions [-p ] [-d ] FLAGS - -d, --data-dir= [default: /Users/raj.pandey/cli96/cli/packages/contentstack] Current working directory + -d, --data-dir= [default: /Users/aman.kumar/Documents/cli-repos/development-lates/cli/packages/contentstack] + Current working directory -p, --port= [default: 3000] Port number DESCRIPTION diff --git a/packages/contentstack/package.json b/packages/contentstack/package.json index bb2ab0017a..691fa2d0dd 100755 --- a/packages/contentstack/package.json +++ b/packages/contentstack/package.json @@ -1,7 +1,7 @@ { "name": "@contentstack/cli", "description": "Command-line tool (CLI) to interact with Contentstack", - "version": "1.45.0", + "version": "1.45.1", "author": "Contentstack", "bin": { "csdx": "./bin/run.js" @@ -30,7 +30,7 @@ "@contentstack/cli-cm-clone": "~1.15.1", "@contentstack/cli-cm-export": "~1.19.0", "@contentstack/cli-cm-export-to-csv": "~1.9.0", - "@contentstack/cli-cm-import": "~1.26.2", + "@contentstack/cli-cm-import": "~1.26.3", "@contentstack/cli-cm-import-setup": "1.4.1", "@contentstack/cli-cm-migrate-rte": "~1.6.0", "@contentstack/cli-cm-seed": "~1.12.0", @@ -38,7 +38,7 @@ "@contentstack/cli-config": "~1.15.0", "@contentstack/cli-launch": "^1.9.2", "@contentstack/cli-migration": "~1.8.0", - "@contentstack/cli-utilities": "~1.13.1", + "@contentstack/cli-utilities": "~1.13.2", "@contentstack/cli-variants": "~1.3.0", "@contentstack/management": "~1.22.0", "@oclif/core": "^4.3.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1261656ee9..3e6c824a4e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -20,7 +20,7 @@ importers: '@contentstack/cli-cm-clone': ~1.15.1 '@contentstack/cli-cm-export': ~1.19.0 '@contentstack/cli-cm-export-to-csv': ~1.9.0 - '@contentstack/cli-cm-import': ~1.26.2 + '@contentstack/cli-cm-import': ~1.26.3 '@contentstack/cli-cm-import-setup': 1.4.1 '@contentstack/cli-cm-migrate-rte': ~1.6.0 '@contentstack/cli-cm-seed': ~1.12.0 @@ -28,7 +28,7 @@ importers: '@contentstack/cli-config': ~1.15.0 '@contentstack/cli-launch': ^1.9.2 '@contentstack/cli-migration': ~1.8.0 - '@contentstack/cli-utilities': ~1.13.1 + '@contentstack/cli-utilities': ~1.13.2 '@contentstack/cli-variants': ~1.3.0 '@contentstack/management': ~1.22.0 '@oclif/core': ^4.3.0 @@ -132,7 +132,7 @@ importers: packages/contentstack-audit: specifiers: '@contentstack/cli-command': ~1.6.0 - '@contentstack/cli-utilities': ~1.13.1 + '@contentstack/cli-utilities': ~1.13.2 '@oclif/core': ^4.3.0 '@oclif/plugin-help': ^6.2.28 '@oclif/plugin-plugins': ^5.4.38 @@ -193,7 +193,7 @@ importers: packages/contentstack-auth: specifiers: '@contentstack/cli-command': ~1.6.0 - '@contentstack/cli-utilities': ~1.13.1 + '@contentstack/cli-utilities': ~1.13.2 '@fancy-test/nock': ^0.1.1 '@oclif/core': ^4.3.0 '@oclif/plugin-help': ^6.2.28 @@ -245,7 +245,7 @@ importers: specifiers: '@contentstack/cli-cm-seed': ~1.12.0 '@contentstack/cli-command': ~1.6.0 - '@contentstack/cli-utilities': ~1.13.1 + '@contentstack/cli-utilities': ~1.13.2 '@oclif/core': ^4.3.0 '@oclif/plugin-help': ^6.2.28 '@oclif/test': ^4.1.13 @@ -296,7 +296,7 @@ importers: specifiers: '@contentstack/cli-command': ~1.6.0 '@contentstack/cli-dev-dependencies': ~1.3.0 - '@contentstack/cli-utilities': ~1.13.1 + '@contentstack/cli-utilities': ~1.13.2 '@oclif/core': ^4.3.0 '@oclif/plugin-help': ^6.2.28 '@types/flat': ^5.0.5 @@ -340,7 +340,7 @@ importers: packages/contentstack-bulk-publish: specifiers: '@contentstack/cli-command': ~1.6.0 - '@contentstack/cli-utilities': ~1.13.1 + '@contentstack/cli-utilities': ~1.13.2 '@oclif/core': ^4.3.0 '@oclif/plugin-help': ^6.2.28 '@oclif/test': ^4.1.13 @@ -380,7 +380,7 @@ importers: '@contentstack/cli-cm-export': ~1.19.0 '@contentstack/cli-cm-import': ~1.26.1 '@contentstack/cli-command': ~1.6.0 - '@contentstack/cli-utilities': ~1.13.1 + '@contentstack/cli-utilities': ~1.13.2 '@oclif/core': ^4.3.0 '@oclif/plugin-help': ^6.2.28 '@oclif/test': ^4.1.13 @@ -427,7 +427,7 @@ importers: packages/contentstack-command: specifiers: - '@contentstack/cli-utilities': ~1.13.1 + '@contentstack/cli-utilities': ~1.13.2 '@oclif/core': ^4.3.0 '@oclif/plugin-help': ^6.2.28 '@oclif/test': ^4.1.13 @@ -463,7 +463,7 @@ importers: packages/contentstack-config: specifiers: '@contentstack/cli-command': ~1.6.0 - '@contentstack/cli-utilities': ~1.13.1 + '@contentstack/cli-utilities': ~1.13.2 '@oclif/core': ^4.3.0 '@oclif/plugin-help': ^6.2.28 '@oclif/test': ^4.1.13 @@ -536,7 +536,7 @@ importers: '@contentstack/cli-command': ~1.6.0 '@contentstack/cli-config': ~1.12.1 '@contentstack/cli-dev-dependencies': ~1.3.1 - '@contentstack/cli-utilities': ~1.13.1 + '@contentstack/cli-utilities': ~1.13.2 '@contentstack/cli-variants': ~1.3.0 '@oclif/core': ^4.3.3 '@oclif/plugin-help': ^6.2.28 @@ -600,7 +600,7 @@ importers: packages/contentstack-export-to-csv: specifiers: '@contentstack/cli-command': ~1.6.0 - '@contentstack/cli-utilities': ~1.13.1 + '@contentstack/cli-utilities': ~1.13.2 '@oclif/core': ^4.3.0 '@oclif/plugin-help': ^6.2.28 '@oclif/test': ^4.1.13 @@ -642,7 +642,7 @@ importers: specifiers: '@contentstack/cli-audit': ~1.14.0 '@contentstack/cli-command': ~1.6.0 - '@contentstack/cli-utilities': ~1.13.1 + '@contentstack/cli-utilities': ~1.13.2 '@contentstack/cli-variants': ~1.3.0 '@contentstack/management': ~1.22.0 '@oclif/core': ^4.3.0 @@ -716,7 +716,7 @@ importers: packages/contentstack-import-setup: specifiers: '@contentstack/cli-command': ~1.6.0 - '@contentstack/cli-utilities': ~1.13.1 + '@contentstack/cli-utilities': ~1.13.2 '@oclif/core': ^4.3.0 '@types/big-json': ^3.2.5 '@types/bluebird': ^3.5.42 @@ -783,7 +783,7 @@ importers: packages/contentstack-migrate-rte: specifiers: '@contentstack/cli-command': ~1.6.0 - '@contentstack/cli-utilities': ~1.13.1 + '@contentstack/cli-utilities': ~1.13.2 '@contentstack/json-rte-serializer': ~2.1.0 '@oclif/core': ^4.3.0 '@oclif/plugin-help': ^6.2.28 @@ -828,7 +828,7 @@ importers: packages/contentstack-migration: specifiers: '@contentstack/cli-command': ~1.6.0 - '@contentstack/cli-utilities': ~1.13.1 + '@contentstack/cli-utilities': ~1.13.2 '@oclif/core': ^4.3.0 '@oclif/plugin-help': ^6.2.28 '@oclif/test': ^4.1.13 @@ -870,9 +870,9 @@ importers: packages/contentstack-seed: specifiers: - '@contentstack/cli-cm-import': ~1.26.1 + '@contentstack/cli-cm-import': ~1.26.3 '@contentstack/cli-command': ~1.6.0 - '@contentstack/cli-utilities': ~1.13.1 + '@contentstack/cli-utilities': ~1.13.2 '@contentstack/management': ~1.22.0 '@types/inquirer': ^9.0.8 '@types/jest': ^26.0.24 @@ -1019,7 +1019,7 @@ importers: packages/contentstack-variants: specifiers: '@contentstack/cli-dev-dependencies': ^1.3.0 - '@contentstack/cli-utilities': ~1.13.0 + '@contentstack/cli-utilities': ~1.13.2 '@oclif/core': ^4.3.0 '@oclif/plugin-help': ^6.2.28 '@oclif/test': ^4.1.13 From 526ffafc289dc8175941f8341d19ece0a45c05f3 Mon Sep 17 00:00:00 2001 From: Aman Kumar Date: Fri, 22 Aug 2025 17:38:35 +0530 Subject: [PATCH 2/6] updated talismanrc --- .talismanrc | 4 ++++ packages/contentstack/README.md | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.talismanrc b/.talismanrc index 6fd838262d..3a7b9d90db 100644 --- a/.talismanrc +++ b/.talismanrc @@ -57,4 +57,8 @@ fileignoreconfig: checksum: f93aa9b0c964608b60c88d4c72ff33840b58ec900297c4bae1f4ea365aa51048 - filename: packages/contentstack-auth/test/utils/mfa-handler.test.ts checksum: b067f93cf0185d794e8419cc41e8fac96ed790dea8fc48dc083ee242ccacbd4d +- filename: packages/contentstack-utilities/src/logger/logger.ts + checksum: 76429bc87e279624b386f00e7eb3f4ec25621ace7056289f812b9a076d6e184e +- filename: packages/contentstack-import/src/import/modules/entries.ts + checksum: 2fd4e8ecf75e077632a6408d09997f0921d2a3508f9f2cb8f47fe79a28592300 version: "1.0" \ No newline at end of file diff --git a/packages/contentstack/README.md b/packages/contentstack/README.md index 60103cf7c7..1a8b9ec967 100644 --- a/packages/contentstack/README.md +++ b/packages/contentstack/README.md @@ -3820,7 +3820,7 @@ USAGE $ csdx launch:functions [-p ] [-d ] FLAGS - -d, --data-dir= [default: /Users/aman.kumar/Documents/cli-repos/development-lates/cli/packages/contentstack] + -d, --data-dir= [default: cli/packages/contentstack] Current working directory -p, --port= [default: 3000] Port number From 3fd4ddc22463140573e17a3e08c29c227de0d60d Mon Sep 17 00:00:00 2001 From: Aman Kumar Date: Mon, 25 Aug 2025 13:19:49 +0530 Subject: [PATCH 3/6] fix: PR comments --- .../contentstack-utilities/src/logger/cli-error-handler.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/contentstack-utilities/src/logger/cli-error-handler.ts b/packages/contentstack-utilities/src/logger/cli-error-handler.ts index d4c42e2b92..67f6984556 100644 --- a/packages/contentstack-utilities/src/logger/cli-error-handler.ts +++ b/packages/contentstack-utilities/src/logger/cli-error-handler.ts @@ -100,11 +100,11 @@ export default class CLIErrorHandler { return formattedMessage || 'An error occurred. Please try again.'; } catch { // Fallback to basic error message extraction if formatError fails - if (error?.response?.data?.errorMessage && typeof error.response.data.errorMessage === 'string') { + if (typeof error?.response?.data?.errorMessage === 'string') { return error.response.data.errorMessage; } - if (error?.errorMessage && typeof error.errorMessage === 'string') { + if (typeof error?.errorMessage === 'string') { return error.errorMessage; } } From 6ddefc3d182ad04a19608a0d684fbb4a607d26de Mon Sep 17 00:00:00 2001 From: "harshitha.d" Date: Tue, 26 Aug 2025 12:34:37 +0530 Subject: [PATCH 4/6] update talismanrc --- .talismanrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.talismanrc b/.talismanrc index ba47185d2e..545acc031f 100644 --- a/.talismanrc +++ b/.talismanrc @@ -1,6 +1,6 @@ fileignoreconfig: - filename: package-lock.json - checksum: 87b205a27082d15199ba291550e9ca3e8c784fe5bade7fcb89bf2acb1e850b23 + checksum: 26919db6d82143f9cd3ffc36ce5b67eb0802c6baa648b56c25312c50c662537d - filename: pnpm-lock.yaml checksum: d28afee9b463d66004354b9476b1e39344f903e2db3a15c5f83bd84e688c01d6 - filename: packages/contentstack-import-setup/test/unit/backup-handler.test.ts From 5ca10bac99b46338d26650af6363b2f7ad645d77 Mon Sep 17 00:00:00 2001 From: "harshitha.d" Date: Tue, 26 Aug 2025 12:55:45 +0530 Subject: [PATCH 5/6] update package-lock --- package-lock.json | 825 ++++++++++++++++++++++------------------------ 1 file changed, 387 insertions(+), 438 deletions(-) diff --git a/package-lock.json b/package-lock.json index a895a51d79..24fbeefdd2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1816,9 +1816,9 @@ } }, "node_modules/@contentstack/marketplace-sdk": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@contentstack/marketplace-sdk/-/marketplace-sdk-1.3.0.tgz", - "integrity": "sha512-zEpAxDeSSFxcE409IqDjepEzROe8zk/sqHhh+KkcwwYra1h5NVdbboQQXZrwjQEDVy4UsW0+Y1Ttnl8avu4w3A==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@contentstack/marketplace-sdk/-/marketplace-sdk-1.4.0.tgz", + "integrity": "sha512-vUi9hoSh5ytr2KmuIKx+g7QDJqevIsM7UX12deCsCTdYH1q7eSrYwpv+jFH+TfrDQUYa71T/xrIF0QiTMUMqdA==", "license": "MIT", "dependencies": { "axios": "^1.11.0" @@ -1917,9 +1917,9 @@ } }, "node_modules/@es-joy/jsdoccomment/node_modules/@typescript-eslint/types": { - "version": "8.40.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.40.0.tgz", - "integrity": "sha512-ETdbFlgbAmXHyFPwqUIYrfc12ArvpBhEVgGAxVYSwli26dn8Ko+lIo4Su9vI9ykTZdJn+vJprs/0eZU0YMAEQg==", + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.41.0.tgz", + "integrity": "sha512-9EwxsWdVqh42afLbHP90n2VdHaWU/oWgbH2P0CfcNfdKL7CuKpwMQGjwev56vWu9cSKU7FWSu6r9zck6CVfnag==", "dev": true, "license": "MIT", "engines": { @@ -2478,7 +2478,6 @@ "integrity": "sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==", "dev": true, "license": "Apache-2.0", - "peer": true, "dependencies": { "@types/json-schema": "^7.0.15" }, @@ -2487,28 +2486,28 @@ } }, "node_modules/@eslint/css": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@eslint/css/-/css-0.7.0.tgz", - "integrity": "sha512-d6mo8etv4igrTGxgvWSgA5+TsppfObM/Xhlu8JWbkqNBiaJXztUNH45R1B4i1GL2PNIFMLREI3Kh9lTBi19l7g==", + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@eslint/css/-/css-0.10.0.tgz", + "integrity": "sha512-pHoYRWS08oeU0qVez1pZCcbqHzoJnM5VMtrxH2nWDJ0ukq9DkwWV1BTY+PWK+eWBbndN9W0O9WjJTyAHsDoPOg==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@eslint/core": "^0.13.0", - "@eslint/css-tree": "^3.3.3", - "@eslint/plugin-kit": "^0.2.5" + "@eslint/core": "^0.14.0", + "@eslint/css-tree": "^3.6.1", + "@eslint/plugin-kit": "^0.3.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, "node_modules/@eslint/css-tree": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@eslint/css-tree/-/css-tree-3.6.3.tgz", - "integrity": "sha512-M9iq4Brt/MG+5/B4Jrla5XZqaCgaHjfZyMSUJM3KNpBU61u8gMYg4TTaNTP/mUGR/rnRrVV7RXmh5qI4pIk0Yw==", + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/@eslint/css-tree/-/css-tree-3.6.5.tgz", + "integrity": "sha512-bJgnXu0D0K1BbfPfHTmCaJe2ucBOjeg/tG37H2CSqYCw51VMmBtPfWrH8LKPLAVCOp0h94e1n8PfR3v9iRbtyA==", "dev": true, "license": "MIT", "dependencies": { - "mdn-data": "2.21.0", + "mdn-data": "2.23.0", "source-map-js": "^1.0.1" }, "engines": { @@ -2516,9 +2515,9 @@ } }, "node_modules/@eslint/css/node_modules/@eslint/core": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.13.0.tgz", - "integrity": "sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw==", + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.14.0.tgz", + "integrity": "sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -2528,20 +2527,6 @@ "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@eslint/css/node_modules/@eslint/plugin-kit": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.8.tgz", - "integrity": "sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^0.13.0", - "levn": "^0.4.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, "node_modules/@eslint/eslintrc": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", @@ -2625,61 +2610,21 @@ } }, "node_modules/@eslint/json": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@eslint/json/-/json-0.12.0.tgz", - "integrity": "sha512-n/7dz8HFStpEe4o5eYk0tdkBdGUS/ZGb0GQCeDWN1ZmRq67HMHK4vC33b0rQlTT6xdZoX935P4vstiWVk5Ying==", + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/@eslint/json/-/json-0.13.1.tgz", + "integrity": "sha512-AGzO7cR0QqSEfJdx9jT4SHQ6BJ5K0G8kN7WNGI1Hgy5AVbUhBKfFoN0gNo86j97aqkU57mqFUW9ytMPdEnVARA==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@eslint/core": "^0.12.0", - "@eslint/plugin-kit": "^0.2.7", - "@humanwhocodes/momoa": "^3.3.4", + "@eslint/core": "^0.15.1", + "@eslint/plugin-kit": "^0.3.4", + "@humanwhocodes/momoa": "^3.3.8", "natural-compare": "^1.4.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@eslint/json/node_modules/@eslint/core": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.12.0.tgz", - "integrity": "sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/json/node_modules/@eslint/plugin-kit": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.8.tgz", - "integrity": "sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^0.13.0", - "levn": "^0.4.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/json/node_modules/@eslint/plugin-kit/node_modules/@eslint/core": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.13.0.tgz", - "integrity": "sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, "node_modules/@eslint/object-schema": { "version": "2.1.6", "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", @@ -2697,7 +2642,6 @@ "integrity": "sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==", "dev": true, "license": "Apache-2.0", - "peer": true, "dependencies": { "@eslint/core": "^0.15.2", "levn": "^0.4.1" @@ -2934,9 +2878,9 @@ } }, "node_modules/@inquirer/core/node_modules/@types/node": { - "version": "22.17.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.17.2.tgz", - "integrity": "sha512-gL6z5N9Jm9mhY+U2KXZpteb+09zyffliRkZyZOHODGATyC5B1Jt/7TzuuiLkFsSUMLbS1OLmlj/E+/3KF4Q/4w==", + "version": "22.18.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.18.0.tgz", + "integrity": "sha512-m5ObIqwsUp6BZzyiy4RdZpzWGub9bqLJMvZDD0QMXhxjqMHMENlj+SqF5QxoUwaQNFe+8kz8XM8ZQhqkQPTgMQ==", "dev": true, "license": "MIT", "dependencies": { @@ -3764,12 +3708,12 @@ } }, "node_modules/@oclif/plugin-not-found": { - "version": "3.2.65", - "resolved": "https://registry.npmjs.org/@oclif/plugin-not-found/-/plugin-not-found-3.2.65.tgz", - "integrity": "sha512-WgP78eBiRsQYxRIkEui/eyR0l3a2w6LdGMoZTg3DvFwKqZ2X542oUfUmTSqvb19LxdS4uaQ+Mwp4DTVHw5lk/A==", + "version": "3.2.66", + "resolved": "https://registry.npmjs.org/@oclif/plugin-not-found/-/plugin-not-found-3.2.66.tgz", + "integrity": "sha512-f3GmQrq13egIRc8+1aiFGsGUkNCIUv8nxJodmUicCC2BV6dg+KSY/5v3DicDBdni/HisKYt92S+OelAxQiN0EQ==", "license": "MIT", "dependencies": { - "@inquirer/prompts": "^7.8.2", + "@inquirer/prompts": "^7.8.3", "@oclif/core": "^4.5.2", "ansis": "^3.17.0", "fast-levenshtein": "^3.0.0" @@ -3779,12 +3723,12 @@ } }, "node_modules/@oclif/plugin-not-found/node_modules/@inquirer/checkbox": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-4.2.1.tgz", - "integrity": "sha512-bevKGO6kX1eM/N+pdh9leS5L7TBF4ICrzi9a+cbWkrxeAeIcwlo/7OfWGCDERdRCI2/Q6tjltX4bt07ALHDwFw==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-4.2.2.tgz", + "integrity": "sha512-E+KExNurKcUJJdxmjglTl141EwxWyAHplvsYJQgSwXf8qiNWkTxTuCCqmhFEmbIXd4zLaGMfQFJ6WrZ7fSeV3g==", "license": "MIT", "dependencies": { - "@inquirer/core": "^10.1.15", + "@inquirer/core": "^10.2.0", "@inquirer/figures": "^1.0.13", "@inquirer/type": "^3.0.8", "ansi-escapes": "^4.3.2", @@ -3803,12 +3747,12 @@ } }, "node_modules/@oclif/plugin-not-found/node_modules/@inquirer/confirm": { - "version": "5.1.15", - "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.15.tgz", - "integrity": "sha512-SwHMGa8Z47LawQN0rog0sT+6JpiL0B7eW9p1Bb7iCeKDGTI5Ez25TSc2l8kw52VV7hA4sX/C78CGkMrKXfuspA==", + "version": "5.1.16", + "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.16.tgz", + "integrity": "sha512-j1a5VstaK5KQy8Mu8cHmuQvN1Zc62TbLhjJxwHvKPPKEoowSF6h/0UdOpA9DNdWZ+9Inq73+puRq1df6OJ8Sag==", "license": "MIT", "dependencies": { - "@inquirer/core": "^10.1.15", + "@inquirer/core": "^10.2.0", "@inquirer/type": "^3.0.8" }, "engines": { @@ -3824,9 +3768,9 @@ } }, "node_modules/@oclif/plugin-not-found/node_modules/@inquirer/core": { - "version": "10.1.15", - "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.15.tgz", - "integrity": "sha512-8xrp836RZvKkpNbVvgWUlxjT4CraKk2q+I3Ksy+seI2zkcE+y6wNs1BVhgcv8VyImFecUhdQrYLdW32pAjwBdA==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.2.0.tgz", + "integrity": "sha512-NyDSjPqhSvpZEMZrLCYUquWNl+XC/moEcVFqS55IEYIYsY0a1cUCevSqk7ctOlnm/RaSBU5psFryNlxcmGrjaA==", "license": "MIT", "dependencies": { "@inquirer/figures": "^1.0.13", @@ -3851,12 +3795,12 @@ } }, "node_modules/@oclif/plugin-not-found/node_modules/@inquirer/editor": { - "version": "4.2.17", - "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-4.2.17.tgz", - "integrity": "sha512-r6bQLsyPSzbWrZZ9ufoWL+CztkSatnJ6uSxqd6N+o41EZC51sQeWOzI6s5jLb+xxTWxl7PlUppqm8/sow241gg==", + "version": "4.2.18", + "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-4.2.18.tgz", + "integrity": "sha512-yeQN3AXjCm7+Hmq5L6Dm2wEDeBRdAZuyZ4I7tWSSanbxDzqM0KqzoDbKM7p4ebllAYdoQuPJS6N71/3L281i6w==", "license": "MIT", "dependencies": { - "@inquirer/core": "^10.1.15", + "@inquirer/core": "^10.2.0", "@inquirer/external-editor": "^1.0.1", "@inquirer/type": "^3.0.8" }, @@ -3873,12 +3817,12 @@ } }, "node_modules/@oclif/plugin-not-found/node_modules/@inquirer/expand": { - "version": "4.0.17", - "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-4.0.17.tgz", - "integrity": "sha512-PSqy9VmJx/VbE3CT453yOfNa+PykpKg/0SYP7odez1/NWBGuDXgPhp4AeGYYKjhLn5lUUavVS/JbeYMPdH50Mw==", + "version": "4.0.18", + "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-4.0.18.tgz", + "integrity": "sha512-xUjteYtavH7HwDMzq4Cn2X4Qsh5NozoDHCJTdoXg9HfZ4w3R6mxV1B9tL7DGJX2eq/zqtsFjhm0/RJIMGlh3ag==", "license": "MIT", "dependencies": { - "@inquirer/core": "^10.1.15", + "@inquirer/core": "^10.2.0", "@inquirer/type": "^3.0.8", "yoctocolors-cjs": "^2.1.2" }, @@ -3916,12 +3860,12 @@ } }, "node_modules/@oclif/plugin-not-found/node_modules/@inquirer/input": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-4.2.1.tgz", - "integrity": "sha512-tVC+O1rBl0lJpoUZv4xY+WGWY8V5b0zxU1XDsMsIHYregdh7bN5X5QnIONNBAl0K765FYlAfNHS2Bhn7SSOVow==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-4.2.2.tgz", + "integrity": "sha512-hqOvBZj/MhQCpHUuD3MVq18SSoDNHy7wEnQ8mtvs71K8OPZVXJinOzcvQna33dNYLYE4LkA9BlhAhK6MJcsVbw==", "license": "MIT", "dependencies": { - "@inquirer/core": "^10.1.15", + "@inquirer/core": "^10.2.0", "@inquirer/type": "^3.0.8" }, "engines": { @@ -3937,12 +3881,12 @@ } }, "node_modules/@oclif/plugin-not-found/node_modules/@inquirer/number": { - "version": "3.0.17", - "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-3.0.17.tgz", - "integrity": "sha512-GcvGHkyIgfZgVnnimURdOueMk0CztycfC8NZTiIY9arIAkeOgt6zG57G+7vC59Jns3UX27LMkPKnKWAOF5xEYg==", + "version": "3.0.18", + "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-3.0.18.tgz", + "integrity": "sha512-7exgBm52WXZRczsydCVftozFTrrwbG5ySE0GqUd2zLNSBXyIucs2Wnm7ZKLe/aUu6NUg9dg7Q80QIHCdZJiY4A==", "license": "MIT", "dependencies": { - "@inquirer/core": "^10.1.15", + "@inquirer/core": "^10.2.0", "@inquirer/type": "^3.0.8" }, "engines": { @@ -3958,12 +3902,12 @@ } }, "node_modules/@oclif/plugin-not-found/node_modules/@inquirer/password": { - "version": "4.0.17", - "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-4.0.17.tgz", - "integrity": "sha512-DJolTnNeZ00E1+1TW+8614F7rOJJCM4y4BAGQ3Gq6kQIG+OJ4zr3GLjIjVVJCbKsk2jmkmv6v2kQuN/vriHdZA==", + "version": "4.0.18", + "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-4.0.18.tgz", + "integrity": "sha512-zXvzAGxPQTNk/SbT3carAD4Iqi6A2JS2qtcqQjsL22uvD+JfQzUrDEtPjLL7PLn8zlSNyPdY02IiQjzoL9TStA==", "license": "MIT", "dependencies": { - "@inquirer/core": "^10.1.15", + "@inquirer/core": "^10.2.0", "@inquirer/type": "^3.0.8", "ansi-escapes": "^4.3.2" }, @@ -3980,21 +3924,21 @@ } }, "node_modules/@oclif/plugin-not-found/node_modules/@inquirer/prompts": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.8.3.tgz", - "integrity": "sha512-iHYp+JCaCRktM/ESZdpHI51yqsDgXu+dMs4semzETftOaF8u5hwlqnbIsuIR/LrWZl8Pm1/gzteK9I7MAq5HTA==", + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.8.4.tgz", + "integrity": "sha512-MuxVZ1en1g5oGamXV3DWP89GEkdD54alcfhHd7InUW5BifAdKQEK9SLFa/5hlWbvuhMPlobF0WAx7Okq988Jxg==", "license": "MIT", "dependencies": { - "@inquirer/checkbox": "^4.2.1", - "@inquirer/confirm": "^5.1.15", - "@inquirer/editor": "^4.2.17", - "@inquirer/expand": "^4.0.17", - "@inquirer/input": "^4.2.1", - "@inquirer/number": "^3.0.17", - "@inquirer/password": "^4.0.17", - "@inquirer/rawlist": "^4.1.5", - "@inquirer/search": "^3.1.0", - "@inquirer/select": "^4.3.1" + "@inquirer/checkbox": "^4.2.2", + "@inquirer/confirm": "^5.1.16", + "@inquirer/editor": "^4.2.18", + "@inquirer/expand": "^4.0.18", + "@inquirer/input": "^4.2.2", + "@inquirer/number": "^3.0.18", + "@inquirer/password": "^4.0.18", + "@inquirer/rawlist": "^4.1.6", + "@inquirer/search": "^3.1.1", + "@inquirer/select": "^4.3.2" }, "engines": { "node": ">=18" @@ -4009,12 +3953,12 @@ } }, "node_modules/@oclif/plugin-not-found/node_modules/@inquirer/rawlist": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-4.1.5.tgz", - "integrity": "sha512-R5qMyGJqtDdi4Ht521iAkNqyB6p2UPuZUbMifakg1sWtu24gc2Z8CJuw8rP081OckNDMgtDCuLe42Q2Kr3BolA==", + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-4.1.6.tgz", + "integrity": "sha512-KOZqa3QNr3f0pMnufzL7K+nweFFCCBs6LCXZzXDrVGTyssjLeudn5ySktZYv1XiSqobyHRYYK0c6QsOxJEhXKA==", "license": "MIT", "dependencies": { - "@inquirer/core": "^10.1.15", + "@inquirer/core": "^10.2.0", "@inquirer/type": "^3.0.8", "yoctocolors-cjs": "^2.1.2" }, @@ -4031,12 +3975,12 @@ } }, "node_modules/@oclif/plugin-not-found/node_modules/@inquirer/search": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-3.1.0.tgz", - "integrity": "sha512-PMk1+O/WBcYJDq2H7foV0aAZSmDdkzZB9Mw2v/DmONRJopwA/128cS9M/TXWLKKdEQKZnKwBzqu2G4x/2Nqx8Q==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-3.1.1.tgz", + "integrity": "sha512-TkMUY+A2p2EYVY3GCTItYGvqT6LiLzHBnqsU1rJbrpXUijFfM6zvUx0R4civofVwFCmJZcKqOVwwWAjplKkhxA==", "license": "MIT", "dependencies": { - "@inquirer/core": "^10.1.15", + "@inquirer/core": "^10.2.0", "@inquirer/figures": "^1.0.13", "@inquirer/type": "^3.0.8", "yoctocolors-cjs": "^2.1.2" @@ -4054,12 +3998,12 @@ } }, "node_modules/@oclif/plugin-not-found/node_modules/@inquirer/select": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-4.3.1.tgz", - "integrity": "sha512-Gfl/5sqOF5vS/LIrSndFgOh7jgoe0UXEizDqahFRkq5aJBLegZ6WjuMh/hVEJwlFQjyLq1z9fRtvUMkb7jM1LA==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-4.3.2.tgz", + "integrity": "sha512-nwous24r31M+WyDEHV+qckXkepvihxhnyIaod2MG7eCE6G0Zm/HUF6jgN8GXgf4U7AU6SLseKdanY195cwvU6w==", "license": "MIT", "dependencies": { - "@inquirer/core": "^10.1.15", + "@inquirer/core": "^10.2.0", "@inquirer/figures": "^1.0.13", "@inquirer/type": "^3.0.8", "ansi-escapes": "^4.3.2", @@ -4452,9 +4396,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.47.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.47.1.tgz", - "integrity": "sha512-lTahKRJip0knffA/GTNFJMrToD+CM+JJ+Qt5kjzBK/sFQ0EWqfKW3AYQSlZXN98tX0lx66083U9JYIMioMMK7g==", + "version": "4.48.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.48.1.tgz", + "integrity": "sha512-rGmb8qoG/zdmKoYELCBwu7vt+9HxZ7Koos3pD0+sH5fR3u3Wb/jGcpnqxcnWsPEKDUyzeLSqksN8LJtgXjqBYw==", "cpu": [ "arm" ], @@ -4465,9 +4409,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.47.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.47.1.tgz", - "integrity": "sha512-uqxkb3RJLzlBbh/bbNQ4r7YpSZnjgMgyoEOY7Fy6GCbelkDSAzeiogxMG9TfLsBbqmGsdDObo3mzGqa8hps4MA==", + "version": "4.48.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.48.1.tgz", + "integrity": "sha512-4e9WtTxrk3gu1DFE+imNJr4WsL13nWbD/Y6wQcyku5qadlKHY3OQ3LJ/INrrjngv2BJIHnIzbqMk1GTAC2P8yQ==", "cpu": [ "arm64" ], @@ -4478,9 +4422,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.47.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.47.1.tgz", - "integrity": "sha512-tV6reObmxBDS4DDyLzTDIpymthNlxrLBGAoQx6m2a7eifSNEZdkXQl1PE4ZjCkEDPVgNXSzND/k9AQ3mC4IOEQ==", + "version": "4.48.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.48.1.tgz", + "integrity": "sha512-+XjmyChHfc4TSs6WUQGmVf7Hkg8ferMAE2aNYYWjiLzAS/T62uOsdfnqv+GHRjq7rKRnYh4mwWb4Hz7h/alp8A==", "cpu": [ "arm64" ], @@ -4491,9 +4435,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.47.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.47.1.tgz", - "integrity": "sha512-XuJRPTnMk1lwsSnS3vYyVMu4x/+WIw1MMSiqj5C4j3QOWsMzbJEK90zG+SWV1h0B1ABGCQ0UZUjti+TQK35uHQ==", + "version": "4.48.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.48.1.tgz", + "integrity": "sha512-upGEY7Ftw8M6BAJyGwnwMw91rSqXTcOKZnnveKrVWsMTF8/k5mleKSuh7D4v4IV1pLxKAk3Tbs0Lo9qYmii5mQ==", "cpu": [ "x64" ], @@ -4504,9 +4448,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.47.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.47.1.tgz", - "integrity": "sha512-79BAm8Ag/tmJ5asCqgOXsb3WY28Rdd5Lxj8ONiQzWzy9LvWORd5qVuOnjlqiWWZJw+dWewEktZb5yiM1DLLaHw==", + "version": "4.48.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.48.1.tgz", + "integrity": "sha512-P9ViWakdoynYFUOZhqq97vBrhuvRLAbN/p2tAVJvhLb8SvN7rbBnJQcBu8e/rQts42pXGLVhfsAP0k9KXWa3nQ==", "cpu": [ "arm64" ], @@ -4517,9 +4461,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.47.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.47.1.tgz", - "integrity": "sha512-OQ2/ZDGzdOOlyfqBiip0ZX/jVFekzYrGtUsqAfLDbWy0jh1PUU18+jYp8UMpqhly5ltEqotc2miLngf9FPSWIA==", + "version": "4.48.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.48.1.tgz", + "integrity": "sha512-VLKIwIpnBya5/saccM8JshpbxfyJt0Dsli0PjXozHwbSVaHTvWXJH1bbCwPXxnMzU4zVEfgD1HpW3VQHomi2AQ==", "cpu": [ "x64" ], @@ -4530,9 +4474,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.47.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.47.1.tgz", - "integrity": "sha512-HZZBXJL1udxlCVvoVadstgiU26seKkHbbAMLg7680gAcMnRNP9SAwTMVet02ANA94kXEI2VhBnXs4e5nf7KG2A==", + "version": "4.48.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.48.1.tgz", + "integrity": "sha512-3zEuZsXfKaw8n/yF7t8N6NNdhyFw3s8xJTqjbTDXlipwrEHo4GtIKcMJr5Ed29leLpB9AugtAQpAHW0jvtKKaQ==", "cpu": [ "arm" ], @@ -4543,9 +4487,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.47.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.47.1.tgz", - "integrity": "sha512-sZ5p2I9UA7T950JmuZ3pgdKA6+RTBr+0FpK427ExW0t7n+QwYOcmDTK/aRlzoBrWyTpJNlS3kacgSlSTUg6P/Q==", + "version": "4.48.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.48.1.tgz", + "integrity": "sha512-leo9tOIlKrcBmmEypzunV/2w946JeLbTdDlwEZ7OnnsUyelZ72NMnT4B2vsikSgwQifjnJUbdXzuW4ToN1wV+Q==", "cpu": [ "arm" ], @@ -4556,9 +4500,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.47.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.47.1.tgz", - "integrity": "sha512-3hBFoqPyU89Dyf1mQRXCdpc6qC6At3LV6jbbIOZd72jcx7xNk3aAp+EjzAtN6sDlmHFzsDJN5yeUySvorWeRXA==", + "version": "4.48.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.48.1.tgz", + "integrity": "sha512-Vy/WS4z4jEyvnJm+CnPfExIv5sSKqZrUr98h03hpAMbE2aI0aD2wvK6GiSe8Gx2wGp3eD81cYDpLLBqNb2ydwQ==", "cpu": [ "arm64" ], @@ -4569,9 +4513,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.47.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.47.1.tgz", - "integrity": "sha512-49J4FnMHfGodJWPw73Ve+/hsPjZgcXQGkmqBGZFvltzBKRS+cvMiWNLadOMXKGnYRhs1ToTGM0sItKISoSGUNA==", + "version": "4.48.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.48.1.tgz", + "integrity": "sha512-x5Kzn7XTwIssU9UYqWDB9VpLpfHYuXw5c6bJr4Mzv9kIv242vmJHbI5PJJEnmBYitUIfoMCODDhR7KoZLot2VQ==", "cpu": [ "arm64" ], @@ -4582,9 +4526,9 @@ ] }, "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.47.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.47.1.tgz", - "integrity": "sha512-4yYU8p7AneEpQkRX03pbpLmE21z5JNys16F1BZBZg5fP9rIlb0TkeQjn5du5w4agConCCEoYIG57sNxjryHEGg==", + "version": "4.48.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.48.1.tgz", + "integrity": "sha512-yzCaBbwkkWt/EcgJOKDUdUpMHjhiZT/eDktOPWvSRpqrVE04p0Nd6EGV4/g7MARXXeOqstflqsKuXVM3H9wOIQ==", "cpu": [ "loong64" ], @@ -4595,9 +4539,9 @@ ] }, "node_modules/@rollup/rollup-linux-ppc64-gnu": { - "version": "4.47.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.47.1.tgz", - "integrity": "sha512-fAiq+J28l2YMWgC39jz/zPi2jqc0y3GSRo1yyxlBHt6UN0yYgnegHSRPa3pnHS5amT/efXQrm0ug5+aNEu9UuQ==", + "version": "4.48.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.48.1.tgz", + "integrity": "sha512-UK0WzWUjMAJccHIeOpPhPcKBqax7QFg47hwZTp6kiMhQHeOYJeaMwzeRZe1q5IiTKsaLnHu9s6toSYVUlZ2QtQ==", "cpu": [ "ppc64" ], @@ -4608,9 +4552,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.47.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.47.1.tgz", - "integrity": "sha512-daoT0PMENNdjVYYU9xec30Y2prb1AbEIbb64sqkcQcSaR0zYuKkoPuhIztfxuqN82KYCKKrj+tQe4Gi7OSm1ow==", + "version": "4.48.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.48.1.tgz", + "integrity": "sha512-3NADEIlt+aCdCbWVZ7D3tBjBX1lHpXxcvrLt/kdXTiBrOds8APTdtk2yRL2GgmnSVeX4YS1JIf0imFujg78vpw==", "cpu": [ "riscv64" ], @@ -4621,9 +4565,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.47.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.47.1.tgz", - "integrity": "sha512-JNyXaAhWtdzfXu5pUcHAuNwGQKevR+6z/poYQKVW+pLaYOj9G1meYc57/1Xv2u4uTxfu9qEWmNTjv/H/EpAisw==", + "version": "4.48.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.48.1.tgz", + "integrity": "sha512-euuwm/QTXAMOcyiFCcrx0/S2jGvFlKJ2Iro8rsmYL53dlblp3LkUQVFzEidHhvIPPvcIsxDhl2wkBE+I6YVGzA==", "cpu": [ "riscv64" ], @@ -4634,9 +4578,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.47.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.47.1.tgz", - "integrity": "sha512-U/CHbqKSwEQyZXjCpY43/GLYcTVKEXeRHw0rMBJP7fP3x6WpYG4LTJWR3ic6TeYKX6ZK7mrhltP4ppolyVhLVQ==", + "version": "4.48.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.48.1.tgz", + "integrity": "sha512-w8mULUjmPdWLJgmTYJx/W6Qhln1a+yqvgwmGXcQl2vFBkWsKGUBRbtLRuKJUln8Uaimf07zgJNxOhHOvjSQmBQ==", "cpu": [ "s390x" ], @@ -4647,9 +4591,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.47.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.47.1.tgz", - "integrity": "sha512-uTLEakjxOTElfeZIGWkC34u2auLHB1AYS6wBjPGI00bWdxdLcCzK5awjs25YXpqB9lS8S0vbO0t9ZcBeNibA7g==", + "version": "4.48.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.48.1.tgz", + "integrity": "sha512-90taWXCWxTbClWuMZD0DKYohY1EovA+W5iytpE89oUPmT5O1HFdf8cuuVIylE6vCbrGdIGv85lVRzTcpTRZ+kA==", "cpu": [ "x64" ], @@ -4660,9 +4604,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.47.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.47.1.tgz", - "integrity": "sha512-Ft+d/9DXs30BK7CHCTX11FtQGHUdpNDLJW0HHLign4lgMgBcPFN3NkdIXhC5r9iwsMwYreBBc4Rho5ieOmKNVQ==", + "version": "4.48.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.48.1.tgz", + "integrity": "sha512-2Gu29SkFh1FfTRuN1GR1afMuND2GKzlORQUP3mNMJbqdndOg7gNsa81JnORctazHRokiDzQ5+MLE5XYmZW5VWg==", "cpu": [ "x64" ], @@ -4673,9 +4617,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.47.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.47.1.tgz", - "integrity": "sha512-N9X5WqGYzZnjGAFsKSfYFtAShYjwOmFJoWbLg3dYixZOZqU7hdMq+/xyS14zKLhFhZDhP9VfkzQnsdk0ZDS9IA==", + "version": "4.48.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.48.1.tgz", + "integrity": "sha512-6kQFR1WuAO50bxkIlAVeIYsz3RUx+xymwhTo9j94dJ+kmHe9ly7muH23sdfWduD0BA8pD9/yhonUvAjxGh34jQ==", "cpu": [ "arm64" ], @@ -4686,9 +4630,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.47.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.47.1.tgz", - "integrity": "sha512-O+KcfeCORZADEY8oQJk4HK8wtEOCRE4MdOkb8qGZQNun3jzmj2nmhV/B/ZaaZOkPmJyvm/gW9n0gsB4eRa1eiQ==", + "version": "4.48.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.48.1.tgz", + "integrity": "sha512-RUyZZ/mga88lMI3RlXFs4WQ7n3VyU07sPXmMG7/C1NOi8qisUg57Y7LRarqoGoAiopmGmChUhSwfpvQ3H5iGSQ==", "cpu": [ "ia32" ], @@ -4699,9 +4643,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.47.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.47.1.tgz", - "integrity": "sha512-CpKnYa8eHthJa3c+C38v/E+/KZyF1Jdh2Cz3DyKZqEWYgrM1IHFArXNWvBLPQCKUEsAqqKX27tTqVEFbDNUcOA==", + "version": "4.48.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.48.1.tgz", + "integrity": "sha512-8a/caCUN4vkTChxkaIJcMtwIVcBhi4X2PQRoT+yCK3qRYaZ7cURrmJFL5Ux9H9RaMIXj9RuihckdmkBX3zZsgg==", "cpu": [ "x64" ], @@ -5595,14 +5539,14 @@ } }, "node_modules/@stylistic/eslint-plugin/node_modules/@typescript-eslint/scope-manager": { - "version": "8.40.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.40.0.tgz", - "integrity": "sha512-y9ObStCcdCiZKzwqsE8CcpyuVMwRouJbbSrNuThDpv16dFAj429IkM6LNb1dZ2m7hK5fHyzNcErZf7CEeKXR4w==", + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.41.0.tgz", + "integrity": "sha512-n6m05bXn/Cd6DZDGyrpXrELCPVaTnLdPToyhBoFkLIMznRUQUEQdSp96s/pcWSQdqOhrgR1mzJ+yItK7T+WPMQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.40.0", - "@typescript-eslint/visitor-keys": "8.40.0" + "@typescript-eslint/types": "8.41.0", + "@typescript-eslint/visitor-keys": "8.41.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -5613,9 +5557,9 @@ } }, "node_modules/@stylistic/eslint-plugin/node_modules/@typescript-eslint/types": { - "version": "8.40.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.40.0.tgz", - "integrity": "sha512-ETdbFlgbAmXHyFPwqUIYrfc12ArvpBhEVgGAxVYSwli26dn8Ko+lIo4Su9vI9ykTZdJn+vJprs/0eZU0YMAEQg==", + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.41.0.tgz", + "integrity": "sha512-9EwxsWdVqh42afLbHP90n2VdHaWU/oWgbH2P0CfcNfdKL7CuKpwMQGjwev56vWu9cSKU7FWSu6r9zck6CVfnag==", "dev": true, "license": "MIT", "engines": { @@ -5627,16 +5571,16 @@ } }, "node_modules/@stylistic/eslint-plugin/node_modules/@typescript-eslint/typescript-estree": { - "version": "8.40.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.40.0.tgz", - "integrity": "sha512-k1z9+GJReVVOkc1WfVKs1vBrR5MIKKbdAjDTPvIK3L8De6KbFfPFt6BKpdkdk7rZS2GtC/m6yI5MYX+UsuvVYQ==", + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.41.0.tgz", + "integrity": "sha512-D43UwUYJmGhuwHfY7MtNKRZMmfd8+p/eNSfFe6tH5mbVDto+VQCayeAt35rOx3Cs6wxD16DQtIKw/YXxt5E0UQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.40.0", - "@typescript-eslint/tsconfig-utils": "8.40.0", - "@typescript-eslint/types": "8.40.0", - "@typescript-eslint/visitor-keys": "8.40.0", + "@typescript-eslint/project-service": "8.41.0", + "@typescript-eslint/tsconfig-utils": "8.41.0", + "@typescript-eslint/types": "8.41.0", + "@typescript-eslint/visitor-keys": "8.41.0", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -5656,16 +5600,16 @@ } }, "node_modules/@stylistic/eslint-plugin/node_modules/@typescript-eslint/utils": { - "version": "8.40.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.40.0.tgz", - "integrity": "sha512-Cgzi2MXSZyAUOY+BFwGs17s7ad/7L+gKt6Y8rAVVWS+7o6wrjeFN4nVfTpbE25MNcxyJ+iYUXflbs2xR9h4UBg==", + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.41.0.tgz", + "integrity": "sha512-udbCVstxZ5jiPIXrdH+BZWnPatjlYwJuJkDA4Tbo3WyYLh8NvB+h/bKeSZHDOFKfphsZYJQqaFtLeXEqurQn1A==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.7.0", - "@typescript-eslint/scope-manager": "8.40.0", - "@typescript-eslint/types": "8.40.0", - "@typescript-eslint/typescript-estree": "8.40.0" + "@typescript-eslint/scope-manager": "8.41.0", + "@typescript-eslint/types": "8.41.0", + "@typescript-eslint/typescript-estree": "8.41.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -5680,13 +5624,13 @@ } }, "node_modules/@stylistic/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": { - "version": "8.40.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.40.0.tgz", - "integrity": "sha512-8CZ47QwalyRjsypfwnbI3hKy5gJDPmrkLjkgMxhi0+DZZ2QNx2naS6/hWoVYUHU7LU2zleF68V9miaVZvhFfTA==", + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.41.0.tgz", + "integrity": "sha512-+GeGMebMCy0elMNg67LRNoVnUFPIm37iu5CmHESVx56/9Jsfdpsvbv605DQ81Pi/x11IdKUsS5nzgTYbCQU9fg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.40.0", + "@typescript-eslint/types": "8.41.0", "eslint-visitor-keys": "^4.2.1" }, "engines": { @@ -6347,14 +6291,14 @@ } }, "node_modules/@typescript-eslint/project-service": { - "version": "8.40.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.40.0.tgz", - "integrity": "sha512-/A89vz7Wf5DEXsGVvcGdYKbVM9F7DyFXj52lNYUDS1L9yJfqjW/fIp5PgMuEJL/KeqVTe2QSbXAGUZljDUpArw==", + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.41.0.tgz", + "integrity": "sha512-b8V9SdGBQzQdjJ/IO3eDifGpDBJfvrNTp2QD9P2BeqWTGrRibgfgIlBSw6z3b6R7dPzg752tOs4u/7yCLxksSQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.40.0", - "@typescript-eslint/types": "^8.40.0", + "@typescript-eslint/tsconfig-utils": "^8.41.0", + "@typescript-eslint/types": "^8.41.0", "debug": "^4.3.4" }, "engines": { @@ -6369,9 +6313,9 @@ } }, "node_modules/@typescript-eslint/project-service/node_modules/@typescript-eslint/types": { - "version": "8.40.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.40.0.tgz", - "integrity": "sha512-ETdbFlgbAmXHyFPwqUIYrfc12ArvpBhEVgGAxVYSwli26dn8Ko+lIo4Su9vI9ykTZdJn+vJprs/0eZU0YMAEQg==", + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.41.0.tgz", + "integrity": "sha512-9EwxsWdVqh42afLbHP90n2VdHaWU/oWgbH2P0CfcNfdKL7CuKpwMQGjwev56vWu9cSKU7FWSu6r9zck6CVfnag==", "dev": true, "license": "MIT", "engines": { @@ -6401,9 +6345,9 @@ } }, "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.40.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.40.0.tgz", - "integrity": "sha512-jtMytmUaG9d/9kqSl/W3E3xaWESo4hFDxAIHGVW/WKKtQhesnRIJSAJO6XckluuJ6KDB5woD1EiqknriCtAmcw==", + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.41.0.tgz", + "integrity": "sha512-TDhxYFPUYRFxFhuU5hTIJk+auzM/wKvWgoNYOPcOf6i4ReYlOoYN8q1dV5kOTjNQNJgzWN3TUUQMtlLOcUgdUw==", "dev": true, "license": "MIT", "engines": { @@ -7734,9 +7678,9 @@ } }, "node_modules/bowser": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.12.0.tgz", - "integrity": "sha512-HcOcTudTeEWgbHh0Y1Tyb6fdeR71m4b/QACf0D4KswGTsNeIJQmg38mRENZPAYPZvGFN3fk3604XbQEPdxXdKg==", + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.12.1.tgz", + "integrity": "sha512-z4rE2Gxh7tvshQ4hluIT7XcFrgLIQaw9X3A+kTTRdovCz5PMukm/0QC/BKSYPj3omF5Qfypn9O/c5kgpmvYUCw==", "dev": true, "license": "MIT" }, @@ -9571,9 +9515,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.208", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.208.tgz", - "integrity": "sha512-ozZyibehoe7tOhNaf16lKmljVf+3npZcJIEbJRVftVsmAg5TeA1mGS9dVCZzOwr2xT7xK15V0p7+GZqSPgkuPg==", + "version": "1.5.209", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.209.tgz", + "integrity": "sha512-Xoz0uMrim9ZETCQt8UgM5FxQF9+imA7PBpokoGcZloA1uw2LeHzTlip5cb5KOAsXZLjh/moN2vReN3ZjJmjI9A==", "dev": true, "license": "ISC" }, @@ -10009,20 +9953,20 @@ } }, "node_modules/eslint-config-oclif": { - "version": "6.0.95", - "resolved": "https://registry.npmjs.org/eslint-config-oclif/-/eslint-config-oclif-6.0.95.tgz", - "integrity": "sha512-uMy0wKFMOB2835gOsPRfNO039Pedo9PuTwTGGmNO3iEbRutN9X+LEvXtSa+7qNv0JPXTGBmTvp5/RDTOmz3cWA==", + "version": "6.0.98", + "resolved": "https://registry.npmjs.org/eslint-config-oclif/-/eslint-config-oclif-6.0.98.tgz", + "integrity": "sha512-Ij/GtCM5L/7Y8TeOTOAfe2VF3pEAlJ1L+M2nHlHPLNm1ZIzmqpghmWbbUh2jTH7BR2gc9Ry2cGMSAM2IU7ku/w==", "dev": true, "license": "MIT", "dependencies": { "@eslint/compat": "^1.3.2", "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "^9.33.0", + "@eslint/js": "^9.34.0", "@stylistic/eslint-plugin": "^3.1.0", "@typescript-eslint/eslint-plugin": "^8", "@typescript-eslint/parser": "^8", "eslint-config-oclif": "^5.2.2", - "eslint-config-xo": "^0.48.0", + "eslint-config-xo": "^0.49.0", "eslint-config-xo-space": "^0.35.0", "eslint-import-resolver-typescript": "^3.10.1", "eslint-plugin-import": "^2.32.0", @@ -10449,9 +10393,9 @@ } }, "node_modules/eslint-config-oclif/node_modules/@eslint/js": { - "version": "9.33.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.33.0.tgz", - "integrity": "sha512-5K1/mKhWaMfreBGJTwval43JJmkip0RmM+3+IuqupeSKNC/Th2Kc7ucaq5ovTSra/OOKB9c58CGSz3QMVbWt0A==", + "version": "9.34.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.34.0.tgz", + "integrity": "sha512-EoyvqQnBNsV1CWaEJ559rxXL4c8V92gxirbawSmVUOWXlsRxxQXl6LmCpdUblgxgSkDIqKnhzba2SjRTI/A5Rw==", "dev": true, "license": "MIT", "engines": { @@ -10462,17 +10406,17 @@ } }, "node_modules/eslint-config-oclif/node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.40.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.40.0.tgz", - "integrity": "sha512-w/EboPlBwnmOBtRbiOvzjD+wdiZdgFeo17lkltrtn7X37vagKKWJABvyfsJXTlHe6XBzugmYgd4A4nW+k8Mixw==", + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.41.0.tgz", + "integrity": "sha512-8fz6oa6wEKZrhXWro/S3n2eRJqlRcIa6SlDh59FXJ5Wp5XRZ8B9ixpJDcjadHq47hMx0u+HW6SNa6LjJQ6NLtw==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.40.0", - "@typescript-eslint/type-utils": "8.40.0", - "@typescript-eslint/utils": "8.40.0", - "@typescript-eslint/visitor-keys": "8.40.0", + "@typescript-eslint/scope-manager": "8.41.0", + "@typescript-eslint/type-utils": "8.41.0", + "@typescript-eslint/utils": "8.41.0", + "@typescript-eslint/visitor-keys": "8.41.0", "graphemer": "^1.4.0", "ignore": "^7.0.0", "natural-compare": "^1.4.0", @@ -10486,7 +10430,7 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.40.0", + "@typescript-eslint/parser": "^8.41.0", "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <6.0.0" } @@ -10502,16 +10446,16 @@ } }, "node_modules/eslint-config-oclif/node_modules/@typescript-eslint/parser": { - "version": "8.40.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.40.0.tgz", - "integrity": "sha512-jCNyAuXx8dr5KJMkecGmZ8KI61KBUhkCob+SD+C+I5+Y1FWI2Y3QmY4/cxMCC5WAsZqoEtEETVhUiUMIGCf6Bw==", + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.41.0.tgz", + "integrity": "sha512-gTtSdWX9xiMPA/7MV9STjJOOYtWwIJIYxkQxnSV1U3xcE+mnJSH3f6zI0RYP+ew66WSlZ5ed+h0VCxsvdC1jJg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.40.0", - "@typescript-eslint/types": "8.40.0", - "@typescript-eslint/typescript-estree": "8.40.0", - "@typescript-eslint/visitor-keys": "8.40.0", + "@typescript-eslint/scope-manager": "8.41.0", + "@typescript-eslint/types": "8.41.0", + "@typescript-eslint/typescript-estree": "8.41.0", + "@typescript-eslint/visitor-keys": "8.41.0", "debug": "^4.3.4" }, "engines": { @@ -10527,14 +10471,14 @@ } }, "node_modules/eslint-config-oclif/node_modules/@typescript-eslint/scope-manager": { - "version": "8.40.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.40.0.tgz", - "integrity": "sha512-y9ObStCcdCiZKzwqsE8CcpyuVMwRouJbbSrNuThDpv16dFAj429IkM6LNb1dZ2m7hK5fHyzNcErZf7CEeKXR4w==", + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.41.0.tgz", + "integrity": "sha512-n6m05bXn/Cd6DZDGyrpXrELCPVaTnLdPToyhBoFkLIMznRUQUEQdSp96s/pcWSQdqOhrgR1mzJ+yItK7T+WPMQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.40.0", - "@typescript-eslint/visitor-keys": "8.40.0" + "@typescript-eslint/types": "8.41.0", + "@typescript-eslint/visitor-keys": "8.41.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -10545,15 +10489,15 @@ } }, "node_modules/eslint-config-oclif/node_modules/@typescript-eslint/type-utils": { - "version": "8.40.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.40.0.tgz", - "integrity": "sha512-eE60cK4KzAc6ZrzlJnflXdrMqOBaugeukWICO2rB0KNvwdIMaEaYiywwHMzA1qFpTxrLhN9Lp4E/00EgWcD3Ow==", + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.41.0.tgz", + "integrity": "sha512-63qt1h91vg3KsjVVonFJWjgSK7pZHSQFKH6uwqxAH9bBrsyRhO6ONoKyXxyVBzG1lJnFAJcKAcxLS54N1ee1OQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.40.0", - "@typescript-eslint/typescript-estree": "8.40.0", - "@typescript-eslint/utils": "8.40.0", + "@typescript-eslint/types": "8.41.0", + "@typescript-eslint/typescript-estree": "8.41.0", + "@typescript-eslint/utils": "8.41.0", "debug": "^4.3.4", "ts-api-utils": "^2.1.0" }, @@ -10570,9 +10514,9 @@ } }, "node_modules/eslint-config-oclif/node_modules/@typescript-eslint/types": { - "version": "8.40.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.40.0.tgz", - "integrity": "sha512-ETdbFlgbAmXHyFPwqUIYrfc12ArvpBhEVgGAxVYSwli26dn8Ko+lIo4Su9vI9ykTZdJn+vJprs/0eZU0YMAEQg==", + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.41.0.tgz", + "integrity": "sha512-9EwxsWdVqh42afLbHP90n2VdHaWU/oWgbH2P0CfcNfdKL7CuKpwMQGjwev56vWu9cSKU7FWSu6r9zck6CVfnag==", "dev": true, "license": "MIT", "engines": { @@ -10584,16 +10528,16 @@ } }, "node_modules/eslint-config-oclif/node_modules/@typescript-eslint/typescript-estree": { - "version": "8.40.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.40.0.tgz", - "integrity": "sha512-k1z9+GJReVVOkc1WfVKs1vBrR5MIKKbdAjDTPvIK3L8De6KbFfPFt6BKpdkdk7rZS2GtC/m6yI5MYX+UsuvVYQ==", + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.41.0.tgz", + "integrity": "sha512-D43UwUYJmGhuwHfY7MtNKRZMmfd8+p/eNSfFe6tH5mbVDto+VQCayeAt35rOx3Cs6wxD16DQtIKw/YXxt5E0UQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.40.0", - "@typescript-eslint/tsconfig-utils": "8.40.0", - "@typescript-eslint/types": "8.40.0", - "@typescript-eslint/visitor-keys": "8.40.0", + "@typescript-eslint/project-service": "8.41.0", + "@typescript-eslint/tsconfig-utils": "8.41.0", + "@typescript-eslint/types": "8.41.0", + "@typescript-eslint/visitor-keys": "8.41.0", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -10629,16 +10573,16 @@ } }, "node_modules/eslint-config-oclif/node_modules/@typescript-eslint/utils": { - "version": "8.40.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.40.0.tgz", - "integrity": "sha512-Cgzi2MXSZyAUOY+BFwGs17s7ad/7L+gKt6Y8rAVVWS+7o6wrjeFN4nVfTpbE25MNcxyJ+iYUXflbs2xR9h4UBg==", + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.41.0.tgz", + "integrity": "sha512-udbCVstxZ5jiPIXrdH+BZWnPatjlYwJuJkDA4Tbo3WyYLh8NvB+h/bKeSZHDOFKfphsZYJQqaFtLeXEqurQn1A==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.7.0", - "@typescript-eslint/scope-manager": "8.40.0", - "@typescript-eslint/types": "8.40.0", - "@typescript-eslint/typescript-estree": "8.40.0" + "@typescript-eslint/scope-manager": "8.41.0", + "@typescript-eslint/types": "8.41.0", + "@typescript-eslint/typescript-estree": "8.41.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -10653,13 +10597,13 @@ } }, "node_modules/eslint-config-oclif/node_modules/@typescript-eslint/visitor-keys": { - "version": "8.40.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.40.0.tgz", - "integrity": "sha512-8CZ47QwalyRjsypfwnbI3hKy5gJDPmrkLjkgMxhi0+DZZ2QNx2naS6/hWoVYUHU7LU2zleF68V9miaVZvhFfTA==", + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.41.0.tgz", + "integrity": "sha512-+GeGMebMCy0elMNg67LRNoVnUFPIm37iu5CmHESVx56/9Jsfdpsvbv605DQ81Pi/x11IdKUsS5nzgTYbCQU9fg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.40.0", + "@typescript-eslint/types": "8.41.0", "eslint-visitor-keys": "^4.2.1" }, "engines": { @@ -10704,9 +10648,9 @@ } }, "node_modules/eslint-config-oclif/node_modules/eslint": { - "version": "9.33.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.33.0.tgz", - "integrity": "sha512-TS9bTNIryDzStCpJN93aC5VRSW3uTx9sClUn4B87pwiCaJh220otoI0X8mJKr+VcPtniMdN8GKjlwgWGUv5ZKA==", + "version": "9.34.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.34.0.tgz", + "integrity": "sha512-RNCHRX5EwdrESy3Jc9o8ie8Bog+PeYvvSR8sDGoZxNFTvZ4dlxUB3WzQ3bQMztFrSRODGrLLj8g6OFuGY/aiQg==", "dev": true, "license": "MIT", "peer": true, @@ -10717,7 +10661,7 @@ "@eslint/config-helpers": "^0.3.1", "@eslint/core": "^0.15.2", "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.33.0", + "@eslint/js": "9.34.0", "@eslint/plugin-kit": "^0.3.5", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", @@ -10841,40 +10785,41 @@ } }, "node_modules/eslint-config-oclif/node_modules/eslint-config-xo": { - "version": "0.48.0", - "resolved": "https://registry.npmjs.org/eslint-config-xo/-/eslint-config-xo-0.48.0.tgz", - "integrity": "sha512-zINsjr18HJQtTRfod95Vz5wAwcIuN1ss8tRqFdSqj8fvXxJNYLrnEpE+Vderxu4Ydm3yIhYNyEUuP/c4wZerWA==", + "version": "0.49.0", + "resolved": "https://registry.npmjs.org/eslint-config-xo/-/eslint-config-xo-0.49.0.tgz", + "integrity": "sha512-hGtD689+fdJxggx1QbEjWfgGOsTasmYqtfk3Rsxru9QyKg2iOhXO2fvR9C7ck8AGw+n2wy6FsA8/MBIzznt5/Q==", "dev": true, "license": "MIT", "dependencies": { - "@eslint/css": "^0.7.0", - "@eslint/json": "^0.12.0", - "@stylistic/eslint-plugin": "^4.2.0", + "@eslint/css": "^0.10.0", + "@eslint/json": "^0.13.1", + "@stylistic/eslint-plugin": "^5.2.3", "confusing-browser-globals": "1.0.11", - "globals": "^16.0.0" + "globals": "^16.3.0" }, "engines": { - "node": ">=18.18" + "node": ">=20" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" }, "peerDependencies": { - "eslint": ">=9.27.0" + "eslint": ">=9.33.0" } }, "node_modules/eslint-config-oclif/node_modules/eslint-config-xo/node_modules/@stylistic/eslint-plugin": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-4.4.1.tgz", - "integrity": "sha512-CEigAk7eOLyHvdgmpZsKFwtiqS2wFwI1fn4j09IU9GmD4euFM4jEBAViWeCqaNLlbX2k2+A/Fq9cje4HQBXuJQ==", + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-5.2.3.tgz", + "integrity": "sha512-oY7GVkJGVMI5benlBDCaRrSC1qPasafyv5dOBLLv5MTilMGnErKhO6ziEfodDDIZbo5QxPUNW360VudJOFODMw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/utils": "^8.32.1", - "eslint-visitor-keys": "^4.2.0", - "espree": "^10.3.0", + "@eslint-community/eslint-utils": "^4.7.0", + "@typescript-eslint/types": "^8.38.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", "estraverse": "^5.3.0", - "picomatch": "^4.0.2" + "picomatch": "^4.0.3" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -11433,14 +11378,14 @@ } }, "node_modules/eslint-plugin-perfectionist/node_modules/@typescript-eslint/scope-manager": { - "version": "8.40.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.40.0.tgz", - "integrity": "sha512-y9ObStCcdCiZKzwqsE8CcpyuVMwRouJbbSrNuThDpv16dFAj429IkM6LNb1dZ2m7hK5fHyzNcErZf7CEeKXR4w==", + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.41.0.tgz", + "integrity": "sha512-n6m05bXn/Cd6DZDGyrpXrELCPVaTnLdPToyhBoFkLIMznRUQUEQdSp96s/pcWSQdqOhrgR1mzJ+yItK7T+WPMQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.40.0", - "@typescript-eslint/visitor-keys": "8.40.0" + "@typescript-eslint/types": "8.41.0", + "@typescript-eslint/visitor-keys": "8.41.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -11451,9 +11396,9 @@ } }, "node_modules/eslint-plugin-perfectionist/node_modules/@typescript-eslint/types": { - "version": "8.40.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.40.0.tgz", - "integrity": "sha512-ETdbFlgbAmXHyFPwqUIYrfc12ArvpBhEVgGAxVYSwli26dn8Ko+lIo4Su9vI9ykTZdJn+vJprs/0eZU0YMAEQg==", + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.41.0.tgz", + "integrity": "sha512-9EwxsWdVqh42afLbHP90n2VdHaWU/oWgbH2P0CfcNfdKL7CuKpwMQGjwev56vWu9cSKU7FWSu6r9zck6CVfnag==", "dev": true, "license": "MIT", "engines": { @@ -11465,16 +11410,16 @@ } }, "node_modules/eslint-plugin-perfectionist/node_modules/@typescript-eslint/typescript-estree": { - "version": "8.40.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.40.0.tgz", - "integrity": "sha512-k1z9+GJReVVOkc1WfVKs1vBrR5MIKKbdAjDTPvIK3L8De6KbFfPFt6BKpdkdk7rZS2GtC/m6yI5MYX+UsuvVYQ==", + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.41.0.tgz", + "integrity": "sha512-D43UwUYJmGhuwHfY7MtNKRZMmfd8+p/eNSfFe6tH5mbVDto+VQCayeAt35rOx3Cs6wxD16DQtIKw/YXxt5E0UQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.40.0", - "@typescript-eslint/tsconfig-utils": "8.40.0", - "@typescript-eslint/types": "8.40.0", - "@typescript-eslint/visitor-keys": "8.40.0", + "@typescript-eslint/project-service": "8.41.0", + "@typescript-eslint/tsconfig-utils": "8.41.0", + "@typescript-eslint/types": "8.41.0", + "@typescript-eslint/visitor-keys": "8.41.0", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -11494,16 +11439,16 @@ } }, "node_modules/eslint-plugin-perfectionist/node_modules/@typescript-eslint/utils": { - "version": "8.40.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.40.0.tgz", - "integrity": "sha512-Cgzi2MXSZyAUOY+BFwGs17s7ad/7L+gKt6Y8rAVVWS+7o6wrjeFN4nVfTpbE25MNcxyJ+iYUXflbs2xR9h4UBg==", + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.41.0.tgz", + "integrity": "sha512-udbCVstxZ5jiPIXrdH+BZWnPatjlYwJuJkDA4Tbo3WyYLh8NvB+h/bKeSZHDOFKfphsZYJQqaFtLeXEqurQn1A==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.7.0", - "@typescript-eslint/scope-manager": "8.40.0", - "@typescript-eslint/types": "8.40.0", - "@typescript-eslint/typescript-estree": "8.40.0" + "@typescript-eslint/scope-manager": "8.41.0", + "@typescript-eslint/types": "8.41.0", + "@typescript-eslint/typescript-estree": "8.41.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -11518,13 +11463,13 @@ } }, "node_modules/eslint-plugin-perfectionist/node_modules/@typescript-eslint/visitor-keys": { - "version": "8.40.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.40.0.tgz", - "integrity": "sha512-8CZ47QwalyRjsypfwnbI3hKy5gJDPmrkLjkgMxhi0+DZZ2QNx2naS6/hWoVYUHU7LU2zleF68V9miaVZvhFfTA==", + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.41.0.tgz", + "integrity": "sha512-+GeGMebMCy0elMNg67LRNoVnUFPIm37iu5CmHESVx56/9Jsfdpsvbv605DQ81Pi/x11IdKUsS5nzgTYbCQU9fg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.40.0", + "@typescript-eslint/types": "8.41.0", "eslint-visitor-keys": "^4.2.1" }, "engines": { @@ -12075,9 +12020,9 @@ } }, "node_modules/fast-uri": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz", - "integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", + "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", "funding": [ { "type": "github", @@ -17291,9 +17236,9 @@ } }, "node_modules/mdn-data": { - "version": "2.21.0", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.21.0.tgz", - "integrity": "sha512-+ZKPQezM5vYJIkCxaC+4DTnRrVZR1CgsKLu5zsQERQx6Tea8Y+wMx5A24rq8A8NepCeatIQufVAekKNgiBMsGQ==", + "version": "2.23.0", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.23.0.tgz", + "integrity": "sha512-786vq1+4079JSeu2XdcDjrhi/Ry7BWtjDl9WtGPWLiIHb2T66GvIVflZTBoSNZ5JqTtJGYEVMuFA/lbQlMOyDQ==", "dev": true, "license": "CC0-1.0" }, @@ -20850,20 +20795,20 @@ } }, "node_modules/oclif": { - "version": "4.22.12", - "resolved": "https://registry.npmjs.org/oclif/-/oclif-4.22.12.tgz", - "integrity": "sha512-93TTtMhAuRJdOJtz5Yp69gfrHywt86TzHs6mn+GLUZPi8o4/kH/uEX9d8Axi+B1XUo9v9ssGddVBGSobxcFD2g==", + "version": "4.22.14", + "resolved": "https://registry.npmjs.org/oclif/-/oclif-4.22.14.tgz", + "integrity": "sha512-YSLKaWqSr5b1dKHrY5NrycPezFP3rE918LZFr+9gkfSFMyBZcR1HWRcfS2jfLyU0En4TTe1lJxl878+RVLC0ew==", "dev": true, "license": "MIT", "dependencies": { - "@aws-sdk/client-cloudfront": "^3.864.0", + "@aws-sdk/client-cloudfront": "^3.873.0", "@aws-sdk/client-s3": "^3.864.0", "@inquirer/confirm": "^3.1.22", "@inquirer/input": "^2.2.4", "@inquirer/select": "^2.5.0", "@oclif/core": "^4.5.2", "@oclif/plugin-help": "^6.2.32", - "@oclif/plugin-not-found": "^3.2.64", + "@oclif/plugin-not-found": "^3.2.66", "@oclif/plugin-warn-if-update-available": "^3.1.46", "ansis": "^3.16.0", "async-retry": "^1.3.3", @@ -22805,9 +22750,9 @@ } }, "node_modules/rollup": { - "version": "4.47.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.47.1.tgz", - "integrity": "sha512-iasGAQoZ5dWDzULEUX3jiW0oB1qyFOepSyDyoU6S/OhVlDIwj5knI5QBa5RRQ0sK7OE0v+8VIi2JuV+G+3tfNg==", + "version": "4.48.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.48.1.tgz", + "integrity": "sha512-jVG20NvbhTYDkGAty2/Yh7HK6/q3DGSRH4o8ALKGArmMuaauM9kLfoMZ+WliPwA5+JHr2lTn3g557FxBV87ifg==", "license": "MIT", "dependencies": { "@types/estree": "1.0.8" @@ -22820,26 +22765,26 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.47.1", - "@rollup/rollup-android-arm64": "4.47.1", - "@rollup/rollup-darwin-arm64": "4.47.1", - "@rollup/rollup-darwin-x64": "4.47.1", - "@rollup/rollup-freebsd-arm64": "4.47.1", - "@rollup/rollup-freebsd-x64": "4.47.1", - "@rollup/rollup-linux-arm-gnueabihf": "4.47.1", - "@rollup/rollup-linux-arm-musleabihf": "4.47.1", - "@rollup/rollup-linux-arm64-gnu": "4.47.1", - "@rollup/rollup-linux-arm64-musl": "4.47.1", - "@rollup/rollup-linux-loongarch64-gnu": "4.47.1", - "@rollup/rollup-linux-ppc64-gnu": "4.47.1", - "@rollup/rollup-linux-riscv64-gnu": "4.47.1", - "@rollup/rollup-linux-riscv64-musl": "4.47.1", - "@rollup/rollup-linux-s390x-gnu": "4.47.1", - "@rollup/rollup-linux-x64-gnu": "4.47.1", - "@rollup/rollup-linux-x64-musl": "4.47.1", - "@rollup/rollup-win32-arm64-msvc": "4.47.1", - "@rollup/rollup-win32-ia32-msvc": "4.47.1", - "@rollup/rollup-win32-x64-msvc": "4.47.1", + "@rollup/rollup-android-arm-eabi": "4.48.1", + "@rollup/rollup-android-arm64": "4.48.1", + "@rollup/rollup-darwin-arm64": "4.48.1", + "@rollup/rollup-darwin-x64": "4.48.1", + "@rollup/rollup-freebsd-arm64": "4.48.1", + "@rollup/rollup-freebsd-x64": "4.48.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.48.1", + "@rollup/rollup-linux-arm-musleabihf": "4.48.1", + "@rollup/rollup-linux-arm64-gnu": "4.48.1", + "@rollup/rollup-linux-arm64-musl": "4.48.1", + "@rollup/rollup-linux-loongarch64-gnu": "4.48.1", + "@rollup/rollup-linux-ppc64-gnu": "4.48.1", + "@rollup/rollup-linux-riscv64-gnu": "4.48.1", + "@rollup/rollup-linux-riscv64-musl": "4.48.1", + "@rollup/rollup-linux-s390x-gnu": "4.48.1", + "@rollup/rollup-linux-x64-gnu": "4.48.1", + "@rollup/rollup-linux-x64-musl": "4.48.1", + "@rollup/rollup-win32-arm64-msvc": "4.48.1", + "@rollup/rollup-win32-ia32-msvc": "4.48.1", + "@rollup/rollup-win32-x64-msvc": "4.48.1", "fsevents": "~2.3.2" } }, @@ -24403,13 +24348,17 @@ } }, "node_modules/tapable": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.2.tgz", - "integrity": "sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.3.tgz", + "integrity": "sha512-ZL6DDuAlRlLGghwcfmSn9sK3Hr6ArtyudlSAiCqQ6IfE+b+HHbydbYDIG15IfS5do+7XQQBdBiubF/cV2dnDzg==", "dev": true, "license": "MIT", "engines": { "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, "node_modules/tar": { @@ -24927,9 +24876,9 @@ "license": "0BSD" }, "node_modules/tsx": { - "version": "4.20.4", - "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.20.4.tgz", - "integrity": "sha512-yyxBKfORQ7LuRt/BQKBXrpcq59ZvSW0XxwfjAt3w2/8PmdxaFzijtMhTawprSHhpzeM5BgU2hXHG3lklIERZXg==", + "version": "4.20.5", + "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.20.5.tgz", + "integrity": "sha512-+wKjMNU9w/EaQayHXb7WA7ZaHY6hN8WgfvHNQ3t1PnU91/7O8TcTnIhCDYTZwnt8JsO9IBqZ30Ln1r7pPF52Aw==", "dev": true, "license": "MIT", "dependencies": { @@ -25162,16 +25111,16 @@ } }, "node_modules/typescript-eslint": { - "version": "8.40.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.40.0.tgz", - "integrity": "sha512-Xvd2l+ZmFDPEt4oj1QEXzA4A2uUK6opvKu3eGN9aGjB8au02lIVcLyi375w94hHyejTOmzIU77L8ol2sRg9n7Q==", + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.41.0.tgz", + "integrity": "sha512-n66rzs5OBXW3SFSnZHr2T685q1i4ODm2nulFJhMZBotaTavsS8TrI3d7bDlRSs9yWo7HmyWrN9qDu14Qv7Y0Dw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.40.0", - "@typescript-eslint/parser": "8.40.0", - "@typescript-eslint/typescript-estree": "8.40.0", - "@typescript-eslint/utils": "8.40.0" + "@typescript-eslint/eslint-plugin": "8.41.0", + "@typescript-eslint/parser": "8.41.0", + "@typescript-eslint/typescript-estree": "8.41.0", + "@typescript-eslint/utils": "8.41.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -25186,17 +25135,17 @@ } }, "node_modules/typescript-eslint/node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.40.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.40.0.tgz", - "integrity": "sha512-w/EboPlBwnmOBtRbiOvzjD+wdiZdgFeo17lkltrtn7X37vagKKWJABvyfsJXTlHe6XBzugmYgd4A4nW+k8Mixw==", + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.41.0.tgz", + "integrity": "sha512-8fz6oa6wEKZrhXWro/S3n2eRJqlRcIa6SlDh59FXJ5Wp5XRZ8B9ixpJDcjadHq47hMx0u+HW6SNa6LjJQ6NLtw==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.40.0", - "@typescript-eslint/type-utils": "8.40.0", - "@typescript-eslint/utils": "8.40.0", - "@typescript-eslint/visitor-keys": "8.40.0", + "@typescript-eslint/scope-manager": "8.41.0", + "@typescript-eslint/type-utils": "8.41.0", + "@typescript-eslint/utils": "8.41.0", + "@typescript-eslint/visitor-keys": "8.41.0", "graphemer": "^1.4.0", "ignore": "^7.0.0", "natural-compare": "^1.4.0", @@ -25210,22 +25159,22 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.40.0", + "@typescript-eslint/parser": "^8.41.0", "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/typescript-eslint/node_modules/@typescript-eslint/parser": { - "version": "8.40.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.40.0.tgz", - "integrity": "sha512-jCNyAuXx8dr5KJMkecGmZ8KI61KBUhkCob+SD+C+I5+Y1FWI2Y3QmY4/cxMCC5WAsZqoEtEETVhUiUMIGCf6Bw==", + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.41.0.tgz", + "integrity": "sha512-gTtSdWX9xiMPA/7MV9STjJOOYtWwIJIYxkQxnSV1U3xcE+mnJSH3f6zI0RYP+ew66WSlZ5ed+h0VCxsvdC1jJg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.40.0", - "@typescript-eslint/types": "8.40.0", - "@typescript-eslint/typescript-estree": "8.40.0", - "@typescript-eslint/visitor-keys": "8.40.0", + "@typescript-eslint/scope-manager": "8.41.0", + "@typescript-eslint/types": "8.41.0", + "@typescript-eslint/typescript-estree": "8.41.0", + "@typescript-eslint/visitor-keys": "8.41.0", "debug": "^4.3.4" }, "engines": { @@ -25241,14 +25190,14 @@ } }, "node_modules/typescript-eslint/node_modules/@typescript-eslint/scope-manager": { - "version": "8.40.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.40.0.tgz", - "integrity": "sha512-y9ObStCcdCiZKzwqsE8CcpyuVMwRouJbbSrNuThDpv16dFAj429IkM6LNb1dZ2m7hK5fHyzNcErZf7CEeKXR4w==", + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.41.0.tgz", + "integrity": "sha512-n6m05bXn/Cd6DZDGyrpXrELCPVaTnLdPToyhBoFkLIMznRUQUEQdSp96s/pcWSQdqOhrgR1mzJ+yItK7T+WPMQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.40.0", - "@typescript-eslint/visitor-keys": "8.40.0" + "@typescript-eslint/types": "8.41.0", + "@typescript-eslint/visitor-keys": "8.41.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -25259,15 +25208,15 @@ } }, "node_modules/typescript-eslint/node_modules/@typescript-eslint/type-utils": { - "version": "8.40.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.40.0.tgz", - "integrity": "sha512-eE60cK4KzAc6ZrzlJnflXdrMqOBaugeukWICO2rB0KNvwdIMaEaYiywwHMzA1qFpTxrLhN9Lp4E/00EgWcD3Ow==", + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.41.0.tgz", + "integrity": "sha512-63qt1h91vg3KsjVVonFJWjgSK7pZHSQFKH6uwqxAH9bBrsyRhO6ONoKyXxyVBzG1lJnFAJcKAcxLS54N1ee1OQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.40.0", - "@typescript-eslint/typescript-estree": "8.40.0", - "@typescript-eslint/utils": "8.40.0", + "@typescript-eslint/types": "8.41.0", + "@typescript-eslint/typescript-estree": "8.41.0", + "@typescript-eslint/utils": "8.41.0", "debug": "^4.3.4", "ts-api-utils": "^2.1.0" }, @@ -25284,9 +25233,9 @@ } }, "node_modules/typescript-eslint/node_modules/@typescript-eslint/types": { - "version": "8.40.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.40.0.tgz", - "integrity": "sha512-ETdbFlgbAmXHyFPwqUIYrfc12ArvpBhEVgGAxVYSwli26dn8Ko+lIo4Su9vI9ykTZdJn+vJprs/0eZU0YMAEQg==", + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.41.0.tgz", + "integrity": "sha512-9EwxsWdVqh42afLbHP90n2VdHaWU/oWgbH2P0CfcNfdKL7CuKpwMQGjwev56vWu9cSKU7FWSu6r9zck6CVfnag==", "dev": true, "license": "MIT", "engines": { @@ -25298,16 +25247,16 @@ } }, "node_modules/typescript-eslint/node_modules/@typescript-eslint/typescript-estree": { - "version": "8.40.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.40.0.tgz", - "integrity": "sha512-k1z9+GJReVVOkc1WfVKs1vBrR5MIKKbdAjDTPvIK3L8De6KbFfPFt6BKpdkdk7rZS2GtC/m6yI5MYX+UsuvVYQ==", + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.41.0.tgz", + "integrity": "sha512-D43UwUYJmGhuwHfY7MtNKRZMmfd8+p/eNSfFe6tH5mbVDto+VQCayeAt35rOx3Cs6wxD16DQtIKw/YXxt5E0UQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.40.0", - "@typescript-eslint/tsconfig-utils": "8.40.0", - "@typescript-eslint/types": "8.40.0", - "@typescript-eslint/visitor-keys": "8.40.0", + "@typescript-eslint/project-service": "8.41.0", + "@typescript-eslint/tsconfig-utils": "8.41.0", + "@typescript-eslint/types": "8.41.0", + "@typescript-eslint/visitor-keys": "8.41.0", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -25327,16 +25276,16 @@ } }, "node_modules/typescript-eslint/node_modules/@typescript-eslint/utils": { - "version": "8.40.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.40.0.tgz", - "integrity": "sha512-Cgzi2MXSZyAUOY+BFwGs17s7ad/7L+gKt6Y8rAVVWS+7o6wrjeFN4nVfTpbE25MNcxyJ+iYUXflbs2xR9h4UBg==", + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.41.0.tgz", + "integrity": "sha512-udbCVstxZ5jiPIXrdH+BZWnPatjlYwJuJkDA4Tbo3WyYLh8NvB+h/bKeSZHDOFKfphsZYJQqaFtLeXEqurQn1A==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.7.0", - "@typescript-eslint/scope-manager": "8.40.0", - "@typescript-eslint/types": "8.40.0", - "@typescript-eslint/typescript-estree": "8.40.0" + "@typescript-eslint/scope-manager": "8.41.0", + "@typescript-eslint/types": "8.41.0", + "@typescript-eslint/typescript-estree": "8.41.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -25351,13 +25300,13 @@ } }, "node_modules/typescript-eslint/node_modules/@typescript-eslint/visitor-keys": { - "version": "8.40.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.40.0.tgz", - "integrity": "sha512-8CZ47QwalyRjsypfwnbI3hKy5gJDPmrkLjkgMxhi0+DZZ2QNx2naS6/hWoVYUHU7LU2zleF68V9miaVZvhFfTA==", + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.41.0.tgz", + "integrity": "sha512-+GeGMebMCy0elMNg67LRNoVnUFPIm37iu5CmHESVx56/9Jsfdpsvbv605DQ81Pi/x11IdKUsS5nzgTYbCQU9fg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.40.0", + "@typescript-eslint/types": "8.41.0", "eslint-visitor-keys": "^4.2.1" }, "engines": { From 7da5db39b43c1ce74f239814b3f68fec92c377e7 Mon Sep 17 00:00:00 2001 From: "harshitha.d" Date: Tue, 26 Aug 2025 12:59:11 +0530 Subject: [PATCH 6/6] update talismanrc --- .talismanrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.talismanrc b/.talismanrc index 545acc031f..99474eb415 100644 --- a/.talismanrc +++ b/.talismanrc @@ -1,6 +1,6 @@ fileignoreconfig: - filename: package-lock.json - checksum: 26919db6d82143f9cd3ffc36ce5b67eb0802c6baa648b56c25312c50c662537d + checksum: 16a20411514058d2030b6240573078fad7640b745545a0463e9b70985f92425c - filename: pnpm-lock.yaml checksum: d28afee9b463d66004354b9476b1e39344f903e2db3a15c5f83bd84e688c01d6 - filename: packages/contentstack-import-setup/test/unit/backup-handler.test.ts