]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-16426 Remove SonarCloud code (frontend)
authorGuillaume Peoc'h <guillaume.peoch@sonarsource.com>
Tue, 24 May 2022 12:23:09 +0000 (14:23 +0200)
committersonartech <sonartech@sonarsource.com>
Tue, 24 May 2022 20:10:14 +0000 (20:10 +0000)
18 files changed:
server/sonar-web/src/main/js/app/components/__tests__/GlobalFooter-test.tsx
server/sonar-web/src/main/js/apps/issues/components/PageActions.tsx
server/sonar-web/src/main/js/apps/maintenance/components/App.tsx
server/sonar-web/src/main/js/apps/overview/components/__tests__/App-test.tsx
server/sonar-web/src/main/js/apps/permission-templates/components/PermissionCell.tsx
server/sonar-web/src/main/js/apps/permissions/__tests__/utils-test.ts
server/sonar-web/src/main/js/apps/permissions/utils.ts
server/sonar-web/src/main/js/apps/projectsManagement/__tests__/Header-test.tsx
server/sonar-web/src/main/js/components/docs/DocLink.tsx
server/sonar-web/src/main/js/components/docs/DocTooltipLink.tsx
server/sonar-web/src/main/js/components/docs/__tests__/DocLink-test.tsx
server/sonar-web/src/main/js/components/docs/__tests__/DocTooltipLink-test.tsx
server/sonar-web/src/main/js/components/docs/__tests__/__snapshots__/DocLink-test.tsx.snap
server/sonar-web/src/main/js/components/docs/__tests__/__snapshots__/DocTooltipLink-test.tsx.snap
server/sonar-web/src/main/js/helpers/__tests__/__snapshots__/markdown-test.ts.snap
server/sonar-web/src/main/js/helpers/__tests__/markdown-test.ts
server/sonar-web/src/main/js/helpers/markdown.js
server/sonar-web/src/main/js/helpers/system.ts

index 7758e327c695a4fdb721ab22f08d19e55658eee5..afacff7897a5360eefdc6ab21e76873c8726b4ae 100644 (file)
@@ -23,8 +23,6 @@ import { mockAppState } from '../../../helpers/testMocks';
 import { EditionKey } from '../../../types/editions';
 import { GlobalFooter, GlobalFooterProps } from '../GlobalFooter';
 
-jest.mock('../../../helpers/system', () => ({ isSonarCloud: jest.fn() }));
-
 it('should render the only logged in information', () => {
   expect(getWrapper()).toMatchSnapshot();
 });
index d257d1e82d17e2680a341fc5f4c1ffaeb64c059d..6cad88399d1ca9c408cafdb6be7d151cafb68dba 100644 (file)
@@ -21,7 +21,6 @@ import * as React from 'react';
 import HomePageSelect from '../../../components/controls/HomePageSelect';
 import PageShortcutsTooltip from '../../../components/ui/PageShortcutsTooltip';
 import { translate } from '../../../helpers/l10n';
-import { isSonarCloud } from '../../../helpers/system';
 import { Paging } from '../../../types/types';
 import IssuesCounter from './IssuesCounter';
 import TotalEffort from './TotalEffort';
@@ -49,10 +48,7 @@ export default function PageActions(props: PageActionsProps) {
       </div>
 
       {canSetHome && (
-        <HomePageSelect
-          className="huge-spacer-left"
-          currentPage={isSonarCloud() ? { type: 'MY_ISSUES' } : { type: 'ISSUES' }}
-        />
+        <HomePageSelect className="huge-spacer-left" currentPage={{ type: 'ISSUES' }} />
       )}
     </div>
   );
index ef134d4fd8896bff82a4cc6afb9621ba14833cce..7cf60e0d92e14e4cc4fbcf897d66f6ee58b666b3 100644 (file)
@@ -27,7 +27,7 @@ import { Button } from '../../../components/controls/buttons';
 import DateFromNow from '../../../components/intl/DateFromNow';
 import TimeFormatter from '../../../components/intl/TimeFormatter';
 import { translate } from '../../../helpers/l10n';
-import { getBaseUrl, isSonarCloud } from '../../../helpers/system';
+import { getBaseUrl } from '../../../helpers/system';
 import { getReturnUrl } from '../../../helpers/urls';
 import '../styles.css';
 
@@ -145,11 +145,9 @@ export default class App extends React.PureComponent<Props, State> {
                 <h1 className="maintenance-title text-danger">
                   <InstanceMessage message={translate('maintenance.is_offline')} />
                 </h1>
-                {!isSonarCloud() && (
-                  <p className="maintenance-text">
-                    {translate('maintenance.sonarqube_is_offline.text')}
-                  </p>
-                )}
+                <p className="maintenance-text">
+                  {translate('maintenance.sonarqube_is_offline.text')}
+                </p>
                 <p className="maintenance-text text-center">
                   <a href={getBaseUrl() + '/'}>{translate('maintenance.try_again')}</a>
                 </p>
index e9e3c018fce758c8d8798d17eaedd7e4182a4eb8..505ed021c241cf5aab6ab737768a036cb64a52ad 100644 (file)
  */
 import { shallow } from 'enzyme';
 import * as React from 'react';
-import { isSonarCloud } from '../../../../helpers/system';
 import { mockAppState } from '../../../../helpers/testMocks';
 import BranchOverview from '../../branches/BranchOverview';
 import { App } from '../App';
 
-jest.mock('../../../../helpers/system', () => ({ isSonarCloud: jest.fn() }));
-
 const component = {
   key: 'foo',
   analysisDate: '2016-01-01',
@@ -35,11 +32,6 @@ const component = {
   version: '0.0.1'
 };
 
-beforeEach(() => {
-  (isSonarCloud as jest.Mock<any>).mockClear();
-  (isSonarCloud as jest.Mock<any>).mockReturnValue(false);
-});
-
 it('should render BranchOverview', () => {
   expect(
     getWrapper()
index fbf33ad3dad685cde37d038d9f03ea8f0927102f..8c80d57dc49b2f01fb5617c04f95dc4ff701a81b 100644 (file)
@@ -20,7 +20,6 @@
 import * as React from 'react';
 import HelpTooltip from '../../../components/controls/HelpTooltip';
 import { translate } from '../../../helpers/l10n';
-import { isSonarCloud } from '../../../helpers/system';
 
 interface Props {
   permission: {
@@ -41,11 +40,7 @@ export default function PermissionCell({ permission: p }: Props) {
               {translate('permission_templates.project_creators')}
               <HelpTooltip
                 className="little-spacer-left"
-                overlay={translate(
-                  isSonarCloud()
-                    ? 'permission_templates.project_creators.explanation.sonarcloud'
-                    : 'permission_templates.project_creators.explanation'
-                )}
+                overlay={translate('permission_templates.project_creators.explanation')}
               />
             </li>
           )}
index 72e28f5ac3888a022e1ce19154663c39816ed330..c322579fe2d9e398be667d4da5884930670f125f 100644 (file)
  * along with this program; if not, write to the Free Software Foundation,
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
-import { isSonarCloud } from '../../../helpers/system';
 import { convertToPermissionDefinitions } from '../utils';
 
-jest.mock('../../../helpers/system', () => ({ isSonarCloud: jest.fn() }));
-
 jest.mock('../../../helpers/l10nBundle', () => ({
   getMessages: jest.fn().mockReturnValue({})
 }));
 
 describe('convertToPermissionDefinitions', () => {
   it('should convert and translate a permission definition', () => {
-    (isSonarCloud as jest.Mock).mockImplementation(() => false);
-
     const data = convertToPermissionDefinitions(['admin'], 'global_permissions');
     const expected = [
       {
@@ -41,34 +36,4 @@ describe('convertToPermissionDefinitions', () => {
 
     expect(data).toEqual(expected);
   });
-
-  it('should convert and translate a permission definition for SonarCloud', () => {
-    (isSonarCloud as jest.Mock).mockImplementation(() => true);
-
-    const data = convertToPermissionDefinitions(['admin'], 'global_permissions');
-    const expected = [
-      {
-        description: 'global_permissions.admin.desc.sonarcloud',
-        key: 'admin',
-        name: 'global_permissions.admin.sonarcloud'
-      }
-    ];
-
-    expect(data).toEqual(expected);
-  });
-
-  it('should fallback to basic message when SonarCloud version does not exist', () => {
-    (isSonarCloud as jest.Mock).mockImplementation(() => true);
-
-    const data = convertToPermissionDefinitions(['admin'], 'global_permissions');
-    const expected = [
-      {
-        description: 'global_permissions.admin.desc.sonarcloud',
-        key: 'admin',
-        name: 'global_permissions.admin.sonarcloud'
-      }
-    ];
-
-    expect(data).toEqual(expected);
-  });
 });
index 6bd1494c907fc4c48a102b8d2fd916053a1e9d63..2fe4d741417ea65a35f13e484d560fb59c44f6ae 100644 (file)
@@ -17,8 +17,7 @@
  * along with this program; if not, write to the Free Software Foundation,
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
-import { hasMessage, translate } from '../../helpers/l10n';
-import { isSonarCloud } from '../../helpers/system';
+import { translate } from '../../helpers/l10n';
 import { Dict, PermissionDefinition, PermissionDefinitionGroup } from '../../types/types';
 
 export const PERMISSIONS_ORDER_FOR_PROJECT_TEMPLATE = [
@@ -50,15 +49,8 @@ export const PERMISSIONS_ORDER_BY_QUALIFIER: Dict<string[]> = {
 };
 
 function convertToPermissionDefinition(permission: string, l10nPrefix: string) {
-  const getMessage = (messageKey: string) => {
-    const cloudMessageKey = `${messageKey}.sonarcloud`;
-    return isSonarCloud() && hasMessage(cloudMessageKey)
-      ? translate(cloudMessageKey)
-      : translate(messageKey);
-  };
-
-  const name = getMessage(`${l10nPrefix}.${permission}`);
-  const description = getMessage(`${l10nPrefix}.${permission}.desc`);
+  const name = translate(`${l10nPrefix}.${permission}`);
+  const description = translate(`${l10nPrefix}.${permission}.desc`);
 
   return {
     key: permission,
index f260ef4f5c8bee97008dfbb81b0a8ca31298a07c..fb55e6dee3bd394349ec9811e262ad4c4e9b4bac 100644 (file)
@@ -23,8 +23,7 @@ import { click } from '../../../helpers/testUtils';
 import Header, { Props } from '../Header';
 
 jest.mock('../../../helpers/system', () => ({
-  getReactDomContainerSelector: jest.fn(() => '#content'),
-  isSonarCloud: jest.fn().mockReturnValue(false)
+  getReactDomContainerSelector: jest.fn(() => '#content')
 }));
 
 it('renders', () => {
index 77e6cbd833c25d36c8a8d66a0c255a5e3276a051..1e1c556665abb2c77c50ffe4ed109bcdba242000 100644 (file)
@@ -21,7 +21,6 @@ import * as React from 'react';
 import { Link } from 'react-router';
 import withAppStateContext from '../../app/components/app-state/withAppStateContext';
 import DetachIcon from '../../components/icons/DetachIcon';
-import { isSonarCloud } from '../../helpers/system';
 import { AppState } from '../../types/appstate';
 
 interface OwnProps {
@@ -33,7 +32,6 @@ interface OwnProps {
 
 type Props = OwnProps & React.AnchorHTMLAttributes<HTMLAnchorElement>;
 
-const SONARCLOUD_LINK = '/#sonarcloud#/';
 const SONARQUBE_LINK = '/#sonarqube#/';
 const SONARQUBE_ADMIN_LINK = '/#sonarqube-admin#/';
 
@@ -56,9 +54,7 @@ export class DocLink extends React.PureComponent<Props> {
     }
 
     if (href && href.startsWith('/')) {
-      if (href.startsWith(SONARCLOUD_LINK)) {
-        return <SonarCloudLink url={href}>{children}</SonarCloudLink>;
-      } else if (href.startsWith(SONARQUBE_LINK)) {
+      if (href.startsWith(SONARQUBE_LINK)) {
         return <SonarQubeLink url={href}>{children}</SonarQubeLink>;
       } else if (href.startsWith(SONARQUBE_ADMIN_LINK)) {
         return (
@@ -91,28 +87,12 @@ export class DocLink extends React.PureComponent<Props> {
 
 export default withAppStateContext(DocLink);
 
-interface SonarCloudLinkProps {
-  children: React.ReactNode;
-  url: string;
-}
-
-function SonarCloudLink({ children, url }: SonarCloudLinkProps) {
-  if (!isSonarCloud()) {
-    return <>{children}</>;
-  }
-  const to = `/${url.substr(SONARCLOUD_LINK.length)}`;
-  return <Link to={to}>{children}</Link>;
-}
-
 interface SonarQubeLinkProps {
   children: React.ReactNode;
   url: string;
 }
 
 function SonarQubeLink({ children, url }: SonarQubeLinkProps) {
-  if (isSonarCloud()) {
-    return <>{children}</>;
-  }
   const to = `/${url.substr(SONARQUBE_LINK.length)}`;
   return (
     <Link target="_blank" to={to}>
@@ -128,7 +108,7 @@ interface SonarQubeAdminLinkProps {
 }
 
 function SonarQubeAdminLink({ canAdmin, children, url }: SonarQubeAdminLinkProps) {
-  if (isSonarCloud() || !canAdmin) {
+  if (!canAdmin) {
     return <>{children}</>;
   }
   const to = `/${url.substr(SONARQUBE_ADMIN_LINK.length)}`;
index e53e5dcf458ef14e3f090696e5a66c530a1c4c85..eb29f9be7aa9e4dd2ca35488c8b601a47f289ed5 100644 (file)
@@ -29,8 +29,6 @@ interface OwnProps {
 
 type Props = OwnProps & React.AnchorHTMLAttributes<HTMLAnchorElement>;
 
-const SONARCLOUD_LINK = '/#sonarcloud#/';
-
 export default function DocTooltipLink({ children, customProps, href, ...other }: Props) {
   if (customProps) {
     forEach(customProps, (value, key) => {
@@ -41,11 +39,7 @@ export default function DocTooltipLink({ children, customProps, href, ...other }
   }
 
   if (href && href.startsWith('/')) {
-    if (href.startsWith(SONARCLOUD_LINK)) {
-      href = `/${href.substr(SONARCLOUD_LINK.length)}`;
-    } else {
-      href = `/documentation/${href.substr(1)}`;
-    }
+    href = `/documentation/${href.substr(1)}`;
 
     return (
       <Link rel="noopener noreferrer" target="_blank" to={href} {...other}>
index 86e613815e07ecf4e5a052ba724ce6c0a4fe515b..fbc71124d70c0e068029c0c297b6dd99c5703668 100644 (file)
  */
 import { shallow } from 'enzyme';
 import * as React from 'react';
-import { isSonarCloud } from '../../../helpers/system';
 import { mockAppState } from '../../../helpers/testMocks';
 import { DocLink } from '../DocLink';
 
-jest.mock('../../../helpers/system', () => ({
-  isSonarCloud: jest.fn(() => false)
-}));
-
 it('should render simple link', () => {
   expect(
     shallow(
@@ -47,27 +42,6 @@ it('should render documentation link', () => {
   ).toMatchSnapshot();
 });
 
-it('should render sonarcloud link on sonarcloud', () => {
-  (isSonarCloud as jest.Mock).mockImplementationOnce(() => true);
-  const wrapper = shallow(
-    <DocLink appState={mockAppState({ canAdmin: false })} href="/#sonarcloud#/foo/bar">
-      link text
-    </DocLink>
-  );
-  expect(wrapper).toMatchSnapshot();
-  expect(wrapper.find('SonarCloudLink').dive()).toMatchSnapshot();
-});
-
-it('should not render sonarcloud link on sonarcloud', () => {
-  (isSonarCloud as jest.Mock).mockImplementationOnce(() => false);
-  const wrapper = shallow(
-    <DocLink appState={mockAppState({ canAdmin: false })} href="/#sonarcloud#/foo/bar">
-      link text
-    </DocLink>
-  );
-  expect(wrapper.find('SonarCloudLink').dive()).toMatchSnapshot();
-});
-
 it('should render sonarqube link on sonarqube', () => {
   const wrapper = shallow(
     <DocLink appState={mockAppState({ canAdmin: false })} href="/#sonarqube#/foo/bar">
@@ -78,16 +52,6 @@ it('should render sonarqube link on sonarqube', () => {
   expect(wrapper.find('SonarQubeLink').dive()).toMatchSnapshot();
 });
 
-it('should not render sonarqube link on sonarcloud', () => {
-  (isSonarCloud as jest.Mock).mockImplementationOnce(() => true);
-  const wrapper = shallow(
-    <DocLink appState={mockAppState({ canAdmin: false })} href="/#sonarqube#/foo/bar">
-      link text
-    </DocLink>
-  );
-  expect(wrapper.find('SonarQubeLink').dive()).toMatchSnapshot();
-});
-
 it('should render sonarqube admin link on sonarqube for admin', () => {
   const wrapper = shallow(
     <DocLink appState={mockAppState({ canAdmin: true })} href="/#sonarqube-admin#/foo/bar">
@@ -107,16 +71,6 @@ it('should not render sonarqube admin link on sonarqube for non-admin', () => {
   expect(wrapper.find('SonarQubeAdminLink').dive()).toMatchSnapshot();
 });
 
-it('should not render sonarqube admin link on sonarcloud', () => {
-  (isSonarCloud as jest.Mock).mockImplementationOnce(() => true);
-  const wrapper = shallow(
-    <DocLink appState={mockAppState({ canAdmin: true })} href="/#sonarqube-admin#/foo/bar">
-      link text
-    </DocLink>
-  );
-  expect(wrapper.find('SonarQubeAdminLink').dive()).toMatchSnapshot();
-});
-
 it('should render documentation anchor', () => {
   expect(
     shallow(
index 6a6dd11777976629fff571486cc955cf863d9ccc..632d4d31af6491dd39c5d9a9d548faf856e736e6 100644 (file)
@@ -31,6 +31,6 @@ it('should render internal link', () => {
 
 it('should render links with custom props', () => {
   expect(
-    shallow(<DocTooltipLink customProps={{ bar: 'baz' }} href="/#sonarcloud#/foo/#bar#" />)
+    shallow(<DocTooltipLink customProps={{ bar: 'baz' }} href="/foo/#bar#" />)
   ).toMatchSnapshot();
 });
index 3b3db3ba9382e597b9c264601287da53f46e2d04..a9918c0b75259f38ee9eb9c3fe43eab696ca17ae 100644 (file)
@@ -1,29 +1,11 @@
 // Jest Snapshot v1, https://goo.gl/fbAQLP
 
-exports[`should not render sonarcloud link on sonarcloud 1`] = `
-<Fragment>
-  link text
-</Fragment>
-`;
-
-exports[`should not render sonarqube admin link on sonarcloud 1`] = `
-<Fragment>
-  link text
-</Fragment>
-`;
-
 exports[`should not render sonarqube admin link on sonarqube for non-admin 1`] = `
 <Fragment>
   link text
 </Fragment>
 `;
 
-exports[`should not render sonarqube link on sonarcloud 1`] = `
-<Fragment>
-  link text
-</Fragment>
-`;
-
 exports[`should render documentation anchor 1`] = `
 <a
   href="#"
@@ -59,24 +41,6 @@ exports[`should render simple link 1`] = `
 </Fragment>
 `;
 
-exports[`should render sonarcloud link on sonarcloud 1`] = `
-<SonarCloudLink
-  url="/#sonarcloud#/foo/bar"
->
-  link text
-</SonarCloudLink>
-`;
-
-exports[`should render sonarcloud link on sonarcloud 2`] = `
-<Link
-  onlyActiveOnIndex={false}
-  style={Object {}}
-  to="/foo/bar"
->
-  link text
-</Link>
-`;
-
 exports[`should render sonarqube admin link on sonarqube for admin 1`] = `
 <SonarQubeAdminLink
   canAdmin={true}
index be9b357e26146eccf7471d75d2a892c954d9b5d5..4d7250e364ef48fd70073af0cccf89b12cfac0fb 100644 (file)
@@ -16,7 +16,7 @@ exports[`should render links with custom props 1`] = `
   rel="noopener noreferrer"
   style={Object {}}
   target="_blank"
-  to="/foo/baz"
+  to="/documentation/foo/baz"
 />
 `;
 
index 74dd4b87a032de3474e0e84028385d04fd137b07..cdc1f9a74e030dcf749da8a27d7e42479c323e0d 100644 (file)
@@ -28,34 +28,6 @@ Duis sagittis semper sapien nec tempor. Nullam vehicula nisi vitae nisi interdum
 "
 `;
 
-exports[`should cut sonarqube/sonarcloud/static content 2`] = `
-"
-This text has inline text for SonarCloud. Donec sed nulla magna.
-
-
-
-This is text for SonarCloud, multi-line. In hac habitasse platea dictumst. Duis sagittis semper sapien nec tempor. Nullam vehicula nisi vitae nisi interdum aliquam. Mauris volutpat nunc non fermentum rhoncus. Aenean laoreet, orci vitae tempor bibendum,
-metus nisl euismod neque, vitae euismod nibh nisl eu velit. Vivamus luctus suscipit elit vel semper.
-
-
-
-
-
-* In hac habitasse
-* Duis sagittis semper sapien nec tempor
-
-* This is a bullet point for SonarCloud
-* Platea dictumst
-
-Duis sagittis semper sapien nec tempor. Nullam vehicula nisi vitae nisi interdum aliquam.
-
-| Parameter Name        | Description |
-| --------------------- | ------------------ |
-| sonar.pullrequest.github.repository | SLUG of the GitHub Repo |
-
-"
-`;
-
 exports[`should not break when conditional tags are misused 1`] = `
 "Random SC text
   Break
index 9915c17fe52379bc729e83a5d4fd3a84bc3369b6..b4201f41bb66ad39026294551dfe77aea35eb601 100644 (file)
  */
 /* eslint-disable no-console */
 import { filterContent, getFrontMatter, separateFrontMatter } from '../markdown';
-import { isSonarCloud } from '../system';
 
 jest.mock('../system', () => ({
-  getInstance: () => 'SonarQube',
-  isSonarCloud: jest.fn().mockReturnValue(false)
+  getInstance: () => 'SonarQube'
 }));
 
 it('returns parsed frontmatter of one item', () => {
@@ -158,9 +156,6 @@ Duis sagittis semper sapien nec tempor. Nullam vehicula nisi vitae nisi interdum
 `;
 
   expect(filterContent(content)).toMatchSnapshot();
-
-  (isSonarCloud as jest.Mock).mockReturnValueOnce(true);
-  expect(filterContent(content)).toMatchSnapshot();
 });
 
 it('should not break when conditional tags are misused', () => {
index 075e10230e9cfdb46f971fe0981b3793cac05c00..6701d972642eba7d8387f4276df9108380ae58ba 100644 (file)
@@ -33,9 +33,8 @@ function separateFrontMatter(content) {
     const frontmatter = parseFrontMatter(lines.slice(position.firstLine + 1, position.lastLine));
     const content = lines.slice(position.lastLine + 1).join('\n');
     return { frontmatter, content };
-  } else {
-    return { frontmatter: {}, content };
   }
+  return { frontmatter: {}, content };
 }
 
 function getFrontMatterPosition(lines) {
@@ -57,8 +56,8 @@ function getFrontMatterPosition(lines) {
 
 function parseFrontMatter(lines) {
   const data = {};
-  for (let i = 0; i < lines.length; i++) {
-    const tokens = lines[i].split(':').map(x => x.trim());
+  for (const element of lines) {
+    const tokens = element.split(':').map(x => x.trim());
     if (tokens.length === 2) {
       data[tokens[0]] = tokens[1];
     }
@@ -72,12 +71,10 @@ function parseFrontMatter(lines) {
  */
 function filterContent(content) {
   const regexBase = '<!-- \\/?(sonarqube|sonarcloud|static) -->';
-  const { isSonarCloud, getInstance } = require('./system');
+  const { getInstance } = require('./system');
   const contentWithInstance = content.replace(/{instance}/gi, getInstance());
   const contentWithoutStatic = cutConditionalContent(contentWithInstance, 'static');
-  const filteredContent = isSonarCloud()
-    ? cutConditionalContent(contentWithoutStatic, 'sonarqube')
-    : cutConditionalContent(contentWithoutStatic, 'sonarcloud');
+  const filteredContent = cutConditionalContent(contentWithoutStatic, 'sonarcloud');
   return filteredContent
     .replace(new RegExp(`^${regexBase}(\n|\r|\r\n|$)`, 'gm'), '') // First, remove single-line ones, including ending carriage-returns.
     .replace(new RegExp(`${regexBase}`, 'g'), ''); // Now remove all remaining ones.
index 9a78a7c03e15de27ef4f8af6dd9144cd76fbb464..54da1b6b7d5d6fad6f71f771d5439c9056560486 100644 (file)
@@ -17,7 +17,6 @@
  * along with this program; if not, write to the Free Software Foundation,
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
-import { InstanceType } from '../types/system';
 import { getEnhancedWindow } from './browser';
 
 export function getBaseUrl() {
@@ -36,10 +35,6 @@ export function isOfficial() {
   return getEnhancedWindow().official;
 }
 
-export function isSonarCloud() {
-  return getInstance() === InstanceType.SonarCloud;
-}
-
 export function getReactDomContainerSelector() {
   return '#content';
 }