@rh-support/utils 2.1.46 → 2.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/esm/dateUtils.d.ts +8 -7
- package/lib/esm/dateUtils.d.ts.map +1 -1
- package/lib/esm/dateUtils.js +10 -60
- package/lib/esm/eventUtils.d.ts +3 -13
- package/lib/esm/eventUtils.d.ts.map +1 -1
- package/lib/esm/eventUtils.js +5 -89
- package/lib/esm/searchApiUtils.js +1 -1
- package/lib/esm/validatorUtils.js +1 -1
- package/package.json +7 -6
package/lib/esm/dateUtils.d.ts
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
import moment from 'moment-timezone';
|
|
2
2
|
export declare const formatDate: (date: any, locale?: string, format?: Intl.DateTimeFormatOptions) => string;
|
|
3
3
|
export declare const formatDateTime: (date: any, locale?: string, format?: Intl.DateTimeFormatOptions) => string;
|
|
4
|
-
export declare const
|
|
4
|
+
export declare const isoDate: (date: string) => string;
|
|
5
5
|
export declare const getTimezoneOffsetFromTZName: (tzName: string) => string;
|
|
6
6
|
export declare const getPastUTCDateFromNow: (pastDays: number) => string;
|
|
7
|
-
export declare const
|
|
8
|
-
export
|
|
7
|
+
export declare const isCurrentDateSameAsOrBeforeDate: (date: string, granularity?: moment.unitOfTime.StartOf) => boolean;
|
|
8
|
+
export declare const isFutureDate: (date: string, granularity?: moment.unitOfTime.StartOf) => boolean;
|
|
9
|
+
type AddToDate = {
|
|
9
10
|
days: number;
|
|
10
|
-
date?:
|
|
11
|
-
}
|
|
12
|
-
export declare const addDaysToDate: (params: AddToDate) =>
|
|
11
|
+
date?: string;
|
|
12
|
+
};
|
|
13
|
+
export declare const addDaysToDate: (params: AddToDate) => moment.Moment;
|
|
13
14
|
export declare const isValidDate: (dateString: string) => boolean;
|
|
14
15
|
export declare const trafficSplit: (testVariationWeight: number, dateString: string) => "A" | "B";
|
|
15
16
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dateUtils.d.ts","sourceRoot":"","sources":["../../src/dateUtils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dateUtils.d.ts","sourceRoot":"","sources":["../../src/dateUtils.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAErC,eAAO,MAAM,UAAU,wCAGX,IAAI,CAAC,qBAAqB,WASrC,CAAC;AAEF,eAAO,MAAM,cAAc,wCAGf,IAAI,CAAC,qBAAqB,WAerC,CAAC;AAEF,eAAO,MAAM,OAAO,SAAU,MAAM,KAAG,MAAmC,CAAC;AAE3E,eAAO,MAAM,2BAA2B,WAAY,MAAM,WAEzD,CAAC;AAEF,eAAO,MAAM,qBAAqB,aAAc,MAAM,KAAG,MAExD,CAAC;AAEF,eAAO,MAAM,+BAA+B,SAClC,MAAM,gBACC,MAAM,CAAC,UAAU,CAAC,OAAO,KACvC,OAEF,CAAC;AAEF,eAAO,MAAM,YAAY,SAAU,MAAM,gBAAe,MAAM,CAAC,UAAU,CAAC,OAAO,YAEhF,CAAC;AAEF,KAAK,SAAS,GAAG;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,aAAa,WAAY,SAAS,kBAG9C,CAAC;AAEF,eAAO,MAAM,WAAW,eAAgB,MAAM,YAI7C,CAAC;AAQF,eAAO,MAAM,YAAY,wBAAyB,MAAM,cAAc,MAAM,cAe3E,CAAC"}
|
package/lib/esm/dateUtils.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
1
|
+
import { isValid, parseISO } from 'date-fns';
|
|
2
|
+
import moment from 'moment-timezone';
|
|
3
3
|
export const formatDate = (date, locale = 'en-us', format = { month: 'short', day: 'numeric', year: 'numeric' }) => {
|
|
4
4
|
if (!date) {
|
|
5
5
|
return '';
|
|
@@ -24,72 +24,22 @@ export const formatDateTime = (date, locale = 'en-us', format = {
|
|
|
24
24
|
}
|
|
25
25
|
return formatDate(date, locale, format);
|
|
26
26
|
};
|
|
27
|
-
export const
|
|
28
|
-
const parsedDate = parseISO(date);
|
|
29
|
-
const now = new Date();
|
|
30
|
-
let comparisonDate;
|
|
31
|
-
let comparisonNow;
|
|
32
|
-
switch (granularity) {
|
|
33
|
-
case 'day':
|
|
34
|
-
comparisonDate = startOfDay(parsedDate);
|
|
35
|
-
comparisonNow = startOfDay(now);
|
|
36
|
-
break;
|
|
37
|
-
case 'week':
|
|
38
|
-
comparisonDate = startOfWeek(parsedDate);
|
|
39
|
-
comparisonNow = startOfWeek(now);
|
|
40
|
-
break;
|
|
41
|
-
case 'month':
|
|
42
|
-
comparisonDate = startOfMonth(parsedDate);
|
|
43
|
-
comparisonNow = startOfMonth(now);
|
|
44
|
-
break;
|
|
45
|
-
case 'year':
|
|
46
|
-
comparisonDate = startOfYear(parsedDate);
|
|
47
|
-
comparisonNow = startOfYear(now);
|
|
48
|
-
break;
|
|
49
|
-
default:
|
|
50
|
-
throw new Error('Invalid granularity');
|
|
51
|
-
}
|
|
52
|
-
return isAfter(comparisonNow, comparisonDate);
|
|
53
|
-
};
|
|
27
|
+
export const isoDate = (date) => new Date(date).toString();
|
|
54
28
|
export const getTimezoneOffsetFromTZName = (tzName) => {
|
|
55
|
-
|
|
56
|
-
const zonedDate = fromZonedTime(date, tzName);
|
|
57
|
-
return format(zonedDate, 'xxx', { timeZone: tzName });
|
|
29
|
+
return moment().tz(tzName).format('Z');
|
|
58
30
|
};
|
|
59
31
|
export const getPastUTCDateFromNow = (pastDays) => {
|
|
60
|
-
|
|
61
|
-
|
|
32
|
+
return moment().subtract(pastDays, 'days').utc().format();
|
|
33
|
+
};
|
|
34
|
+
export const isCurrentDateSameAsOrBeforeDate = (date, granularity = 'day') => {
|
|
35
|
+
return moment(moment.now()).isSameOrBefore(date, granularity);
|
|
62
36
|
};
|
|
63
37
|
export const isFutureDate = (date, granularity = 'day') => {
|
|
64
|
-
|
|
65
|
-
const now = new Date();
|
|
66
|
-
let comparisonDate;
|
|
67
|
-
let comparisonNow;
|
|
68
|
-
switch (granularity) {
|
|
69
|
-
case 'day':
|
|
70
|
-
comparisonDate = startOfDay(parsedDate);
|
|
71
|
-
comparisonNow = startOfDay(now);
|
|
72
|
-
break;
|
|
73
|
-
case 'week':
|
|
74
|
-
comparisonDate = startOfWeek(parsedDate);
|
|
75
|
-
comparisonNow = startOfWeek(now);
|
|
76
|
-
break;
|
|
77
|
-
case 'month':
|
|
78
|
-
comparisonDate = startOfMonth(parsedDate);
|
|
79
|
-
comparisonNow = startOfMonth(now);
|
|
80
|
-
break;
|
|
81
|
-
case 'year':
|
|
82
|
-
comparisonDate = startOfYear(parsedDate);
|
|
83
|
-
comparisonNow = startOfYear(now);
|
|
84
|
-
break;
|
|
85
|
-
default:
|
|
86
|
-
throw new Error('Invalid granularity');
|
|
87
|
-
}
|
|
88
|
-
return isAfter(comparisonDate, comparisonNow);
|
|
38
|
+
return moment(date).isAfter(moment(), granularity);
|
|
89
39
|
};
|
|
90
40
|
export const addDaysToDate = (params) => {
|
|
91
41
|
const { days, date = new Date() } = params;
|
|
92
|
-
return
|
|
42
|
+
return moment(date).add(days, 'days');
|
|
93
43
|
};
|
|
94
44
|
export const isValidDate = (dateString) => {
|
|
95
45
|
const parsedDate = parseISO(dateString);
|
package/lib/esm/eventUtils.d.ts
CHANGED
|
@@ -5,17 +5,7 @@ export interface IPendoTrackEventProperty {
|
|
|
5
5
|
declare function haltEvent(event: React.SyntheticEvent<{}>): void;
|
|
6
6
|
declare function pendoTrackEvent(name: any, properties?: IPendoTrackEventProperty): void;
|
|
7
7
|
declare function dtmTrackEvent(eventName: string, stepName: string, caseNumber?: string, product?: string): void;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
* @returns the track event page name
|
|
12
|
-
*/
|
|
13
|
-
export declare function getPageName(pathname: string): string;
|
|
14
|
-
declare function dtmTrackEventCaseCreationStepEncountered(caseSection: boolean, stepName: string, caseNumber?: string, caseType?: string, caseTitle?: string, product?: string, version?: string): void;
|
|
15
|
-
export declare function dtmTrackEventCaseStepEncountered(stepName: 'close' | 'comment' | 'follow' | 'review', caseNumber?: string, product?: string, version?: string): void;
|
|
16
|
-
export declare function dtmTrackEventPageLoadStarted(pageName: string): void;
|
|
17
|
-
declare function dtmTrackEventRecommendationListingItemClicked(url: string, activityName: string, contentListingRegion: string, contentID: string, contentPosition: number, contentTitle: string, contentUrl: string, displayFeature: string, displayFeatureTitle: string): void;
|
|
18
|
-
declare function dtmTrackEventRecommendationListingDisplayed(contentListingRegion: any, activityName: any, listing: any, resultsCount: any): void;
|
|
19
|
-
export declare function dtmTrackEventUploadFileToAnalyze(caseSection: boolean, stepName: string, caseType?: string, caseTitle?: string, product?: string, version?: string): void;
|
|
20
|
-
export { haltEvent, pendoTrackEvent, dtmTrackEvent, dtmTrackEventCaseCreationStepEncountered, dtmTrackEventRecommendationListingItemClicked, dtmTrackEventRecommendationListingDisplayed, };
|
|
8
|
+
declare function dtmTrackEventCaseStartStopped(stepName: string, caseNumber?: string, product?: string): void;
|
|
9
|
+
declare function dtmTrackEventCaseDetailsSolutionDocs(stepName: string, caseNumber?: string, product?: string): void;
|
|
10
|
+
export { haltEvent, pendoTrackEvent, dtmTrackEvent, dtmTrackEventCaseStartStopped, dtmTrackEventCaseDetailsSolutionDocs, };
|
|
21
11
|
//# sourceMappingURL=eventUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eventUtils.d.ts","sourceRoot":"","sources":["../../src/eventUtils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,wBAAwB;IACrC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAED,iBAAS,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,QAKjD;AAKD,iBAAS,eAAe,CAAC,IAAI,KAAA,EAAE,UAAU,GAAE,wBAA6B,QAMvE;AAED,iBAAS,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,QAUhG;AAED
|
|
1
|
+
{"version":3,"file":"eventUtils.d.ts","sourceRoot":"","sources":["../../src/eventUtils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,wBAAwB;IACrC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAED,iBAAS,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,QAKjD;AAKD,iBAAS,eAAe,CAAC,IAAI,KAAA,EAAE,UAAU,GAAE,wBAA6B,QAMvE;AAED,iBAAS,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,QAUhG;AAED,iBAAS,6BAA6B,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,QAE7F;AAED,iBAAS,oCAAoC,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,QAEpG;AAED,OAAO,EACH,SAAS,EACT,eAAe,EACf,aAAa,EACb,6BAA6B,EAC7B,oCAAoC,GACvC,CAAC"}
|
package/lib/esm/eventUtils.js
CHANGED
|
@@ -27,94 +27,10 @@ function dtmTrackEvent(eventName, stepName, caseNumber, product) {
|
|
|
27
27
|
},
|
|
28
28
|
});
|
|
29
29
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
* @param pathname the current pathname
|
|
33
|
-
* @returns the track event page name
|
|
34
|
-
*/
|
|
35
|
-
export function getPageName(pathname) {
|
|
36
|
-
return `cp|support|cases|${pathname.replace('#', '').split('/').filter(Boolean).join('|')}`;
|
|
30
|
+
function dtmTrackEventCaseStartStopped(stepName, caseNumber, product) {
|
|
31
|
+
dtmTrackEvent('Case Step Encountered', stepName, caseNumber, product);
|
|
37
32
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
const event = 'Case Creation Step Encountered';
|
|
41
|
-
const caseObject = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ type: 'cp-support', caseSection: caseSection ? 'case' : 'troubleshoot', stepName }, (caseNumber && { caseNumber })), (version && { caseProductVersion: version })), (caseType && { caseType })), (caseTitle && { caseTitle })), (product && { caseProduct: product }));
|
|
42
|
-
(window.appEventData || []).push({
|
|
43
|
-
event,
|
|
44
|
-
case: caseObject,
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
// https://github.com/further-external/redhat-datalayer/blob/main/EDDL/global-datalayer.md#Page-Load-Started
|
|
48
|
-
export function dtmTrackEventCaseStepEncountered(stepName, caseNumber, product, version) {
|
|
49
|
-
const event = 'Case Step Encountered';
|
|
50
|
-
const caseObject = Object.assign(Object.assign({ type: 'cp-support', stepName }, (caseNumber && { caseNumber })), (product && { caseProduct: `${product}|${version}` }));
|
|
51
|
-
(window.appEventData || []).push({
|
|
52
|
-
event,
|
|
53
|
-
case: caseObject,
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
// https://github.com/further-external/redhat-datalayer/blob/main/EDDL/global-datalayer.md#Page-Load-Started
|
|
57
|
-
export function dtmTrackEventPageLoadStarted(pageName) {
|
|
58
|
-
const event = 'Page Load Started';
|
|
59
|
-
const caseObject = {
|
|
60
|
-
type: 'cp-support',
|
|
61
|
-
pageName,
|
|
62
|
-
};
|
|
63
|
-
(window.appEventData || []).push({
|
|
64
|
-
event,
|
|
65
|
-
case: caseObject,
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
// https://github.com/further-external/redhat-datalayer/blob/main/EDDL/global-datalayer.md#recommendation-listing-item-clicked
|
|
69
|
-
function dtmTrackEventRecommendationListingItemClicked(url, activityName, contentListingRegion, contentID, contentPosition, contentTitle, contentUrl, displayFeature, displayFeatureTitle) {
|
|
70
|
-
(window.appEventData || []).push({
|
|
71
|
-
event: 'Recommendation Listing Item Clicked',
|
|
72
|
-
linkInfo: {
|
|
73
|
-
href: url,
|
|
74
|
-
linkType: 'list',
|
|
75
|
-
linkTypeName: 'listing result click',
|
|
76
|
-
targetHost: 'access.redhat.com',
|
|
77
|
-
text: 'text',
|
|
78
|
-
},
|
|
79
|
-
listingItemClicked: {
|
|
80
|
-
activityName,
|
|
81
|
-
contentListingRegion,
|
|
82
|
-
listing: [
|
|
83
|
-
{
|
|
84
|
-
content: {
|
|
85
|
-
contentID,
|
|
86
|
-
contentPosition,
|
|
87
|
-
contentTitle,
|
|
88
|
-
contentUrl,
|
|
89
|
-
displayFeature,
|
|
90
|
-
displayFeatureTitle,
|
|
91
|
-
},
|
|
92
|
-
},
|
|
93
|
-
],
|
|
94
|
-
listingType: 'Support Cases',
|
|
95
|
-
},
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
// https://github.com/further-external/redhat-datalayer/blob/main/EDDL/global-datalayer.md#recommendation-listing-displayed
|
|
99
|
-
function dtmTrackEventRecommendationListingDisplayed(contentListingRegion, activityName, listing, resultsCount) {
|
|
100
|
-
(window.appEventData || []).push({
|
|
101
|
-
event: 'Recommendation Listing Displayed',
|
|
102
|
-
listingDisplayed: {
|
|
103
|
-
activityName,
|
|
104
|
-
contentListingRegion,
|
|
105
|
-
listing,
|
|
106
|
-
listingType: 'content',
|
|
107
|
-
resultsCount,
|
|
108
|
-
},
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
// https://github.com/further-external/redhat-datalayer/blob/main/EDDL/global-datalayer.md#Page-Load-Started
|
|
112
|
-
export function dtmTrackEventUploadFileToAnalyze(caseSection, stepName, caseType, caseTitle, product, version) {
|
|
113
|
-
const eventName = 'Upload File to Analyze';
|
|
114
|
-
const caseObject = Object.assign(Object.assign(Object.assign(Object.assign({ type: 'cp-support', caseSection: caseSection ? 'case' : 'troubleshoot', stepName }, (product && { caseProduct: product })), (version && { caseProductVersion: version })), (caseType && { caseType })), (caseTitle && { caseTitle }));
|
|
115
|
-
(window.appEventData || []).push({
|
|
116
|
-
event: eventName,
|
|
117
|
-
case: caseObject,
|
|
118
|
-
});
|
|
33
|
+
function dtmTrackEventCaseDetailsSolutionDocs(stepName, caseNumber, product) {
|
|
34
|
+
dtmTrackEvent('Case details solution docs', stepName, caseNumber, product);
|
|
119
35
|
}
|
|
120
|
-
export { haltEvent, pendoTrackEvent, dtmTrackEvent,
|
|
36
|
+
export { haltEvent, pendoTrackEvent, dtmTrackEvent, dtmTrackEventCaseStartStopped, dtmTrackEventCaseDetailsSolutionDocs, };
|
|
@@ -5,7 +5,7 @@ export const issuesDefaultParamsObj = {
|
|
|
5
5
|
fq: [documentKindToInclude, '-internalTags:helper_solution'],
|
|
6
6
|
start: 0,
|
|
7
7
|
rows: 10,
|
|
8
|
-
fl: 'id, allTitle, publishedTitle, view_uri, resource_uri, uri, issue, lastModifiedDate, kcsState, kcsRateUp, kcsRateDown, documentKind, publishedAbstract, abstract, authorSSOName, tag, snippet',
|
|
8
|
+
fl: 'id, allTitle, publishedTitle, view_uri, resource_uri, uri, issue, lastModifiedDate, kcsState, kcsRateUp, kcsRateDown, documentKind, publishedAbstract, abstract, authorSSOName, tag, snippet, cve_threatSeverity',
|
|
9
9
|
seQueryFields: false,
|
|
10
10
|
hl: true,
|
|
11
11
|
'hl.fl': 'abstract, publishedAbstract, issue',
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const emojiPattern = /[\u{1f300}-\u{1f5ff}\u{1f900}-\u{1f9ff}\u{1f600}-\u{1f64f}\u{1f680}-\u{1f6ff}\u{2600}-\u{26ff}\u{2700}-\u{27bf}\u{1f1e6}-\u{1f1ff}\u{1f191}-\u{1f251}\u{1f004}\u{1f0cf}\u{1f170}-\u{1f171}\u{1f17e}-\u{1f17f}\u{1f18e}\u{3030}\u{2b50}\u{2b55}\u{2934}-\u{2935}\u{2b05}-\u{2b07}\u{2b1b}-\u{2b1c}\u{3297}\u{3299}\u{303d}\u{00a9}\u{00ae}\u{2122}\u{23f3}\u{24c2}\u{23e9}-\u{23ef}\u{25b6}\u{23f8}-\u{23fa}]/gu;
|
|
2
2
|
const mailformat = new RegExp(
|
|
3
3
|
// eslint-disable-next-line no-control-regex
|
|
4
|
-
"
|
|
4
|
+
"([!#-'*+/-9=?A-Z^-~-]+(.[!#-'*+/-9=?A-Z^-~-]+)*|\"([]!#-[^-~ \t]|(\\[\t -~]))+\")@([!#-'*+/-9=?A-Z^-~-]+(.[!#-'*+/-9=?A-Z^-~-]+)*|[[\t -Z^-~]*])");
|
|
5
5
|
const imageRegex = /^image\/(gif|png|jpeg)$/;
|
|
6
6
|
// To check if email is valid
|
|
7
7
|
function isEmailValid(object) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rh-support/utils",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.4.2",
|
|
4
4
|
"description": "> TODO: description",
|
|
5
5
|
"author": "Vikas Rathee <vrathee@redhat.com>",
|
|
6
6
|
"license": "ISC",
|
|
@@ -41,21 +41,21 @@
|
|
|
41
41
|
"prepublishOnly": "npm run build"
|
|
42
42
|
},
|
|
43
43
|
"peerDependencies": {
|
|
44
|
-
"@cee-eng/hydrajs": "4.17.
|
|
44
|
+
"@cee-eng/hydrajs": "4.17.33",
|
|
45
45
|
"localforage": "^1.10.0",
|
|
46
46
|
"lodash": "^4.17.21",
|
|
47
47
|
"qs": "^6.7.0",
|
|
48
48
|
"solr-query-builder": "1.0.1"
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"@cee-eng/hydrajs": "4.17.
|
|
51
|
+
"@cee-eng/hydrajs": "4.17.33",
|
|
52
52
|
"@rh-support/types": "2.0.4",
|
|
53
53
|
"date-fns": "3.6.0",
|
|
54
|
-
"date-fns-tz": "^3.1.3",
|
|
55
54
|
"dompurify": "^2.2.6",
|
|
56
55
|
"localforage": "^1.10.0",
|
|
57
56
|
"lodash": "^4.17.21",
|
|
58
57
|
"lucene": "^2.1.1",
|
|
58
|
+
"marked": "^1.2.4",
|
|
59
59
|
"qs": "^6.7.0",
|
|
60
60
|
"solr-query-builder": "1.0.1"
|
|
61
61
|
},
|
|
@@ -68,11 +68,12 @@
|
|
|
68
68
|
"@types/qs": "^6.9.1",
|
|
69
69
|
"i18next": "^23.15.0",
|
|
70
70
|
"jest": "^29.7.0",
|
|
71
|
-
"jest-environment-jsdom": "^29.7.0"
|
|
71
|
+
"jest-environment-jsdom": "^29.7.0",
|
|
72
|
+
"moment-timezone": "^0.5.45"
|
|
72
73
|
},
|
|
73
74
|
"browserslist": [
|
|
74
75
|
"defaults and supports es6-module",
|
|
75
76
|
"maintained node versions"
|
|
76
77
|
],
|
|
77
|
-
"gitHead": "
|
|
78
|
+
"gitHead": "908b440e3c6cd625c77178c3205f4e2908630446"
|
|
78
79
|
}
|