}
}
-yarn.configure {
- dependsOn tasks.getByPath(':server:sonar-ui-common:yarn_run')
-}
-
yarn_run {
def docsVersion = version.split("[.-]").take(2).join('.')
environment = [ GATSBY_DOCS_VERSION: docsVersion ]
"react-helmet": "5.2.1",
"react-typography": "0.16.19",
"rehype-react": "6.1.0",
- "sonar-ui-common": "../sonar-ui-common/build/dist",
"typography": "0.16.19"
},
"devDependencies": {
"classNameTemplate": "{classname}",
"titleTemplate": "{title}"
}
-}
+}
\ No newline at end of file
--- /dev/null
+/*
+ * SonarQube
+ * Copyright (C) 2009-2021 SonarSource SA
+ * mailto:info AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+.update-center-meta-data {
+ margin: 16px 0;
+ padding: 16px 16px 8px 16px;
+ background: #f9f9fb;
+ border: 1px solid #e6e6e6;
+ border-radius: 3px;
+}
+
+.update-center-meta-data a svg {
+ margin-right: 8px;
+}
+
+.update-center-meta-data-header {
+ border-bottom: 1px solid #cfd3d7;
+ padding-bottom: 16px;
+}
+
+.update-center-meta-data-header,
+.update-center-meta-data-version-release-info,
+.update-center-meta-data-version-links {
+ display: flex;
+}
+
+.update-center-meta-data-header > * + *,
+.update-center-meta-data-version-release-info > * + * {
+ margin-left: 16px;
+}
+
+.update-center-meta-data-header > * + * {
+ padding-left: 16px;
+ border-left: 1px solid #cfd3d7;
+}
+
+.update-center-meta-data-versions {
+ margin-top: 16px;
+}
+
+.update-center-meta-data-versions-show-more {
+ font-size: 14px;
+ float: right;
+ color: #51575a;
+ border-color: #7b8184;
+ border-width: 0 0 1px 0;
+ padding-left: 0;
+ padding-right: 0;
+ background: transparent;
+ cursor: pointer;
+}
+
+.update-center-meta-data-versions-show-more:hover {
+ color: #2d3032;
+ border-color: #2d3032;
+}
+
+.update-center-meta-data-version {
+ margin-bottom: 16px;
+}
+
+.update-center-meta-data-version + .update-center-meta-data-version {
+ padding-top: 8px;
+ border-top: 1px dashed #cfd3d7;
+}
+
+.update-center-meta-data-version-version {
+ font-weight: bold;
+ font-size: 18px;
+}
+
+.update-center-meta-data-version-release-info {
+ margin-top: 8px;
+ font-style: italic;
+}
+
+.update-center-meta-data-version-release-description {
+ margin-top: 8px;
+}
+
+.update-center-meta-data-version-download > a,
+.update-center-meta-data-version-release-notes > a {
+ display: inline-block;
+ margin: 8px 16px 0 0;
+}
--- /dev/null
+/*
+ * SonarQube
+ * Copyright (C) 2009-2021 SonarSource SA
+ * mailto:info AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+import * as React from 'react';
+import './MetaData.css';
+import MetaDataVersions from './MetaDataVersions';
+import { MetaDataInformation } from './update-center-metadata';
+
+interface Props {
+ updateCenterKey?: string;
+}
+
+interface State {
+ data?: MetaDataInformation;
+}
+
+export default class MetaData extends React.Component<Props, State> {
+ mounted = false;
+ state: State = {};
+
+ componentDidMount() {
+ this.mounted = true;
+ this.fetchData();
+ }
+
+ componentDidUpdate(prevProps: Props) {
+ if (prevProps.updateCenterKey !== this.props.updateCenterKey) {
+ this.fetchData();
+ }
+ }
+
+ componentWillUnmount() {
+ this.mounted = false;
+ }
+
+ isSuccessStatus = (status: number) => {
+ return status >= 200 && status < 300;
+ };
+
+ fetchData() {
+ const { updateCenterKey } = this.props;
+
+ if (updateCenterKey) {
+ window
+ .fetch(`https://update.sonarsource.org/${updateCenterKey}.json`)
+ .then((response: Response) => {
+ if (this.isSuccessStatus(response.status)) {
+ return response.json();
+ }
+ return Promise.reject(response);
+ })
+ .then(data => {
+ if (this.mounted) {
+ this.setState({ data });
+ }
+ })
+ .catch(() => {
+ if (this.mounted) {
+ this.setState({ data: undefined });
+ }
+ });
+ } else {
+ this.setState({ data: undefined });
+ }
+ }
+
+ render() {
+ const { data } = this.state;
+
+ if (!data) {
+ return null;
+ }
+
+ const { isSonarSourceCommercial, issueTrackerURL, license, organization, versions } = data;
+
+ let vendor;
+ if (organization) {
+ vendor = organization.name;
+ if (organization.url) {
+ vendor = (
+ <a href={organization.url} rel="noopener noreferrer" target="_blank">
+ {vendor}
+ </a>
+ );
+ }
+ }
+
+ return (
+ <div className="update-center-meta-data">
+ <div className="update-center-meta-data-header">
+ {vendor && <span className="update-center-meta-data-vendor">By {vendor}</span>}
+ {license && <span className="update-center-meta-data-license">{license}</span>}
+ {issueTrackerURL && (
+ <span className="update-center-meta-data-issue-tracker">
+ <a href={issueTrackerURL} rel="noopener noreferrer" target="_blank">
+ Issue Tracker
+ </a>
+ </span>
+ )}
+ {isSonarSourceCommercial && (
+ <span className="update-center-meta-data-supported">Supported by SonarSource</span>
+ )}
+ </div>
+ {versions && versions.length > 0 && <MetaDataVersions versions={versions} />}
+ </div>
+ );
+ }
+}
--- /dev/null
+/*
+ * SonarQube
+ * Copyright (C) 2009-2021 SonarSource SA
+ * mailto:info AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+import classNames from 'classnames';
+import * as React from 'react';
+import { AdvancedDownloadUrl, MetaDataVersionInformation } from './update-center-metadata';
+
+export interface MetaDataVersionProps {
+ versionInformation: MetaDataVersionInformation;
+}
+
+export default function MetaDataVersion(props: MetaDataVersionProps) {
+ const {
+ versionInformation: {
+ archived,
+ changeLogUrl,
+ compatibility,
+ date,
+ description,
+ downloadURL,
+ version
+ }
+ } = props;
+
+ const fallbackLabel = 'Download';
+
+ const advancedDownloadUrls = isAdvancedDownloadUrlArray(downloadURL)
+ ? downloadURL.map(url => ({ ...url, label: url.label || fallbackLabel }))
+ : [{ label: fallbackLabel, url: downloadURL }];
+
+ return (
+ <div
+ className={classNames('update-center-meta-data-version', {
+ 'update-center-meta-data-version-archived': archived
+ })}>
+ <div className="update-center-meta-data-version-version">{version}</div>
+
+ <div className="update-center-meta-data-version-release-info">
+ {date && <time className="update-center-meta-data-version-release-date">{date}</time>}
+
+ {compatibility && (
+ <span className="update-center-meta-data-version-compatibility">{compatibility}</span>
+ )}
+ </div>
+
+ {description && (
+ <div className="update-center-meta-data-version-release-description">{description}</div>
+ )}
+
+ {(advancedDownloadUrls.length > 0 || changeLogUrl) && (
+ <div className="update-center-meta-data-version-release-links">
+ {advancedDownloadUrls.length > 0 &&
+ advancedDownloadUrls.map(
+ (advancedDownloadUrl, i) =>
+ advancedDownloadUrl.url && (
+ // eslint-disable-next-line react/no-array-index-key
+ <span className="update-center-meta-data-version-download" key={i}>
+ <a href={advancedDownloadUrl.url} rel="noopener noreferrer" target="_blank">
+ {advancedDownloadUrl.label}
+ </a>
+ </span>
+ )
+ )}
+
+ {changeLogUrl && (
+ <span className="update-center-meta-data-version-release-notes">
+ <a href={changeLogUrl} rel="noopener noreferrer" target="_blank">
+ Release notes
+ </a>
+ </span>
+ )}
+ </div>
+ )}
+ </div>
+ );
+}
+
+function isAdvancedDownloadUrlArray(
+ downloadUrl: string | AdvancedDownloadUrl[] | undefined
+): downloadUrl is AdvancedDownloadUrl[] {
+ return !!downloadUrl && typeof downloadUrl !== 'string';
+}
--- /dev/null
+/*
+ * SonarQube
+ * Copyright (C) 2009-2021 SonarSource SA
+ * mailto:info AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+import * as React from 'react';
+import MetaDataVersion from './MetaDataVersion';
+import { MetaDataVersionInformation } from './update-center-metadata';
+
+interface Props {
+ versions: MetaDataVersionInformation[];
+}
+
+interface State {
+ collapsed: boolean;
+}
+
+export default class MetaDataVersions extends React.Component<Props, State> {
+ state: State = {
+ collapsed: true
+ };
+
+ componentDidUpdate(prevProps: Props) {
+ if (prevProps.versions !== this.props.versions) {
+ this.setState({ collapsed: true });
+ }
+ }
+
+ handleClick = (event: React.SyntheticEvent<HTMLButtonElement>) => {
+ event.preventDefault();
+ event.currentTarget.blur();
+ this.setState(({ collapsed }) => ({ collapsed: !collapsed }));
+ };
+
+ render() {
+ const { versions } = this.props;
+ const { collapsed } = this.state;
+
+ const archivedVersions = versions.filter(version => version.archived);
+ const currentVersions = versions.filter(version => !version.archived);
+
+ return (
+ <div className="update-center-meta-data-versions">
+ {archivedVersions.length > 0 && (
+ <button
+ className="update-center-meta-data-versions-show-more"
+ onClick={this.handleClick}
+ type="button">
+ {collapsed ? 'Show more versions' : 'Show fewer versions'}
+ </button>
+ )}
+
+ {currentVersions.map(versionInformation => (
+ <MetaDataVersion
+ key={versionInformation.version}
+ versionInformation={versionInformation}
+ />
+ ))}
+
+ {!collapsed &&
+ archivedVersions.map(archivedVersionInformation => (
+ <MetaDataVersion
+ key={archivedVersionInformation.version}
+ versionInformation={archivedVersionInformation}
+ />
+ ))}
+ </div>
+ );
+ }
+}
--- /dev/null
+/*
+ * SonarQube
+ * Copyright (C) 2009-2021 SonarSource SA
+ * mailto:info AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+import { shallow } from 'enzyme';
+import * as React from 'react';
+import { waitAndUpdate } from '../../utils/testUtils';
+import MetaData from '../MetaData';
+import { mockMetaDataInformation } from '../mocks/update-center-metadata';
+import { MetaDataInformation } from '../update-center-metadata';
+
+beforeAll(() => {
+ window.fetch = jest.fn();
+});
+
+beforeEach(() => {
+ jest.resetAllMocks();
+});
+
+it('should render correctly', async () => {
+ const metaDataInfo = mockMetaDataInformation();
+ mockFetchReturnValue(metaDataInfo);
+
+ const wrapper = shallowRender();
+ await waitAndUpdate(wrapper);
+ expect(wrapper).toMatchSnapshot();
+});
+
+it('should render correctly with organization', async () => {
+ const metaDataInfo = mockMetaDataInformation({
+ organization: { name: 'test-org', url: 'test-org-url' }
+ });
+ mockFetchReturnValue(metaDataInfo);
+
+ const wrapper = shallowRender();
+ await waitAndUpdate(wrapper);
+ expect(wrapper).toMatchSnapshot();
+});
+
+it('should not render anything if call for metadata fails', async () => {
+ const metaDataInfo = mockMetaDataInformation();
+ mockFetchReturnValue(metaDataInfo, '404');
+
+ const wrapper = shallowRender();
+ await waitAndUpdate(wrapper);
+ expect(wrapper.type()).toBeNull();
+});
+
+it('should fetch metadata again if the update center key if modified', async () => {
+ const metaDataInfo = mockMetaDataInformation();
+ mockFetchReturnValue(metaDataInfo);
+
+ const wrapper = shallowRender();
+ await waitAndUpdate(wrapper);
+
+ expect(window.fetch).toHaveBeenCalledTimes(1);
+
+ mockFetchReturnValue(metaDataInfo);
+ wrapper.setProps({ updateCenterKey: 'abap' });
+
+ expect(window.fetch).toHaveBeenCalledTimes(2);
+});
+
+function shallowRender(props?: Partial<MetaData['props']>) {
+ return shallow<MetaData>(<MetaData updateCenterKey="apex" {...props} />);
+}
+
+function mockFetchReturnValue(metaDataInfo: MetaDataInformation, status = '200') {
+ (window.fetch as jest.Mock).mockResolvedValueOnce({ status, json: () => metaDataInfo });
+}
--- /dev/null
+/*
+ * SonarQube
+ * Copyright (C) 2009-2021 SonarSource SA
+ * mailto:info AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+import { shallow } from 'enzyme';
+import * as React from 'react';
+import MetaDataVersion, { MetaDataVersionProps } from '../MetaDataVersion';
+import { mockMetaDataVersionInformation } from '../mocks/update-center-metadata';
+
+it('should render correctly', () => {
+ expect(shallowRender()).toMatchSnapshot();
+ expect(
+ shallowRender({
+ versionInformation: mockMetaDataVersionInformation({
+ downloadURL: [{ label: 'macos 64 bits', url: '' }]
+ })
+ })
+ ).toMatchSnapshot('with advanced downloadUrl');
+ expect(
+ shallowRender({
+ versionInformation: { version: '2.0' }
+ })
+ ).toMatchSnapshot('with very few info');
+});
+
+function shallowRender(props?: Partial<MetaDataVersionProps>) {
+ return shallow(
+ <MetaDataVersion versionInformation={mockMetaDataVersionInformation()} {...props} />
+ );
+}
--- /dev/null
+/*
+ * SonarQube
+ * Copyright (C) 2009-2021 SonarSource SA
+ * mailto:info AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+import { shallow } from 'enzyme';
+import * as React from 'react';
+import { click } from '../../utils/testUtils';
+import MetaDataVersion from '../MetaDataVersion';
+import MetaDataVersions from '../MetaDataVersions';
+import { mockMetaDataVersionInformation } from '../mocks/update-center-metadata';
+
+it('should render correctly', () => {
+ const wrapper = shallowRender();
+ expect(wrapper).toMatchSnapshot();
+});
+
+it('should properly handle show more / show less', () => {
+ const wrapper = shallowRender();
+ expect(wrapper.find(MetaDataVersion).length).toBe(1);
+
+ click(wrapper.find('.update-center-meta-data-versions-show-more'));
+ expect(wrapper.find(MetaDataVersion).length).toBe(3);
+});
+
+function shallowRender(props?: Partial<MetaDataVersions['props']>) {
+ return shallow<MetaDataVersions>(
+ <MetaDataVersions
+ versions={[
+ mockMetaDataVersionInformation({ version: '3.0' }),
+ mockMetaDataVersionInformation({ version: '2.0', archived: true }),
+ mockMetaDataVersionInformation({ version: '1.0', archived: true })
+ ]}
+ {...props}
+ />
+ );
+}
*/
import { shallow } from 'enzyme';
import * as React from 'react';
-import { click } from 'sonar-ui-common/helpers/testUtils';
+import { click } from '../../utils/testUtils';
import OutsideClickHandler from '../OutsideClickHandler';
import VersionSelect from '../VersionSelect';
--- /dev/null
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`should render correctly 1`] = `
+<div
+ className="update-center-meta-data"
+>
+ <div
+ className="update-center-meta-data-header"
+ >
+ <span
+ className="update-center-meta-data-vendor"
+ >
+ By
+ <a
+ href="http://www.sonarsource.com/"
+ rel="noopener noreferrer"
+ target="_blank"
+ >
+ SonarSource
+ </a>
+ </span>
+ <span
+ className="update-center-meta-data-license"
+ >
+ SonarSource
+ </span>
+ <span
+ className="update-center-meta-data-issue-tracker"
+ >
+ <a
+ href="https://jira.sonarsource.com/browse/SONARJAVA"
+ rel="noopener noreferrer"
+ target="_blank"
+ >
+ Issue Tracker
+ </a>
+ </span>
+ <span
+ className="update-center-meta-data-supported"
+ >
+ Supported by SonarSource
+ </span>
+ </div>
+ <MetaDataVersions
+ versions={
+ Array [
+ Object {
+ "archived": false,
+ "changeLogUrl": "https://example.com/sonar-java-plugin/release",
+ "compatibility": "6.7",
+ "date": "2019-05-31",
+ "downloadURL": "https://example.com/sonar-java-plugin-5.13.0.18197.jar",
+ "version": "2.0",
+ },
+ Object {
+ "archived": true,
+ "changeLogUrl": "https://example.com/sonar-java-plugin/release",
+ "compatibility": "6.7",
+ "date": "2019-05-31",
+ "downloadURL": "https://example.com/sonar-java-plugin-5.13.0.18197.jar",
+ "version": "1.0",
+ },
+ ]
+ }
+ />
+</div>
+`;
+
+exports[`should render correctly with organization 1`] = `
+<div
+ className="update-center-meta-data"
+>
+ <div
+ className="update-center-meta-data-header"
+ >
+ <span
+ className="update-center-meta-data-vendor"
+ >
+ By
+ <a
+ href="test-org-url"
+ rel="noopener noreferrer"
+ target="_blank"
+ >
+ test-org
+ </a>
+ </span>
+ <span
+ className="update-center-meta-data-license"
+ >
+ SonarSource
+ </span>
+ <span
+ className="update-center-meta-data-issue-tracker"
+ >
+ <a
+ href="https://jira.sonarsource.com/browse/SONARJAVA"
+ rel="noopener noreferrer"
+ target="_blank"
+ >
+ Issue Tracker
+ </a>
+ </span>
+ <span
+ className="update-center-meta-data-supported"
+ >
+ Supported by SonarSource
+ </span>
+ </div>
+ <MetaDataVersions
+ versions={
+ Array [
+ Object {
+ "archived": false,
+ "changeLogUrl": "https://example.com/sonar-java-plugin/release",
+ "compatibility": "6.7",
+ "date": "2019-05-31",
+ "downloadURL": "https://example.com/sonar-java-plugin-5.13.0.18197.jar",
+ "version": "2.0",
+ },
+ Object {
+ "archived": true,
+ "changeLogUrl": "https://example.com/sonar-java-plugin/release",
+ "compatibility": "6.7",
+ "date": "2019-05-31",
+ "downloadURL": "https://example.com/sonar-java-plugin-5.13.0.18197.jar",
+ "version": "1.0",
+ },
+ ]
+ }
+ />
+</div>
+`;
--- /dev/null
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`should render correctly 1`] = `
+<div
+ className="update-center-meta-data-version"
+>
+ <div
+ className="update-center-meta-data-version-version"
+ >
+ 5.13
+ </div>
+ <div
+ className="update-center-meta-data-version-release-info"
+ >
+ <time
+ className="update-center-meta-data-version-release-date"
+ >
+ 2019-05-31
+ </time>
+ <span
+ className="update-center-meta-data-version-compatibility"
+ >
+ 6.7
+ </span>
+ </div>
+ <div
+ className="update-center-meta-data-version-release-links"
+ >
+ <span
+ className="update-center-meta-data-version-download"
+ key="0"
+ >
+ <a
+ href="https://example.com/sonar-java-plugin-5.13.0.18197.jar"
+ rel="noopener noreferrer"
+ target="_blank"
+ >
+ Download
+ </a>
+ </span>
+ <span
+ className="update-center-meta-data-version-release-notes"
+ >
+ <a
+ href="https://example.com/sonar-java-plugin/release"
+ rel="noopener noreferrer"
+ target="_blank"
+ >
+ Release notes
+ </a>
+ </span>
+ </div>
+</div>
+`;
+
+exports[`should render correctly: with advanced downloadUrl 1`] = `
+<div
+ className="update-center-meta-data-version"
+>
+ <div
+ className="update-center-meta-data-version-version"
+ >
+ 5.13
+ </div>
+ <div
+ className="update-center-meta-data-version-release-info"
+ >
+ <time
+ className="update-center-meta-data-version-release-date"
+ >
+ 2019-05-31
+ </time>
+ <span
+ className="update-center-meta-data-version-compatibility"
+ >
+ 6.7
+ </span>
+ </div>
+ <div
+ className="update-center-meta-data-version-release-links"
+ >
+ <span
+ className="update-center-meta-data-version-release-notes"
+ >
+ <a
+ href="https://example.com/sonar-java-plugin/release"
+ rel="noopener noreferrer"
+ target="_blank"
+ >
+ Release notes
+ </a>
+ </span>
+ </div>
+</div>
+`;
+
+exports[`should render correctly: with very few info 1`] = `
+<div
+ className="update-center-meta-data-version"
+>
+ <div
+ className="update-center-meta-data-version-version"
+ >
+ 2.0
+ </div>
+ <div
+ className="update-center-meta-data-version-release-info"
+ />
+ <div
+ className="update-center-meta-data-version-release-links"
+ />
+</div>
+`;
--- /dev/null
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`should render correctly 1`] = `
+<div
+ className="update-center-meta-data-versions"
+>
+ <button
+ className="update-center-meta-data-versions-show-more"
+ onClick={[Function]}
+ type="button"
+ >
+ Show more versions
+ </button>
+ <MetaDataVersion
+ key="3.0"
+ versionInformation={
+ Object {
+ "archived": false,
+ "changeLogUrl": "https://example.com/sonar-java-plugin/release",
+ "compatibility": "6.7",
+ "date": "2019-05-31",
+ "downloadURL": "https://example.com/sonar-java-plugin-5.13.0.18197.jar",
+ "version": "3.0",
+ }
+ }
+ />
+</div>
+`;
--- /dev/null
+/*
+ * SonarQube
+ * Copyright (C) 2009-2021 SonarSource SA
+ * mailto:info AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+import { MetaDataInformation, MetaDataVersionInformation } from '../update-center-metadata';
+
+export function mockMetaDataVersionInformation(
+ overrides?: Partial<MetaDataVersionInformation>
+): MetaDataVersionInformation {
+ return {
+ version: '5.13',
+ date: '2019-05-31',
+ compatibility: '6.7',
+ archived: false,
+ downloadURL: 'https://example.com/sonar-java-plugin-5.13.0.18197.jar',
+ changeLogUrl: 'https://example.com/sonar-java-plugin/release',
+ ...overrides
+ };
+}
+
+export function mockMetaDataInformation(
+ overrides?: Partial<MetaDataInformation>
+): MetaDataInformation {
+ return {
+ name: 'SonarJava',
+ key: 'java',
+ isSonarSourceCommercial: true,
+ organization: {
+ name: 'SonarSource',
+ url: 'http://www.sonarsource.com/'
+ },
+ category: 'Languages',
+ license: 'SonarSource',
+ issueTrackerURL: 'https://jira.sonarsource.com/browse/SONARJAVA',
+ sourcesURL: 'https://github.com/SonarSource/sonar-java',
+ versions: [
+ mockMetaDataVersionInformation({ version: '2.0' }),
+ mockMetaDataVersionInformation({ version: '1.0', archived: true })
+ ],
+ ...overrides
+ };
+}
--- /dev/null
+/*
+ * SonarQube
+ * Copyright (C) 2009-2021 SonarSource SA
+ * mailto:info AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+export interface MetaDataInformation {
+ category?: string;
+ isSonarSourceCommercial?: boolean;
+ issueTrackerURL?: string;
+ key?: string;
+ license?: string;
+ name: string;
+ organization?: {
+ name: string;
+ url?: string;
+ };
+ sourcesURL?: string;
+ versions?: MetaDataVersionInformation[];
+}
+
+export interface MetaDataVersionInformation {
+ archived?: boolean;
+ changeLogUrl?: string;
+ compatibility?: string;
+ date?: string;
+ description?: string;
+ downloadURL?: string | AdvancedDownloadUrl[];
+ version: string;
+}
+
+export interface AdvancedDownloadUrl {
+ label?: string;
+ url: string;
+}
import * as React from 'react';
import Helmet from 'react-helmet';
import rehypeReact from 'rehype-react';
-import MetaData from 'sonar-ui-common/components/ui/update-center/MetaData';
import { MarkdownHeading, MarkdownRemark, MarkdownRemarkConnection } from '../@types/graphql-types';
import HeaderList from '../components/HeaderList';
+import MetaData from '../components/MetaData';
import { HtmlAST, HtmlASTNode } from '../types/hast';
interface Props {
--- /dev/null
+/*
+ * SonarQube
+ * Copyright (C) 2009-2021 SonarSource SA
+ * mailto:info AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+import { ReactWrapper, ShallowWrapper } from 'enzyme';
+
+export function click(element: ShallowWrapper | ReactWrapper, event = {}): void {
+ // `type()` returns a component constructor for a composite element and string for DOM nodes
+ if (typeof element.type() === 'function') {
+ element.prop<Function>('onClick')();
+ // TODO find out if `root` is a public api
+ // https://github.com/airbnb/enzyme/blob/master/packages/enzyme/src/ReactWrapper.js#L109
+ (element as any).root().update();
+ } else {
+ element.simulate('click', mockEvent(event));
+ }
+}
+
+export function mockEvent(overrides = {}) {
+ return {
+ target: { blur() {} },
+ currentTarget: { blur() {} },
+ preventDefault() {},
+ stopPropagation() {},
+ ...overrides
+ } as any;
+}
+
+export async function waitAndUpdate(wrapper: ShallowWrapper<any, any> | ReactWrapper<any, any>) {
+ await new Promise(setImmediate);
+ wrapper.update();
+}
dependencies:
"@types/react" "*"
-"@types/react-select@1.2.6":
- version "1.2.6"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/react-select/-/react-select-1.2.6.tgz#8a9579705e04b2c15ce529379402980d80e9d243"
- integrity sha1-ipV5cF4EssFc5Sk3lAKYDYDp0kM=
- dependencies:
- "@types/react" "*"
-
"@types/react@*", "@types/react@16.8.23":
version "16.8.23"
resolved "https://repox.jfrog.io/repox/api/npm/npm/@types/react/-/react-16.8.23.tgz#ec6be3ceed6353a20948169b6cb4c97b65b97ad2"
resolved "https://repox.jfrog.io/repox/api/npm/npm/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa"
integrity sha1-yWVekzHgq81YjSp8rX6ZVvZnAfo=
-asap@~2.0.3:
- version "2.0.6"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46"
- integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=
-
asn1.js@^4.0.0:
version "4.10.1"
resolved "https://repox.jfrog.io/repox/api/npm/npm/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0"
isobject "^3.0.0"
static-extend "^0.1.1"
-classnames@2.2.6, classnames@^2.2.3, classnames@^2.2.4, classnames@^2.2.5:
+classnames@2.2.6:
version "2.2.6"
resolved "https://repox.jfrog.io/repox/api/npm/npm/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce"
integrity sha1-Q5Nb/90pHzJtrQogUwmzjQD2UM4=
resolved "https://repox.jfrog.io/repox/api/npm/npm/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639"
integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=
-clipboard@2.0.6:
- version "2.0.6"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/clipboard/-/clipboard-2.0.6.tgz#52921296eec0fdf77ead1749421b21c968647376"
- integrity sha1-UpISlu7A/fd+rRdJQhshyWhkc3Y=
- dependencies:
- good-listener "^1.2.2"
- select "^1.1.2"
- tiny-emitter "^2.0.0"
-
clipboardy@^2.2.0:
version "2.3.0"
resolved "https://repox.jfrog.io/repox/api/npm/npm/clipboardy/-/clipboardy-2.3.0.tgz#3c2903650c68e46a91b388985bc2774287dba290"
resolved "https://repox.jfrog.io/repox/api/npm/npm/core-js-pure/-/core-js-pure-3.6.4.tgz#4bf1ba866e25814f149d4e9aaa08c36173506e3a"
integrity sha1-S/G6hm4lgU8UnU6aqgjDYXNQbjo=
-core-js@^1.0.0:
- version "1.2.7"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636"
- integrity sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=
-
core-js@^2.4.0, core-js@^2.6.5:
version "2.6.9"
resolved "https://repox.jfrog.io/repox/api/npm/npm/core-js/-/core-js-2.6.9.tgz#6b4b214620c834152e179323727fc19741b084f2"
safe-buffer "^5.0.1"
sha.js "^2.4.8"
-create-react-class@^15.5.1:
- version "15.6.3"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/create-react-class/-/create-react-class-15.6.3.tgz#2d73237fb3f970ae6ebe011a9e66f46dbca80036"
- integrity sha1-LXMjf7P5cK5uvgEanmb0bbyoADY=
- dependencies:
- fbjs "^0.8.9"
- loose-envify "^1.3.1"
- object-assign "^4.1.1"
-
create-react-context@0.3.0:
version "0.3.0"
resolved "https://repox.jfrog.io/repox/api/npm/npm/create-react-context/-/create-react-context-0.3.0.tgz#546dede9dc422def0d3fc2fe03afe0bc0f4f7d8c"
gud "^1.0.0"
warning "^4.0.3"
-create-react-context@^0.2.2:
- version "0.2.3"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/create-react-context/-/create-react-context-0.2.3.tgz#9ec140a6914a22ef04b8b09b7771de89567cb6f3"
- integrity sha1-nsFAppFKIu8EuLCbd3HeiVZ8tvM=
- dependencies:
- fbjs "^0.8.0"
- gud "^1.0.0"
-
cross-fetch@2.2.2:
version "2.2.2"
resolved "https://repox.jfrog.io/repox/api/npm/npm/cross-fetch/-/cross-fetch-2.2.2.tgz#a47ff4f7fc712daba8f6a695a11c948440d45723"
resolved "https://repox.jfrog.io/repox/api/npm/npm/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640"
integrity sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=
-"d3-array@1.2.0 - 2", d3-array@2.4.0:
- version "2.4.0"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/d3-array/-/d3-array-2.4.0.tgz#87f8b9ad11088769c82b5ea846bcb1cc9393f242"
- integrity sha1-h/i5rREIh2nIK16oRryxzJOT8kI=
-
-d3-color@1:
- version "1.4.0"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/d3-color/-/d3-color-1.4.0.tgz#89c45a995ed773b13314f06460df26d60ba0ecaf"
- integrity sha1-icRamV7Xc7EzFPBkYN8m1gug7K8=
-
-d3-dispatch@1:
- version "1.0.5"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/d3-dispatch/-/d3-dispatch-1.0.5.tgz#e25c10a186517cd6c82dd19ea018f07e01e39015"
- integrity sha1-4lwQoYZRfNbILdGeoBjwfgHjkBU=
-
-d3-drag@1:
- version "1.2.4"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/d3-drag/-/d3-drag-1.2.4.tgz#ba9331d68158ad14cf0b4b28a8afa9e78c7d99ad"
- integrity sha1-upMx1oFYrRTPC0soqK+p54x9ma0=
- dependencies:
- d3-dispatch "1"
- d3-selection "1"
-
-d3-ease@1:
- version "1.0.5"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/d3-ease/-/d3-ease-1.0.5.tgz#8ce59276d81241b1b72042d6af2d40e76d936ffb"
- integrity sha1-jOWSdtgSQbG3IELWry1A522Tb/s=
-
-d3-format@1:
- version "1.4.1"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/d3-format/-/d3-format-1.4.1.tgz#c45f74b17c5a290c072a4ba7039dd19662cd5ce6"
- integrity sha1-xF90sXxaKQwHKkunA53RlmLNXOY=
-
-d3-hierarchy@1.1.9:
- version "1.1.9"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/d3-hierarchy/-/d3-hierarchy-1.1.9.tgz#2f6bee24caaea43f8dc37545fa01628559647a83"
- integrity sha1-L2vuJMqupD+Nw3VF+gFihVlkeoM=
-
-d3-interpolate@1:
- version "1.3.2"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/d3-interpolate/-/d3-interpolate-1.3.2.tgz#417d3ebdeb4bc4efcc8fd4361c55e4040211fd68"
- integrity sha1-QX0+vetLxO/Mj9Q2HFXkBAIR/Wg=
- dependencies:
- d3-color "1"
-
-d3-interpolate@^1.2.0:
- version "1.4.0"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/d3-interpolate/-/d3-interpolate-1.4.0.tgz#526e79e2d80daa383f9e0c1c1c7dcc0f0583e987"
- integrity sha1-Um554tgNqjg/ngwcHH3MDwWD6Yc=
- dependencies:
- d3-color "1"
-
-d3-path@1:
- version "1.0.8"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/d3-path/-/d3-path-1.0.8.tgz#4a0606a794d104513ec4a8af43525f374b278719"
- integrity sha1-SgYGp5TRBFE+xKivQ1JfN0snhxk=
-
-d3-scale@3.2.1:
- version "3.2.1"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/d3-scale/-/d3-scale-3.2.1.tgz#da1684adce7261b4bc7a76fe193d887f0e909e69"
- integrity sha1-2haErc5yYbS8enb+GT2Ifw6Qnmk=
- dependencies:
- d3-array "1.2.0 - 2"
- d3-format "1"
- d3-interpolate "^1.2.0"
- d3-time "1"
- d3-time-format "2"
-
-d3-selection@1, d3-selection@^1.1.0:
- version "1.4.0"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/d3-selection/-/d3-selection-1.4.0.tgz#ab9ac1e664cf967ebf1b479cc07e28ce9908c474"
- integrity sha1-q5rB5mTPln6/G0ecwH4ozpkIxHQ=
-
-d3-selection@1.4.1:
- version "1.4.1"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/d3-selection/-/d3-selection-1.4.1.tgz#98eedbbe085fbda5bafa2f9e3f3a2f4d7d622a98"
- integrity sha1-mO7bvghfvaW6+i+ePzovTX1iKpg=
-
-d3-shape@1.3.7:
- version "1.3.7"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/d3-shape/-/d3-shape-1.3.7.tgz#df63801be07bc986bc54f63789b4fe502992b5d7"
- integrity sha1-32OAG+B7yYa8VPY3ibT+UCmStdc=
- dependencies:
- d3-path "1"
-
-d3-time-format@2:
- version "2.1.3"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/d3-time-format/-/d3-time-format-2.1.3.tgz#ae06f8e0126a9d60d6364eac5b1533ae1bac826b"
- integrity sha1-rgb44BJqnWDWNk6sWxUzrhusgms=
- dependencies:
- d3-time "1"
-
-d3-time@1:
- version "1.1.0"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/d3-time/-/d3-time-1.1.0.tgz#b1e19d307dae9c900b7e5b25ffc5dcc249a8a0f1"
- integrity sha1-seGdMH2unJALflsl/8XcwkmooPE=
-
-d3-timer@1:
- version "1.0.9"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/d3-timer/-/d3-timer-1.0.9.tgz#f7bb8c0d597d792ff7131e1c24a36dd471a471ba"
- integrity sha1-97uMDVl9eS/3Ex4cJKNt1HGkcbo=
-
-d3-transition@1:
- version "1.2.0"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/d3-transition/-/d3-transition-1.2.0.tgz#f538c0e21b2aa1f05f3e965f8567e81284b3b2b8"
- integrity sha1-9TjA4hsqofBfPpZfhWfoEoSzsrg=
- dependencies:
- d3-color "1"
- d3-dispatch "1"
- d3-ease "1"
- d3-interpolate "1"
- d3-selection "^1.1.0"
- d3-timer "1"
-
-d3-zoom@1.8.3:
- version "1.8.3"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/d3-zoom/-/d3-zoom-1.8.3.tgz#b6a3dbe738c7763121cd05b8a7795ffe17f4fc0a"
- integrity sha1-tqPb5zjHdjEhzQW4p3lf/hf0/Ao=
- dependencies:
- d3-dispatch "1"
- d3-drag "1"
- d3-interpolate "1"
- d3-selection "1"
- d3-transition "1"
-
damerau-levenshtein@^1.0.4:
version "1.0.5"
resolved "https://repox.jfrog.io/repox/api/npm/npm/damerau-levenshtein/-/damerau-levenshtein-1.0.5.tgz#780cf7144eb2e8dbd1c3bb83ae31100ccc31a414"
whatwg-mimetype "^2.2.0"
whatwg-url "^7.0.0"
-date-fns@1.30.1:
- version "1.30.1"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/date-fns/-/date-fns-1.30.1.tgz#2e71bf0b119153dbb4cc4e88d9ea5acfb50dc05c"
- integrity sha1-LnG/CxGRU9u0zE6I2epaz7UNwFw=
-
date-fns@^2.11.0:
version "2.11.0"
resolved "https://repox.jfrog.io/repox/api/npm/npm/date-fns/-/date-fns-2.11.0.tgz#ec2b44977465b9dcb370021d5e6c019b19f36d06"
resolved "https://repox.jfrog.io/repox/api/npm/npm/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
-deepmerge@^2.1.1:
- version "2.2.1"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/deepmerge/-/deepmerge-2.2.1.tgz#5d3ff22a01c00f645405a2fbc17d0778a1801170"
- integrity sha1-XT/yKgHAD2RUBaL7wX0HeKGAEXA=
-
default-gateway@^4.2.0:
version "4.2.0"
resolved "https://repox.jfrog.io/repox/api/npm/npm/default-gateway/-/default-gateway-4.2.0.tgz#167104c7500c2115f6dd69b0a536bb8ed720552b"
resolved "https://repox.jfrog.io/repox/api/npm/npm/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
-delegate@^3.1.2:
- version "3.2.0"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/delegate/-/delegate-3.2.0.tgz#b66b71c3158522e8ab5744f720d8ca0c2af59166"
- integrity sha1-tmtxwxWFIuirV0T3INjKDCr1kWY=
-
delegates@^1.0.0:
version "1.0.0"
resolved "https://repox.jfrog.io/repox/api/npm/npm/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
dependencies:
utila "~0.4"
-"dom-helpers@^2.4.0 || ^3.0.0", dom-helpers@^3.4.0:
+dom-helpers@^3.4.0:
version "3.4.0"
resolved "https://repox.jfrog.io/repox/api/npm/npm/dom-helpers/-/dom-helpers-3.4.0.tgz#e9b369700f959f62ecde5a6babde4bccd9169af8"
integrity sha1-6bNpcA+Vn2Ls3lprq95LzNkWmvg=
resolved "https://repox.jfrog.io/repox/api/npm/npm/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=
-encoding@^0.1.11:
- version "0.1.12"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb"
- integrity sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=
- dependencies:
- iconv-lite "~0.4.13"
-
end-of-stream@^1.0.0, end-of-stream@^1.1.0:
version "1.4.1"
resolved "https://repox.jfrog.io/repox/api/npm/npm/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43"
signal-exit "^3.0.2"
strip-final-newline "^2.0.0"
-exenv@^1.2.0, exenv@^1.2.1:
+exenv@^1.2.1:
version "1.2.2"
resolved "https://repox.jfrog.io/repox/api/npm/npm/exenv/-/exenv-1.2.2.tgz#2ae78e85d9894158670b03d47bec1f03bd91bb9d"
integrity sha1-KueOhdmJQVhnCwPUe+wfA72Ru50=
dependencies:
bser "^2.0.0"
-fbjs@^0.8.0, fbjs@^0.8.9:
- version "0.8.17"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/fbjs/-/fbjs-0.8.17.tgz#c4d598ead6949112653d6588b01a5cdcd9f90fdd"
- integrity sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=
- dependencies:
- core-js "^1.0.0"
- isomorphic-fetch "^2.1.1"
- loose-envify "^1.0.0"
- object-assign "^4.1.0"
- promise "^7.1.1"
- setimmediate "^1.0.5"
- ua-parser-js "^0.7.18"
-
figgy-pudding@^3.5.1:
version "3.5.1"
resolved "https://repox.jfrog.io/repox/api/npm/npm/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790"
combined-stream "^1.0.6"
mime-types "^2.1.12"
-formik@1.2.0:
- version "1.2.0"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/formik/-/formik-1.2.0.tgz#a0daf8512ce2ec18d88ff59a5bb172b0167e85d1"
- integrity sha1-oNr4USzi7BjYj/WaW7FysBZ+hdE=
- dependencies:
- create-react-context "^0.2.2"
- deepmerge "^2.1.1"
- hoist-non-react-statics "^2.5.5"
- lodash.clonedeep "^4.5.0"
- lodash.topath "4.5.2"
- prop-types "^15.6.1"
- react-fast-compare "^1.0.0"
- tslib "^1.9.3"
- warning "^3.0.0"
-
forwarded@~0.1.2:
version "0.1.2"
resolved "https://repox.jfrog.io/repox/api/npm/npm/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84"
pify "^2.0.0"
pinkie-promise "^2.0.0"
-good-listener@^1.2.2:
- version "1.2.2"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/good-listener/-/good-listener-1.2.2.tgz#d53b30cdf9313dffb7dc9a0d477096aa6d145c50"
- integrity sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=
- dependencies:
- delegate "^3.1.2"
-
got@8.3.2, got@^8.3.2:
version "8.3.2"
resolved "https://repox.jfrog.io/repox/api/npm/npm/got/-/got-8.3.2.tgz#1d23f64390e97f776cac52e5b936e5f514d2e937"
resolved "https://repox.jfrog.io/repox/api/npm/npm/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e"
integrity sha1-TAb8y0YC/iYCs8k9+C1+fb8aio4=
-history@3.3.0, history@^3.0.0:
- version "3.3.0"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/history/-/history-3.3.0.tgz#fcedcce8f12975371545d735461033579a6dae9c"
- integrity sha1-/O3M6PEpdTcVRdc1RhAzV5ptrpw=
- dependencies:
- invariant "^2.2.1"
- loose-envify "^1.2.0"
- query-string "^4.2.2"
- warning "^3.0.0"
-
hmac-drbg@^1.0.0:
version "1.0.1"
resolved "https://repox.jfrog.io/repox/api/npm/npm/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
minimalistic-assert "^1.0.0"
minimalistic-crypto-utils "^1.0.1"
-hoist-non-react-statics@^2.3.1, hoist-non-react-statics@^2.5.5:
- version "2.5.5"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz#c5903cf409c0dfd908f388e619d86b9c1174cb47"
- integrity sha1-xZA89AnA39kI84jmGdhrnBF0y0c=
-
hoist-non-react-statics@^3.3.0:
version "3.3.0"
resolved "https://repox.jfrog.io/repox/api/npm/npm/hoist-non-react-statics/-/hoist-non-react-statics-3.3.0.tgz#b09178f0122184fb95acf525daaecb4d8f45958b"
resolved "https://repox.jfrog.io/repox/api/npm/npm/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3"
integrity sha1-xbHNFPUK6uCatsWf5jujOV/k36M=
-iconv-lite@0.4.24, iconv-lite@^0.4.17, iconv-lite@^0.4.24, iconv-lite@^0.4.4, iconv-lite@~0.4.13:
+iconv-lite@0.4.24, iconv-lite@^0.4.17, iconv-lite@^0.4.24, iconv-lite@^0.4.4:
version "0.4.24"
resolved "https://repox.jfrog.io/repox/api/npm/npm/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
integrity sha1-ICK0sl+93CHS9SSXSkdKr+czkIs=
has "^1.0.3"
side-channel "^1.0.2"
-intl-format-cache@^2.0.5:
- version "2.2.9"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/intl-format-cache/-/intl-format-cache-2.2.9.tgz#fb560de20c549cda20b569cf1ffb6dc62b5b93b4"
- integrity sha1-+1YN4gxUnNogtWnPH/ttxitbk7Q=
-
-intl-messageformat-parser@1.4.0:
- version "1.4.0"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/intl-messageformat-parser/-/intl-messageformat-parser-1.4.0.tgz#b43d45a97468cadbe44331d74bb1e8dea44fc075"
- integrity sha1-tD1FqXRoytvkQzHXS7Ho3qRPwHU=
-
-intl-messageformat@^2.0.0, intl-messageformat@^2.1.0:
- version "2.2.0"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/intl-messageformat/-/intl-messageformat-2.2.0.tgz#345bcd46de630b7683330c2e52177ff5eab484fc"
- integrity sha1-NFvNRt5jC3aDMwwuUhd/9eq0hPw=
- dependencies:
- intl-messageformat-parser "1.4.0"
-
-intl-relativeformat@^2.1.0:
- version "2.2.0"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/intl-relativeformat/-/intl-relativeformat-2.2.0.tgz#6aca95d019ec8d30b6c5653b6629f9983ea5b6c5"
- integrity sha1-asqV0BnsjTC2xWU7Zin5mD6ltsU=
- dependencies:
- intl-messageformat "^2.0.0"
-
into-stream@^3.1.0:
version "3.1.0"
resolved "https://repox.jfrog.io/repox/api/npm/npm/into-stream/-/into-stream-3.1.0.tgz#96fb0a936c12babd6ff1752a17d05616abd094c6"
from2 "^2.1.1"
p-is-promise "^1.1.0"
-invariant@^2.1.1, invariant@^2.2.0, invariant@^2.2.1, invariant@^2.2.2, invariant@^2.2.3, invariant@^2.2.4:
+invariant@^2.2.0, invariant@^2.2.2, invariant@^2.2.3, invariant@^2.2.4:
version "2.2.4"
resolved "https://repox.jfrog.io/repox/api/npm/npm/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
integrity sha1-YQ88ksk1nOHbYW5TgAjSP/NRWOY=
dependencies:
protocols "^1.1.0"
-is-stream@^1.0.1, is-stream@^1.1.0:
+is-stream@^1.1.0:
version "1.1.0"
resolved "https://repox.jfrog.io/repox/api/npm/npm/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ=
resolved "https://repox.jfrog.io/repox/api/npm/npm/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8=
-isomorphic-fetch@^2.1.1:
- version "2.2.1"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9"
- integrity sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=
- dependencies:
- node-fetch "^1.0.1"
- whatwg-fetch ">=0.10.0"
-
isstream@~0.1.2:
version "0.1.2"
resolved "https://repox.jfrog.io/repox/api/npm/npm/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
resolved "https://repox.jfrog.io/repox/api/npm/npm/lodash.toarray/-/lodash.toarray-4.4.0.tgz#24c4bfcd6b2fba38bfd0594db1179d8e9b656561"
integrity sha1-JMS/zWsvuji/0FlNsRedjptlZWE=
-lodash.topath@4.5.2:
- version "4.5.2"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/lodash.topath/-/lodash.topath-4.5.2.tgz#3616351f3bba61994a0931989660bd03254fd009"
- integrity sha1-NhY1Hzu6YZlKCTGYlmC9AyVP0Ak=
-
lodash.uniq@^4.5.0:
version "4.5.0"
resolved "https://repox.jfrog.io/repox/api/npm/npm/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
resolved "https://repox.jfrog.io/repox/api/npm/npm/longest-streak/-/longest-streak-2.0.3.tgz#3de7a3f47ee18e9074ded8575b5c091f5d0a4105"
integrity sha1-Peej9H7hjpB03thXW1wJH10KQQU=
-loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.0, loose-envify@^1.3.1, loose-envify@^1.4.0:
+loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0:
version "1.4.0"
resolved "https://repox.jfrog.io/repox/api/npm/npm/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
integrity sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8=
resolved "https://repox.jfrog.io/repox/api/npm/npm/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd"
integrity sha1-5jNFY4bUqlWGP2dqerDaqP3ssP0=
-node-fetch@^1.0.1:
- version "1.7.3"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef"
- integrity sha1-mA9vcthSEaU0fGsrwYxbhMPrR+8=
- dependencies:
- encoding "^0.1.11"
- is-stream "^1.0.1"
-
node-forge@0.9.0:
version "0.9.0"
resolved "https://repox.jfrog.io/repox/api/npm/npm/node-forge/-/node-forge-0.9.0.tgz#d624050edbb44874adca12bb9a52ec63cb782579"
resolved "https://repox.jfrog.io/repox/api/npm/npm/promise-polyfill/-/promise-polyfill-7.1.2.tgz#ab05301d8c28536301622d69227632269a70ca3b"
integrity sha1-qwUwHYwoU2MBYi1pInYyJppwyjs=
-promise@^7.1.1:
- version "7.3.1"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf"
- integrity sha1-BktyYCsY+Q8pGSuLG8QY/9Hr078=
- dependencies:
- asap "~2.0.3"
-
prompts@^2.0.1:
version "2.1.0"
resolved "https://repox.jfrog.io/repox/api/npm/npm/prompts/-/prompts-2.1.0.tgz#bf90bc71f6065d255ea2bdc0fe6520485c1b45db"
object.assign "^4.1.0"
reflect.ownkeys "^0.2.0"
-prop-types@15.7.2, prop-types@^15.5.10, prop-types@^15.5.4, prop-types@^15.5.6, prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2:
+prop-types@^15.5.10, prop-types@^15.5.4, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2:
version "15.7.2"
resolved "https://repox.jfrog.io/repox/api/npm/npm/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5"
integrity sha1-UsQedbjIfnK52TYOAga5ncv/psU=
resolved "https://repox.jfrog.io/repox/api/npm/npm/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
integrity sha1-yzroBuh0BERYTvFUzo7pjUA/PjY=
-query-string@^4.1.0, query-string@^4.2.2:
+query-string@^4.1.0:
version "4.3.4"
resolved "https://repox.jfrog.io/repox/api/npm/npm/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb"
integrity sha1-u7aTucqRXCMlFbIosaArYJBD2+s=
prop-types "^15.6.2"
scheduler "^0.19.0"
-react-draggable@4.2.0:
- version "4.2.0"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/react-draggable/-/react-draggable-4.2.0.tgz#40cc5209082ca7d613104bf6daf31372cc0e1114"
- integrity sha1-QMxSCQgsp9YTEEv22vMTcswOERQ=
- dependencies:
- classnames "^2.2.5"
- prop-types "^15.6.0"
-
react-error-overlay@^3.0.0:
version "3.0.0"
resolved "https://repox.jfrog.io/repox/api/npm/npm/react-error-overlay/-/react-error-overlay-3.0.0.tgz#c2bc8f4d91f1375b3dad6d75265d51cd5eeaf655"
resolved "https://repox.jfrog.io/repox/api/npm/npm/react-error-overlay/-/react-error-overlay-6.0.6.tgz#ac4d9dc4c1b5c536c2c312bf66aa2b09bfa384e2"
integrity sha1-rE2dxMG1xTbCwxK/ZqorCb+jhOI=
-react-fast-compare@^1.0.0:
- version "1.0.0"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/react-fast-compare/-/react-fast-compare-1.0.0.tgz#813a039155e49b43ceffe99528fe5e9d97a6c938"
- integrity sha1-gToDkVXkm0PO/+mVKP5enZemyTg=
-
react-fast-compare@^2.0.2:
version "2.0.4"
resolved "https://repox.jfrog.io/repox/api/npm/npm/react-fast-compare/-/react-fast-compare-2.0.4.tgz#e84b4d455b0fec113e0402c329352715196f81f9"
shallowequal "^1.1.0"
source-map "^0.7.3"
-react-input-autosize@^2.1.2:
- version "2.2.2"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/react-input-autosize/-/react-input-autosize-2.2.2.tgz#fcaa7020568ec206bc04be36f4eb68e647c4d8c2"
- integrity sha1-/KpwIFaOwga8BL429Oto5kfE2MI=
- dependencies:
- prop-types "^15.5.8"
-
-react-intl@2.8.0:
- version "2.8.0"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/react-intl/-/react-intl-2.8.0.tgz#20b0c1f01d1292427768aa8ec9e51ab7e36503ba"
- integrity sha1-ILDB8B0SkkJ3aKqOyeUat+NlA7o=
- dependencies:
- hoist-non-react-statics "^2.5.5"
- intl-format-cache "^2.0.5"
- intl-messageformat "^2.1.0"
- intl-relativeformat "^2.1.0"
- invariant "^2.1.1"
-
react-is@^16.12.0, react-is@^16.9.0:
version "16.13.0"
resolved "https://repox.jfrog.io/repox/api/npm/npm/react-is/-/react-is-16.13.0.tgz#0f37c3613c34fe6b37cd7f763a0d6293ab15c527"
resolved "https://repox.jfrog.io/repox/api/npm/npm/react-is/-/react-is-16.8.6.tgz#5bbc1e2d29141c9fbdfed456343fe2bc430a6a16"
integrity sha1-W7weLSkUHJ+9/tRWND/ivEMKahY=
-react-lifecycles-compat@^3.0.0, react-lifecycles-compat@^3.0.4:
+react-lifecycles-compat@^3.0.4:
version "3.0.4"
resolved "https://repox.jfrog.io/repox/api/npm/npm/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362"
integrity sha1-TxonOv38jzSIqMUWv9p4+HI1I2I=
-react-modal@3.8.2:
- version "3.8.2"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/react-modal/-/react-modal-3.8.2.tgz#c47397a8602beb7aae0059a3b404f20416241d03"
- integrity sha1-xHOXqGAr63quAFmjtATyBBYkHQM=
- dependencies:
- exenv "^1.2.0"
- prop-types "^15.5.10"
- react-lifecycles-compat "^3.0.0"
- warning "^4.0.3"
-
react-reconciler@^0.24.0:
version "0.24.0"
resolved "https://repox.jfrog.io/repox/api/npm/npm/react-reconciler/-/react-reconciler-0.24.0.tgz#5a396b2c2f5efe8554134a5935f49f546723f2dd"
resolved "https://repox.jfrog.io/repox/api/npm/npm/react-refresh/-/react-refresh-0.7.2.tgz#f30978d21eb8cac6e2f2fde056a7d04f6844dd50"
integrity sha1-8wl40h64ysbi8v3gVqfQT2hE3VA=
-react-router@3.2.1:
- version "3.2.1"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/react-router/-/react-router-3.2.1.tgz#b9a3279962bdfbe684c8bd0482b81ef288f0f244"
- integrity sha1-uaMnmWK9++aEyL0Egrge8ojw8kQ=
- dependencies:
- create-react-class "^15.5.1"
- history "^3.0.0"
- hoist-non-react-statics "^2.3.1"
- invariant "^2.2.1"
- loose-envify "^1.2.0"
- prop-types "^15.5.6"
- warning "^3.0.0"
-
-react-select@1.2.1:
- version "1.2.1"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/react-select/-/react-select-1.2.1.tgz#a2fe58a569eb14dcaa6543816260b97e538120d1"
- integrity sha1-ov5YpWnrFNyqZUOBYmC5flOBINE=
- dependencies:
- classnames "^2.2.4"
- prop-types "^15.5.8"
- react-input-autosize "^2.1.2"
-
react-side-effect@^1.1.0:
version "1.1.5"
resolved "https://repox.jfrog.io/repox/api/npm/npm/react-side-effect/-/react-side-effect-1.1.5.tgz#f26059e50ed9c626d91d661b9f3c8bb38cd0ff2d"
resolved "https://repox.jfrog.io/repox/api/npm/npm/react-typography/-/react-typography-0.16.19.tgz#5736b47961dcf6b9605b6fa38d41980db2588e28"
integrity sha1-Vza0eWHc9rlgW2+jjUGYDbJYjig=
-react-virtualized@9.21.0:
- version "9.21.0"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/react-virtualized/-/react-virtualized-9.21.0.tgz#8267c40ffb48db35b242a36dea85edcf280a6506"
- integrity sha1-gmfED/tI2zWyQqNt6oXtzygKZQY=
- dependencies:
- babel-runtime "^6.26.0"
- classnames "^2.2.3"
- dom-helpers "^2.4.0 || ^3.0.0"
- loose-envify "^1.3.0"
- prop-types "^15.6.0"
- react-lifecycles-compat "^3.0.4"
-
react@16.13.0, react@^16.8.0:
version "16.13.0"
resolved "https://repox.jfrog.io/repox/api/npm/npm/react/-/react-16.13.0.tgz#d046eabcdf64e457bbeed1e792e235e1b9934cf7"
resolved "https://repox.jfrog.io/repox/api/npm/npm/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca"
integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=
-select@^1.1.2:
- version "1.1.2"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/select/-/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d"
- integrity sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=
-
selfsigned@^1.10.7:
version "1.10.7"
resolved "https://repox.jfrog.io/repox/api/npm/npm/selfsigned/-/selfsigned-1.10.7.tgz#da5819fd049d5574f28e88a9bcc6dbc6e6f3906b"
is-plain-object "^2.0.3"
split-string "^3.0.1"
-setimmediate@^1.0.4, setimmediate@^1.0.5:
+setimmediate@^1.0.4:
version "1.0.5"
resolved "https://repox.jfrog.io/repox/api/npm/npm/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=
faye-websocket "^0.10.0"
uuid "^3.0.1"
-sonar-ui-common@../sonar-ui-common/build/dist:
- version "1.0.33"
- dependencies:
- "@types/react-select" "1.2.6"
- classnames "2.2.6"
- clipboard "2.0.6"
- d3-array "2.4.0"
- d3-hierarchy "1.1.9"
- d3-scale "3.2.1"
- d3-selection "1.4.1"
- d3-shape "1.3.7"
- d3-zoom "1.8.3"
- date-fns "1.30.1"
- formik "1.2.0"
- history "3.3.0"
- prop-types "15.7.2"
- react-draggable "4.2.0"
- react-intl "2.8.0"
- react-modal "3.8.2"
- react-router "3.2.1"
- react-select "1.2.1"
- react-virtualized "9.21.0"
-
sort-keys@^1.0.0:
version "1.1.2"
resolved "https://repox.jfrog.io/repox/api/npm/npm/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad"
resolved "https://repox.jfrog.io/repox/api/npm/npm/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4"
integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=
-tiny-emitter@^2.0.0:
- version "2.1.0"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423"
- integrity sha1-HRpW7fxRxD6GPLtTgqcjMONVVCM=
-
tmp@^0.0.33:
version "0.0.33"
resolved "https://repox.jfrog.io/repox/api/npm/npm/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"
resolved "https://repox.jfrog.io/repox/api/npm/npm/tslib/-/tslib-1.11.1.tgz#eb15d128827fbee2841549e171f45ed338ac7e35"
integrity sha1-6xXRKIJ/vuKEFUnhcfRe0zisfjU=
-tslib@^1.9.0, tslib@^1.9.3:
+tslib@^1.9.0:
version "1.10.0"
resolved "https://repox.jfrog.io/repox/api/npm/npm/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a"
integrity sha1-w8GflZc/sKYpc/sJ2Q2WHuQ+XIo=
object-assign "^4.1.0"
typography-normalize "^0.16.19"
-ua-parser-js@^0.7.18:
- version "0.7.28"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/ua-parser-js/-/ua-parser-js-0.7.28.tgz#8ba04e653f35ce210239c64661685bf9121dec31"
- integrity sha1-i6BOZT81ziECOcZGYWhb+RId7DE=
-
uglify-js@^3.1.4:
version "3.6.0"
resolved "https://repox.jfrog.io/repox/api/npm/npm/uglify-js/-/uglify-js-3.6.0.tgz#704681345c53a8b2079fb6cec294b05ead242ff5"
resolved "https://repox.jfrog.io/repox/api/npm/npm/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz#dde6a5df315f9d39991aa17621853d720b85566f"
integrity sha1-3eal3zFfnTmZGqF2IYU9cguFVm8=
-whatwg-fetch@>=0.10.0:
- version "3.0.0"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz#fc804e458cc460009b1a2b966bc8817d2578aefb"
- integrity sha1-/IBORYzEYACbGiuWa8iBfSV4rvs=
-
whatwg-mimetype@^2.2.0, whatwg-mimetype@^2.3.0:
version "2.3.0"
resolved "https://repox.jfrog.io/repox/api/npm/npm/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf"