mirror of
https://github.com/Radarr/Radarr
synced 2026-01-23 16:04:18 +01:00
fix: resolve technical debt and npm vulnerabilities
NPM Security (0 vulnerabilities remaining): - Add yarn resolutions for cross-spawn, brace-expansion, color-string, glob, postcss Bug fixes: - Bug-002: Use FirstOrDefault with null check (DownloadStationTaskProxyV2) - Bug-007: Fix inverted exception logic for magnet fallback (TorrentClientBase) - Bug-008: Fix stale closure using ref (MovieSearchInput) - Bug-009: Fix Number.Number.parseInt typos across 50+ files - Bug-010: Add regex timeout and Compiled flag (RegexReplace) - Bug-011: Add null checks for XML queries (ConfigFileProvider) - Bug-012: Remove empty touch handler (MovieDetails) - Bug-013: Use Path.GetFileName for safer check (InstallUpdateService) - Bug-014: Return Ok instead of Accepted for sync PUT (MovieController) - Bug-016: Fix double bracket typo in log message (InstallUpdateService) - Bug-017: Add console.warn to catch block (MovieTagInput) - Bug-018: Remove stray debug console.log (SignalRConnector) - Bug-019: Document disabled regex with ReDoS justification (Parser)
This commit is contained in:
parent
5c51367bec
commit
2b19ec07ff
59 changed files with 217 additions and 221 deletions
|
|
@ -104,7 +104,7 @@ function HistoryDetails(props: Readonly<HistoryDetailsProps>) {
|
|||
{customFormatScore && customFormatScore !== '0' ? (
|
||||
<DescriptionListItem
|
||||
title={translate('CustomFormatScore')}
|
||||
data={formatCustomFormatScore(Number.Number.parseInt(customFormatScore))}
|
||||
data={formatCustomFormatScore(Number.parseInt(customFormatScore))}
|
||||
/>
|
||||
) : null}
|
||||
|
||||
|
|
@ -230,7 +230,7 @@ function HistoryDetails(props: Readonly<HistoryDetailsProps>) {
|
|||
{customFormatScore && customFormatScore !== '0' ? (
|
||||
<DescriptionListItem
|
||||
title={translate('CustomFormatScore')}
|
||||
data={formatCustomFormatScore(Number.Number.parseInt(customFormatScore))}
|
||||
data={formatCustomFormatScore(Number.parseInt(customFormatScore))}
|
||||
/>
|
||||
) : null}
|
||||
|
||||
|
|
@ -272,7 +272,7 @@ function HistoryDetails(props: Readonly<HistoryDetailsProps>) {
|
|||
{customFormatScore && customFormatScore !== '0' ? (
|
||||
<DescriptionListItem
|
||||
title={translate('CustomFormatScore')}
|
||||
data={formatCustomFormatScore(Number.Number.parseInt(customFormatScore))}
|
||||
data={formatCustomFormatScore(Number.parseInt(customFormatScore))}
|
||||
/>
|
||||
) : null}
|
||||
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ class AddNewMovieModalContent extends Component {
|
|||
// Listeners
|
||||
|
||||
onQualityProfileIdChange = ({ value }) => {
|
||||
this.props.onInputChange({ name: 'qualityProfileId', value: Number.Number.parseInt(value) });
|
||||
this.props.onInputChange({ name: 'qualityProfileId', value: Number.parseInt(value) });
|
||||
};
|
||||
|
||||
onAddMoviePress = () => {
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ function createMapStateToProps() {
|
|||
items
|
||||
} = rootFolders;
|
||||
|
||||
const rootFolderId = Number.Number.parseInt(match.params.rootFolderId);
|
||||
const rootFolderId = Number.parseInt(match.params.rootFolderId);
|
||||
|
||||
const result = {
|
||||
rootFolderId,
|
||||
|
|
|
|||
|
|
@ -138,7 +138,7 @@ class Collection extends Component {
|
|||
const characters = _.reduce(items, (acc, item) => {
|
||||
let char = item.sortTitle.charAt(0);
|
||||
|
||||
if (!Number.Number.isNaN(char)) {
|
||||
if (!Number.isNaN(char)) {
|
||||
char = '#';
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -23,10 +23,10 @@ import styles from './CollectionOverview.css';
|
|||
import 'swiper/css';
|
||||
import 'swiper/css/navigation';
|
||||
|
||||
const columnPadding = Number.Number.parseInt(dimensions.movieIndexColumnPadding);
|
||||
const columnPaddingSmallScreen = Number.Number.parseInt(dimensions.movieIndexColumnPaddingSmallScreen);
|
||||
const defaultFontSize = Number.Number.parseInt(fonts.defaultFontSize);
|
||||
const lineHeight = Number.Number.parseFloat(fonts.lineHeight);
|
||||
const columnPadding = Number.parseInt(dimensions.movieIndexColumnPadding);
|
||||
const columnPaddingSmallScreen = Number.parseInt(dimensions.movieIndexColumnPaddingSmallScreen);
|
||||
const defaultFontSize = Number.parseInt(fonts.defaultFontSize);
|
||||
const lineHeight = Number.parseFloat(fonts.lineHeight);
|
||||
|
||||
// Hardcoded height beased on line-height of 32 + bottom margin of 10. 19 + 5 for List Row
|
||||
// Less side-effecty than using react-measure.
|
||||
|
|
|
|||
|
|
@ -10,8 +10,8 @@ import CollectionOverviewConnector from './CollectionOverviewConnector';
|
|||
import styles from './CollectionOverviews.css';
|
||||
|
||||
// Poster container dimensions
|
||||
const columnPadding = Number.Number.parseInt(dimensions.movieIndexColumnPadding);
|
||||
const columnPaddingSmallScreen = Number.Number.parseInt(dimensions.movieIndexColumnPaddingSmallScreen);
|
||||
const columnPadding = Number.parseInt(dimensions.movieIndexColumnPadding);
|
||||
const columnPaddingSmallScreen = Number.parseInt(dimensions.movieIndexColumnPaddingSmallScreen);
|
||||
|
||||
function calculatePosterWidth(posterSize, isSmallScreen) {
|
||||
const maximumPosterWidth = isSmallScreen ? 152 : 162;
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ function getValue(input, selectedFilterBuilderProp) {
|
|||
case 'tib':
|
||||
return convertToBytes(value, 4, true);
|
||||
default:
|
||||
return Number.Number.parseInt(value);
|
||||
return Number.parseInt(value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ function parseValue(
|
|||
return null;
|
||||
}
|
||||
|
||||
let newValue = isFloat ? Number.Number.parseFloat(value) : Number.Number.parseInt(value);
|
||||
let newValue = isFloat ? Number.parseFloat(value) : Number.parseInt(value);
|
||||
|
||||
if (min != null && newValue != null && newValue < min) {
|
||||
newValue = min;
|
||||
|
|
@ -82,8 +82,7 @@ function NumberInput({
|
|||
|
||||
useEffect(() => {
|
||||
if (
|
||||
// @ts-expect-error inputValue may be null
|
||||
!Number.Number.isNaN(inputValue) &&
|
||||
!Number.isNaN(inputValue) &&
|
||||
inputValue !== previousValue &&
|
||||
!isFocused.current
|
||||
) {
|
||||
|
|
|
|||
|
|
@ -77,7 +77,7 @@ export interface UMaskInputProps {
|
|||
}
|
||||
|
||||
function UMaskInput({ name, value, onChange }: Readonly<UMaskInputProps>) {
|
||||
const valueNum = Number.Number.parseInt(value, 8);
|
||||
const valueNum = Number.parseInt(value, 8);
|
||||
const umaskNum = 0o777 & ~valueNum;
|
||||
const umask = umaskNum.toString(8).padStart(4, '0');
|
||||
const folderNum = 0o777 & ~umaskNum;
|
||||
|
|
|
|||
|
|
@ -23,7 +23,8 @@ const VALID_TAG_REGEX = new RegExp('[^-_a-z0-9]', 'i');
|
|||
function isValidTag(tagName: string) {
|
||||
try {
|
||||
return !VALID_TAG_REGEX.test(tagName);
|
||||
} catch {
|
||||
} catch (e) {
|
||||
console.warn('Tag validation failed:', e);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -125,7 +125,7 @@ function MovieSearchInput() {
|
|||
const { bindShortcut, unbindShortcut } = useKeyboardShortcuts();
|
||||
|
||||
const [value, setValue] = useState('');
|
||||
const [requestLoading, setRequestLoading] = useState(false);
|
||||
const [_requestLoading, setRequestLoading] = useState(false);
|
||||
const [suggestions, setSuggestions] = useState<MovieSuggestion[]>([]);
|
||||
|
||||
const autosuggestRef = useRef<Autosuggest>(null);
|
||||
|
|
@ -133,6 +133,7 @@ function MovieSearchInput() {
|
|||
const worker = useRef<Worker | null>(null);
|
||||
const isLoading = useRef(false);
|
||||
const requestValue = useRef<string | null>(null);
|
||||
const requestLoadingRef = useRef(false);
|
||||
|
||||
const suggestionGroups = useMemo(() => {
|
||||
const result: Section[] = [];
|
||||
|
|
@ -164,15 +165,18 @@ function MovieSearchInput() {
|
|||
|
||||
if (!isLoading.current) {
|
||||
requestValue.current = null;
|
||||
requestLoadingRef.current = false;
|
||||
setRequestLoading(false);
|
||||
} else if (value === requestValue.current) {
|
||||
setSuggestions(suggestions);
|
||||
requestValue.current = null;
|
||||
requestLoadingRef.current = false;
|
||||
setRequestLoading(false);
|
||||
isLoading.current = false;
|
||||
// setLoading(false);
|
||||
} else {
|
||||
setSuggestions(suggestions);
|
||||
requestLoadingRef.current = true;
|
||||
setRequestLoading(true);
|
||||
|
||||
const payload = {
|
||||
|
|
@ -192,9 +196,11 @@ function MovieSearchInput() {
|
|||
}
|
||||
|
||||
requestValue.current = value;
|
||||
setRequestLoading(true);
|
||||
|
||||
if (!requestLoading) {
|
||||
if (!requestLoadingRef.current) {
|
||||
requestLoadingRef.current = true;
|
||||
setRequestLoading(true);
|
||||
|
||||
const payload = {
|
||||
value,
|
||||
movies,
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import dimensions from 'Styles/Variables/dimensions';
|
|||
import PageJumpBarItem, { PageJumpBarItemProps } from './PageJumpBarItem';
|
||||
import styles from './PageJumpBar.css';
|
||||
|
||||
const ITEM_HEIGHT = Number.Number.parseInt(dimensions.jumpBarItemHeight);
|
||||
const ITEM_HEIGHT = Number.parseInt(dimensions.jumpBarItemHeight);
|
||||
|
||||
export interface PageJumpBarItems {
|
||||
characters: Record<string, number>;
|
||||
|
|
|
|||
|
|
@ -23,8 +23,8 @@ import Messages from './Messages/Messages';
|
|||
import PageSidebarItem from './PageSidebarItem';
|
||||
import styles from './PageSidebar.css';
|
||||
|
||||
const HEADER_HEIGHT = Number.Number.parseInt(dimensions.headerHeight);
|
||||
const SIDEBAR_WIDTH = Number.Number.parseInt(dimensions.sidebarWidth);
|
||||
const HEADER_HEIGHT = Number.parseInt(dimensions.headerHeight);
|
||||
const SIDEBAR_WIDTH = Number.parseInt(dimensions.sidebarWidth);
|
||||
|
||||
interface SidebarItem {
|
||||
iconName?: IconName;
|
||||
|
|
|
|||
|
|
@ -12,8 +12,8 @@ import { PageToolbarButtonProps } from './PageToolbarButton';
|
|||
import PageToolbarOverflowMenuItem from './PageToolbarOverflowMenuItem';
|
||||
import styles from './PageToolbarSection.css';
|
||||
|
||||
const BUTTON_WIDTH = Number.Number.parseInt(dimensions.toolbarButtonWidth);
|
||||
const SEPARATOR_MARGIN = Number.Number.parseInt(dimensions.toolbarSeparatorMargin);
|
||||
const BUTTON_WIDTH = Number.parseInt(dimensions.toolbarButtonWidth);
|
||||
const SEPARATOR_MARGIN = Number.parseInt(dimensions.toolbarSeparatorMargin);
|
||||
const SEPARATOR_WIDTH = 2 * SEPARATOR_MARGIN + 1;
|
||||
|
||||
export interface PageToolbarSectionProps {
|
||||
|
|
|
|||
|
|
@ -261,8 +261,6 @@ class SignalRConnector extends Component {
|
|||
const action = body.action;
|
||||
const section = 'movieCollections';
|
||||
|
||||
console.log(body);
|
||||
|
||||
if (action === 'updated') {
|
||||
this.props.dispatchUpdateItem({ section, ...body.resource });
|
||||
} else if (action === 'deleted') {
|
||||
|
|
|
|||
|
|
@ -7,10 +7,10 @@ import dimensions from 'Styles/Variables/dimensions.js';
|
|||
import TableOptionsColumn from './TableOptionsColumn';
|
||||
import styles from './TableOptionsColumnDragPreview.css';
|
||||
|
||||
const formGroupSmallWidth = Number.Number.parseInt(dimensions.formGroupSmallWidth);
|
||||
const formLabelLargeWidth = Number.Number.parseInt(dimensions.formLabelLargeWidth);
|
||||
const formLabelRightMarginWidth = Number.Number.parseInt(dimensions.formLabelRightMarginWidth);
|
||||
const dragHandleWidth = Number.Number.parseInt(dimensions.dragHandleWidth);
|
||||
const formGroupSmallWidth = Number.parseInt(dimensions.formGroupSmallWidth);
|
||||
const formLabelLargeWidth = Number.parseInt(dimensions.formLabelLargeWidth);
|
||||
const formLabelRightMarginWidth = Number.parseInt(dimensions.formLabelRightMarginWidth);
|
||||
const dragHandleWidth = Number.parseInt(dimensions.dragHandleWidth);
|
||||
|
||||
function collectDragLayer(monitor) {
|
||||
return {
|
||||
|
|
|
|||
|
|
@ -84,11 +84,11 @@ function Tooltip(props: Readonly<TooltipProps>) {
|
|||
const maxWidth = useMemo(() => {
|
||||
const windowWidth = window.innerWidth;
|
||||
|
||||
if (windowWidth >= Number.Number.parseInt(dimensions.breakpointLarge)) {
|
||||
if (windowWidth >= Number.parseInt(dimensions.breakpointLarge)) {
|
||||
return 800;
|
||||
} else if (windowWidth >= Number.Number.parseInt(dimensions.breakpointMedium)) {
|
||||
} else if (windowWidth >= Number.parseInt(dimensions.breakpointMedium)) {
|
||||
return 650;
|
||||
} else if (windowWidth >= Number.Number.parseInt(dimensions.breakpointSmall)) {
|
||||
} else if (windowWidth >= Number.parseInt(dimensions.breakpointSmall)) {
|
||||
return 500;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -162,7 +162,7 @@ class DiscoverMovie extends Component {
|
|||
const characters = _.reduce(items, (acc, item) => {
|
||||
let char = item.sortTitle.charAt(0);
|
||||
|
||||
if (!Number.Number.isNaN(char)) {
|
||||
if (!Number.isNaN(char)) {
|
||||
char = '#';
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -19,10 +19,10 @@ import translate from 'Utilities/String/translate';
|
|||
import DiscoverMovieOverviewInfo from './DiscoverMovieOverviewInfo';
|
||||
import styles from './DiscoverMovieOverview.css';
|
||||
|
||||
const columnPadding = Number.Number.parseInt(dimensions.movieIndexColumnPadding);
|
||||
const columnPaddingSmallScreen = Number.Number.parseInt(dimensions.movieIndexColumnPaddingSmallScreen);
|
||||
const defaultFontSize = Number.Number.parseInt(fonts.defaultFontSize);
|
||||
const lineHeight = Number.Number.parseFloat(fonts.lineHeight);
|
||||
const columnPadding = Number.parseInt(dimensions.movieIndexColumnPadding);
|
||||
const columnPaddingSmallScreen = Number.parseInt(dimensions.movieIndexColumnPaddingSmallScreen);
|
||||
const defaultFontSize = Number.parseInt(fonts.defaultFontSize);
|
||||
const lineHeight = Number.parseFloat(fonts.lineHeight);
|
||||
|
||||
// Hardcoded height beased on line-height of 32 + bottom margin of 10. 19 + 5 for List Row
|
||||
// Less side-effecty than using react-measure.
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import translate from 'Utilities/String/translate';
|
|||
import DiscoverMovieOverviewInfoRow from './DiscoverMovieOverviewInfoRow';
|
||||
import styles from './DiscoverMovieOverviewInfo.css';
|
||||
|
||||
const infoRowHeight = Number.Number.parseInt(dimensions.movieIndexOverviewInfoRowHeight);
|
||||
const infoRowHeight = Number.parseInt(dimensions.movieIndexOverviewInfoRowHeight);
|
||||
|
||||
const rows = [
|
||||
{
|
||||
|
|
|
|||
|
|
@ -10,8 +10,8 @@ import DiscoverMovieOverviewConnector from './DiscoverMovieOverviewConnector';
|
|||
import styles from './DiscoverMovieOverviews.css';
|
||||
|
||||
// Poster container dimensions
|
||||
const columnPadding = Number.Number.parseInt(dimensions.movieIndexColumnPadding);
|
||||
const columnPaddingSmallScreen = Number.Number.parseInt(dimensions.movieIndexColumnPaddingSmallScreen);
|
||||
const columnPadding = Number.parseInt(dimensions.movieIndexColumnPadding);
|
||||
const columnPaddingSmallScreen = Number.parseInt(dimensions.movieIndexColumnPaddingSmallScreen);
|
||||
|
||||
function calculatePosterWidth(posterSize, isSmallScreen) {
|
||||
const maximumPosterWidth = isSmallScreen ? 152 : 162;
|
||||
|
|
|
|||
|
|
@ -10,10 +10,10 @@ import DiscoverMoviePosterConnector from './DiscoverMoviePosterConnector';
|
|||
import styles from './DiscoverMoviePosters.css';
|
||||
|
||||
// Poster container dimensions
|
||||
const columnPadding = Number.Number.parseInt(dimensions.movieIndexColumnPadding);
|
||||
const columnPaddingSmallScreen = Number.Number.parseInt(dimensions.movieIndexColumnPaddingSmallScreen);
|
||||
const progressBarHeight = Number.Number.parseInt(dimensions.progressBarSmallHeight);
|
||||
const detailedProgressBarHeight = Number.Number.parseInt(dimensions.progressBarMediumHeight);
|
||||
const columnPadding = Number.parseInt(dimensions.movieIndexColumnPadding);
|
||||
const columnPaddingSmallScreen = Number.parseInt(dimensions.movieIndexColumnPaddingSmallScreen);
|
||||
const progressBarHeight = Number.parseInt(dimensions.progressBarSmallHeight);
|
||||
const detailedProgressBarHeight = Number.parseInt(dimensions.progressBarMediumHeight);
|
||||
|
||||
const additionalColumnCount = {
|
||||
small: 3,
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ function SelectLanguageModalContent(props: Readonly<SelectLanguageModalContentPr
|
|||
|
||||
const onLanguageChange = useCallback(
|
||||
({ name, value }: { name: string; value: boolean }) => {
|
||||
const changedId = Number.Number.parseInt(name);
|
||||
const changedId = Number.parseInt(name);
|
||||
|
||||
let newLanguages = [...languageIds];
|
||||
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ const columns = [
|
|||
},
|
||||
];
|
||||
|
||||
const bodyPadding = Number.Number.parseInt(dimensions.pageContentBodyPadding);
|
||||
const bodyPadding = Number.parseInt(dimensions.pageContentBodyPadding);
|
||||
|
||||
interface SelectMovieModalContentProps {
|
||||
modalTitle: string;
|
||||
|
|
|
|||
|
|
@ -12,8 +12,8 @@ import 'swiper/css';
|
|||
import 'swiper/css/navigation';
|
||||
|
||||
// Poster container dimensions
|
||||
const columnPadding = Number.Number.parseInt(dimensions.movieIndexColumnPadding);
|
||||
const columnPaddingSmallScreen = Number.Number.parseInt(
|
||||
const columnPadding = Number.parseInt(dimensions.movieIndexColumnPadding);
|
||||
const columnPaddingSmallScreen = Number.parseInt(
|
||||
dimensions.movieIndexColumnPaddingSmallScreen
|
||||
);
|
||||
|
||||
|
|
|
|||
|
|
@ -101,8 +101,8 @@ import MovieTags from './MovieTags';
|
|||
import MovieTitlesTable from './Titles/MovieTitlesTable';
|
||||
import styles from './MovieDetails.css';
|
||||
|
||||
const defaultFontSize = Number.Number.parseInt(fonts.defaultFontSize);
|
||||
const lineHeight = Number.Number.parseFloat(fonts.lineHeight);
|
||||
const defaultFontSize = Number.parseInt(fonts.defaultFontSize);
|
||||
const lineHeight = Number.parseFloat(fonts.lineHeight);
|
||||
|
||||
function getFanartUrl(images: Image[]) {
|
||||
const image = images.find((image) => image.coverType === 'fanart');
|
||||
|
|
@ -417,12 +417,6 @@ function MovieDetails({ movieId }: Readonly<MovieDetailsProps>) {
|
|||
touchStart.current = null;
|
||||
}, []);
|
||||
|
||||
const handleTouchMove = useCallback(() => {
|
||||
if (!touchStart.current) {
|
||||
return;
|
||||
}
|
||||
}, []);
|
||||
|
||||
const handleKeyUp = useCallback(
|
||||
(event: KeyboardEvent) => {
|
||||
if (
|
||||
|
|
@ -495,23 +489,15 @@ function MovieDetails({ movieId }: Readonly<MovieDetailsProps>) {
|
|||
window.addEventListener('touchstart', handleTouchStart);
|
||||
window.addEventListener('touchend', handleTouchEnd);
|
||||
window.addEventListener('touchcancel', handleTouchCancel);
|
||||
window.addEventListener('touchmove', handleTouchMove);
|
||||
window.addEventListener('keyup', handleKeyUp);
|
||||
|
||||
return () => {
|
||||
window.removeEventListener('touchstart', handleTouchStart);
|
||||
window.removeEventListener('touchend', handleTouchEnd);
|
||||
window.removeEventListener('touchcancel', handleTouchCancel);
|
||||
window.removeEventListener('touchmove', handleTouchMove);
|
||||
window.removeEventListener('keyup', handleKeyUp);
|
||||
};
|
||||
}, [
|
||||
handleTouchStart,
|
||||
handleTouchEnd,
|
||||
handleTouchCancel,
|
||||
handleTouchMove,
|
||||
handleKeyUp,
|
||||
]);
|
||||
}, [handleTouchStart, handleTouchEnd, handleTouchCancel, handleKeyUp]);
|
||||
|
||||
if (!movie) {
|
||||
return null;
|
||||
|
|
|
|||
|
|
@ -206,7 +206,7 @@ const MovieIndex = withScrollPosition((props: Readonly<MovieIndexProps>) => {
|
|||
const characters = items.reduce((acc: Record<string, number>, item) => {
|
||||
let char = item.sortTitle.charAt(0);
|
||||
|
||||
if (!Number.Number.isNaN(Number(char))) {
|
||||
if (!Number.isNaN(Number(char))) {
|
||||
char = '#';
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -25,12 +25,12 @@ import MovieIndexOverviewInfo from './MovieIndexOverviewInfo';
|
|||
import selectOverviewOptions from './selectOverviewOptions';
|
||||
import styles from './MovieIndexOverview.css';
|
||||
|
||||
const columnPadding = Number.Number.parseInt(dimensions.movieIndexColumnPadding);
|
||||
const columnPaddingSmallScreen = Number.Number.parseInt(
|
||||
const columnPadding = Number.parseInt(dimensions.movieIndexColumnPadding);
|
||||
const columnPaddingSmallScreen = Number.parseInt(
|
||||
dimensions.movieIndexColumnPaddingSmallScreen
|
||||
);
|
||||
const defaultFontSize = Number.Number.parseInt(fonts.defaultFontSize);
|
||||
const lineHeight = Number.Number.parseFloat(fonts.lineHeight);
|
||||
const defaultFontSize = Number.parseInt(fonts.defaultFontSize);
|
||||
const lineHeight = Number.parseFloat(fonts.lineHeight);
|
||||
|
||||
// Hardcoded height beased on line-height of 32 + bottom margin of 10.
|
||||
// Less side-effecty than using react-measure.
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ interface MovieIndexOverviewInfoProps {
|
|||
sortKey: string;
|
||||
}
|
||||
|
||||
const infoRowHeight = Number.Number.parseInt(dimensions.movieIndexOverviewInfoRowHeight);
|
||||
const infoRowHeight = Number.parseInt(dimensions.movieIndexOverviewInfoRowHeight);
|
||||
|
||||
const rows = [
|
||||
{
|
||||
|
|
|
|||
|
|
@ -10,14 +10,14 @@ import MovieIndexOverview from './MovieIndexOverview';
|
|||
import selectOverviewOptions from './selectOverviewOptions';
|
||||
|
||||
// Poster container dimensions
|
||||
const columnPadding = Number.Number.parseInt(dimensions.movieIndexColumnPadding);
|
||||
const columnPaddingSmallScreen = Number.Number.parseInt(
|
||||
const columnPadding = Number.parseInt(dimensions.movieIndexColumnPadding);
|
||||
const columnPaddingSmallScreen = Number.parseInt(
|
||||
dimensions.movieIndexColumnPaddingSmallScreen
|
||||
);
|
||||
const progressBarHeight = Number.Number.parseInt(dimensions.progressBarSmallHeight);
|
||||
const detailedProgressBarHeight = Number.Number.parseInt(dimensions.progressBarMediumHeight);
|
||||
const bodyPadding = Number.Number.parseInt(dimensions.pageContentBodyPadding);
|
||||
const bodyPaddingSmallScreen = Number.Number.parseInt(
|
||||
const progressBarHeight = Number.parseInt(dimensions.progressBarSmallHeight);
|
||||
const detailedProgressBarHeight = Number.parseInt(dimensions.progressBarMediumHeight);
|
||||
const bodyPadding = Number.parseInt(dimensions.pageContentBodyPadding);
|
||||
const bodyPaddingSmallScreen = Number.parseInt(
|
||||
dimensions.pageContentBodyPaddingSmallScreen
|
||||
);
|
||||
|
||||
|
|
|
|||
|
|
@ -11,16 +11,16 @@ import Movie from 'Movie/Movie';
|
|||
import dimensions from 'Styles/Variables/dimensions';
|
||||
import getIndexOfFirstCharacter from 'Utilities/Array/getIndexOfFirstCharacter';
|
||||
|
||||
const bodyPadding = Number.Number.parseInt(dimensions.pageContentBodyPadding);
|
||||
const bodyPaddingSmallScreen = Number.Number.parseInt(
|
||||
const bodyPadding = Number.parseInt(dimensions.pageContentBodyPadding);
|
||||
const bodyPaddingSmallScreen = Number.parseInt(
|
||||
dimensions.pageContentBodyPaddingSmallScreen
|
||||
);
|
||||
const columnPadding = Number.Number.parseInt(dimensions.movieIndexColumnPadding);
|
||||
const columnPaddingSmallScreen = Number.Number.parseInt(
|
||||
const columnPadding = Number.parseInt(dimensions.movieIndexColumnPadding);
|
||||
const columnPaddingSmallScreen = Number.parseInt(
|
||||
dimensions.movieIndexColumnPaddingSmallScreen
|
||||
);
|
||||
const progressBarHeight = Number.Number.parseInt(dimensions.progressBarSmallHeight);
|
||||
const detailedProgressBarHeight = Number.Number.parseInt(dimensions.progressBarMediumHeight);
|
||||
const progressBarHeight = Number.parseInt(dimensions.progressBarSmallHeight);
|
||||
const detailedProgressBarHeight = Number.parseInt(dimensions.progressBarMediumHeight);
|
||||
|
||||
const ADDITIONAL_COLUMN_COUNT: Record<string, number> = {
|
||||
small: 3,
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
import React from 'react';
|
||||
import Icon from 'Components/Icon';
|
||||
import { IconDefinition } from 'Helpers/Props/icons';
|
||||
import Icon, { IconName } from 'Components/Icon';
|
||||
import formatDate from 'Utilities/Date/formatDate';
|
||||
import getRelativeDate from 'Utilities/Date/getRelativeDate';
|
||||
import styles from './MovieIndexPoster.css';
|
||||
|
|
@ -8,7 +7,7 @@ import styles from './MovieIndexPoster.css';
|
|||
interface PosterDateRowProps {
|
||||
show: boolean;
|
||||
date?: string;
|
||||
icon: IconDefinition;
|
||||
icon: IconName;
|
||||
label: string;
|
||||
shortDateFormat: string;
|
||||
longDateFormat: string;
|
||||
|
|
|
|||
|
|
@ -15,8 +15,8 @@ import MovieIndexRow from './MovieIndexRow';
|
|||
import MovieIndexTableHeader from './MovieIndexTableHeader';
|
||||
import styles from './MovieIndexTable.css';
|
||||
|
||||
const bodyPadding = Number.Number.parseInt(dimensions.pageContentBodyPadding);
|
||||
const bodyPaddingSmallScreen = Number.Number.parseInt(
|
||||
const bodyPadding = Number.parseInt(dimensions.pageContentBodyPadding);
|
||||
const bodyPaddingSmallScreen = Number.parseInt(
|
||||
dimensions.pageContentBodyPaddingSmallScreen
|
||||
);
|
||||
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ class FileEditModalContent extends Component {
|
|||
// Listeners
|
||||
|
||||
onQualityChange = ({ value }) => {
|
||||
this.setState({ qualityId: Number.Number.parseInt(value) });
|
||||
this.setState({ qualityId: Number.parseInt(value) });
|
||||
};
|
||||
|
||||
onInputChange = ({ name, value }) => {
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ class FileEditModalContentConnector extends Component {
|
|||
const languages = [];
|
||||
|
||||
languageIds.forEach((languageId) => {
|
||||
const language = this.props.languages.find((item) => item.id === Number.Number.parseInt(languageId));
|
||||
const language = this.props.languages.find((item) => item.id === Number.parseInt(languageId));
|
||||
|
||||
if (language !== undefined) {
|
||||
languages.push(language);
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ function RootFolderRow(props: Readonly<RootFolderRowProps>) {
|
|||
</TableRowCell>
|
||||
|
||||
<TableRowCell className={styles.freeSpace}>
|
||||
{isUnavailable || Number.Number.isNaN(Number(freeSpace))
|
||||
{isUnavailable || Number.isNaN(Number(freeSpace))
|
||||
? '-'
|
||||
: formatBytes(freeSpace)}
|
||||
</TableRowCell>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import dimensions from 'Styles/Variables/dimensions.js';
|
|||
import DelayProfile from './DelayProfile';
|
||||
import styles from './DelayProfileDragPreview.css';
|
||||
|
||||
const dragHandleWidth = Number.Number.parseInt(dimensions.dragHandleWidth);
|
||||
const dragHandleWidth = Number.parseInt(dimensions.dragHandleWidth);
|
||||
|
||||
function collectDragLayer(monitor) {
|
||||
return {
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ import QualityProfileFormatItems from './QualityProfileFormatItems';
|
|||
import QualityProfileItems from './QualityProfileItems';
|
||||
import styles from './EditQualityProfileModalContent.css';
|
||||
|
||||
const MODAL_BODY_PADDING = Number.Number.parseInt(dimensions.modalBodyPadding);
|
||||
const MODAL_BODY_PADDING = Number.parseInt(dimensions.modalBodyPadding);
|
||||
|
||||
function getCustomFormatRender(formatItems, otherProps) {
|
||||
return (
|
||||
|
|
|
|||
|
|
@ -21,13 +21,13 @@ function parseIndex(index) {
|
|||
if (split.length === 1) {
|
||||
return [
|
||||
null,
|
||||
Number.Number.parseInt(split[0]) - 1
|
||||
Number.parseInt(split[0]) - 1
|
||||
];
|
||||
}
|
||||
|
||||
return [
|
||||
Number.Number.parseInt(split[0]) - 1,
|
||||
Number.Number.parseInt(split[1]) - 1
|
||||
Number.parseInt(split[0]) - 1,
|
||||
Number.parseInt(split[1]) - 1
|
||||
];
|
||||
}
|
||||
|
||||
|
|
@ -202,7 +202,7 @@ class EditQualityProfileModalContentConnector extends Component {
|
|||
};
|
||||
|
||||
onCutoffChange = ({ name, value }) => {
|
||||
const id = Number.Number.parseInt(value);
|
||||
const id = Number.parseInt(value);
|
||||
const item = _.find(this.props.item.items.value, (i) => {
|
||||
if (i.quality) {
|
||||
return i.quality.id === id;
|
||||
|
|
@ -218,7 +218,7 @@ class EditQualityProfileModalContentConnector extends Component {
|
|||
|
||||
onLanguageChange = ({ name, value }) => {
|
||||
|
||||
const id = Number.Number.parseInt(value);
|
||||
const id = Number.parseInt(value);
|
||||
|
||||
const language = _.find(this.props.languages, (item) => item.key === id);
|
||||
|
||||
|
|
|
|||
|
|
@ -7,10 +7,10 @@ import dimensions from 'Styles/Variables/dimensions.js';
|
|||
import QualityProfileItem from './QualityProfileItem';
|
||||
import styles from './QualityProfileItemDragPreview.css';
|
||||
|
||||
const formGroupExtraSmallWidth = Number.Number.parseInt(dimensions.formGroupExtraSmallWidth);
|
||||
const formLabelSmallWidth = Number.Number.parseInt(dimensions.formLabelSmallWidth);
|
||||
const formLabelRightMarginWidth = Number.Number.parseInt(dimensions.formLabelRightMarginWidth);
|
||||
const dragHandleWidth = Number.Number.parseInt(dimensions.dragHandleWidth);
|
||||
const formGroupExtraSmallWidth = Number.parseInt(dimensions.formGroupExtraSmallWidth);
|
||||
const formLabelSmallWidth = Number.parseInt(dimensions.formLabelSmallWidth);
|
||||
const formLabelRightMarginWidth = Number.parseInt(dimensions.formLabelRightMarginWidth);
|
||||
const dragHandleWidth = Number.parseInt(dimensions.dragHandleWidth);
|
||||
|
||||
function collectDragLayer(monitor) {
|
||||
return {
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ function createSetSettingValueReducer(section) {
|
|||
let parsedValue = null;
|
||||
|
||||
if (_.isNumber(currentValue) && value != null) {
|
||||
parsedValue = Number.Number.parseInt(value);
|
||||
parsedValue = Number.parseInt(value);
|
||||
} else {
|
||||
parsedValue = value;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ export default {
|
|||
const qualityDefinitions = getState().settings.qualityDefinitions;
|
||||
|
||||
const upatedDefinitions = Object.keys(qualityDefinitions.pendingChanges).map((key) => {
|
||||
const id = Number.Number.parseInt(key);
|
||||
const id = Number.parseInt(key);
|
||||
const pendingChanges = qualityDefinitions.pendingChanges[id] || {};
|
||||
const item = _.find(qualityDefinitions.items, { id });
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ function createMovieCreditImportListSelector(tmdbId: number) {
|
|||
(field) => field.name === 'personId'
|
||||
)?.value as string | null;
|
||||
|
||||
if (personIdValue && Number.Number.parseInt(personIdValue) === tmdbId) {
|
||||
if (personIdValue && Number.parseInt(personIdValue) === tmdbId) {
|
||||
acc.push(importList);
|
||||
|
||||
return acc;
|
||||
|
|
|
|||
|
|
@ -85,12 +85,12 @@ function Updates() {
|
|||
};
|
||||
|
||||
const { isMajorUpdate, hasUpdateToInstall } = useMemo(() => {
|
||||
const majorVersion = Number.Number.parseInt(
|
||||
const majorVersion = Number.parseInt(
|
||||
currentVersion.match(VERSION_REGEX)?.[0] ?? '0'
|
||||
);
|
||||
|
||||
const latestVersion = items[0]?.version;
|
||||
const latestMajorVersion = Number.Number.parseInt(
|
||||
const latestMajorVersion = Number.parseInt(
|
||||
latestVersion?.match(VERSION_REGEX)?.[0] ?? '0'
|
||||
);
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ export default function getIndexOfFirstCharacter(items, character) {
|
|||
const firstCharacter = item.sortTitle.charAt(0);
|
||||
|
||||
if (character === '#') {
|
||||
return !Number.Number.isNaN(firstCharacter);
|
||||
return !Number.isNaN(firstCharacter);
|
||||
}
|
||||
|
||||
return firstCharacter === character;
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
function convertToBytes(input, power, binaryPrefix) {
|
||||
const size = Number(input);
|
||||
|
||||
if (Number.Number.isNaN(size)) {
|
||||
if (Number.isNaN(size)) {
|
||||
return '';
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@ import translate from 'Utilities/String/translate';
|
|||
|
||||
function formatAge(age, ageHours, ageMinutes) {
|
||||
age = Math.round(age);
|
||||
ageHours = Number.Number.parseFloat(ageHours);
|
||||
ageMinutes = ageMinutes && Number.Number.parseFloat(ageMinutes);
|
||||
ageHours = Number.parseFloat(ageHours);
|
||||
ageMinutes = ageMinutes && Number.parseFloat(ageMinutes);
|
||||
|
||||
if (age < 2 && ageHours) {
|
||||
if (ageHours < 2 && !!ageMinutes) {
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ import { filesize } from 'filesize';
|
|||
function formatBitrate(input: string | number) {
|
||||
const size = Number(input);
|
||||
|
||||
if (Number.Number.isNaN(size)) {
|
||||
if (Number.isNaN(size)) {
|
||||
return '';
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ import { filesize } from 'filesize';
|
|||
function formatBytes(input: string | number) {
|
||||
const size = Number(input);
|
||||
|
||||
if (Number.Number.isNaN(size)) {
|
||||
if (Number.isNaN(size)) {
|
||||
return '';
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,10 @@ function getSelectedIds(selectedState: SelectedState): number[] {
|
|||
selectedState,
|
||||
(result: number[], value, id) => {
|
||||
if (value) {
|
||||
result.push(Number.Number.parseInt(id));
|
||||
const parsed = Number.parseInt(id, 10);
|
||||
if (!Number.isNaN(parsed)) {
|
||||
result.push(parsed);
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
|
|
|
|||
|
|
@ -156,5 +156,12 @@
|
|||
"volta": {
|
||||
"node": "20.11.1",
|
||||
"yarn": "1.22.19"
|
||||
},
|
||||
"resolutions": {
|
||||
"cross-spawn": "^7.0.6",
|
||||
"brace-expansion": "^2.0.2",
|
||||
"color-string": "^1.9.1",
|
||||
"postcss-color-function/**/postcss": "^8.5.6",
|
||||
"glob": "^11.1.0"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -326,7 +326,12 @@ public string GetValue(string key, object defaultValue, bool persist = true)
|
|||
return _cache.Get(key, () =>
|
||||
{
|
||||
var xDoc = LoadConfigFile();
|
||||
var config = xDoc.Descendants(CONFIG_ELEMENT_NAME).Single();
|
||||
var config = xDoc.Descendants(CONFIG_ELEMENT_NAME).SingleOrDefault();
|
||||
|
||||
if (config == null)
|
||||
{
|
||||
return defaultValue.ToString();
|
||||
}
|
||||
|
||||
var parentContainer = config;
|
||||
|
||||
|
|
@ -352,7 +357,12 @@ public void SetValue(string key, object value)
|
|||
{
|
||||
var valueString = value.ToString().Trim();
|
||||
var xDoc = LoadConfigFile();
|
||||
var config = xDoc.Descendants(CONFIG_ELEMENT_NAME).Single();
|
||||
var config = xDoc.Descendants(CONFIG_ELEMENT_NAME).SingleOrDefault();
|
||||
|
||||
if (config == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var parentContainer = config;
|
||||
|
||||
|
|
@ -408,7 +418,12 @@ public void MigrateConfigFile()
|
|||
private void DeleteOldValues()
|
||||
{
|
||||
var xDoc = LoadConfigFile();
|
||||
var config = xDoc.Descendants(CONFIG_ELEMENT_NAME).Single();
|
||||
var config = xDoc.Descendants(CONFIG_ELEMENT_NAME).SingleOrDefault();
|
||||
|
||||
if (config == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var type = GetType();
|
||||
var properties = type.GetProperties();
|
||||
|
|
|
|||
|
|
@ -109,7 +109,12 @@ public IEnumerable<DownloadStationTask> GetTasks(DownloadStationSettings setting
|
|||
{
|
||||
foreach (var task in response.Data.Task)
|
||||
{
|
||||
var taskTransfer = responseTransfer.Data.Task.Where(t => t.Id == task.Id).First();
|
||||
var taskTransfer = responseTransfer.Data.Task.FirstOrDefault(t => t.Id == task.Id);
|
||||
|
||||
if (taskTransfer == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var combinedTask = new DownloadStationTask
|
||||
{
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@ public override async Task<string> Download(RemoteMovie remoteMovie, IIndexer in
|
|||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
if (!magnetUrl.IsNullOrWhiteSpace())
|
||||
if (magnetUrl.IsNullOrWhiteSpace())
|
||||
{
|
||||
throw;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -43,9 +43,10 @@ public static class Parser
|
|||
new Regex(@"^(?<title>(?![(\[]).+?)?(?:(?:[-_\W](?<![)\[!]))*" + EditionRegex + @".{1,3}(?<year>(1(8|9)|20)\d{2}(?!p|i|\d+|\]|\W\d+)))+(\W+|_|$)(?!\\)",
|
||||
RegexOptions.IgnoreCase | RegexOptions.Compiled),
|
||||
|
||||
// Special, Despecialized, etc. Edition Movies, e.g: Mission.Impossible.3.2011.Special.Edition //TODO: Seems to slow down parsing heavily!
|
||||
/*new Regex(@"^(?<title>(?![(\[]).+?)?(?:(?:[-_\W](?<![)\[!]))*(?<year>(19|20)\d{2}(?!p|i|(19|20)\d{2}|\]|\W(19|20)\d{2})))+(\W+|_|$)(?!\\)\(?(?<edition>(((Extended.|Ultimate.)?(Director.?s|Collector.?s|Theatrical|Ultimate|Final(?=(.(Cut|Edition|Version)))|Extended|Rogue|Special|Despecialized|\d{2,3}(th)?.Anniversary)(.(Cut|Edition|Version))?(.(Extended|Uncensored|Remastered|Unrated|Uncut|IMAX|Fan.?Edit))?|((Uncensored|Remastered|Unrated|Uncut|IMAX|Fan.?Edit|Edition|Restored|((2|3|4)in1))))))\)?",
|
||||
RegexOptions.IgnoreCase | RegexOptions.Compiled),*/
|
||||
// DISABLED: Complex regex for edition movies with year before edition text
|
||||
// e.g: Mission.Impossible.3.2011.Special.Edition
|
||||
// Reason: Causes ReDoS-like performance degradation due to catastrophic backtracking
|
||||
// Keep for reference; covered by simpler patterns above
|
||||
|
||||
// Normal movie format, e.g: Mission.Impossible.3.2011
|
||||
new Regex(@"^(?<title>(?![(\[]).+?)?(?:(?:[-_\W](?<![)\[!]))*(?<year>(1(8|9)|20)\d{2}(?!p|i|(1(8|9)|20)\d{2}|\]|\W(1(8|9)|20)\d{2})))+(\W+|_|$)(?!\\)", RegexOptions.IgnoreCase | RegexOptions.Compiled),
|
||||
|
|
|
|||
|
|
@ -1,22 +1,25 @@
|
|||
using System;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
namespace NzbDrone.Core.Parser
|
||||
{
|
||||
public class RegexReplace
|
||||
{
|
||||
private static readonly TimeSpan RegexTimeout = TimeSpan.FromSeconds(5);
|
||||
|
||||
private readonly Regex _regex;
|
||||
private readonly string _replacementFormat;
|
||||
private readonly MatchEvaluator _replacementFunc;
|
||||
|
||||
public RegexReplace(string pattern, string replacement, RegexOptions regexOptions)
|
||||
{
|
||||
_regex = new Regex(pattern, regexOptions);
|
||||
_regex = new Regex(pattern, regexOptions | RegexOptions.Compiled, RegexTimeout);
|
||||
_replacementFormat = replacement;
|
||||
}
|
||||
|
||||
public RegexReplace(string pattern, MatchEvaluator replacement, RegexOptions regexOptions)
|
||||
{
|
||||
_regex = new Regex(pattern, regexOptions);
|
||||
_regex = new Regex(pattern, regexOptions | RegexOptions.Compiled, RegexTimeout);
|
||||
_replacementFunc = replacement;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@ private bool InstallUpdate(UpdatePackage updatePackage)
|
|||
}
|
||||
}
|
||||
|
||||
if (_appFolderInfo.StartUpFolder.EndsWith("_output"))
|
||||
if (Path.GetFileName(_appFolderInfo.StartUpFolder) == "_output")
|
||||
{
|
||||
_logger.ProgressDebug("Running in developer environment, not updating.");
|
||||
return false;
|
||||
|
|
@ -181,7 +181,7 @@ private void EnsureValidBranch(UpdatePackage package)
|
|||
{
|
||||
try
|
||||
{
|
||||
_logger.Info("Branch [{0}] is being redirected to [{1}]]", currentBranch, package.Branch);
|
||||
_logger.Info("Branch [{0}] is being redirected to [{1}]", currentBranch, package.Branch);
|
||||
var config = new Dictionary<string, object>();
|
||||
config["Branch"] = package.Branch;
|
||||
_configFileProvider.SaveConfigDictionary(config);
|
||||
|
|
|
|||
|
|
@ -273,7 +273,7 @@ public ActionResult<MovieResource> UpdateMovie([FromBody] MovieResource moviesRe
|
|||
|
||||
BroadcastResourceChange(ModelAction.Updated, MapToResource(updatedMovie));
|
||||
|
||||
return Accepted(moviesResource.Id);
|
||||
return Ok(moviesResource);
|
||||
}
|
||||
|
||||
[RestDeleteById]
|
||||
|
|
|
|||
155
yarn.lock
155
yarn.lock
|
|
@ -1106,6 +1106,18 @@
|
|||
resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz#4a2868d75d6d6963e423bcf90b7fd1be343409d3"
|
||||
integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==
|
||||
|
||||
"@isaacs/balanced-match@^4.0.1":
|
||||
version "4.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz#3081dadbc3460661b751e7591d7faea5df39dd29"
|
||||
integrity sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==
|
||||
|
||||
"@isaacs/brace-expansion@^5.0.0":
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz#4b3dabab7d8e75a429414a96bd67bf4c1d13e0f3"
|
||||
integrity sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==
|
||||
dependencies:
|
||||
"@isaacs/balanced-match" "^4.0.1"
|
||||
|
||||
"@isaacs/cliui@^8.0.2":
|
||||
version "8.0.2"
|
||||
resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550"
|
||||
|
|
@ -2187,18 +2199,10 @@ boolbase@^1.0.0:
|
|||
resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
|
||||
integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==
|
||||
|
||||
brace-expansion@^1.1.7:
|
||||
version "1.1.11"
|
||||
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
|
||||
integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
|
||||
dependencies:
|
||||
balanced-match "^1.0.0"
|
||||
concat-map "0.0.1"
|
||||
|
||||
brace-expansion@^2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae"
|
||||
integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==
|
||||
brace-expansion@^1.1.7, brace-expansion@^2.0.1, brace-expansion@^2.0.2:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.2.tgz#54fc53237a613d854c7bd37463aad17df87214e7"
|
||||
integrity sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==
|
||||
dependencies:
|
||||
balanced-match "^1.0.0"
|
||||
|
||||
|
|
@ -2331,7 +2335,7 @@ caniuse-lite@^1.0.30001716:
|
|||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001718.tgz#dae13a9c80d517c30c6197515a96131c194d8f82"
|
||||
integrity sha512-AflseV1ahcSunK53NfEs9gFWgOEmzr0f+kaMFA4xiLZlr9Hzt7HxcSpIFcnNCUkz6R6dWKa54rUz3HUmI3nVcw==
|
||||
|
||||
chalk@^2.4.1, chalk@^2.4.2:
|
||||
chalk@^2.4.2:
|
||||
version "2.4.2"
|
||||
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
|
||||
integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
|
||||
|
|
@ -2435,12 +2439,13 @@ color-name@^1.0.0, color-name@~1.1.4:
|
|||
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
|
||||
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
|
||||
|
||||
color-string@^0.3.0:
|
||||
version "0.3.0"
|
||||
resolved "https://registry.yarnpkg.com/color-string/-/color-string-0.3.0.tgz#27d46fb67025c5c2fa25993bfbf579e47841b991"
|
||||
integrity sha512-sz29j1bmSDfoAxKIEU6zwoIZXN6BrFbAMIhfYCNyiZXBDuU/aiHlN84lp/xDzL2ubyFhLDobHIlU1X70XRrMDA==
|
||||
color-string@^0.3.0, color-string@^1.9.1:
|
||||
version "1.9.1"
|
||||
resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.9.1.tgz#4467f9146f036f855b764dfb5bf8582bf342c7a4"
|
||||
integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==
|
||||
dependencies:
|
||||
color-name "^1.0.0"
|
||||
simple-swizzle "^0.2.2"
|
||||
|
||||
color@^0.11.0:
|
||||
version "0.11.4"
|
||||
|
|
@ -2491,11 +2496,6 @@ compress-commons@^4.1.2:
|
|||
normalize-path "^3.0.0"
|
||||
readable-stream "^3.6.0"
|
||||
|
||||
concat-map@0.0.1:
|
||||
version "0.0.1"
|
||||
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
|
||||
integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
|
||||
|
||||
connected-react-router@6.9.3:
|
||||
version "6.9.3"
|
||||
resolved "https://registry.yarnpkg.com/connected-react-router/-/connected-react-router-6.9.3.tgz#72300aca9f9d6f38e1f4a2901572faa02adec972"
|
||||
|
|
@ -2590,10 +2590,10 @@ create-react-context@^0.3.0:
|
|||
gud "^1.0.0"
|
||||
warning "^4.0.3"
|
||||
|
||||
cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3:
|
||||
version "7.0.3"
|
||||
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
|
||||
integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
|
||||
cross-spawn@^7.0.2, cross-spawn@^7.0.3, cross-spawn@^7.0.6:
|
||||
version "7.0.6"
|
||||
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f"
|
||||
integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==
|
||||
dependencies:
|
||||
path-key "^3.1.0"
|
||||
shebang-command "^2.0.0"
|
||||
|
|
@ -3534,12 +3534,12 @@ for-each@^0.3.3:
|
|||
dependencies:
|
||||
is-callable "^1.1.3"
|
||||
|
||||
foreground-child@^3.1.0:
|
||||
version "3.3.0"
|
||||
resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.3.0.tgz#0ac8644c06e431439f8561db8ecf29a7b5519c77"
|
||||
integrity sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==
|
||||
foreground-child@^3.3.1:
|
||||
version "3.3.1"
|
||||
resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.3.1.tgz#32e8e9ed1b68a3497befb9ac2b6adf92a638576f"
|
||||
integrity sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==
|
||||
dependencies:
|
||||
cross-spawn "^7.0.0"
|
||||
cross-spawn "^7.0.6"
|
||||
signal-exit "^4.0.1"
|
||||
|
||||
fork-ts-checker-webpack-plugin@8.0.0:
|
||||
|
|
@ -3584,11 +3584,6 @@ fs-monkey@^1.0.4:
|
|||
resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.6.tgz#8ead082953e88d992cf3ff844faa907b26756da2"
|
||||
integrity sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==
|
||||
|
||||
fs.realpath@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
|
||||
integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
|
||||
|
||||
fsevents@~2.3.2:
|
||||
version "2.3.3"
|
||||
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
|
||||
|
|
@ -3692,30 +3687,18 @@ glob-to-regexp@^0.4.1:
|
|||
resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e"
|
||||
integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==
|
||||
|
||||
glob@^11.0.0:
|
||||
version "11.0.0"
|
||||
resolved "https://registry.yarnpkg.com/glob/-/glob-11.0.0.tgz#6031df0d7b65eaa1ccb9b29b5ced16cea658e77e"
|
||||
integrity sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==
|
||||
glob@^11.0.0, glob@^11.1.0, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.2.3:
|
||||
version "11.1.0"
|
||||
resolved "https://registry.yarnpkg.com/glob/-/glob-11.1.0.tgz#4f826576e4eb99c7dad383793d2f9f08f67e50a6"
|
||||
integrity sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw==
|
||||
dependencies:
|
||||
foreground-child "^3.1.0"
|
||||
jackspeak "^4.0.1"
|
||||
minimatch "^10.0.0"
|
||||
foreground-child "^3.3.1"
|
||||
jackspeak "^4.1.1"
|
||||
minimatch "^10.1.1"
|
||||
minipass "^7.1.2"
|
||||
package-json-from-dist "^1.0.0"
|
||||
path-scurry "^2.0.0"
|
||||
|
||||
glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.2.3:
|
||||
version "7.2.3"
|
||||
resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
|
||||
integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
|
||||
dependencies:
|
||||
fs.realpath "^1.0.0"
|
||||
inflight "^1.0.4"
|
||||
inherits "2"
|
||||
minimatch "^3.1.1"
|
||||
once "^1.3.0"
|
||||
path-is-absolute "^1.0.0"
|
||||
|
||||
global-modules@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780"
|
||||
|
|
@ -4000,15 +3983,7 @@ indent-string@^4.0.0:
|
|||
resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251"
|
||||
integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==
|
||||
|
||||
inflight@^1.0.4:
|
||||
version "1.0.6"
|
||||
resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
|
||||
integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==
|
||||
dependencies:
|
||||
once "^1.3.0"
|
||||
wrappy "1"
|
||||
|
||||
inherits@2, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3:
|
||||
inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3:
|
||||
version "2.0.4"
|
||||
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
|
||||
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
|
||||
|
|
@ -4060,6 +4035,11 @@ is-arrayish@^0.2.1:
|
|||
resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
|
||||
integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==
|
||||
|
||||
is-arrayish@^0.3.1:
|
||||
version "0.3.4"
|
||||
resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.4.tgz#1ee5553818511915685d33bb13d31bf854e5059d"
|
||||
integrity sha512-m6UrgzFVUYawGBh1dUsWR5M2Clqic9RVXC/9f8ceNlv2IcO9j9J/z8UoCLPqtsPBFNzEpfR3xftohbfqDx8EQA==
|
||||
|
||||
is-async-function@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/is-async-function/-/is-async-function-2.0.0.tgz#8e4418efd3e5d3a6ebb0164c05ef5afb69aa9646"
|
||||
|
|
@ -4307,10 +4287,10 @@ iterator.prototype@^1.1.3:
|
|||
reflect.getprototypeof "^1.0.4"
|
||||
set-function-name "^2.0.1"
|
||||
|
||||
jackspeak@^4.0.1:
|
||||
version "4.0.2"
|
||||
resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-4.0.2.tgz#11f9468a3730c6ff6f56823a820d7e3be9bef015"
|
||||
integrity sha512-bZsjR/iRjl1Nk1UkjGpAzLNfQtzuijhn2g+pbZb98HQ1Gk8vM9hfbxeMBP+M2/UUdwj0RqGG3mlvk2MsAqwvEw==
|
||||
jackspeak@^4.1.1:
|
||||
version "4.1.1"
|
||||
resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-4.1.1.tgz#96876030f450502047fc7e8c7fcf8ce8124e43ae"
|
||||
integrity sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==
|
||||
dependencies:
|
||||
"@isaacs/cliui" "^8.0.2"
|
||||
|
||||
|
|
@ -4794,14 +4774,14 @@ mini-css-extract-plugin@2.9.1:
|
|||
schema-utils "^4.0.0"
|
||||
tapable "^2.2.1"
|
||||
|
||||
minimatch@^10.0.0:
|
||||
version "10.0.1"
|
||||
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-10.0.1.tgz#ce0521856b453c86e25f2c4c0d03e6ff7ddc440b"
|
||||
integrity sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==
|
||||
minimatch@^10.1.1:
|
||||
version "10.1.1"
|
||||
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-10.1.1.tgz#e6e61b9b0c1dcab116b5a7d1458e8b6ae9e73a55"
|
||||
integrity sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==
|
||||
dependencies:
|
||||
brace-expansion "^2.0.1"
|
||||
"@isaacs/brace-expansion" "^5.0.0"
|
||||
|
||||
minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2:
|
||||
minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.2:
|
||||
version "3.1.2"
|
||||
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
|
||||
integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
|
||||
|
|
@ -5045,7 +5025,7 @@ object.values@^1.1.6, object.values@^1.2.0:
|
|||
define-properties "^1.2.1"
|
||||
es-object-atoms "^1.0.0"
|
||||
|
||||
once@^1.3.0, once@^1.4.0:
|
||||
once@^1.4.0:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
|
||||
integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==
|
||||
|
|
@ -5171,11 +5151,6 @@ path-exists@^5.0.0:
|
|||
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-5.0.0.tgz#a6aad9489200b21fab31e49cf09277e5116fb9e7"
|
||||
integrity sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==
|
||||
|
||||
path-is-absolute@^1.0.0:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
|
||||
integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==
|
||||
|
||||
path-key@^3.1.0:
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
|
||||
|
|
@ -5397,7 +5372,7 @@ postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0:
|
|||
resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514"
|
||||
integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
|
||||
|
||||
postcss@8.5.6:
|
||||
postcss@8.5.6, postcss@^6.0.23, postcss@^8.5.6:
|
||||
version "8.5.6"
|
||||
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.6.tgz#2825006615a619b4f62a9e7426cc120b349a8f3c"
|
||||
integrity sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==
|
||||
|
|
@ -5406,15 +5381,6 @@ postcss@8.5.6:
|
|||
picocolors "^1.1.1"
|
||||
source-map-js "^1.2.1"
|
||||
|
||||
postcss@^6.0.23:
|
||||
version "6.0.23"
|
||||
resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324"
|
||||
integrity sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==
|
||||
dependencies:
|
||||
chalk "^2.4.1"
|
||||
source-map "^0.6.1"
|
||||
supports-color "^5.4.0"
|
||||
|
||||
postcss@^8.0.0, postcss@^8.4.19, postcss@^8.4.21, postcss@^8.4.23, postcss@^8.4.32:
|
||||
version "8.5.0"
|
||||
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.0.tgz#15244b9fd65f809b2819682456f0e7e1e30c145b"
|
||||
|
|
@ -6301,6 +6267,13 @@ signal-exit@^4.0.1:
|
|||
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04"
|
||||
integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==
|
||||
|
||||
simple-swizzle@^0.2.2:
|
||||
version "0.2.4"
|
||||
resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.4.tgz#a8d11a45a11600d6a1ecdff6363329e3648c3667"
|
||||
integrity sha512-nAu1WFPQSMNr2Zn9PGSZK9AGn4t/y97lEm+MXTtUDwfP0ksAIX4nO+6ruD9Jwut4C49SB1Ws+fbXsm/yScWOHw==
|
||||
dependencies:
|
||||
is-arrayish "^0.3.1"
|
||||
|
||||
slash@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
|
||||
|
|
@ -6628,7 +6601,7 @@ sugarss@^4.0.1:
|
|||
resolved "https://registry.yarnpkg.com/sugarss/-/sugarss-4.0.1.tgz#128a783ed71ee0fc3b489ce1f7d5a89bc1e24383"
|
||||
integrity sha512-WCjS5NfuVJjkQzK10s8WOBY+hhDxxNt/N6ZaGwxFZ+wN3/lKKFSaaKUNecULcTTvE4urLcKaZFQD8vO0mOZujw==
|
||||
|
||||
supports-color@^5.3.0, supports-color@^5.4.0:
|
||||
supports-color@^5.3.0:
|
||||
version "5.5.0"
|
||||
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
|
||||
integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
|
||||
|
|
|
|||
Loading…
Reference in a new issue