diff --git a/__mocks__/packagejson.ts b/__mocks__/packagejson.ts index 69a09fbee..748d04a38 100644 --- a/__mocks__/packagejson.ts +++ b/__mocks__/packagejson.ts @@ -1,5 +1,7 @@ module.exports = { default: { + name: 'atlascode', + publisher: 'atlassian', rovoDev: { version: '1.0.0' } diff --git a/src/commands.ts b/src/commands.ts index e554c6a82..098c220c8 100644 --- a/src/commands.ts +++ b/src/commands.ts @@ -20,7 +20,7 @@ import { createIssue } from './commands/jira/createIssue'; import { showIssue, showIssueForKey, showIssueForSiteIdAndKey, showIssueForURL } from './commands/jira/showIssue'; import { startWorkOnIssue } from './commands/jira/startWorkOnIssue'; import { configuration } from './config/configuration'; -import { Commands, HelpTreeViewId } from './constants'; +import { Commands, ExtensionId, HelpTreeViewId } from './constants'; import { Container } from './container'; import { FilterProvider } from './filter/filterProvider'; import { transitionIssue } from './jira/transitionIssue'; @@ -239,10 +239,10 @@ export function registerCommands(vscodeContext: ExtensionContext) { ), // Natigate them to VSCode Native settings commands.registerCommand(Commands.ShowPullRequestSettings, () => - commands.executeCommand('workbench.action.openSettings', '@ext:atlassian.atlascode pull requests'), + commands.executeCommand('workbench.action.openSettings', `@ext:${ExtensionId} pull requests`), ), commands.registerCommand(Commands.ShowPipelineSettings, () => - commands.executeCommand('workbench.action.openSettings', '@ext:atlassian.atlascode pipeline'), + commands.executeCommand('workbench.action.openSettings', `@ext:${ExtensionId} pipeline`), ), commands.registerCommand(Commands.JiraAPITokenLogin, () => { const useNewAuthFlow = Container.featureFlagClient.checkGate(Features.UseNewAuthFlow); diff --git a/src/commands/addRecommendedExtension.ts b/src/commands/addRecommendedExtension.ts index 62ed2d692..1b63448e8 100644 --- a/src/commands/addRecommendedExtension.ts +++ b/src/commands/addRecommendedExtension.ts @@ -3,10 +3,10 @@ import * as path from 'path'; import { Uri, window, workspace } from 'vscode'; import { addRecommendedExtensionTriggeredEvent } from '../analytics'; +import { ExtensionId } from '../constants'; import { Container } from '../container'; import { Logger } from '../logger'; -const ATLASCODE_EXTENSION_ID = 'atlassian.atlascode'; const VSCODE_FOLDER = '.vscode'; const EXTENSIONS_JSON_FILE = 'extensions.json'; @@ -59,13 +59,13 @@ export async function addAtlascodeAsRecommendedExtension(source: string = 'comma } // Check if atlascode is already recommended - if (extensionsConfig.recommendations.includes(ATLASCODE_EXTENSION_ID)) { + if (extensionsConfig.recommendations.includes(ExtensionId)) { window.showInformationMessage('Atlassian extension is already in the recommended extensions list.'); return; } // Add atlascode to recommendations - extensionsConfig.recommendations.push(ATLASCODE_EXTENSION_ID); + extensionsConfig.recommendations.push(ExtensionId); // Write the updated extensions.json file try { diff --git a/src/constants.ts b/src/constants.ts index 04ec829a3..d6abc3b9a 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -1,4 +1,6 @@ -export const ExtensionId = 'atlassian.atlascode'; +import packageJson from 'package.json'; + +export const ExtensionId = `${packageJson.publisher}.${packageJson.name}`; export const ConfigNamespace = 'atlascode'; export const extensionOutputChannelName = 'Atlassian'; export const JiraPreSelectedCreateKey = 'jira.lastCreatePreSelectedValues'; diff --git a/src/errorReporting.ts b/src/errorReporting.ts index 633e49357..8ac8e0f1b 100644 --- a/src/errorReporting.ts +++ b/src/errorReporting.ts @@ -4,9 +4,10 @@ import { errorEvent } from './analytics'; import { AnalyticsClient } from './analytics-node-client/src/client.min'; import { TrackEvent } from './analytics-node-client/src/types'; import { ErrorProductArea } from './analyticsTypes'; +import { ExtensionId } from './constants'; import { Logger } from './logger'; -const AtlascodeStackTraceHint = '/.vscode/extensions/atlassian.atlascode-'; +const AtlascodeStackTraceHint = `/.vscode/extensions/${ExtensionId}-`; let nodeJsErrorReportingRegistered = false; let analyticsClientRegistered = false; diff --git a/src/webview/config/vscConfigActionApi.ts b/src/webview/config/vscConfigActionApi.ts index 2e15e5001..0b3a2f958 100644 --- a/src/webview/config/vscConfigActionApi.ts +++ b/src/webview/config/vscConfigActionApi.ts @@ -22,7 +22,7 @@ import { SiteInfo, } from '../../atlclients/authInfo'; import { configuration, IConfig, JQLEntry } from '../../config/configuration'; -import { Commands } from '../../constants'; +import { Commands, ExtensionId } from '../../constants'; import { Container } from '../../container'; import { getFeedbackUser } from '../../feedback/feedbackUser'; import { AnalyticsApi } from '../../lib/analyticsApi'; @@ -351,7 +351,7 @@ export class VSCConfigActionApi implements ConfigActionApi { } public async openNativeSettings(): Promise { - await commands.executeCommand('workbench.action.openSettings', '@ext:atlassian.atlascode'); + await commands.executeCommand('workbench.action.openSettings', `@ext:${ExtensionId}`); this._analyticsApi.fireOpenSettingsButtonEvent('advancedConfigsPanel'); }